diff options
author | caro <caro> | 2012-09-04 07:03:02 +0000 |
---|---|---|
committer | caro <caro@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33> | 2012-09-04 07:03:02 +0000 |
commit | f64e85353bd3ae6796ba7b2e4e5f72ca6dfda391 (patch) | |
tree | 61957d7510ba0e66407cf90f6ed36c200f9761bf | |
parent | 697bc9d8b649e9707acc82eb41820fa8aaeb3d44 (diff) | |
download | eobj-f64e85353bd3ae6796ba7b2e4e5f72ca6dfda391.tar.gz eobj-f64e85353bd3ae6796ba7b2e4e5f72ca6dfda391.tar.bz2 eobj-f64e85353bd3ae6796ba7b2e4e5f72ca6dfda391.zip |
Eo: autotools + minor fixes so that it compiles on Windows (mainly reordering the header files inclusion
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/PROTO/eobj@76109 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33
45 files changed, 1259 insertions, 53 deletions
@@ -0,0 +1 @@ +Tom Hacohen <tom@stosb.com>
diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,365 @@ +Installation Instructions +************************* + +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, +2006, 2007, 2008, 2009 Free Software Foundation, Inc. + + Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. This file is offered as-is, +without warranty of any kind. + +Basic Installation +================== + + Briefly, the shell commands `./configure; make; make install' should +configure, build, and install this package. The following +more-detailed instructions are generic; see the `README' file for +instructions specific to this package. Some packages provide this +`INSTALL' file but do not implement all of the features documented +below. The lack of an optional feature in a given package is not +necessarily a bug. More recommendations for GNU packages can be found +in *note Makefile Conventions: (standards)Makefile Conventions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. Caching is +disabled by default to prevent problems with accidental use of stale +cache files. + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You need `configure.ac' if +you want to change it or regenerate `configure' using a newer version +of `autoconf'. + + The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. + + Running `configure' might take a while. While running, it prints + some messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package, generally using the just-built uninstalled binaries. + + 4. Type `make install' to install the programs and any data files and + documentation. When installing into a prefix owned by root, it is + recommended that the package be configured and built as a regular + user, and only the `make install' phase executed with root + privileges. + + 5. Optionally, type `make installcheck' to repeat any self-tests, but + this time using the binaries in their final installed location. + This target does not install anything. Running this target as a + regular user, particularly if the prior `make install' required + root privileges, verifies that the installation completed + correctly. + + 6. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + + 7. Often, you can also type `make uninstall' to remove the installed + files again. In practice, not all packages have tested that + uninstallation works correctly, even though it is required by the + GNU Coding Standards. + + 8. Some packages, particularly those that use Automake, provide `make + distcheck', which can by used by developers to test that all other + targets like `make install' and `make uninstall' work correctly. + This target is generally not run by end users. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. Run `./configure --help' +for details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c99 CFLAGS=-g LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you can use GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. This +is known as a "VPATH" build. + + With a non-GNU `make', it is safer to compile the package for one +architecture at a time in the source code directory. After you have +installed the package for one architecture, use `make distclean' before +reconfiguring for another architecture. + + On MacOS X 10.5 and later systems, you can create libraries and +executables that work on multiple system types--known as "fat" or +"universal" binaries--by specifying multiple `-arch' options to the +compiler but only a single `-arch' option to the preprocessor. Like +this: + + ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CPP="gcc -E" CXXCPP="g++ -E" + + This is not guaranteed to produce working output in all cases, you +may have to build one architecture at a time and combine the results +using the `lipo' tool if you have problems. + +Installation Names +================== + + By default, `make install' installs the package's commands under +`/usr/local/bin', include files under `/usr/local/include', etc. You +can specify an installation prefix other than `/usr/local' by giving +`configure' the option `--prefix=PREFIX', where PREFIX must be an +absolute file name. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +pass the option `--exec-prefix=PREFIX' to `configure', the package uses +PREFIX as the prefix for installing programs and libraries. +Documentation and other data files still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=DIR' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. In general, the +default for these options is expressed in terms of `${prefix}', so that +specifying just `--prefix' will affect all of the other directory +specifications that were not explicitly provided. + + The most portable way to affect installation locations is to pass the +correct locations to `configure'; however, many packages provide one or +both of the following shortcuts of passing variable assignments to the +`make install' command line to change installation locations without +having to reconfigure or recompile. + + The first method involves providing an override variable for each +affected directory. For example, `make install +prefix=/alternate/directory' will choose an alternate location for all +directory configuration variables that were expressed in terms of +`${prefix}'. Any directories that were specified during `configure', +but not in terms of `${prefix}', must each be overridden at install +time for the entire installation to be relocated. The approach of +makefile variable overrides for each directory variable is required by +the GNU Coding Standards, and ideally causes no recompilation. +However, some platforms have known limitations with the semantics of +shared libraries that end up requiring recompilation when using this +method, particularly noticeable in packages that use GNU Libtool. + + The second method involves providing the `DESTDIR' variable. For +example, `make install DESTDIR=/alternate/directory' will prepend +`/alternate/directory' before all installation names. The approach of +`DESTDIR' overrides is not required by the GNU Coding Standards, and +does not work on platforms that have drive letters. On the other hand, +it does better at avoiding recompilation issues, and works well even +when some directory options were not specified in terms of `${prefix}' +at `configure' time. + +Optional Features +================= + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + + Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + + Some packages offer the ability to configure how verbose the +execution of `make' will be. For these packages, running `./configure +--enable-silent-rules' sets the default to minimal output, which can be +overridden with `make V=1'; while running `./configure +--disable-silent-rules' sets the default to verbose, which can be +overridden with `make V=0'. + +Particular systems +================== + + On HP-UX, the default C compiler is not ANSI C compatible. If GNU +CC is not installed, it is recommended to use the following options in +order to use an ANSI C compiler: + + ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" + +and if that doesn't work, install pre-built binaries of GCC for HP-UX. + + On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot +parse its `<wchar.h>' header file. The option `-nodtk' can be used as +a workaround. If GNU CC is not installed, it is therefore recommended +to try + + ./configure CC="cc" + +and if that doesn't work, try + + ./configure CC="cc -nodtk" + + On Solaris, don't put `/usr/ucb' early in your `PATH'. This +directory contains several dysfunctional programs; working variants of +these programs are available in `/usr/bin'. So, if you need `/usr/ucb' +in your `PATH', put it _after_ `/usr/bin'. + + On Haiku, software installed for all users goes in `/boot/common', +not `/usr/local'. It is recommended to use the following options: + + ./configure --prefix=/boot/common + +Specifying the System Type +========================== + + There may be some features `configure' cannot figure out +automatically, but needs to determine by the type of machine the package +will run on. Usually, assuming the package is built to be run on the +_same_ architectures, `configure' can figure that out, but if it prints +a message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS + KERNEL-OS + + See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the option `--target=TYPE' to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Defining Variables +================== + + Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +causes the specified `gcc' to be used as the C compiler (unless it is +overridden in the site shell script). + +Unfortunately, this technique does not work for `CONFIG_SHELL' due to +an Autoconf bug. Until the bug is fixed you can use this workaround: + + CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash + +`configure' Invocation +====================== + + `configure' recognizes the following options to control how it +operates. + +`--help' +`-h' + Print a summary of all of the options to `configure', and exit. + +`--help=short' +`--help=recursive' + Print a summary of the options unique to this package's + `configure', and exit. The `short' variant lists options used + only in the top level, while the `recursive' variant lists options + also present in any nested packages. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`--prefix=DIR' + Use DIR as the installation prefix. *note Installation Names:: + for more details, including other options available for fine-tuning + the installation locations. + +`--no-create' +`-n' + Run the configure checks, but stop before creating any output + files. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. + diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..b0afe91 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,99 @@ +
+ACLOCAL_AMFLAGS = -I m4
+
+SUBDIRS = src doc
+
+MAINTAINERCLEANFILES = \
+Makefile.in \
+aclocal.m4 \
+config.cache-env \
+config.guess \
+config.h.in \
+config.h.in~ \
+config.sub \
+configure \
+depcomp \
+install-sh \
+ltconfig \
+ltmain.sh \
+missing \
+$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.gz \
+$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.bz2 \
+$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-doc.tar.bz2 \
+m4/libtool.m4 \
+m4/lt~obsolete.m4 \
+m4/ltoptions.m4 \
+m4/ltsugar.m4 \
+m4/ltversion.m4
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = eo.pc
+
+EXTRA_DIST = \
+AUTHORS \
+COPYING \
+README \
+autogen.sh \
+eo.pc.in \
+m4/efl_benchmark.m4 \
+m4/efl_doxygen.m4 \
+m4/efl_examples.m4 \
+m4/efl_tests.m4
+
+.PHONY: doc benchmark
+
+# Documentation
+
+doc:
+ @echo "entering doc/"
+ @cd doc && $(MAKE) doc
+
+# Unit tests
+
+if EFL_ENABLE_TESTS
+
+lcov-reset:
+ @rm -rf $(top_builddir)/coverage
+ @find $(top_builddir) -name "*.gcda" -delete
+ @lcov --zerocounters --directory $(top_builddir)
+
+lcov-report:
+ @mkdir $(top_builddir)/coverage
+ lcov --capture --compat-libtool --output-file $(top_builddir)/coverage/coverage.info --directory $(top_builddir)
+ lcov --remove $(top_builddir)/coverage/coverage.info '*.h' --output-file $(top_builddir)/coverage/coverage.cleaned.info
+ genhtml -t "$(PACKAGE_STRING)" -o $(top_builddir)/coverage/html $(top_builddir)/coverage/coverage.cleaned.info
+ @echo "Coverage Report at $(top_builddir)/coverage/html"
+
+check-local:
+ @$(MAKE) lcov-reset
+ @./src/tests/eina_suite
+ @$(MAKE) lcov-report
+
+else
+
+lcov-reset:
+ @echo "reconfigure with --enable-tests"
+
+lcov-report:
+ @echo "reconfigure with --enable-tests"
+
+check-local:
+ @echo "reconfigure with --enable-tests"
+
+endif
+
+if EFL_ENABLE_BENCHMARK
+
+benchmark:
+ @cd src && $(MAKE) benchmark
+ @mkdir result || true
+ @cd result && ../src/tests/eina_bench `date +%F_%s`
+
+else
+
+benchmark:
+ @echo "reconfigure with --enable-benchmark"
+endif
+
+clean-local:
+ @rm -rf coverage benchmark
diff --git a/autogen.sh b/autogen.sh new file mode 100644 index 0000000..cc2cf77 --- /dev/null +++ b/autogen.sh @@ -0,0 +1,39 @@ +#!/bin/sh
+
+rm -rf autom4te.cache
+rm -f aclocal.m4 ltmain.sh
+
+touch README
+touch ABOUT-NLS
+
+echo "Running aclocal..." ; aclocal $ACLOCAL_FLAGS -I m4 || exit 1
+echo "Running autoheader..." ; autoheader || exit 1
+echo "Running autoconf..." ; autoconf || exit 1
+echo "Running libtoolize..." ; (libtoolize --copy --automake || glibtoolize --automake) || exit 1
+echo "Running automake..." ; automake --add-missing --copy --gnu || exit 1
+
+W=0
+
+rm -f config.cache-env.tmp
+echo "OLD_PARM=\"$@\"" >> config.cache-env.tmp
+echo "OLD_CFLAGS=\"$CFLAGS\"" >> config.cache-env.tmp
+echo "OLD_PATH=\"$PATH\"" >> config.cache-env.tmp
+echo "OLD_PKG_CONFIG_PATH=\"$PKG_CONFIG_PATH\"" >> config.cache-env.tmp
+echo "OLD_LDFLAGS=\"$LDFLAGS\"" >> config.cache-env.tmp
+
+cmp config.cache-env.tmp config.cache-env >> /dev/null
+if [ $? -ne 0 ]; then
+ W=1;
+fi
+
+if [ $W -ne 0 ]; then
+ echo "Cleaning configure cache...";
+ rm -f config.cache config.cache-env
+ mv config.cache-env.tmp config.cache-env
+else
+ rm -f config.cache-env.tmp
+fi
+
+if [ -z "$NOCONFIGURE" ]; then
+ ./configure -C "$@"
+fi
diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..c8bb6b7 --- /dev/null +++ b/configure.ac @@ -0,0 +1,192 @@ +##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+m4_define([v_maj], [1])
+m4_define([v_min], [7])
+m4_define([v_mic], [99])
+m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v '\(export\|Unversioned directory\)' || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n']))
+m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))])
+##-- When released, remove the dnl on the below line
+dnl m4_undefine([v_rev])
+##-- When doing snapshots - change soname. remove dnl on below line
+dnl m4_define([relname], [ver-pre-svn-07])
+dnl m4_define([v_rel], [-release relname])
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+m4_ifdef([v_rev], [m4_define([v_ver], [v_maj.v_min.v_mic.v_rev])], [m4_define([v_ver], [v_maj.v_min.v_mic])])
+m4_define([lt_cur], m4_eval(v_maj + v_min))
+m4_define([lt_rev], v_mic)
+m4_define([lt_age], v_min)
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+
+AC_INIT([eo], [v_ver], [enlightenment-devel@lists.sourceforge.net])
+AC_PREREQ([2.59])
+AC_CONFIG_SRCDIR([configure.ac])
+AC_CONFIG_MACRO_DIR([m4])
+
+AC_CONFIG_HEADERS([config.h])
+AH_TOP([
+#ifndef EFL_CONFIG_H__
+#define EFL_CONFIG_H__
+])
+AH_BOTTOM([
+#endif /* EFL_CONFIG_H__ */
+])
+
+AM_INIT_AUTOMAKE([1.6 dist-bzip2])
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+
+#lt_cv_deplibs_check_method='pass_all'
+AC_LIBTOOL_WIN32_DLL
+define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])dnl
+define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
+AC_PROG_LIBTOOL
+
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+m4_ifdef([v_rev], , [m4_define([v_rev], [0])])
+m4_ifdef([v_rel], , [m4_define([v_rel], [])])
+AC_DEFINE_UNQUOTED([VMAJ], [v_maj], [Major version])
+AC_DEFINE_UNQUOTED([VMIN], [v_min], [Minor version])
+AC_DEFINE_UNQUOTED([VMIC], [v_mic], [Micro version])
+AC_DEFINE_UNQUOTED([VREV], [v_rev], [Revison])
+version_info="lt_cur:lt_rev:lt_age"
+release_info="v_rel"
+AC_SUBST([version_info])
+AC_SUBST([release_info])
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+VMAJ=v_maj
+AC_SUBST([VMAJ])
+
+
+### Needed information
+
+AC_CANONICAL_HOST
+
+EFL_EO_BUILD=""
+case "$host_os" in
+ mingw*)
+ EFL_EO_BUILD="-DEFL_EO_BUILD"
+ ;;
+esac
+AC_SUBST([EFL_EO_BUILD])
+
+requirements_pc_eo="eina"
+
+
+### Additional options to configure
+
+
+### Checks for programs
+
+AC_PROG_CC
+
+# pkg-config
+PKG_PROG_PKG_CONFIG
+
+# Check whether pkg-config supports Requires.private
+if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then
+ pkgconfig_requires_private="Requires.private"
+else
+ pkgconfig_requires_private="Requires"
+fi
+AC_SUBST(pkgconfig_requires_private)
+
+# doxygen program for documentation building
+
+EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
+
+
+### Checks for libraries
+
+PKG_CHECK_MODULES([EO], [${requirements_pc_eo}])
+
+PKG_CHECK_MODULES([ELM], [elementary >= 1.7.0], [have_elm="yes"], [have_elm="no"])
+
+AM_CONDITIONAL([EO_BUILD_EXAMPLE_EVAS], [test "x${have_elm}" = "xyes"])
+
+
+### Checks for header files
+
+AC_CHECK_HEADERS([stdarg.h])
+
+
+### Checks for types
+
+
+### Checks for structures
+
+
+### Checks for compiler characteristics
+
+
+### Checks for linker characteristics
+
+lt_enable_auto_import=""
+case "${host_os}" in
+ mingw*)
+ lt_enable_auto_import="-Wl,--enable-auto-import"
+ ;;
+esac
+AC_SUBST([lt_enable_auto_import])
+
+### Checks for library functions
+
+### Make the debug preprocessor configurable
+
+### Unit tests, coverage and benchmarking
+
+EFL_CHECK_TESTS([eina], [enable_tests="yes"], [enable_tests="no"])
+
+EFL_CHECK_BENCHMARK([enable_benchmark="yes"], [enable_benchmark="no"])
+
+AC_SUBST([requirements_pc_eo])
+
+
+### Build and install examples
+EFL_CHECK_BUILD_EXAMPLES([enable_build_examples="yes"], [enable_build_examples="no"])
+EFL_CHECK_INSTALL_EXAMPLES([enable_install_examples="yes"], [enable_install_examples="no"])
+
+AC_CONFIG_FILES([
+Makefile
+eo.pc
+doc/Doxyfile
+doc/Makefile
+src/Makefile
+src/benchmarks/Makefile
+src/examples/Makefile
+src/examples/eo_isa/Makefile
+src/examples/evas/Makefile
+src/examples/simple/Makefile
+src/lib/Makefile
+])
+
+AC_OUTPUT
+
+#####################################################################
+## Info
+
+echo
+echo
+echo
+echo "------------------------------------------------------------------------"
+echo "$PACKAGE $VERSION"
+echo "------------------------------------------------------------------------"
+echo
+echo
+echo "Configuration Options Summary:"
+echo
+echo " Documentation........: ${build_doc}"
+echo " Tests................: ${enable_tests} (Coverage: ${efl_enable_coverage})"
+echo " Examples.............: ${enable_build_examples}"
+echo " Examples installed...: ${enable_install_examples}"
+echo " Benchmark............: ${enable_benchmark}"
+echo
+echo "Compilation............: make (or gmake)"
+echo " CPPFLAGS.............: $CPPFLAGS"
+echo " CFLAGS...............: $CFLAGS"
+echo " LDFLAGS..............: $LDFLAGS"
+echo
+echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
+echo " prefix...............: $prefix"
+echo
diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in index 56abe89..c426071 100644 --- a/doc/Doxyfile.in +++ b/doc/Doxyfile.in @@ -598,7 +598,7 @@ WARN_LOGFILE = # directories like "/usr/src/myproject". Separate the files or directories # with spaces. -INPUT = @CMAKE_SOURCE_DIR@/src/lib +INPUT = @top_srcdir@/src/lib # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is @@ -658,7 +658,7 @@ EXCLUDE_SYMBOLS = # directories that contain example code fragments that are included (see # the \include command). -EXAMPLE_PATH = @CMAKE_SOURCE_DIR@/src/examples +EXAMPLE_PATH = @top_srcdir@/src/examples # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp @@ -678,7 +678,7 @@ EXAMPLE_RECURSIVE = NO # directories that contain image that are included in the documentation (see # the \image command). -IMAGE_PATH = @CMAKE_CURRENT_SOURCE_DIR@/img +IMAGE_PATH = @top_srcdir@/doc/img # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program @@ -825,13 +825,13 @@ HTML_FILE_EXTENSION = .html # each generated HTML page. If it is left blank doxygen will generate a # standard header. -HTML_HEADER = @CMAKE_CURRENT_SOURCE_DIR@/head.html +HTML_HEADER = @top_srcdir@/doc/head.html # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. -HTML_FOOTER = @CMAKE_CURRENT_SOURCE_DIR@/foot.html +HTML_FOOTER = @top_srcdir@/doc/foot.html # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to @@ -840,7 +840,7 @@ HTML_FOOTER = @CMAKE_CURRENT_SOURCE_DIR@/foot.html # the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! -HTML_STYLESHEET = @CMAKE_CURRENT_SOURCE_DIR@/e.css +HTML_STYLESHEET = @top_srcdir@/doc/e.css # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. # Doxygen will adjust the colors in the stylesheet and background images diff --git a/doc/Makefile.am b/doc/Makefile.am new file mode 100644 index 0000000..33a2c9b --- /dev/null +++ b/doc/Makefile.am @@ -0,0 +1,39 @@ +MAINTAINERCLEANFILES = Makefile.in + +.PHONY: doc + +PACKAGE_DOCNAME = $(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-doc + +if EFL_BUILD_DOC + +doc-clean: + rm -rf html/ latex/ man/ xml/ $(top_builddir)/$(PACKAGE_DOCNAME).tar* + +doc: all + $(efl_doxygen) + cp $(srcdir)/img/* html/ + cp $(srcdir)/img/*.eps latex/ + rm -rf $(PACKAGE_DOCNAME).tar* + mkdir -p $(PACKAGE_DOCNAME)/doc + cp -R html/ latex/ man/ $(PACKAGE_DOCNAME)/doc + tar cf $(PACKAGE_DOCNAME).tar $(PACKAGE_DOCNAME)/ + bzip2 -9 $(PACKAGE_DOCNAME).tar + rm -rf $(PACKAGE_DOCNAME)/ + mv $(PACKAGE_DOCNAME).tar.bz2 $(top_builddir) + @echo "Documentation Package: doc/$(PACKAGE_DOCNAME).tar.bz2" + @echo "Documentation HTML: doc/html" + +clean-local: doc-clean + +else + +doc: + @echo "Documentation not built. Run ./configure --help" + +endif + +EXTRA_DIST = $(srcdir)/Doxyfile.in \ + $(wildcard $(srcdir)/img/*.*) \ + $(srcdir)/e.css \ + $(srcdir)/head.html \ + $(srcdir)/foot.html @@ -1,14 +1,12 @@ -prefix=@CMAKE_INSTALL_PREFIX@ -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ Name: Eo Description: EFL's generic object system library. Version: @PACKAGE_VERSION@ +@pkgconfig_requires_private@: @requirements_pc_eo@ Libs: -L${libdir} -leo Libs.private: -Cflags: -I${includedir} -I${includedir}/eo-@VMAJ@ - - -~ +Cflags: -I${includedir}/eo-@VMAJ@ diff --git a/m4/efl_benchmark.m4 b/m4/efl_benchmark.m4 new file mode 100644 index 0000000..1d1e22e --- /dev/null +++ b/m4/efl_benchmark.m4 @@ -0,0 +1,33 @@ +dnl Copyright (C) 2008 Vincent Torri <vtorri at univ-evry dot fr> +dnl That code is public domain and can be freely used or copied. + +dnl Macro that check if benchmark support is wanted. + +dnl Usage: EFL_CHECK_BENCHMARK([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) +dnl Defines the automake conditionnal EFL_ENABLE_BENCHMARK + +AC_DEFUN([EFL_CHECK_BENCHMARK], +[ + +dnl configure option + +AC_ARG_ENABLE([benchmark], + [AC_HELP_STRING([--enable-benchmark], [enable benchmarking @<:@default=disabled@:>@])], + [ + if test "x${enableval}" = "xyes" ; then + _efl_enable_benchmark="yes" + else + _efl_enable_benchmark="no" + fi + ], + [_efl_enable_benchmark="no"]) + +AC_MSG_CHECKING([whether benchmark are built]) +AC_MSG_RESULT([${_efl_enable_benchmark}]) + +AM_CONDITIONAL(EFL_ENABLE_BENCHMARK, test "x${_efl_enable_benchmark}" = "xyes") + +AS_IF([test "x$_efl_enable_benchmark" = "xyes"], [$1], [$2]) +]) + +dnl End of efl_benchmark.m4 diff --git a/m4/efl_doxygen.m4 b/m4/efl_doxygen.m4 new file mode 100644 index 0000000..7324af3 --- /dev/null +++ b/m4/efl_doxygen.m4 @@ -0,0 +1,94 @@ +dnl Copyright (C) 2008 Vincent Torri <vtorri at univ-evry dot fr> +dnl That code is public domain and can be freely used or copied. + +dnl Macro that check if doxygen is available or not. + +dnl EFL_CHECK_DOXYGEN([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) +dnl Test for the doxygen program +dnl Defines efl_doxygen +dnl Defines the automake conditionnal EFL_BUILD_DOC +dnl +AC_DEFUN([EFL_CHECK_DOXYGEN], +[ + +dnl +dnl Disable the build of the documentation +dnl +AC_ARG_ENABLE([doc], + [AC_HELP_STRING( + [--disable-doc], + [Disable documentation build @<:@default=enabled@:>@])], + [ + if test "x${enableval}" = "xyes" ; then + efl_enable_doc="yes" + else + efl_enable_doc="no" + fi + ], + [efl_enable_doc="yes"]) + +AC_MSG_CHECKING([whether to build documentation]) +AC_MSG_RESULT([${efl_enable_doc}]) + +if test "x${efl_enable_doc}" = "xyes" ; then + +dnl Specify the file name, without path + + efl_doxygen="doxygen" + + AC_ARG_WITH([doxygen], + [AC_HELP_STRING( + [--with-doxygen=FILE], + [doxygen program to use @<:@default=doxygen@:>@])], + +dnl Check the given doxygen program. + + [efl_doxygen=${withval} + AC_CHECK_PROG([efl_have_doxygen], + [${efl_doxygen}], + [yes], + [no]) + if test "x${efl_have_doxygen}" = "xno" ; then + echo "WARNING:" + echo "The doxygen program you specified:" + echo "${efl_doxygen}" + echo "was not found. Please check the path and make sure " + echo "the program exists and is executable." + AC_MSG_WARN([no doxygen detected. Documentation will not be built]) + fi + ], + [AC_CHECK_PROG([efl_have_doxygen], + [${efl_doxygen}], + [yes], + [no]) + if test "x${efl_have_doxygen}" = "xno" ; then + echo "WARNING:" + echo "The doxygen program was not found in your execute path." + echo "You may have doxygen installed somewhere not covered by your path." + echo "" + echo "If this is the case make sure you have the packages installed, AND" + echo "that the doxygen program is in your execute path (see your" + echo "shell manual page on setting the \$PATH environment variable), OR" + echo "alternatively, specify the program to use with --with-doxygen." + AC_MSG_WARN([no doxygen detected. Documentation will not be built]) + fi + ]) +else + efl_have_doxygen="no" +fi + +dnl +dnl Substitution +dnl +AC_SUBST([efl_doxygen]) + +if ! test "x${efl_have_doxygen}" = "xyes" ; then + efl_enable_doc="no" +fi + +AM_CONDITIONAL(EFL_BUILD_DOC, test "x${efl_have_doxygen}" = "xyes") + +AS_IF([test "x$efl_have_doxygen" = "xyes"], [$1], [$2]) +]) + +dnl End of efl_doxygen.m4 diff --git a/m4/efl_examples.m4 b/m4/efl_examples.m4 new file mode 100644 index 0000000..2a809ad --- /dev/null +++ b/m4/efl_examples.m4 @@ -0,0 +1,63 @@ +dnl Copyright (C) 2008 Vincent Torri <vtorri at univ-evry dot fr> +dnl That code is public domain and can be freely used or copied. + +dnl Macro that check if building examples is wanted. + +dnl Usage: EFL_CHECK_BUILD_EXAMPLES([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) +dnl Defines the automake conditionnal EFL_ENABLE_BUILD_EXAMPLES + +AC_DEFUN([EFL_CHECK_BUILD_EXAMPLES], +[ + +dnl configure option + +AC_ARG_ENABLE([build-examples], + [AC_HELP_STRING([--enable-build-examples], [enable building examples @<:@default=disabled@:>@])], + [ + if test "x${enableval}" = "xyes" ; then + _efl_enable_build_examples="yes" + else + _efl_enable_build_examples="no" + fi + ], + [_efl_enable_build_examples="no"]) + +AC_MSG_CHECKING([whether examples are built]) +AC_MSG_RESULT([${_efl_enable_build_examples}]) + +AM_CONDITIONAL(EFL_BUILD_EXAMPLES, test "x${_efl_enable_build_examples}" = "xyes") + +AS_IF([test "x$_efl_enable_build_examples" = "xyes"], [$1], [$2]) +]) + + +dnl Macro that check if installing examples is wanted. + +dnl Usage: EFL_CHECK_INSTALL_EXAMPLES([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) +dnl Defines the automake conditionnal EFL_ENABLE_INSTALL_EXAMPLES + +AC_DEFUN([EFL_CHECK_INSTALL_EXAMPLES], +[ + +dnl configure option + +AC_ARG_ENABLE([install-examples], + [AC_HELP_STRING([--enable-install-examples], [enable installing example source files @<:@default=disabled@:>@])], + [ + if test "x${enableval}" = "xyes" ; then + _efl_enable_install_examples="yes" + else + _efl_enable_install_examples="no" + fi + ], + [_efl_enable_install_examples="no"]) + +AC_MSG_CHECKING([whether examples are installed]) +AC_MSG_RESULT([${_efl_enable_install_examples}]) + +AM_CONDITIONAL(EFL_INSTALL_EXAMPLES, test "x${_efl_enable_install_examples}" = "xyes") + +AS_IF([test "x$_efl_enable_install_examples" = "xyes"], [$1], [$2]) +]) + +dnl End of efl_examples.m4 diff --git a/m4/efl_tests.m4 b/m4/efl_tests.m4 new file mode 100644 index 0000000..d8554e1 --- /dev/null +++ b/m4/efl_tests.m4 @@ -0,0 +1,65 @@ +dnl Copyright (C) 2008-2012 Vincent Torri <vtorri at univ-evry dot fr> +dnl That code is public domain and can be freely used or copied. + +dnl Macro that check if tests programs are wanted and if yes, if +dnl the Check library is available. +dnl the lcov program is available. + +dnl Usage: EFL_CHECK_TESTS(EFL[, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) +dnl Define the automake conditionnal EFL_ENABLE_TESTS + +AC_DEFUN([EFL_CHECK_TESTS], +[ +m4_pushdef([UPEFL], m4_translit([$1], [-a-z], [_A-Z]))dnl + +dnl configure option + +AC_ARG_ENABLE([tests], + [AC_HELP_STRING([--enable-tests], [enable tests @<:@default=disabled@:>@])], + [ + if test "x${enableval}" = "xyes" ; then + _efl_enable_tests="yes" + else + _efl_enable_tests="no" + fi + ], + [_efl_enable_tests="no"]) + +AC_MSG_CHECKING([whether tests are built]) +AC_MSG_RESULT([${_efl_enable_tests}]) + +AC_REQUIRE([PKG_PROG_PKG_CONFIG]) + +if test "x${_efl_enable_tests}" = "xyes" ; then + PKG_CHECK_MODULES([CHECK], + [check >= 0.9.5], + [dummy="yes"], + [_efl_enable_tests="no"]) +fi + +efl_enable_coverage="no" +if test "x${_efl_enable_tests}" = "xyes" ; then + AC_CHECK_PROG(have_lcov, [lcov], [yes], [no]) + if test "x$have_lcov" = "xyes" ; then + m4_defn([UPEFL])[]_CFLAGS="${m4_defn([UPEFL])[]_CFLAGS} -fprofile-arcs -ftest-coverage" + m4_defn([UPEFL])[]_LIBS="${m4_defn([UPEFL])[]_LIBS} -lgcov" +# remove any optimisation flag and force debug symbols + if test "x${prefer_assert}" = "xno"; then + m4_defn([UPEFL])[]_CFLAGS="${m4_defn([UPEFL])[]_CFLAGS} -DNDEBUG" + else + m4_defn([UPEFL])[]_CFLAGS="${m4_defn([UPEFL])[]_CFLAGS} -g -O0 -DDEBUG" + fi + efl_enable_coverage="yes" + else + AC_MSG_WARN([lcov is not found, disable profiling instrumentation]) + fi +fi + +AM_CONDITIONAL(EFL_ENABLE_TESTS, test "x${_efl_enable_tests}" = "xyes") + +AS_IF([test "x$_efl_enable_tests" = "xyes"], [$2], [$3]) + +m4_popdef([UPEFL]) +]) + +dnl End of efl_tests.m4 diff --git a/src/Makefile.am b/src/Makefile.am new file mode 100644 index 0000000..cb86447 --- /dev/null +++ b/src/Makefile.am @@ -0,0 +1,18 @@ +
+MAINTAINERCLEANFILES = Makefile.in
+
+SUBDIRS = lib benchmarks examples
+
+.PHONY: benchmark
+
+if EFL_ENABLE_BENCHMARK
+
+benchmark: all
+ cd benchamrks && make eo_bench
+
+else
+
+benchmark:
+ @echo "reconfigure with --enable-benchmark"
+
+endif
diff --git a/src/benchmarks/Makefile.am b/src/benchmarks/Makefile.am new file mode 100644 index 0000000..7095214 --- /dev/null +++ b/src/benchmarks/Makefile.am @@ -0,0 +1,25 @@ +
+MAINTAINERCLEANFILES = Makefile.in
+
+AM_CPPFLAGS = \
+-I$(top_srcdir)/src/lib \
+-I$(top_builddir)/src/lib \
+@EFL_EO_BUILD@ \
+@EO_CFLAGS@
+
+if EFL_ENABLE_BENCHMARK
+
+bin_PROGRAMS = eo_bench
+
+eo_bench_SOURCES = \
+class_simple.c \
+class_simple.h \
+eo_bench.c \
+eo_bench.h \
+eo_bench_eo_do.c
+eo_bench_LDADD = $(top_builddir)/src/lib/libeo.la @EO_LIBS@
+
+endif
+
+clean-local:
+ rm -rf *.gcno ..\#..\#src\#*.gcov *.gcda
diff --git a/src/benchmarks/class_simple.c b/src/benchmarks/class_simple.c index 6492d91..2e8dc3f 100644 --- a/src/benchmarks/class_simple.c +++ b/src/benchmarks/class_simple.c @@ -1,8 +1,10 @@ +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + #include "Eo.h" #include "class_simple.h" -#include "config.h" - #define MY_CLASS SIMPLE_CLASS EAPI Eo_Op SIMPLE_BASE_ID = 0; diff --git a/src/benchmarks/class_simple.h b/src/benchmarks/class_simple.h index 86f07a1..b29e798 100644 --- a/src/benchmarks/class_simple.h +++ b/src/benchmarks/class_simple.h @@ -1,8 +1,6 @@ #ifndef SIMPLE_H #define SIMPLE_H -#include "Eo.h" - extern EAPI Eo_Op SIMPLE_BASE_ID; enum { diff --git a/src/benchmarks/eo_bench.c b/src/benchmarks/eo_bench.c index dd6af6e..0da83a1 100644 --- a/src/benchmarks/eo_bench.c +++ b/src/benchmarks/eo_bench.c @@ -1,11 +1,13 @@ #ifdef HAVE_CONFIG_H -# include "config.h" +# include <config.h> #endif #include <stdlib.h> #include <stdio.h> #include <limits.h> +#include <Eina.h> + #include "Eo.h" #include "eo_bench.h" diff --git a/src/benchmarks/eo_bench.h b/src/benchmarks/eo_bench.h index f55f1c3..feea3bc 100644 --- a/src/benchmarks/eo_bench.h +++ b/src/benchmarks/eo_bench.h @@ -1,9 +1,6 @@ #ifndef EINA_BENCH_H_ #define EINA_BENCH_H_ -#include <Eina.h> -#include <eina_benchmark.h> - void eo_bench_eo_do(Eina_Benchmark *bench); #endif diff --git a/src/benchmarks/eo_bench_eo_do.c b/src/benchmarks/eo_bench_eo_do.c index a919061..1e8d484 100644 --- a/src/benchmarks/eo_bench_eo_do.c +++ b/src/benchmarks/eo_bench_eo_do.c @@ -1,10 +1,9 @@ #ifdef HAVE_CONFIG_H -# include "config.h" +# include <config.h> #endif #include "Eo.h" #include "eo_bench.h" - #include "class_simple.h" static void diff --git a/src/examples/Makefile.am b/src/examples/Makefile.am new file mode 100644 index 0000000..1ca1fb4 --- /dev/null +++ b/src/examples/Makefile.am @@ -0,0 +1,4 @@ + +MAINTAINERCLEANFILES = Makefile.in + +SUBDIRS = eo_isa evas simple diff --git a/src/examples/eo_isa/Makefile.am b/src/examples/eo_isa/Makefile.am new file mode 100644 index 0000000..84a1678 --- /dev/null +++ b/src/examples/eo_isa/Makefile.am @@ -0,0 +1,38 @@ + +MAINTAINERCLEANFILES = Makefile.in + +exampledir = $(pkgdatadir)/examples + +AM_CPPFLAGS = \ +-I. \ +-I$(top_srcdir)/src/lib \ +-I$(top_builddir)/src/lib \ +@EFL_EO_BUILD@ \ +@EO_CFLAGS@ + +SRCS = \ +complex.c \ +complex.h \ +interface.c \ +interface.h \ +main.c \ +mixin.c \ +mixin.h \ +simple.c \ +simple.h + +example_PROGRAMS = + +if EFL_INSTALL_EXAMPLES +filesdir = $(pkgdatadir)/examples +files_DATA = $(SRCS) +endif + +if EFL_BUILD_EXAMPLES + +example_PROGRAMS += eo_isa + +eo_isa_SOURCES = $(SRCS) +eo_isa_LDADD = $(top_builddir)/src/lib/libeo.la @EO_LIBS@ + +endif diff --git a/src/examples/eo_isa/complex.c b/src/examples/eo_isa/complex.c index 4265af6..e21068c 100644 --- a/src/examples/eo_isa/complex.c +++ b/src/examples/eo_isa/complex.c @@ -1,8 +1,10 @@ +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + #include "Eo.h" #include "complex.h" -#include "config.h" - #define MY_CLASS COMPLEX_CLASS static const Eo_Class_Description class_desc = { diff --git a/src/examples/eo_isa/interface.c b/src/examples/eo_isa/interface.c index 2bfcc8a..a1a1309 100644 --- a/src/examples/eo_isa/interface.c +++ b/src/examples/eo_isa/interface.c @@ -1,8 +1,10 @@ +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + #include "Eo.h" #include "interface.h" -#include "config.h" - EAPI Eo_Op INTERFACE_BASE_ID = 0; #define MY_CLASS INTERFACE_CLASS diff --git a/src/examples/eo_isa/main.c b/src/examples/eo_isa/main.c index b9be815..517e1bd 100644 --- a/src/examples/eo_isa/main.c +++ b/src/examples/eo_isa/main.c @@ -1,3 +1,7 @@ +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + #include "Eo.h" #include "simple.h" #include "complex.h" diff --git a/src/examples/eo_isa/mixin.c b/src/examples/eo_isa/mixin.c index b94ba6d..458dd08 100644 --- a/src/examples/eo_isa/mixin.c +++ b/src/examples/eo_isa/mixin.c @@ -1,9 +1,11 @@ +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + #include "Eo.h" #include "mixin.h" #include "simple.h" -#include "config.h" - EAPI Eo_Op MIXIN_BASE_ID = 0; #define MY_CLASS MIXIN_CLASS diff --git a/src/examples/eo_isa/simple.c b/src/examples/eo_isa/simple.c index d16032b..00016e5 100644 --- a/src/examples/eo_isa/simple.c +++ b/src/examples/eo_isa/simple.c @@ -1,8 +1,10 @@ +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + #include "Eo.h" #include "simple.h" -#include "config.h" - EAPI Eo_Op SIMPLE_BASE_ID = 0; typedef struct diff --git a/src/examples/evas/Makefile.am b/src/examples/evas/Makefile.am new file mode 100644 index 0000000..ab4cd4b --- /dev/null +++ b/src/examples/evas/Makefile.am @@ -0,0 +1,41 @@ + +MAINTAINERCLEANFILES = Makefile.in + +exampledir = $(pkgdatadir)/examples + +AM_CPPFLAGS = \ +-I. \ +-I$(top_srcdir)/src/lib \ +-I$(top_builddir)/src/lib \ +@EO_CFLAGS@ + +SRCS = \ +elw_box.c \ +elw_box.h \ +elw_boxedbutton.c \ +elw_boxedbutton.h \ +elw_button.c \ +elw_button.h \ +elw_win.h \ +elw_win.c \ +evas_obj.c \ +evas_obj.h \ +test.c + +example_PROGRAMS = + +if EFL_INSTALL_EXAMPLES +filesdir = $(pkgdatadir)/examples +files_DATA = $(SRCS) +endif + +if EFL_BUILD_EXAMPLES +if EO_BUILD_EXAMPLE_EVAS + +example_PROGRAMS += evas + +evas_SOURCES = $(SRCS) +evas_LDADD = $(top_builddir)/src/lib/libeo.la @EO_LIBS@ + +endif +endif diff --git a/src/examples/evas/elw_box.c b/src/examples/evas/elw_box.c index 027a0e3..1a2330f 100644 --- a/src/examples/evas/elw_box.c +++ b/src/examples/evas/elw_box.c @@ -1,11 +1,13 @@ +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + #include <Elementary.h> #include "Eo.h" #include "evas_obj.h" #include "elw_box.h" -#include "config.h" - EAPI Eo_Op ELW_BOX_BASE_ID = 0; typedef struct diff --git a/src/examples/evas/elw_boxedbutton.c b/src/examples/evas/elw_boxedbutton.c index 59d9d6b..457dba8 100644 --- a/src/examples/evas/elw_boxedbutton.c +++ b/src/examples/evas/elw_boxedbutton.c @@ -1,3 +1,7 @@ +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + #include <Elementary.h> #include "Eo.h" @@ -6,8 +10,6 @@ #include "elw_button.h" #include "elw_boxedbutton.h" -#include "config.h" - typedef struct { // Evas_Object *bx; diff --git a/src/examples/evas/elw_button.c b/src/examples/evas/elw_button.c index d1a5231..82fa39b 100644 --- a/src/examples/evas/elw_button.c +++ b/src/examples/evas/elw_button.c @@ -1,11 +1,13 @@ +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + #include <Elementary.h> #include "Eo.h" #include "evas_obj.h" #include "elw_button.h" -#include "config.h" - EAPI Eo_Op ELW_BUTTON_BASE_ID = 0; EAPI const Eo_Event_Description _EV_CLICKED = diff --git a/src/examples/evas/elw_win.c b/src/examples/evas/elw_win.c index d05d465..dd9e100 100644 --- a/src/examples/evas/elw_win.c +++ b/src/examples/evas/elw_win.c @@ -1,3 +1,7 @@ +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + #include <Elementary.h> #include "Eo.h" diff --git a/src/examples/evas/evas_obj.c b/src/examples/evas/evas_obj.c index 957be47..9d13c66 100644 --- a/src/examples/evas/evas_obj.c +++ b/src/examples/evas/evas_obj.c @@ -1,10 +1,12 @@ +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + #include <Elementary.h> #include "Eo.h" #include "evas_obj.h" -#include "config.h" - #define MY_CLASS EXEVAS_OBJ_CLASS EAPI Eo_Op EXEVAS_OBJ_BASE_ID = 0; diff --git a/src/examples/evas/test.c b/src/examples/evas/test.c index 9d7afa7..7a57513 100644 --- a/src/examples/evas/test.c +++ b/src/examples/evas/test.c @@ -1,3 +1,7 @@ +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + #include <Elementary.h> #include "evas_obj.h" diff --git a/src/examples/simple/Makefile.am b/src/examples/simple/Makefile.am new file mode 100644 index 0000000..959e440 --- /dev/null +++ b/src/examples/simple/Makefile.am @@ -0,0 +1,36 @@ + +MAINTAINERCLEANFILES = Makefile.in + +exampledir = $(pkgdatadir)/examples + +AM_CPPFLAGS = \ +-I. \ +-I$(top_srcdir)/src/lib \ +-I$(top_builddir)/src/lib \ +@EFL_EO_BUILD@ \ +@EO_CFLAGS@ + +SRCS = \ +interface.c \ +interface.h \ +main.c \ +mixin.c \ +mixin.h \ +simple.c \ +simple.h + +example_PROGRAMS = + +if EFL_INSTALL_EXAMPLES +filesdir = $(pkgdatadir)/examples +files_DATA = $(SRCS) +endif + +if EFL_BUILD_EXAMPLES + +example_PROGRAMS += simple + +simple_SOURCES = $(SRCS) +simple_LDADD = $(top_builddir)/src/lib/libeo.la @EO_LIBS@ + +endif diff --git a/src/examples/simple/interface.c b/src/examples/simple/interface.c index 2bfcc8a..a1a1309 100644 --- a/src/examples/simple/interface.c +++ b/src/examples/simple/interface.c @@ -1,8 +1,10 @@ +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + #include "Eo.h" #include "interface.h" -#include "config.h" - EAPI Eo_Op INTERFACE_BASE_ID = 0; #define MY_CLASS INTERFACE_CLASS diff --git a/src/examples/simple/main.c b/src/examples/simple/main.c index 1fedc83..95c352a 100644 --- a/src/examples/simple/main.c +++ b/src/examples/simple/main.c @@ -1,3 +1,7 @@ +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + #include "Eo.h" #include "simple.h" diff --git a/src/examples/simple/mixin.c b/src/examples/simple/mixin.c index b94ba6d..458dd08 100644 --- a/src/examples/simple/mixin.c +++ b/src/examples/simple/mixin.c @@ -1,9 +1,11 @@ +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + #include "Eo.h" #include "mixin.h" #include "simple.h" -#include "config.h" - EAPI Eo_Op MIXIN_BASE_ID = 0; #define MY_CLASS MIXIN_CLASS diff --git a/src/examples/simple/simple.c b/src/examples/simple/simple.c index d16032b..00016e5 100644 --- a/src/examples/simple/simple.c +++ b/src/examples/simple/simple.c @@ -1,8 +1,10 @@ +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + #include "Eo.h" #include "simple.h" -#include "config.h" - EAPI Eo_Op SIMPLE_BASE_ID = 0; typedef struct diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am new file mode 100644 index 0000000..f9f20b4 --- /dev/null +++ b/src/lib/Makefile.am @@ -0,0 +1,19 @@ +MAINTAINERCLEANFILES = Makefile.in
+
+AM_CPPFLAGS = \
+-I$(top_srcdir)/src/include \
+-I$(top_builddir)/src/include \
+@EFL_EO_BUILD@ \
+@EO_CFLAGS@
+
+installed_headerdir = $(includedir)/eo-@VMAJ@
+dist_installed_header_DATA = Eo.h
+
+lib_LTLIBRARIES = libeo.la
+
+libeo_la_SOURCES = eo.c eo_base_class.c eo_private.h
+libeo_la_LIBADD = @EO_LIBS@
+libeo_la_LDFLAGS = -no-undefined @lt_enable_auto_import@ -version-info @version_info@ @release_info@
+
+clean-local:
+ rm -rf *.gcno
diff --git a/src/lib/eo.c b/src/lib/eo.c index 98a0631..59e11f3 100644 --- a/src/lib/eo.c +++ b/src/lib/eo.c @@ -1,10 +1,12 @@ +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + #include <Eina.h> #include "Eo.h" #include "eo_private.h" -#include "config.h" - /* The last id that should be reserved for statically allocated classes. */ #define EO_CLASS_IDS_FIRST 1 #define EO_OP_IDS_FIRST 1 @@ -1569,4 +1571,3 @@ eo_manual_free(Eo *obj) _eo_free(obj); } - diff --git a/src/lib/eo_base_class.c b/src/lib/eo_base_class.c index acf3ac1..4657da2 100644 --- a/src/lib/eo_base_class.c +++ b/src/lib/eo_base_class.c @@ -1,10 +1,12 @@ +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + #include <Eina.h> #include "Eo.h" #include "eo_private.h" -#include "config.h" - EAPI Eo_Op EO_BASE_BASE_ID = 0; static int event_freeze_count = 0; @@ -575,4 +577,3 @@ static const Eo_Class_Description class_desc = { }; EO_DEFINE_CLASS(eo_base_class_get, &class_desc, NULL, NULL) - diff --git a/src/lib/eo_private.h b/src/lib/eo_private.h index 7759a2a..0045645 100644 --- a/src/lib/eo_private.h +++ b/src/lib/eo_private.h @@ -57,4 +57,3 @@ extern int _eo_log_dom; void _eo_condtor_done(Eo *obj); #endif - |