summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcaro <caro>2012-09-04 07:03:02 +0000
committercaro <caro@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>2012-09-04 07:03:02 +0000
commitf64e85353bd3ae6796ba7b2e4e5f72ca6dfda391 (patch)
tree61957d7510ba0e66407cf90f6ed36c200f9761bf
parent697bc9d8b649e9707acc82eb41820fa8aaeb3d44 (diff)
downloadeobj-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
-rw-r--r--AUTHORS1
-rw-r--r--ChangeLog0
-rw-r--r--INSTALL365
-rw-r--r--Makefile.am99
-rw-r--r--NEWS0
-rw-r--r--README0
-rw-r--r--autogen.sh39
-rw-r--r--configure.ac192
-rw-r--r--doc/Doxyfile.in12
-rw-r--r--doc/Makefile.am39
-rw-r--r--eo.pc.in14
-rw-r--r--m4/efl_benchmark.m433
-rw-r--r--m4/efl_doxygen.m494
-rw-r--r--m4/efl_examples.m463
-rw-r--r--m4/efl_tests.m465
-rw-r--r--src/Makefile.am18
-rw-r--r--src/benchmarks/Makefile.am25
-rw-r--r--src/benchmarks/class_simple.c6
-rw-r--r--src/benchmarks/class_simple.h2
-rw-r--r--src/benchmarks/eo_bench.c4
-rw-r--r--src/benchmarks/eo_bench.h3
-rw-r--r--src/benchmarks/eo_bench_eo_do.c3
-rw-r--r--src/examples/Makefile.am4
-rw-r--r--src/examples/eo_isa/Makefile.am38
-rw-r--r--src/examples/eo_isa/complex.c6
-rw-r--r--src/examples/eo_isa/interface.c6
-rw-r--r--src/examples/eo_isa/main.c4
-rw-r--r--src/examples/eo_isa/mixin.c6
-rw-r--r--src/examples/eo_isa/simple.c6
-rw-r--r--src/examples/evas/Makefile.am41
-rw-r--r--src/examples/evas/elw_box.c6
-rw-r--r--src/examples/evas/elw_boxedbutton.c6
-rw-r--r--src/examples/evas/elw_button.c6
-rw-r--r--src/examples/evas/elw_win.c4
-rw-r--r--src/examples/evas/evas_obj.c6
-rw-r--r--src/examples/evas/test.c4
-rw-r--r--src/examples/simple/Makefile.am36
-rw-r--r--src/examples/simple/interface.c6
-rw-r--r--src/examples/simple/main.c4
-rw-r--r--src/examples/simple/mixin.c6
-rw-r--r--src/examples/simple/simple.c6
-rw-r--r--src/lib/Makefile.am19
-rw-r--r--src/lib/eo.c7
-rw-r--r--src/lib/eo_base_class.c7
-rw-r--r--src/lib/eo_private.h1
45 files changed, 1259 insertions, 53 deletions
diff --git a/AUTHORS b/AUTHORS
new file mode 100644
index 0000000..fe7b208
--- /dev/null
+++ b/AUTHORS
@@ -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
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000..7d1c323
--- /dev/null
+++ b/INSTALL
@@ -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/NEWS b/NEWS
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/NEWS
diff --git a/README b/README
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/README
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
diff --git a/eo.pc.in b/eo.pc.in
index f0276a0..9abb526 100644
--- a/eo.pc.in
+++ b/eo.pc.in
@@ -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
-