summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCedric BAIL <cedric.bail@free.fr>2012-12-03 04:02:58 +0000
committerCedric BAIL <cedric.bail@free.fr>2012-12-03 04:02:58 +0000
commitd39d7438c581bab7b0dad7a9a19b2612a633d74a (patch)
tree81adbbf0a5f115bd72039450549e69689620483f
parentd2db7f68fd042cb4ef38a2e9a561721f9396fa2f (diff)
ecore: is now IN-EFL.
SVN revision: 80004
-rw-r--r--legacy/ecore/.gitignore91
-rw-r--r--legacy/ecore/AUTHORS62
-rw-r--r--legacy/ecore/COPYING25
-rw-r--r--legacy/ecore/INSTALL236
-rw-r--r--legacy/ecore/Makefile.am250
-rwxr-xr-xlegacy/ecore/autogen.sh40
-rw-r--r--legacy/ecore/configure.ac2192
-rw-r--r--legacy/ecore/doc/Doxyfile.in218
-rw-r--r--legacy/ecore/doc/Makefile.am33
-rw-r--r--legacy/ecore/doc/examples.dox1692
-rw-r--r--legacy/ecore/doc/foot.html19
-rw-r--r--legacy/ecore/doc/head.html69
-rw-r--r--legacy/ecore/doc/img/e.pngbin30052 -> 0 bytes
-rw-r--r--legacy/ecore/doc/img/ecore-pos-map.eps5750
-rw-r--r--legacy/ecore/doc/img/ecore-pos-map.pngbin17267 -> 0 bytes
-rw-r--r--legacy/ecore/doc/img/ecore_con-client-server-example.eps566
-rw-r--r--legacy/ecore/doc/img/ecore_con-client-server-example.pngbin60234 -> 0 bytes
-rw-r--r--legacy/ecore/doc/img/ecore_con-client-server-example2.eps580
-rw-r--r--legacy/ecore/doc/img/ecore_con-client-server-example2.pngbin67464 -> 0 bytes
-rw-r--r--legacy/ecore/doc/img/ecore_con-client-server.eps513
-rw-r--r--legacy/ecore/doc/img/ecore_con-client-server.pngbin58250 -> 0 bytes
-rw-r--r--legacy/ecore/doc/img/ecore_thread.eps17292
-rw-r--r--legacy/ecore/doc/img/ecore_thread.pngbin107067 -> 0 bytes
-rw-r--r--legacy/ecore/doc/img/ecore_thread_feedback.eps18387
-rw-r--r--legacy/ecore/doc/img/ecore_thread_feedback.pngbin116002 -> 0 bytes
-rw-r--r--legacy/ecore/doc/img/edoxy.css486
-rw-r--r--legacy/ecore/doc/img/header_menu_current_background.pngbin1200 -> 0 bytes
-rw-r--r--legacy/ecore/doc/img/prog_flow.eps6036
-rw-r--r--legacy/ecore/doc/img/prog_flow.pngbin24099 -> 0 bytes
-rw-r--r--legacy/ecore/ecore-config.pc.in11
-rw-r--r--legacy/ecore/ecore.spec.in233
-rw-r--r--legacy/ecore/ecore.supp46
-rw-r--r--legacy/ecore/m4/ac_abstract_socket.m441
-rw-r--r--legacy/ecore/m4/ac_attribute.m447
-rw-r--r--legacy/ecore/m4/ecore_check_options.m4314
-rw-r--r--legacy/ecore/m4/efl_compiler_flag.m457
-rw-r--r--legacy/ecore/m4/efl_coverage.m462
-rw-r--r--legacy/ecore/m4/efl_doxygen.m497
-rw-r--r--legacy/ecore/m4/efl_examples.m463
-rw-r--r--legacy/ecore/m4/efl_gettimeofday.m448
-rw-r--r--legacy/ecore/m4/efl_shm_open.m469
-rw-r--r--legacy/ecore/m4/efl_tests.m443
-rw-r--r--legacy/ecore/m4/efl_threads.m4206
-rw-r--r--legacy/ecore/po/LINGUAS2
-rw-r--r--legacy/ecore/po/eo.po175
-rw-r--r--legacy/ecore/src/Makefile.am26
-rw-r--r--legacy/ecore/src/bin/Makefile.am51
-rw-r--r--legacy/ecore/src/bin/ecore_config.c324
-rw-r--r--legacy/ecore/src/bin/ecore_test.c109
-rw-r--r--legacy/ecore/src/examples/Makefile.am117
-rw-r--r--legacy/ecore/src/examples/ecore_animator_example.c117
-rw-r--r--legacy/ecore/src/examples/ecore_client_bench.c79
-rw-r--r--legacy/ecore/src/examples/ecore_con_client_example.c92
-rw-r--r--legacy/ecore/src/examples/ecore_con_client_simple_example.c126
-rw-r--r--legacy/ecore/src/examples/ecore_con_lookup_example.c40
-rw-r--r--legacy/ecore/src/examples/ecore_con_server_example.c81
-rw-r--r--legacy/ecore/src/examples/ecore_con_server_http_example.c136
-rw-r--r--legacy/ecore/src/examples/ecore_con_server_simple_example.c133
-rw-r--r--legacy/ecore/src/examples/ecore_con_url_cookies_example.c123
-rw-r--r--legacy/ecore/src/examples/ecore_con_url_download_example.c113
-rw-r--r--legacy/ecore/src/examples/ecore_con_url_headers_example.c106
-rw-r--r--legacy/ecore/src/examples/ecore_evas_basics_example.c89
-rw-r--r--legacy/ecore/src/examples/ecore_evas_buffer_example_01.c121
-rw-r--r--legacy/ecore/src/examples/ecore_evas_buffer_example_02.c126
-rw-r--r--legacy/ecore/src/examples/ecore_evas_callbacks.c128
-rw-r--r--legacy/ecore/src/examples/ecore_evas_ews_example.c269
-rw-r--r--legacy/ecore/src/examples/ecore_evas_object_example.c53
-rw-r--r--legacy/ecore/src/examples/ecore_evas_window_sizes_example.c204
-rw-r--r--legacy/ecore/src/examples/ecore_event_example_01.c26
-rw-r--r--legacy/ecore/src/examples/ecore_event_example_02.c89
-rw-r--r--legacy/ecore/src/examples/ecore_exe_example.c100
-rw-r--r--legacy/ecore/src/examples/ecore_exe_example_child.c56
-rw-r--r--legacy/ecore/src/examples/ecore_fd_handler_example.c89
-rw-r--r--legacy/ecore/src/examples/ecore_fd_handler_gnutls_example.c203
-rw-r--r--legacy/ecore/src/examples/ecore_file_download_example.c86
-rw-r--r--legacy/ecore/src/examples/ecore_idler_example.c117
-rw-r--r--legacy/ecore/src/examples/ecore_imf_example.c588
-rw-r--r--legacy/ecore/src/examples/ecore_job_example.c50
-rw-r--r--legacy/ecore/src/examples/ecore_pipe_gstreamer_example.c190
-rw-r--r--legacy/ecore/src/examples/ecore_pipe_simple_example.c67
-rw-r--r--legacy/ecore/src/examples/ecore_poller_example.c72
-rw-r--r--legacy/ecore/src/examples/ecore_server_bench.c63
-rw-r--r--legacy/ecore/src/examples/ecore_thread_example.c395
-rw-r--r--legacy/ecore/src/examples/ecore_time_functions_example.c34
-rw-r--r--legacy/ecore/src/examples/ecore_timer_example.c187
-rw-r--r--legacy/ecore/src/lib/Makefile.am75
-rw-r--r--legacy/ecore/src/lib/ecore/Makefile.am73
-rw-r--r--legacy/ecore/src/lib/ecore_cocoa/Makefile.am29
-rw-r--r--legacy/ecore/src/lib/ecore_con/Makefile.am55
-rw-r--r--legacy/ecore/src/lib/ecore_config/Ecore_Config.h312
-rw-r--r--legacy/ecore/src/lib/ecore_config/Makefile.am62
-rw-r--r--legacy/ecore/src/lib/ecore_config/ecore_config.c1870
-rw-r--r--legacy/ecore/src/lib/ecore_config/ecore_config_db.c296
-rw-r--r--legacy/ecore/src/lib/ecore_config/ecore_config_extra.c803
-rw-r--r--legacy/ecore/src/lib/ecore_config/ecore_config_ipc.h50
-rw-r--r--legacy/ecore/src/lib/ecore_config/ecore_config_ipc_ecore.c384
-rw-r--r--legacy/ecore/src/lib/ecore_config/ecore_config_ipc_main.c275
-rw-r--r--legacy/ecore/src/lib/ecore_config/ecore_config_private.h70
-rw-r--r--legacy/ecore/src/lib/ecore_config/ecore_config_storage.c176
-rw-r--r--legacy/ecore/src/lib/ecore_config/ecore_config_util.c129
-rw-r--r--legacy/ecore/src/lib/ecore_config/ecore_config_util.h14
-rw-r--r--legacy/ecore/src/lib/ecore_directfb/Makefile.am31
-rw-r--r--legacy/ecore/src/lib/ecore_evas/Makefile.am161
-rw-r--r--legacy/ecore/src/lib/ecore_fb/Makefile.am34
-rw-r--r--legacy/ecore/src/lib/ecore_file/Makefile.am36
-rw-r--r--legacy/ecore/src/lib/ecore_imf/Makefile.am25
-rw-r--r--legacy/ecore/src/lib/ecore_imf_evas/Makefile.am22
-rw-r--r--legacy/ecore/src/lib/ecore_input/Makefile.am25
-rw-r--r--legacy/ecore/src/lib/ecore_input_evas/Makefile.am28
-rw-r--r--legacy/ecore/src/lib/ecore_ipc/Makefile.am31
-rw-r--r--legacy/ecore/src/lib/ecore_psl1ght/Ecore_Psl1ght.h121
-rw-r--r--legacy/ecore/src/lib/ecore_psl1ght/Ecore_Psl1ght_Keys.h78
-rw-r--r--legacy/ecore/src/lib/ecore_psl1ght/Makefile.am30
-rw-r--r--legacy/ecore/src/lib/ecore_psl1ght/ecore_psl1ght.c859
-rw-r--r--legacy/ecore/src/lib/ecore_psl1ght/ecore_psl1ght_private.h36
-rw-r--r--legacy/ecore/src/lib/ecore_psl1ght/gemutil.c281
-rw-r--r--legacy/ecore/src/lib/ecore_psl1ght/gemutil.h19
-rw-r--r--legacy/ecore/src/lib/ecore_psl1ght/moveutil.c245
-rw-r--r--legacy/ecore/src/lib/ecore_psl1ght/moveutil.h43
-rw-r--r--legacy/ecore/src/lib/ecore_psl1ght/spursutil.c62
-rw-r--r--legacy/ecore/src/lib/ecore_psl1ght/spursutil.h24
-rw-r--r--legacy/ecore/src/lib/ecore_sdl/Makefile.am29
-rw-r--r--legacy/ecore/src/lib/ecore_wayland/Makefile.am33
-rw-r--r--legacy/ecore/src/lib/ecore_win32/Makefile.am41
-rw-r--r--legacy/ecore/src/lib/ecore_wince/Makefile.am31
-rw-r--r--legacy/ecore/src/lib/ecore_x/Makefile.am30
-rw-r--r--legacy/ecore/src/lib/ecore_x/xcb/Makefile.am99
-rw-r--r--legacy/ecore/src/lib/ecore_x/xlib/Makefile.am94
-rw-r--r--legacy/ecore/src/modules/Makefile.am3
-rw-r--r--legacy/ecore/src/modules/immodules/Makefile.am15
-rw-r--r--legacy/ecore/src/modules/immodules/ibus/Makefile.am37
-rw-r--r--legacy/ecore/src/modules/immodules/scim/Makefile.am36
-rw-r--r--legacy/ecore/src/modules/immodules/xim/Makefile.am29
-rw-r--r--legacy/ecore/src/tests/Makefile.am37
-rw-r--r--legacy/ecore/src/tests/ecore_suite.c103
-rw-r--r--legacy/ecore/src/tests/ecore_suite.h11
-rw-r--r--legacy/ecore/src/tests/ecore_test_ecore.c366
-rw-r--r--legacy/ecore/src/tests/ecore_test_ecore_con.c258
-rw-r--r--legacy/ecore/src/tests/ecore_test_ecore_x.c60
-rw-r--r--legacy/ecore/src/util/Makefile.am17
140 files changed, 0 insertions, 69419 deletions
diff --git a/legacy/ecore/.gitignore b/legacy/ecore/.gitignore
deleted file mode 100644
index 1454d8010e..0000000000
--- a/legacy/ecore/.gitignore
+++ /dev/null
@@ -1,91 +0,0 @@
1*.o
2*.lo
3*.a
4*.la
5.deps
6.libs
7*~
8*.gmo
9*.pc
10/configure
11/config.status
12Makefile
13Makefile.in
14/ABOUT-NLS
15/README
16/aclocal.m4
17/autom4te.cache/
18/config.cache
19/config.cache-env
20/config.guess
21/config.h
22/config.h.in
23/config.log
24/config.rpath
25/config.sub
26/depcomp
27/doc/ecore.dox
28/ecore.spec
29/install-sh
30/libtool
31/ltmain.sh
32/m4/codeset.m4
33/m4/gettext.m4
34/m4/glibc21.m4
35/m4/iconv.m4
36/m4/intdiv0.m4
37/m4/intmax.m4
38/m4/inttypes-pri.m4
39/m4/inttypes.m4
40/m4/inttypes_h.m4
41/m4/isc-posix.m4
42/m4/lcmessage.m4
43/m4/lib-ld.m4
44/m4/lib-link.m4
45/m4/lib-prefix.m4
46/m4/libtool.m4
47/m4/longdouble.m4
48/m4/longlong.m4
49/m4/ltoptions.m4
50/m4/ltsugar.m4
51/m4/ltversion.m4
52/m4/lt~obsolete.m4
53/m4/nls.m4
54/m4/po.m4
55/m4/printf-posix.m4
56/m4/progtest.m4
57/m4/signed.m4
58/m4/size_max.m4
59/m4/stdint_h.m4
60/m4/uintmax_t.m4
61/m4/ulonglong.m4
62/m4/wchar_t.m4
63/m4/wint_t.m4
64/m4/xsize.m4
65/m4/glibc2.m4
66/m4/intl.m4
67/m4/intldir.m4
68/m4/intlmacosx.m4
69/m4/lock.m4
70/m4/visibility.m4
71/missing
72/mkinstalldirs
73/po/Makefile.in.in
74/po/Makevars.template
75/po/POTFILES
76/po/Rules-quot
77/po/boldquot.sed
78/po/ecore.pot
79/po/en@boldquot.header
80/po/en@quot.header
81/po/insert-header.sin
82/po/quot.sed
83/po/remove-potcdate.sed
84/po/remove-potcdate.sin
85/po/stamp-po
86/stamp-h1
87/doc/Doxyfile
88/src/bin/ecore_test
89/src/lib/ecore_x/xcb/ecore_xcb_keysym_table.h
90/src/util/makekeys
91INSTALL
diff --git a/legacy/ecore/AUTHORS b/legacy/ecore/AUTHORS
deleted file mode 100644
index 2b5962fa8d..0000000000
--- a/legacy/ecore/AUTHORS
+++ /dev/null
@@ -1,62 +0,0 @@
1Myoungwoon Roy Kim(roy_kim) <myoungwoon.kim@samsung.com> <myoungwoon@gmail.com>
2The Rasterman <raster@rasterman.com>
3Tom Gilbert <tom@linuxbrit.co.uk>
4Burra <burra@colorado.edu>
5Chris Ross <chris@darkrock.co.uk>
6Term <term@twistedpath.org>
7Tilman Sauerbeck <tilman@code-monkey.de>
8Ibukun Olumuyiwa <ibukun@computer.org>
9Yuri <da2001@hotmail.ru>
10Nicholas Curran <quasar@bigblue.net.au>
11Howell Tam <pigeon@pigeond.net>
12Nathan Ingersoll <rbdpngn@users.sourceforge.net>
13Andrew Elcock <andy@elcock.org>
14Kim Woelders <kim@woelders.dk>
15Sebastian Dransfeld <sd@tango.flipp.net>
16Simon Poole <simon.armlinux@themalago.net>
17Jorge Luis Zapata Muga <jorgeluis.zapata@gmail.com>
18dan sinclair <zero@everburning.com>
19Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de>
20David 'onefang' Seikel <onefang@gmail.com>
21Hisham 'CodeWarrior' Mardam Bey <hisham@hisham.cc>
22Brian 'rephorm' Mattern <rephorm@rephorm.com>
23Tim Horton <hortont424@gmail.com>
24Arnaud de Turckheim 'quarium' <quarium@gmail.com>
25Matt Barclay <mbarclay@gmail.com>
26Peter Wehrfritz <peter.wehrfritz@web.de>
27Albin "Lutin" Tonnerre <albin.tonnerre@gmail.com>
28Vincent Torri <vincent.torri@gmail.com>
29Lars Munch <lars@segv.dk>
30Andre Dieb <andre.dieb@gmail.com>
31Mathieu Taillefumier <mathieu.taillefumier@free.fr>
32Rui Miguel Silva Seabra <rms@1407.org>
33Samsung Electronics <tbd>
34Samsung SAIT <tbd>
35Nicolas Aguirre <aguirre.nicolas@gmail.com>
36Brett Nash <nash@nash.id.au>
37Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
38Leif Middelschulte <leif.middelschulte@gmail.com>
39Mike McCormack <mikem@ring3k.org>
40Sangho Park <gouache95@gmail.com>
41Jihoon Kim <jihoon48.kim@samsung.com> <imfine98@gmail.com>
42PnB <Poor.NewBie@gmail.com>
43Daniel Juyung Seo <seojuyung2@gmail.com> <juyung.seo@samsung.com>
44Christopher 'devilhorns' Michael <cpmichael1@comcast.net>
45ChunEon Park (Hermet) <hermet@hermet.pe.kr>
46xlopez@igalia.com
47Rafael Antognolli <antognolli@profusion.mobi>
48Kim Yunhan <spbear@gmail.com>
49Youness Alaoui <kakaroto@kakaroto.homelinux.net>
50Bluezery <ohpowel@gmail.com>
51Doyoun Kang <wayofmine@gmail.com> <doyoun.kang@samsung.com>
52Haifeng Deng <haifeng.deng@samsung.com>
53Jérémy Zurcher <jeremy@asynk.ch>
54Seong-ho Cho (DarkCircle) <darkcircle.0426@gmail.com>
55Patryk Kaczmarek <patryk.k@samsung.com>
56Daniel Willmann <d.willmann@samsung.com>
57Michal Pakula vel Rutka <m.pakula@samsung.com>
58Vikram Narayanan <vikram186@gmail.com>
59Daniel Zaoui <daniel.zaoui@samsung.com>
60Yakov Goldberg <yakov.g@samsung.com>
61Eduardo Lima (Etrunko) <eblima@gmail.com>
62Alexey Yakovenko <wakeroid@gmail.com>
diff --git a/legacy/ecore/COPYING b/legacy/ecore/COPYING
deleted file mode 100644
index fb8c49dcd9..0000000000
--- a/legacy/ecore/COPYING
+++ /dev/null
@@ -1,25 +0,0 @@
1Copyright notice for Ecore:
2
3Copyright (C) 2000-2011 Carsten Haitzler and various contributors (see AUTHORS)
4
5All rights reserved.
6
7Redistribution and use in source and binary forms, with or without
8modification, are permitted provided that the following conditions are met:
9
10 1. Redistributions of source code must retain the above copyright
11 notice, this list of conditions and the following disclaimer.
12 2. Redistributions in binary form must reproduce the above copyright
13 notice, this list of conditions and the following disclaimer in the
14 documentation and/or other materials provided with the distribution.
15
16THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
17INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
18FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
19COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
20INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
21LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
22OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
23LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
24NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
25EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/legacy/ecore/INSTALL b/legacy/ecore/INSTALL
deleted file mode 100644
index 23e5f25d0e..0000000000
--- a/legacy/ecore/INSTALL
+++ /dev/null
@@ -1,236 +0,0 @@
1Installation Instructions
2*************************
3
4Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free
5Software Foundation, Inc.
6
7This file is free documentation; the Free Software Foundation gives
8unlimited permission to copy, distribute and modify it.
9
10Basic Installation
11==================
12
13These are generic installation instructions.
14
15 The `configure' shell script attempts to guess correct values for
16various system-dependent variables used during compilation. It uses
17those values to create a `Makefile' in each directory of the package.
18It may also create one or more `.h' files containing system-dependent
19definitions. Finally, it creates a shell script `config.status' that
20you can run in the future to recreate the current configuration, and a
21file `config.log' containing compiler output (useful mainly for
22debugging `configure').
23
24 It can also use an optional file (typically called `config.cache'
25and enabled with `--cache-file=config.cache' or simply `-C') that saves
26the results of its tests to speed up reconfiguring. (Caching is
27disabled by default to prevent problems with accidental use of stale
28cache files.)
29
30 If you need to do unusual things to compile the package, please try
31to figure out how `configure' could check whether to do them, and mail
32diffs or instructions to the address given in the `README' so they can
33be considered for the next release. If you are using the cache, and at
34some point `config.cache' contains results you don't want to keep, you
35may remove or edit it.
36
37 The file `configure.ac' (or `configure.in') is used to create
38`configure' by a program called `autoconf'. You only need
39`configure.ac' if you want to change it or regenerate `configure' using
40a newer version of `autoconf'.
41
42The simplest way to compile this package is:
43
44 1. `cd' to the directory containing the package's source code and type
45 `./configure' to configure the package for your system. If you're
46 using `csh' on an old version of System V, you might need to type
47 `sh ./configure' instead to prevent `csh' from trying to execute
48 `configure' itself.
49
50 Running `configure' takes awhile. While running, it prints some
51 messages telling which features it is checking for.
52
53 2. Type `make' to compile the package.
54
55 3. Optionally, type `make check' to run any self-tests that come with
56 the package.
57
58 4. Type `make install' to install the programs and any data files and
59 documentation.
60
61 5. You can remove the program binaries and object files from the
62 source code directory by typing `make clean'. To also remove the
63 files that `configure' created (so you can compile the package for
64 a different kind of computer), type `make distclean'. There is
65 also a `make maintainer-clean' target, but that is intended mainly
66 for the package's developers. If you use it, you may have to get
67 all sorts of other programs in order to regenerate files that came
68 with the distribution.
69
70Compilers and Options
71=====================
72
73Some systems require unusual options for compilation or linking that the
74`configure' script does not know about. Run `./configure --help' for
75details on some of the pertinent environment variables.
76
77 You can give `configure' initial values for configuration parameters
78by setting variables in the command line or in the environment. Here
79is an example:
80
81 ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
82
83 *Note Defining Variables::, for more details.
84
85Compiling For Multiple Architectures
86====================================
87
88You can compile the package for more than one kind of computer at the
89same time, by placing the object files for each architecture in their
90own directory. To do this, you must use a version of `make' that
91supports the `VPATH' variable, such as GNU `make'. `cd' to the
92directory where you want the object files and executables to go and run
93the `configure' script. `configure' automatically checks for the
94source code in the directory that `configure' is in and in `..'.
95
96 If you have to use a `make' that does not support the `VPATH'
97variable, you have to compile the package for one architecture at a
98time in the source code directory. After you have installed the
99package for one architecture, use `make distclean' before reconfiguring
100for another architecture.
101
102Installation Names
103==================
104
105By default, `make install' installs the package's commands under
106`/usr/local/bin', include files under `/usr/local/include', etc. You
107can specify an installation prefix other than `/usr/local' by giving
108`configure' the option `--prefix=PREFIX'.
109
110 You can specify separate installation prefixes for
111architecture-specific files and architecture-independent files. If you
112pass the option `--exec-prefix=PREFIX' to `configure', the package uses
113PREFIX as the prefix for installing programs and libraries.
114Documentation and other data files still use the regular prefix.
115
116 In addition, if you use an unusual directory layout you can give
117options like `--bindir=DIR' to specify different values for particular
118kinds of files. Run `configure --help' for a list of the directories
119you can set and what kinds of files go in them.
120
121 If the package supports it, you can cause programs to be installed
122with an extra prefix or suffix on their names by giving `configure' the
123option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
124
125Optional Features
126=================
127
128Some packages pay attention to `--enable-FEATURE' options to
129`configure', where FEATURE indicates an optional part of the package.
130They may also pay attention to `--with-PACKAGE' options, where PACKAGE
131is something like `gnu-as' or `x' (for the X Window System). The
132`README' should mention any `--enable-' and `--with-' options that the
133package recognizes.
134
135 For packages that use the X Window System, `configure' can usually
136find the X include and library files automatically, but if it doesn't,
137you can use the `configure' options `--x-includes=DIR' and
138`--x-libraries=DIR' to specify their locations.
139
140Specifying the System Type
141==========================
142
143There may be some features `configure' cannot figure out automatically,
144but needs to determine by the type of machine the package will run on.
145Usually, assuming the package is built to be run on the _same_
146architectures, `configure' can figure that out, but if it prints a
147message saying it cannot guess the machine type, give it the
148`--build=TYPE' option. TYPE can either be a short name for the system
149type, such as `sun4', or a canonical name which has the form:
150
151 CPU-COMPANY-SYSTEM
152
153where SYSTEM can have one of these forms:
154
155 OS KERNEL-OS
156
157 See the file `config.sub' for the possible values of each field. If
158`config.sub' isn't included in this package, then this package doesn't
159need to know the machine type.
160
161 If you are _building_ compiler tools for cross-compiling, you should
162use the option `--target=TYPE' to select the type of system they will
163produce code for.
164
165 If you want to _use_ a cross compiler, that generates code for a
166platform different from the build platform, you should specify the
167"host" platform (i.e., that on which the generated programs will
168eventually be run) with `--host=TYPE'.
169
170Sharing Defaults
171================
172
173If you want to set default values for `configure' scripts to share, you
174can create a site shell script called `config.site' that gives default
175values for variables like `CC', `cache_file', and `prefix'.
176`configure' looks for `PREFIX/share/config.site' if it exists, then
177`PREFIX/etc/config.site' if it exists. Or, you can set the
178`CONFIG_SITE' environment variable to the location of the site script.
179A warning: not all `configure' scripts look for a site script.
180
181Defining Variables
182==================
183
184Variables not defined in a site shell script can be set in the
185environment passed to `configure'. However, some packages may run
186configure again during the build, and the customized values of these
187variables may be lost. In order to avoid this problem, you should set
188them in the `configure' command line, using `VAR=value'. For example:
189
190 ./configure CC=/usr/local2/bin/gcc
191
192causes the specified `gcc' to be used as the C compiler (unless it is
193overridden in the site shell script). Here is a another example:
194
195 /bin/bash ./configure CONFIG_SHELL=/bin/bash
196
197Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent
198configuration-related scripts to be executed by `/bin/bash'.
199
200`configure' Invocation
201======================
202
203`configure' recognizes the following options to control how it operates.
204
205`--help'
206`-h'
207 Print a summary of the options to `configure', and exit.
208
209`--version'
210`-V'
211 Print the version of Autoconf used to generate the `configure'
212 script, and exit.
213
214`--cache-file=FILE'
215 Enable the cache: use and save the results of the tests in FILE,
216 traditionally `config.cache'. FILE defaults to `/dev/null' to
217 disable caching.
218
219`--config-cache'
220`-C'
221 Alias for `--cache-file=config.cache'.
222
223`--quiet'
224`--silent'
225`-q'
226 Do not print messages saying which checks are being made. To
227 suppress all normal output, redirect it to `/dev/null' (any error
228 messages will still be shown).
229
230`--srcdir=DIR'
231 Look for the package's source code in directory DIR. Usually
232 `configure' can determine that directory automatically.
233
234`configure' also accepts some other, not widely useful, options. Run
235`configure --help' for more details.
236
diff --git a/legacy/ecore/Makefile.am b/legacy/ecore/Makefile.am
deleted file mode 100644
index 9f16aeb665..0000000000
--- a/legacy/ecore/Makefile.am
+++ /dev/null
@@ -1,250 +0,0 @@
1## Process this file with automake to produce Makefile.in
2
3ACLOCAL_AMFLAGS = -I m4
4
5SUBDIRS = doc src
6
7if HAVE_PO
8
9SUBDIRS += po
10
11endif
12
13MAINTAINERCLEANFILES = \
14ABOUT-NLS \
15Makefile.in \
16aclocal.m4 \
17config.guess \
18config.h.in \
19config.h.in~ \
20config.rpath \
21config.sub \
22configure \
23depcomp \
24install-sh \
25ltmain.sh \
26missing \
27mkinstalldirs \
28$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.gz \
29$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.bz2 \
30$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-doc.tar.bz2 \
31m4/libtool.m4 \
32m4/lt~obsolete.m4 \
33m4/ltoptions.m4 \
34m4/ltsugar.m4 \
35m4/ltversion.m4 \
36m4/codeset.m4 \
37m4/gettext.m4* \
38m4/glibc2*.m4 \
39m4/iconv.m4 \
40m4/intdiv0.m4 \
41m4/intldir.m4 \
42m4/intl.m4 \
43m4/intlmacosx.m4 \
44m4/intmax.m4* \
45m4/inttypes_h.m4 \
46m4/inttypes.m4 \
47m4/inttypes-pri.m4 \
48m4/isc-posix.m4 \
49m4/lcmessage.m4 \
50m4/lib-ld.m4* \
51m4/lib-link.m4 \
52m4/lib-prefix.m4* \
53m4/lock.m4 \
54m4/longdouble.m4* \
55m4/longlong.m4* \
56m4/nls.m4 \
57m4/po.m4* \
58m4/printf-posix.m4* \
59m4/progtest.m4 \
60m4/signed.m4 \
61m4/size_max.m4* \
62m4/stdint_h.m4 \
63m4/uintmax_t.m4 \
64m4/ulonglong.m4* \
65m4/visibility.m4 \
66m4/wchar_t.m4 \
67m4/wint_t.m4* \
68m4/xsize.m4*
69
70if HAVE_PO
71
72MAINTAINERCLEANFILES += \
73po/boldquot.sed \
74po/en@boldquot.header \
75po/en@quot.header \
76po/insert-header.sin \
77po/Makefile.in.in* \
78po/Makevars.template \
79po/quot.sed \
80po/remove-potcdate.sin \
81po/Rules-quot*
82
83endif
84
85bin_SCRIPTS =
86
87EXTRA_DIST = \
88AUTHORS \
89COPYING \
90autogen.sh \
91ecore.supp \
92ecore.pc.in \
93ecore-con.pc.in \
94ecore-config.pc.in \
95ecore-directfb.pc.in\
96ecore-evas.pc.in \
97ecore-fb.pc.in \
98ecore-file.pc.in \
99ecore-imf.pc.in \
100ecore-imf-evas.pc.in \
101ecore-ipc.pc.in \
102ecore-x.pc.in \
103ecore-win32.pc.in \
104ecore-sdl.pc.in \
105ecore-cocoa.pc.in \
106ecore-psl1ght.pc.in \
107ecore-input.pc.in \
108ecore-wince.pc.in \
109ecore-wayland.pc.in \
110ecore.spec.in \
111ecore.spec \
112m4/ac_abstract_socket.m4 \
113m4/ac_attribute.m4 \
114m4/check_x_extension.m4 \
115m4/ecore_check_module.m4 \
116m4/ecore_check_options.m4 \
117m4/efl_doxygen.m4 \
118m4/efl_path_max.m4 \
119m4/efl_shm_open.m4 \
120m4/efl_coverage.m4 \
121m4/efl_tests.m4 \
122m4/efl_threads.m4
123
124
125pkgconfigdir = $(libdir)/pkgconfig
126pkgconfig_DATA = ecore.pc
127
128if BUILD_ECORE_CON
129pkgconfig_DATA += ecore-con.pc
130endif
131
132if BUILD_ECORE_CONFIG
133pkgconfig_DATA += ecore-config.pc
134endif
135
136if BUILD_ECORE_DIRECTFB
137pkgconfig_DATA += ecore-directfb.pc
138endif
139
140if BUILD_ECORE_EVAS
141pkgconfig_DATA += ecore-evas.pc
142endif
143
144if BUILD_ECORE_FB
145pkgconfig_DATA += ecore-fb.pc
146endif
147
148if BUILD_ECORE_FILE
149pkgconfig_DATA += ecore-file.pc
150endif
151
152if BUILD_ECORE_IMF
153pkgconfig_DATA += ecore-imf.pc
154endif
155
156if BUILD_ECORE_IMF_EVAS
157pkgconfig_DATA += ecore-imf-evas.pc
158endif
159
160if BUILD_ECORE_INPUT
161pkgconfig_DATA += ecore-input.pc
162endif
163
164if BUILD_ECORE_INPUT_EVAS
165pkgconfig_DATA += ecore-input-evas.pc
166endif
167
168if BUILD_ECORE_IPC
169pkgconfig_DATA += ecore-ipc.pc
170endif
171
172if BUILD_ECORE_X
173pkgconfig_DATA += ecore-x.pc
174endif
175
176if BUILD_ECORE_WIN32
177pkgconfig_DATA += ecore-win32.pc
178endif
179
180if BUILD_ECORE_WINCE
181pkgconfig_DATA += ecore-wince.pc
182endif
183
184if BUILD_ECORE_SDL
185pkgconfig_DATA += ecore-sdl.pc
186endif
187
188if BUILD_ECORE_COCOA
189pkgconfig_DATA += ecore-cocoa.pc
190endif
191
192if BUILD_ECORE_PSL1GHT
193pkgconfig_DATA += ecore-psl1ght.pc
194endif
195
196if BUILD_ECORE_WAYLAND
197pkgconfig_DATA += ecore-wayland.pc
198endif
199
200.PHONY: doc coverage
201
202# Documentation
203
204doc:
205 @echo "entering doc/"
206 make -C doc doc
207
208# Unit tests
209
210if EFL_ENABLE_TESTS
211
212check-local:
213 @./src/tests/ecore_suite
214
215else
216
217check-local:
218 @echo "reconfigure with --enable-tests"
219
220endif
221
222# Coverage report
223
224if EFL_ENABLE_COVERAGE
225lcov-reset:
226 @rm -rf $(top_builddir)/coverage
227 @find $(top_builddir) -name "*.gcda" -delete
228 @lcov --zerocounters --directory $(top_builddir)
229
230lcov-report:
231 @mkdir $(top_builddir)/coverage
232 lcov --capture --compat-libtool --output-file $(top_builddir)/coverage/coverage.info --directory $(top_builddir)
233 lcov --remove $(top_builddir)/coverage/coverage.info '*.h' --output-file $(top_builddir)/coverage/coverage.cleaned.info
234 genhtml -t "$(PACKAGE_STRING)" -o $(top_builddir)/coverage/html $(top_builddir)/coverage/coverage.cleaned.info
235 @echo "Coverage Report at $(top_builddir)/coverage/html"
236
237coverage:
238 @$(MAKE) lcov-reset
239 @$(MAKE) check
240 @$(MAKE) lcov-report
241else
242lcov-reset:
243 @echo "reconfigure with --enable-coverage"
244
245lcov-report:
246 @echo "reconfigure with --enable-coverage"
247
248coverage:
249 @echo "reconfigure with --enable-tests --enable-coverage"
250endif
diff --git a/legacy/ecore/autogen.sh b/legacy/ecore/autogen.sh
deleted file mode 100755
index 81e1956b5d..0000000000
--- a/legacy/ecore/autogen.sh
+++ /dev/null
@@ -1,40 +0,0 @@
1#!/bin/sh
2
3rm -rf autom4te.cache
4rm -f aclocal.m4 ltmain.sh
5
6touch ABOUT-NLS
7
8echo "Running autopoint..." ; autopoint -f || :
9echo "Running aclocal..." ; aclocal $ACLOCAL_FLAGS -I m4 || exit 1
10echo "Running autoheader..." ; autoheader || exit 1
11echo "Running autoconf..." ; autoconf || exit 1
12echo "Running libtoolize..." ; (libtoolize --copy --automake || glibtoolize --automake) || exit 1
13echo "Running automake..." ; automake --add-missing --copy --gnu || exit 1
14
15W=0
16
17rm -f config.cache-env.tmp
18echo "OLD_PARM=\"$@\"" >> config.cache-env.tmp
19echo "OLD_CFLAGS=\"$CFLAGS\"" >> config.cache-env.tmp
20echo "OLD_PATH=\"$PATH\"" >> config.cache-env.tmp
21echo "OLD_PKG_CONFIG_PATH=\"$PKG_CONFIG_PATH\"" >> config.cache-env.tmp
22echo "OLD_LDFLAGS=\"$LDFLAGS\"" >> config.cache-env.tmp
23echo "OLD_CXXFLAGS=\"$CXXFLAGS\"" >> config.cache-env.tmp
24
25cmp config.cache-env.tmp config.cache-env >> /dev/null
26if [ $? -ne 0 ]; then
27 W=1;
28fi
29
30if [ $W -ne 0 ]; then
31 echo "Cleaning configure cache...";
32 rm -f config.cache config.cache-env
33 mv config.cache-env.tmp config.cache-env
34else
35 rm -f config.cache-env.tmp
36fi
37
38if [ -z "$NOCONFIGURE" ]; then
39 ./configure -C "$@"
40fi
diff --git a/legacy/ecore/configure.ac b/legacy/ecore/configure.ac
deleted file mode 100644
index 7105ba7200..0000000000
--- a/legacy/ecore/configure.ac
+++ /dev/null
@@ -1,2192 +0,0 @@
1##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
2##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
3m4_define([v_maj], [1])
4m4_define([v_min], [7])
5m4_define([v_mic], [99])
6m4_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' | sed 's/Unversioneddirectory/0/' | tr -d '\n']))
7m4_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']))])
8##-- When released, remove the dnl on the below line
9dnl m4_undefine([v_rev])
10##-- When doing snapshots - change soname. remove dnl on below line
11dnl m4_define([relname], [ver-pre-svn-07])
12dnl m4_define([v_rel], [-release relname])
13##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
14m4_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])])
15m4_define([lt_cur], m4_eval(v_maj + v_min))
16m4_define([lt_rev], v_mic)
17m4_define([lt_age], v_min)
18##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
19##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
20
21AC_INIT([ecore], [v_ver], [enlightenment-devel@lists.sourceforge.net])
22AC_PREREQ([2.52])
23AC_CONFIG_SRCDIR([configure.ac])
24AC_CONFIG_MACRO_DIR([m4])
25
26AC_CONFIG_HEADERS([config.h])
27AH_TOP([
28#ifndef EFL_CONFIG_H__
29#define EFL_CONFIG_H__
30])
31AH_BOTTOM([
32#endif /* EFL_CONFIG_H__ */
33])
34
35AM_INIT_AUTOMAKE([1.6 dist-bzip2])
36m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
37
38AC_GNU_SOURCE
39
40AC_LIBTOOL_WIN32_DLL
41define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
42AC_PROG_LIBTOOL
43
44##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
45##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
46m4_ifdef([v_rev], , [m4_define([v_rev], [0])])
47m4_ifdef([v_rel], , [m4_define([v_rel], [])])
48AC_DEFINE_UNQUOTED(VERS_MAJ, [v_maj], [Major version])
49AC_DEFINE_UNQUOTED(VERS_MIN, [v_min], [Minor version])
50AC_DEFINE_UNQUOTED(VERS_MIC, [v_mic], [Micro version])
51AC_DEFINE_UNQUOTED(VERS_REV, [v_rev], [Revison])
52version_info="lt_cur:lt_rev:lt_age"
53release_info="v_rel"
54AC_SUBST(version_info)
55AC_SUBST(release_info)
56##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
57##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
58VMAJ=v_maj
59AC_SUBST(VMAJ)
60
61AM_GNU_GETTEXT_VERSION(0.17)
62
63m4_ifdef([AM_GNU_GETTEXT], [
64AM_GNU_GETTEXT([external])
65po_makefile_in=po/Makefile.in
66have_po="yes"
67],[
68have_po="no"
69])
70AC_SUBST(LTLIBINTL)
71
72if test "x${POSUB}" = "x" ; then
73 have_po="no"
74fi
75
76AM_CONDITIONAL([HAVE_PO], [test "x${have_po}" = "xyes"])
77
78with_max_log_level="<unset>"
79AC_ARG_WITH(internal-maximum-log-level,
80 [AC_HELP_STRING([--with-internal-maximum-log-level=NUMBER],
81 [limit ecore internal log level to the given number, any call to EINA_LOG() with values greater than this will be compiled out, ignoring runtime settings, but saving function calls.])],
82 [
83 if test "x${withval}" != "xno"; then
84 if echo "${withval}" | grep -E '^[[0-9]]+$' >/dev/null 2>/dev/null; then
85 AC_MSG_NOTICE([ignoring any EINA_LOG() with level greater than ${withval}])
86 AC_DEFINE_UNQUOTED(EINA_LOG_LEVEL_MAXIMUM, ${withval}, [if set, logging is limited to this amount.])
87 with_max_log_level="${withval}"
88 else
89 AC_MSG_ERROR([--with-internal-maximum-log-level takes a decimal number, got "${withval}" instead.])
90 fi
91 fi
92 ], [:])
93
94
95### Default options with respect to host
96
97AC_CANONICAL_BUILD
98AC_CANONICAL_HOST
99
100# dependencies and options
101want_curl="no"
102want_local_sockets="yes"
103want_abstract_sockets="no"
104want_gnutls="no"
105want_openssl="no"
106want_cares="no"
107want_poll="yes"
108want_inotify="no"
109want_notify_win32="no"
110want_tslib="no"
111want_glib="no"
112
113# core modules
114want_ecore_con="yes"
115want_ecore_con_eet="yes"
116want_ecore_ipc="yes"
117want_ecore_file="yes"
118#want_ecore_config="no"
119want_ecore_imf="no"
120want_ecore_input="yes"
121
122# graphic system modules
123want_evas_simple_x11="no"
124want_ecore_x_xcb="no"
125want_ecore_x="no"
126want_ecore_win32="no"
127want_ecore_cocoa="no"
128want_ecore_sdl="no"
129want_ecore_psl1ght="no"
130want_ecore_fb="no"
131want_ecore_directfb="no"
132want_ecore_wince="no"
133want_ecore_wayland="no"
134
135# ecore_x options (both xlib and xcb)
136want_ecore_x_composite="yes"
137want_ecore_x_damage="yes"
138want_ecore_x_dpms="yes"
139want_ecore_x_randr="yes"
140want_ecore_x_render="yes"
141want_ecore_x_screensaver="yes"
142want_ecore_x_shape="yes"
143want_ecore_x_gesture="no"
144want_ecore_x_sync="yes"
145want_ecore_x_xfixes="yes"
146want_ecore_x_xinerama="yes"
147want_ecore_x_xprint="yes"
148want_ecore_x_xtest="yes"
149want_ecore_x_cursor="yes"
150want_ecore_x_input="yes"
151want_ecore_x_dri="yes"
152
153# ecore_evas modules
154want_ecore_evas="yes"
155want_ecore_evas_software_buffer="yes"
156want_ecore_evas_software_x11="no"
157want_ecore_evas_opengl_x11="no"
158want_ecore_evas_software_xcb="no"
159want_ecore_evas_software_gdi="no"
160want_ecore_evas_software_ddraw="no"
161want_ecore_evas_direct3d="no"
162want_ecore_evas_opengl_glew="no"
163want_ecore_evas_software_sdl="no"
164want_ecore_evas_gl_sdl="no"
165want_ecore_evas_gl_cocoa="no"
166want_ecore_evas_psl1ght="no"
167want_ecore_evas_directfb="no"
168want_ecore_evas_fb="no"
169want_ecore_evas_ews="yes"
170want_ecore_evas_extn="yes"
171want_ecore_evas_wayland_shm="no"
172want_ecore_evas_wayland_egl="no"
173
174# ecore_imf modules
175want_ecore_imf_xim="no"
176want_ecore_imf_scim="no"
177want_ecore_imf_ibus="no"
178
179case "$host_os" in
180 mingw32ce*)
181 want_ecore_con="no"
182 want_ecore_con_eet="no"
183 want_ecore_ipc="no"
184 want_ecore_wince="yes"
185 want_ecore_evas_extn="no"
186 ;;
187 mingw*)
188 want_notify_win32="yes"
189 want_curl="yes"
190 want_glib="auto"
191 want_gnutls="auto"
192 want_openssl="auto"
193 want_ecore_imf="yes"
194 want_ecore_win32="yes"
195 want_ecore_evas_software_gdi="yes"
196 want_ecore_evas_software_ddraw="yes"
197 want_ecore_evas_direct3d="yes"
198 want_ecore_evas_opengl_glew="yes"
199 want_ecore_evas_software_sdl="yes"
200 want_ecore_evas_gl_sdl="yes"
201 ;;
202 darwin*)
203 want_curl="yes"
204 want_glib="auto"
205 want_gnutls="auto"
206 want_openssl="auto"
207 want_ecore_imf="yes"
208 want_ecore_cocoa="yes"
209 want_ecore_evas_software_sdl="yes"
210 want_ecore_evas_gl_sdl="yes"
211 want_ecore_evas_gl_cocoa="yes"
212 ;;
213 *)
214 want_curl="yes"
215 want_glib="auto"
216 want_abstract_sockets="yes"
217 want_gnutls="auto"
218 want_openssl="auto"
219 want_inotify="yes"
220 want_tslib="yes"
221 want_ecore_fb="yes"
222 want_ecore_imf="yes"
223 want_ecore_x="yes"
224 want_ecore_wayland="yes"
225 want_ecore_evas_software_x11="yes"
226 want_ecore_evas_opengl_x11="yes"
227 want_ecore_evas_software_xcb="no"
228 want_ecore_evas_software_sdl="yes"
229 want_ecore_evas_gl_sdl="yes"
230 want_ecore_evas_gl_cocoa="no"
231 want_ecore_evas_directfb="yes"
232 want_ecore_evas_fb="yes"
233 want_ecore_evas_wayland_shm="yes"
234 want_ecore_evas_wayland_egl="yes"
235 want_ecore_imf_xim="yes"
236 want_ecore_imf_scim="yes"
237 want_ecore_imf_ibus="yes"
238 ;;
239esac
240
241case "$host_vendor" in
242 ps3*)
243 want_local_sockets="no"
244 ;;
245esac
246requirements_ecore=""
247requirements_ecore_con=""
248#requirements_ecore_config=""
249requirements_ecore_directfb=""
250requirements_ecore_evas=""
251requirements_ecore_fb=""
252requirements_ecore_file=""
253requirements_ecore_imf=""
254requirements_ecore_imf_evas=""
255requirements_ecore_input=""
256requirements_ecore_input_evas=""
257requirements_ecore_ipc=""
258requirements_ecore_cocoa=""
259requirements_ecore_sdl=""
260requirements_ecore_psl1ght=""
261requirements_ecore_x=""
262requirements_ecore_win32=""
263requirements_ecore_wince=""
264requirements_ecore_imf_xim=""
265requirements_ecore_imf_scim=""
266requirements_ecore_imf_ibus=""
267requirements_ecore_wayland=""
268
269### Additional options to configure
270
271want_glib_integration_always=no
272AC_ARG_ENABLE(glib-integration-always,
273 AC_HELP_STRING([--enable-glib-integration-always], [enable glib integration when ecore_init() is called always]),
274 [want_glib_integration_always=$enableval])
275
276if test "x${want_glib_integration_always}" = "xyes" ; then
277 AC_DEFINE([GLIB_INTEGRATION_ALWAYS], [1], [Always integrate glib if support compiled])
278 want_glib=yes
279fi
280
281want_g_main_loop=no
282AC_ARG_ENABLE(g-main-loop,
283 AC_HELP_STRING([--enable-g-main-loop], [ecore_main_loop based on g_main_loop]),
284 [want_g_main_loop=$enableval])
285
286if test "x${want_g_main_loop}" = "xyes" ; then
287 AC_DEFINE([USE_G_MAIN_LOOP], [1], [Use g_main_loop in ecore])
288 want_glib=yes
289fi
290
291if test "x${want_glib_integration_always}" = "xyes" -a "x${want_g_main_loop}" = "xyes"; then
292 AC_MSG_ERROR([--enable-glib-integration-always and --enable-glib-main-loop are mutually exclusive])
293fi
294
295# local sockets (ecore_con.c)
296AC_ARG_ENABLE([local-sockets],
297 [AC_HELP_STRING([--disable-local-sockets], [disable local sockets.])],
298 [
299 if test "x${enableval}" = "xyes" ; then
300 want_ecore_con_local_sockets="yes"
301 else
302 want_ecore_con_local_sockets="no"
303 fi
304 ],
305 [want_ecore_con_local_sockets=${want_local_sockets}])
306
307if test "x${want_ecore_con_local_sockets}" = "xyes" ; then
308 AC_DEFINE([HAVE_LOCAL_SOCKETS], [1], [Have local sockets support])
309fi
310
311# abstract sockets (ecore_con.c)
312AC_ARG_ENABLE([abstract-sockets],
313 [AC_HELP_STRING([--disable-abstract-sockets], [disable abstract sockets.])],
314 [
315 if test "x${enableval}" = "xyes" ; then
316 want_ecore_con_abstract_sockets="yes"
317 else
318 want_ecore_con_abstract_sockets="no"
319 fi
320 ],
321 [want_ecore_con_abstract_sockets=${want_abstract_sockets}])
322
323if test "x${want_ecore_con_abstract_sockets}" = "xyes" ; then
324 AC_DEFINE([HAVE_ABSTRACT_SOCKETS], [1], [Have abstract sockets namespace])
325fi
326
327# Simple X11 build/link
328
329AC_ARG_ENABLE(simple-x11,
330 AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking]),
331 [want_evas_simple_x11=$enableval])
332
333# XIM
334AC_ARG_ENABLE([xim],
335 [AC_HELP_STRING([--disable-xim], [disable X Input Method.])],
336 [
337 if test "x${enableval}" = "xyes" ; then
338 want_xim="yes"
339 else
340 want_xim="no"
341 fi
342 ],
343 [want_xim="yes"])
344
345if test "x${want_xim}" = "xyes" ; then
346 AC_DEFINE([ENABLE_XIM], [1], [Enable X Input Method])
347fi
348
349### Checks for programs
350
351m4_ifdef([AC_PROG_OBJC],
352 [
353 AC_PROG_OBJC
354 _AM_DEPENDENCIES(OBJC)
355 ],
356 [
357 AC_CHECK_TOOL([OBJC], [gcc])
358 AC_SUBST([OBJC])
359 AC_SUBST([OBJCFLAGS])
360 ])
361m4_ifndef([am__fastdepOBJC], [
362 AM_CONDITIONAL([am__fastdepOBJC], [false])
363])
364
365AC_PROG_CXX
366AC_PROG_CC_C99
367if test "x${ac_cv_prog_cc_c99}" = "xno" ; then
368 AC_MSG_ERROR([ecore requires a c99-capable compiler])
369fi
370
371have_gnu_objc=${ac_cv_objc_compiler_gnu}
372
373# doxygen program for documentation building
374
375EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
376
377m4_ifdef([v_mic],
378 [
379 EFL_COMPILER_FLAG([-Wall])
380 EFL_COMPILER_FLAG([-W])
381 ])
382
383# The first call to PKG_CHECK_MODULES is done conditionally,
384# so we should include this here:
385PKG_PROG_PKG_CONFIG
386
387# Check whether pkg-config supports Requires.private
388if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then
389 pkgconfig_requires_private="Requires.private"
390else
391 pkgconfig_requires_private="Requires"
392fi
393AC_SUBST(pkgconfig_requires_private)
394
395### Checks for some build time option
396have_backtrace="no"
397AC_CHECK_FUNCS([backtrace], [have_backtrace="yes"], [])
398
399want_ecore_timer_dump="no"
400
401AC_ARG_ENABLE([ecore-timer-dump],
402 [AC_HELP_STRING([--disable-ecore-timer-dump], [disable tracking of timer allocation. @<:@default=enable@:>@])],
403 [want_ecore_timer_dump=$enableval], [])
404
405if test "x$want_ecore_timer_dump" = "xyes" -a "x$have_backtrace" = "xyes"; then
406 AC_DEFINE(WANT_ECORE_TIMER_DUMP, [1], [Want Ecore_Timer dump infrastructure])
407fi
408
409### Checks for libraries
410
411# Evil library for compilation on Windows
412
413case "$host_os" in
414 mingw*)
415 PKG_CHECK_MODULES([EVIL], [evil >= 1.6.99])
416 AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if Evil library is installed])
417 requirements_ecore="evil ${requirements_ecore}"
418 requirements_ecore_evas="evil ${requirements_ecore_evas}"
419 requirements_ecore_file="evil ${requirements_ecore_file}"
420 requirements_ecore_imf="evil ${requirements_ecore_imf}"
421 requirements_ecore_imf_evas="evil ${requirements_ecore_imf_evas}"
422 ;;
423esac
424
425have_win32=""
426have_wince=""
427case "$host_os" in
428 mingw32ce*)
429 requirements_ecore_wince="evil ${requirements_ecore_wince}"
430 have_wince="yes"
431 ;;
432 mingw*)
433 requirements_ecore_win32="evil ${requirements_ecore_win32}"
434 requirements_ecore_sdl="evil ${requirements_ecore_sdl}"
435 have_win32="yes"
436 ;;
437esac
438
439have_ps3=""
440case "$host_vendor" in
441 ps3*)
442 have_ps3="yes"
443 PKG_CHECK_MODULES([ESCAPE], [escape])
444 CFLAGS="$CFLAGS $ESCAPE_CFLAGS"
445 AC_DEFINE(HAVE_ESCAPE, 1, [Set to 1 if Escape library is installed])
446 EFL_ECORE_PSL1GHT_BUILD="-DEFL_ECORE_PSL1GHT_BUILD"
447 requirements_ecore="escape ${requirements_ecore}"
448 requirements_ecore_evas="escape ${requirements_ecore_evas}"
449 requirements_ecore_file="escape ${requirements_ecore_file}"
450 requirements_ecore_imf="escape ${requirements_ecore_imf}"
451 requirements_ecore_imf_evas="escape ${requirements_ecore_imf_evas}"
452 requirements_ecore_sdl="escape ${requirements_ecore_sdl}"
453 want_ecore_psl1ght="yes"
454 want_ecore_evas_psl1ght="yes"
455 ;;
456esac
457
458
459### Checks for portability layer
460
461PKG_CHECK_MODULES([EXOTIC],
462 [exotic],
463 [enable_exotic="yes"],
464 [enable_exotic="no"])
465
466if test "x${enable_exotic}" = "xyes"; then
467 requirements_ecore="exotic ${requirements_ecore}"
468
469 AC_DEFINE([HAVE_EXOTIC], [1], [Define to 1 if you have Exotic.])
470fi
471AM_CONDITIONAL([ECORE_HAVE_EXOTIC], [test "x${enable_exotic}" = "xyes"])
472
473AC_SUBST(EFL_ECORE_BUILD)
474AC_SUBST(EFL_ECORE_CON_BUILD)
475AC_SUBST(EFL_ECORE_EVAS_BUILD)
476AC_SUBST(EFL_ECORE_FILE_BUILD)
477AC_SUBST(EFL_ECORE_IMF_BUILD)
478AC_SUBST(EFL_ECORE_IMF_EVAS_BUILD)
479AC_SUBST(EFL_ECORE_INPUT_BUILD)
480AC_SUBST(EFL_ECORE_INPUT_EVAS_BUILD)
481AC_SUBST(EFL_ECORE_IPC_BUILD)
482AC_SUBST(EFL_ECORE_WINCE_BUILD)
483AC_SUBST(EFL_ECORE_WIN32_BUILD)
484AC_SUBST(EFL_ECORE_SDL_BUILD)
485AC_SUBST(EFL_ECORE_PSL1GHT_BUILD)
486
487AM_CONDITIONAL(ECORE_HAVE_WINCE, test "x${have_wince}" = "xyes")
488AM_CONDITIONAL(ECORE_HAVE_WIN32, test "x${have_win32}" = "xyes")
489AM_CONDITIONAL(ECORE_HAVE_PS3, test "x${have_ps3}" = "xyes")
490
491WIN32_LIBS=""
492case "$host_os" in
493 mingw32ce*)
494 WIN32_LIBS="-lws2"
495 dlopen_libs="-ldl"
496 ;;
497 mingw*)
498 WIN32_LIBS="-lws2_32"
499 dlopen_libs="-ldl"
500 ;;
501 *)
502 AC_CHECK_LIB([c], [dlopen],
503 [],
504 [AC_CHECK_LIB([dl], [dlopen],
505 [dlopen_libs=-ldl])
506 ])
507 AC_CHECK_LIB([c], [clock_gettime],
508 [AC_DEFINE(HAVE_CLOCK_GETTIME, [1], [Have clock_gettime()])],
509 [AC_CHECK_LIB([rt], [clock_gettime],
510 [
511 rt_libs=-lrt
512 AC_DEFINE(HAVE_CLOCK_GETTIME, [1], [Have clock_gettime()])
513 ])
514 ])
515 ;;
516esac
517AC_SUBST(WIN32_LIBS)
518AC_SUBST(dlopen_libs)
519AC_SUBST(rt_libs)
520
521# Eina library
522
523PKG_CHECK_MODULES(EINA, [eina >= 1.6.99])
524#FIXME check all the requirements when the eina move will be finished
525requirements_ecore="eina >= 1.6.99 ${requirements_ecore}"
526requirements_ecore_con="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_con}"
527#requirements_ecore_config="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_config}"
528requirements_ecore_directfb="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_directfb}"
529requirements_ecore_evas="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_evas}"
530requirements_ecore_fb="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_fb}"
531requirements_ecore_file="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_file}"
532requirements_ecore_imf="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_imf}"
533requirements_ecore_imf_evas="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_imf_evas}"
534requirements_ecore_input="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_input}"
535requirements_ecore_input_evas="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_input_evas}"
536requirements_ecore_ipc="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_ipc}"
537requirements_ecore_cocoa="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_cocoa}"
538requirements_ecore_sdl="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_sdl}"
539requirements_ecore_psl1ght="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_psl1ght}"
540requirements_ecore_win32="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_win32}"
541requirements_ecore_wince="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_wince}"
542requirements_ecore_x="ecore >= 1.6.99 eina >= 1.6.99 ${requirements_ecore_x}"
543
544# Eo
545
546PKG_CHECK_MODULES([EO], [eo])
547requirements_ecore="eo ${requirements_ecore}"
548
549EINA_CFLAGS="$EINA_CFLAGS $EO_CFLAGS"
550EINA_LIBS="$EINA_LIBS $EO_LIBS"
551
552# glib support (main loop integration)
553AC_ARG_ENABLE([glib],
554 [AC_HELP_STRING([--disable-glib], [disable glib support. @<:@default=detect@:>@])],
555 [want_glib=$enableval], [])
556
557if test "x$want_glib" != "xno"; then
558 PKG_CHECK_MODULES([GLIB], [glib-2.0], [have_glib="yes"], [have_glib="no"])
559else
560 have_glib="no"
561fi
562if test "x$want_glib" = "xyes" -a "x$have_glib" = "xno"; then
563 AC_MSG_ERROR([GLib support requested, but no GLib found by pkg-config.])
564elif test "x$have_glib" = "xyes"; then
565 AC_DEFINE(HAVE_GLIB, [1], [Have GLib])
566 requirements_ecore="glib-2.0 ${requirements_ecore}"
567fi
568
569
570# SDL library (ecore_sdl)
571
572have_sdl="no"
573PKG_CHECK_MODULES([SDL], [sdl >= 1.2.0], [have_sdl="yes"], [have_sdl="no"])
574if test "x${have_sdl}" != "xyes" ; then
575 SDL_CONFIG="sdl-config"
576 AC_ARG_WITH([sdl-config],
577 [AC_HELP_STRING([--with-sdl-config=PATH], [use sdl-config specified])],
578 [
579 SDL_CONFIG=$withval
580 AC_MSG_NOTICE([using ${SDL_CONFIG} for sdl-config])
581 ])
582
583 AC_PATH_PROG([SDL_CONFIG], ["sdl-config"], [""], [$PATH])
584
585 if test -n "$SDL_CONFIG" ; then
586 SDL_CFLAGS=`$SDL_CONFIG --cflags`
587 SDL_LIBS=`$SDL_CONFIG --libs`
588 AC_SUBST(SDL_CFLAGS)
589 AC_SUBST(SDL_LIBS)
590 have_sdl="yes"
591 fi
592fi
593
594if test "x${have_sdl}" = "xyes" ; then
595 PKG_CHECK_EXISTS([sdl >= 1.3.0],
596 [AC_DEFINE(BUILD_ECORE_EVAS_SDL_130, 1, [Support for SVN SDL])])
597fi
598
599
600# DirectFB library (ecore_directfb)
601
602PKG_CHECK_MODULES([DIRECTFB],
603 [directfb >= 0.9.16],
604 [have_directfb="yes"],
605 [have_directfb="no"])
606
607
608# Eet library (ecore_config)
609
610PKG_CHECK_MODULES([EET],
611 [eet >= 1.6.99],
612 [have_eet="yes"],
613 [have_eet="no"])
614
615# Xlib and XCB (ecore_x)
616
617AC_CHECK_DECL([MAXHOSTNAMELEN], [FOUND_MAXHOSTNAMELEN=yes])
618
619if test "x${FOUND_MAXHOSTNAMELEN}" != "xyes" ; then
620 AC_MSG_CHECKING([for header that defines MAXHOSTNAMELEN])
621 FOUND_MAXHOSTNAMELEN="not found"
622
623 AC_COMPILE_IFELSE(
624 [
625 AC_LANG_PROGRAM(
626 [[
627#include <sys/param.h>
628 ]],
629 [[
630int h = MAXHOSTNAMELEN;
631 ]])
632 ],
633 [
634 FOUND_MAXHOSTNAMELEN="sys/param.h"
635 AC_DEFINE([NEED_SYS_PARAM_H], [1], [Define to 1 if you need <sys/param.h> to define MAXHOSTNAMELEN])
636 ])
637
638 AC_COMPILE_IFELSE(
639 [
640 AC_LANG_PROGRAM(
641 [[
642#include <netdb.h>
643 ]],
644 [[
645int h = MAXHOSTNAMELEN;
646 ]])
647 ],
648 [
649 FOUND_MAXHOSTNAMELEN="netdb.h"
650 AC_DEFINE([NEED_NETDB_H], [1], [Define to 1 if you need <netdb.h> to define MAXHOSTNAMELEN])
651 ])
652
653 AC_MSG_RESULT([$FOUND_MAXHOSTNAMELEN])
654fi
655
656have_x="no"
657have_ecore_x="no"
658have_ecore_x_xlib="no"
659have_ecore_x_xcb="no"
660
661x_dir="";
662x_includes="";
663x_cflags="";
664x_libs="";
665
666ecore_x_libs_private=""
667
668AC_ARG_ENABLE(ecore-x-composite,
669 [AC_HELP_STRING([--disable-ecore-x-composite],
670 [disable the ecore_x support for Xcomposite extension.
671 @<:@default=detect@:>@])],
672 [want_ecore_x_composite=$enableval])
673
674AC_ARG_ENABLE(ecore-x-damage,
675 [AC_HELP_STRING([--disable-ecore-x-damage],
676 [disable the ecore_x support for Xdamage extension.
677 @<:@default=detect@:>@])],
678 [want_ecore_x_damage=$enableval])
679
680AC_ARG_ENABLE(ecore-x-dpms,
681 [AC_HELP_STRING([--disable-ecore-x-dpms],
682 [disable the ecore_x support for Xdpms extension.
683 @<:@default=detect@:>@])],
684 [want_ecore_x_dpms=$enableval])
685
686AC_ARG_ENABLE(ecore-x-randr,
687 [AC_HELP_STRING([--disable-ecore-x-randr],
688 [disable the ecore_x support for Xrandr extension.
689 @<:@default=detect@:>@])],
690 [want_ecore_x_randr=$enableval])
691
692AC_ARG_ENABLE(ecore-x-render,
693 [AC_HELP_STRING([--disable-ecore-x-render],
694 [disable the ecore_x support for Xrender extension.
695 @<:@default=detect@:>@])],
696 [want_ecore_x_render=$enableval])
697
698AC_ARG_ENABLE(ecore-x-screensaver,
699 [AC_HELP_STRING([--disable-ecore-x-screensaver],
700 [disable the ecore_x support for Xscreensaver extension.
701 @<:@default=detect@:>@])],
702 [want_ecore_x_screensaver=$enableval])
703
704AC_ARG_ENABLE(ecore-x-shape,
705 [AC_HELP_STRING([--disable-ecore-x-shape],
706 [disable the ecore_x support for Xshape extension.
707 @<:@default=detect@:>@])],
708 [want_ecore_x_shape=$enableval])
709
710AC_ARG_ENABLE(ecore-x-gesture,
711 [AC_HELP_STRING([--enable-ecore-x-gesture],
712 [enable the ecore_x support for Xgesture extension.
713 @<:@default=detect@:>@])],
714 [want_ecore_x_gesture=$enableval])
715
716AC_ARG_ENABLE(ecore-x-sync,
717 [AC_HELP_STRING([--disable-ecore-x-sync],
718 [disable the ecore_x support for Xsync extension.
719 @<:@default=detect@:>@])],
720 [want_ecore_x_sync=$enableval])
721
722AC_ARG_ENABLE(ecore-x-xfixes,
723 [AC_HELP_STRING([--disable-ecore-x-xfixes],
724 [disable the ecore_x support for Xfixes extension.
725 @<:@default=detect@:>@])],
726 [want_ecore_x_xfixes=$enableval])
727
728AC_ARG_ENABLE(ecore-x-xinerama,
729 [AC_HELP_STRING([--disable-ecore-x-xinerama],
730 [disable the ecore_x support for Xinerama extension.
731 @<:@default=detect@:>@])],
732 [want_ecore_x_xinerama=$enableval])
733
734AC_ARG_ENABLE(ecore-x-xprint,
735 [AC_HELP_STRING([--disable-ecore-x-xprint],
736 [disable the ecore_x support for Xprint extension.
737 @<:@default=detect@:>@])],
738 [want_ecore_x_xprint=$enableval])
739
740AC_ARG_ENABLE(ecore-x-xtest,
741 [AC_HELP_STRING([--disable-ecore-x-xtest],
742 [disable the ecore_x support for Xtest extension.
743 @<:@default=detect@:>@])],
744 [want_ecore_x_xtest=$enableval])
745
746AC_ARG_ENABLE(ecore-x-cursor,
747 [AC_HELP_STRING([--disable-ecore-x-cursor],
748 [disable the ecore_x support for Xcursor extension.
749 @<:@default=detect@:>@])],
750 [want_ecore_x_cursor=$enableval])
751
752AC_ARG_ENABLE(ecore-x-input,
753 [AC_HELP_STRING([--disable-ecore-x-input],
754 [disable the ecore_x support for Xinput/Xinput2 extension.
755 @<:@default=detect@:>@])],
756 [want_ecore_x_input=$enableval])
757
758AC_ARG_ENABLE(ecore-x-dri,
759 [AC_HELP_STRING([--disable-ecore-x-dri],
760 [disable the ecore_x support for DRI extension.
761 @<:@default=detect@:>@])],
762 [want_ecore_x_dri=$enableval])
763
764AC_ARG_ENABLE(ecore-x-xcb,
765 [AC_HELP_STRING([--enable-ecore-x-xcb],
766 [enable the ecore_x module with XCB backend. @<:@default=disabled@:>@])],
767 [want_ecore_x_xcb=$enableval])
768
769AC_MSG_CHECKING(whether ecore_x with XCB backend is to be built)
770AC_MSG_RESULT($want_ecore_x_xcb)
771
772if test "x$want_ecore_x_xcb" = "xyes" ; then
773
774 AC_MSG_CHECKING([keysym definitions])
775 KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11
776 FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h"
777 for i in $FILES; do
778 if test -f "$KEYSYMDEFDIR/$i"; then
779 KEYSYMDEFS="$KEYSYMDEFS $KEYSYMDEFDIR/$i"
780 elif test "x$i" = "xkeysymdef.h"; then
781 AC_MSG_ERROR([Cannot find keysymdef.h])
782 fi
783 done
784 AC_MSG_RESULT([$KEYSYMDEFS])
785 AC_SUBST(KEYSYMDEFS)
786
787 have_iconv="no"
788 AC_ARG_WITH([iconv-link],
789 AC_HELP_STRING([--with-iconv-link=ICONV_LINK], [explicitly specify an iconv link option]),
790 [
791 LIBS="$withval $LIBS"
792 have_iconv="yes"
793 ])
794
795 AC_MSG_CHECKING(for explicit iconv link options)
796 if test "x${iconv_libs}" = "x" ; then
797 AC_MSG_RESULT([no explicit iconv link option])
798 else
799 AC_MSG_RESULT([$iconv_libs])
800 fi
801
802 if test "x${have_iconv}" = "xno" ; then
803 AC_CHECK_HEADERS([iconv.h], [have_iconv="yes"])
804
805 if test "x${have_iconv}" = "xyes" ; then
806 AC_MSG_CHECKING([whether iconv() is in libc])
807
808 AC_LINK_IFELSE(
809 [AC_LANG_PROGRAM(
810 [[
811 #include <stdlib.h>
812 #include <iconv.h>
813 ]],
814 [[
815 iconv_t ic;
816 size_t count = iconv(ic, NULL, NULL, NULL, NULL);
817 ]])],
818 [have_iconv="yes"],
819 [have_iconv="no"])
820
821 AC_MSG_RESULT([${have_iconv}])
822 fi
823
824 if test "x${have_iconv}" = "xno" ; then
825 AC_MSG_CHECKING([whether iconv() is in libiconv.a])
826
827 LIBS_save="${LIBS}"
828 LIBS="-liconv $LIBS"
829 AC_LINK_IFELSE(
830 [AC_LANG_PROGRAM(
831 [[
832 #include <stdlib.h>
833 #include <iconv.h>
834 ]],
835 [[
836 iconv_t ic;
837 size_t count;
838 count = iconv(ic, NULL, NULL, NULL, NULL);
839 ]])],
840 [have_iconv="yes"],
841 [
842 have_iconv="no"
843 LIBS=${LIBS_save}
844 ])
845
846 AC_MSG_RESULT([${have_iconv}])
847 fi
848
849 if test "x${have_iconv}" = "xno" ; then
850 AC_MSG_CHECKING([whether iconv() is in libiconv_plug.a])
851
852 LIBS_save="${LIBS}"
853 LIBS="-liconv_plug $LIBS"
854 AC_LINK_IFELSE(
855 [AC_LANG_PROGRAM(
856 [[
857 #include <stdlib.h>
858 #include <iconv.h>
859 ]],
860 [[
861 iconv_t ic;
862 size_t count = iconv(ic, NULL, NULL, NULL, NULL);
863 ]])],
864 [have_iconv="yes"],
865 [
866 have_iconv="no"
867 LIBS=${LIBS_save}
868 ])
869
870 AC_MSG_RESULT([${have_iconv}])
871 fi
872
873 if test "x${have_iconv}" = "xyes" ; then
874 AC_DEFINE([HAVE_ICONV], [1], [Set to 1 if iconv library is installed])
875 fi
876 fi
877
878 PKG_CHECK_MODULES(ECORE_XCB, x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8,
879 [ have_ecore_x_xcb="yes"
880 requirements_ecore_x="x11-xcb xcb xcb-shm xcb-event xcb-icccm xcb-util xcb-image xcb-keysyms ${requirements_ecore_x}"
881 ],
882 [
883 PKG_CHECK_MODULES(ECORE_XCB, x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms,
884 [ have_ecore_x_xcb="yes"
885 AC_DEFINE(OLD_XCB_VERSION, 1, [xcb version])
886 requirements_ecore_x="x11-xcb xcb xcb-event xcb-shm xcb-icccm xcb-image xcb-keysyms ${requirements_ecore_x}" ],
887 [ have_ecore_x_xcb="no" ])
888 ],
889 [have_ecore_x_xcb="no" ])
890
891 if test "x$have_ecore_x_xcb" = "xyes" ; then
892
893 PKG_CHECK_MODULES([PIXMAN],
894 [pixman-1],
895 [
896 have_pixman="yes"
897 AC_DEFINE(HAVE_PIXMAN, 1, [have pixman for rendering])
898 requirements_ecore_x="pixman-1 ${requirements_ecore_x}"
899 ],
900 [
901 if test "x${want_pixman}" = "xyes" -a "x${use_strict}" = "xyes" ; then
902 AC_MSG_ERROR([Pixman not found (strict dependencies checking)])
903 fi
904 ])
905
906 if test "x$want_ecore_x_composite" != "xno"; then
907 PKG_CHECK_MODULES(XCB_COMPOSITE, xcb-composite,
908 [ have_ecore_x_xcb_composite="yes"
909 requirements_ecore_x="xcb-composite ${requirements_ecore_x}"
910 AC_DEFINE(ECORE_XCB_COMPOSITE, 1, [Build support for XCB composite]) ],
911 [ have_ecore_x_xcb_composite="no" ])
912 else
913 have_ecore_x_xcb_composite="no"
914 AC_MSG_NOTICE("composite extension explicitly disabled")
915 fi
916
917 if test "x$want_ecore_x_damage" != "xno"; then
918 PKG_CHECK_MODULES(XCB_DAMAGE, xcb-damage,
919 [ have_ecore_x_xcb_damage="yes"
920 requirements_ecore_x="xcb-damage ${requirements_ecore_x}"
921 AC_DEFINE(ECORE_XCB_DAMAGE, 1, [Build support for XCB damage]) ],
922 [ have_ecore_x_xcb_damage="no" ])
923 else
924 have_ecore_x_xcb_damage="no"
925 AC_MSG_NOTICE("damage extension explicitly disabled")
926 fi
927
928 if test "x$want_ecore_x_dpms" != "xno"; then
929 PKG_CHECK_MODULES(XCB_DPMS, xcb-dpms,
930 [ have_ecore_x_xcb_dpms="yes"
931 requirements_ecore_x="xcb-dpms ${requirements_ecore_x}"
932 AC_DEFINE(ECORE_XCB_DPMS, 1, [Build support for XCB dpms]) ],
933 [ have_ecore_x_xcb_dpms="no" ])
934 else
935 have_ecore_x_xcb_dpms="no"
936 AC_MSG_NOTICE("dpms extension explicitly disabled")
937 fi
938
939 if test "x$want_ecore_x_randr" != "xno"; then
940 PKG_CHECK_MODULES(XCB_RANDR, xcb-randr,
941 [ have_ecore_x_xcb_randr="yes"
942 requirements_ecore_x="xcb-randr ${requirements_ecore_x}"
943 AC_DEFINE(ECORE_XCB_RANDR, 1, [Build support for XCB randr]) ],
944 [ have_ecore_x_xcb_randr="no" ])
945 else
946 have_ecore_x_xcb_randr="no"
947 AC_MSG_NOTICE("randr extension explicitly disabled")
948 fi
949
950 if test "x$want_ecore_x_render" != "xno"; then
951 PKG_CHECK_MODULES(XCB_RENDER, xcb-render xcb-renderutil,
952 [ have_ecore_x_xcb_render="yes"
953 requirements_ecore_x="xcb-render xcb-renderutil ${requirements_ecore_x}"
954 AC_DEFINE(ECORE_XCB_RENDER, 1, [Build support for XCB render]) ],
955 [ have_ecore_x_xcb_render="no" ])
956 else
957 have_ecore_x_xcb_render="no"
958 AC_MSG_NOTICE("render extension explicitly disabled")
959 fi
960
961 if test "x$want_ecore_x_screensaver" != "xno"; then
962 PKG_CHECK_MODULES(XCB_SCREENSAVER, xcb-screensaver,
963 [ have_ecore_x_xcb_screensaver="yes"
964 requirements_ecore_x="xcb-screensaver ${requirements_ecore_x}"
965 AC_DEFINE(ECORE_XCB_SCREENSAVER, 1, [Build support for XCB screensaver]) ],
966 [ have_ecore_x_xcb_screensaver="no" ])
967 else
968 have_ecore_x_xcb_screensaver="no"
969 AC_MSG_NOTICE("screensaver extension explicitly disabled")
970 fi
971
972 if test "x$want_ecore_x_shape" != "xno"; then
973 PKG_CHECK_MODULES(XCB_SHAPE, xcb-shape,
974 [ have_ecore_x_xcb_shape="yes"
975 requirements_ecore_x="xcb-shape ${requirements_ecore_x}"
976 AC_DEFINE(ECORE_XCB_SHAPE, 1, [Build support for XCB shape]) ],
977 [ have_ecore_x_xcb_shape="no" ])
978 else
979 have_ecore_x_xcb_shape="no"
980 AC_MSG_NOTICE("shape extension explicitly disabled")
981 fi
982
983 if test "x$want_ecore_x_gesture" != "xno"; then
984 PKG_CHECK_MODULES(XCB_XGESTURE, xcb-gesture,
985 [ have_ecore_x_xcb_gesture="yes"
986 requirements_ecore_x="xcb-gesture ${requirements_ecore_x}"
987 AC_DEFINE(ECORE_XCB_XGESTURE, 1, [Build support for XCB gesture]) ],
988 [ have_ecore_x_xcb_gesture="no" ])
989 else
990 have_ecore_x_xcb_gesture="no"
991 AC_MSG_NOTICE("gesture extension explicitly disabled")
992 fi
993
994 if test "x$want_ecore_x_sync" != "xno"; then
995 PKG_CHECK_MODULES(XCB_SYNC, xcb-sync,
996 [ have_ecore_x_xcb_sync="yes"
997 requirements_ecore_x="xcb-sync ${requirements_ecore_x}"
998 AC_DEFINE(ECORE_XCB_SYNC, 1, [Build support for XCB sync]) ],
999 [ have_ecore_x_xcb_sync="no" ])
1000 else
1001 have_ecore_x_xcb_sync="no"
1002 AC_MSG_NOTICE("sync extension explicitly disabled")
1003 fi
1004
1005 if test "x$want_ecore_x_xfixes" != "xno"; then
1006 PKG_CHECK_MODULES(XCB_XFIXES, xcb-xfixes,
1007 [ have_ecore_x_xcb_xfixes="yes"
1008 requirements_ecore_x="xcb-xfixes ${requirements_ecore_x}"
1009 AC_DEFINE(ECORE_XCB_XFIXES, 1, [Build support for XCB xfixes]) ],
1010 [ have_ecore_x_xcb_xfixes="no" ])
1011 else
1012 have_ecore_x_xcb_xfixes="no"
1013 AC_MSG_NOTICE("xfixes extension explicitly disabled")
1014 fi
1015
1016 if test "x$want_ecore_x_xinerama" != "xno"; then
1017 PKG_CHECK_MODULES(XCB_XINERAMA, xcb-xinerama,
1018 [ have_ecore_x_xcb_xinerama="yes"
1019 requirements_ecore_x="xcb-xinerama ${requirements_ecore_x}"
1020 AC_DEFINE(ECORE_XCB_XINERAMA, 1, [Build support for XCB xinerama]) ],
1021 [ have_ecore_x_xcb_xinerama="no" ])
1022 else
1023 have_ecore_x_xcb_xinerama="no"
1024 AC_MSG_NOTICE("xinerama extension explicitly disabled")
1025 fi
1026
1027 if test "x$want_ecore_x_xprint" != "xno"; then
1028 PKG_CHECK_MODULES(XCB_XPRINT, xcb-xprint,
1029 [ have_ecore_x_xcb_xprint="yes"
1030 requirements_ecore_x="xcb-xprint ${requirements_ecore_x}"
1031 AC_DEFINE(ECORE_XCB_XPRINT, 1, [Build support for XCB xprint]) ],
1032 [ have_ecore_x_xcb_xprint="no" ])
1033 else
1034 have_ecore_x_xcb_xprint="no"
1035 AC_MSG_NOTICE("xprint extension explicitly disabled")
1036 fi
1037
1038 if test "x$want_ecore_x_xtest" != "xno"; then
1039 PKG_CHECK_MODULES(XCB_XTEST, xcb-xtest,
1040 [ have_ecore_x_xcb_xtest="yes"
1041 requirements_ecore_x="xcb-xtest ${requirements_ecore_x}"
1042 AC_DEFINE(ECORE_XCB_XTEST, 1, [Build support for XCB xtest]) ],
1043 [ have_ecore_x_xcb_xtest="no" ])
1044 else
1045 have_ecore_x_xcb_xtest="no"
1046 AC_MSG_NOTICE("xtest extension explicitly disabled")
1047 fi
1048
1049# input extension disabled currently in xcb as xcb-input has some issues
1050 want_ecore_x_input="no"
1051 if test "x$want_ecore_x_input" != "xno"; then
1052 PKG_CHECK_MODULES(XCB_XINPUT, xcb-xinput,
1053 [ have_ecore_x_xcb_xinput="yes"
1054 requirements_ecore_x="xcb-xinput ${requirements_ecore_x}"
1055 AC_DEFINE(ECORE_XCB_XINPUT, 1, [Build support for XCB xinput]) ],
1056 [ have_ecore_x_xcb_xinput="no" ])
1057 else
1058 have_ecore_x_xcb_xinput="no"
1059 AC_MSG_NOTICE("xinput extension explicitly disabled")
1060 fi
1061
1062 if test "x$want_ecore_x_cursor" != "xno"; then
1063 PKG_CHECK_MODULES(XCB_CURSOR, xcb-render xcb-renderutil,
1064 [ have_ecore_x_xcb_cursor="yes"
1065 requirements_ecore_x="xcb-render xcb-renderutil ${requirements_ecore_x}"
1066 AC_DEFINE(ECORE_XCB_CURSOR, 1, [Build support for XCB cursor]) ],
1067 [ have_ecore_x_xcb_cursor="no" ])
1068 else
1069 have_ecore_x_xcb_cursor="no"
1070 AC_MSG_NOTICE("cursor extension explicitly disabled")
1071 fi
1072
1073# if test "x$want_ecore_x_dri" != "xno"; then
1074# PKG_CHECK_MODULES(XCB_DRI, xcb-dri2,
1075# [ have_ecore_x_xcb_dri="yes"
1076# requirements_ecore_x="xcb-dri2 ${requirements_ecore_x}"
1077# AC_DEFINE(ECORE_XCB_DRI, 1, [Build support for XCB dri/dri2]) ],
1078# [ have_ecore_x_xcb_dri="no" ])
1079# else
1080# have_ecore_x_xcb_dri="no"
1081# AC_MSG_NOTICE("dri extension explicitly disabled")
1082# fi
1083
1084 AC_DEFINE(HAVE_ECORE_X_XCB, 1, [Defined to 1 if XCB is enabled.])
1085
1086 x_cflags=$ECORE_XCB_CFLAGS
1087 x_libs=$ECORE_XCB_LIBS
1088 have_x="yes"
1089
1090 have_ecore_x_xcb_define="-DHAVE_ECORE_X_XCB"
1091 AC_SUBST(have_ecore_x_xcb_define)
1092 fi
1093fi
1094
1095if ! test "x$have_ecore_x_xcb" = "xyes" ; then
1096 AC_PATH_XTRA
1097 AC_CHECK_HEADER(X11/X.h,
1098 [
1099 if test "x$want_evas_simple_x11" = "xyes"; then
1100 x_libs="${x_libs} -lX11 -lXext"
1101 else
1102 x_dir=${x_dir:-/usr/X11R6}
1103 x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
1104 x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext"
1105 fi
1106 have_ecore_x_xlib="yes"
1107 ]
1108 )
1109
1110 if test "x$have_ecore_x_xlib" = "xyes"; then
1111 Xcursor_libs=""
1112 Xcursor_cflags=""
1113 use_Xcursor="no"
1114 PCFLAGS=$CFLAGS
1115 CFLAGS="$x_cflags $x_includes"
1116
1117 if test "x$want_ecore_x_cursor" = "xyes"; then
1118 AC_CHECK_HEADER(X11/Xcursor/Xcursor.h,
1119 [
1120 AC_CHECK_LIB(Xcursor, XcursorImageLoadCursor,
1121 [
1122 AC_DEFINE(ECORE_XCURSOR, 1, [Build support for Xcursor])
1123 Xcursor_cflags=""
1124 Xcursor_libs="-lXcursor"
1125 use_Xcursor="yes"
1126 ], [
1127 Xcursor_cflags=""
1128 Xcursor_libs=""
1129 use_Xcursor="no"
1130 ], [
1131 $x_libs -lXrender
1132 ]
1133 )
1134 ], [
1135 Xcursor_cflags=""
1136 Xcursor_libs=""
1137 use_Xcursor="no"
1138 ], [
1139 #include <X11/Xlib.h>
1140 ]
1141 )
1142 CFLAGS=$PCFLAGS
1143 else
1144 Xcursor_cflags=""
1145 Xcursor_libs=""
1146 use_Xcursor="no"
1147 AC_MSG_NOTICE("Xcursor explicitly disabled")
1148 fi
1149
1150 AC_SUBST(Xcursor_cflags)
1151 AC_SUBST(Xcursor_libs)
1152
1153 ECORE_CHECK_X_EXTENSION([Xkb], [XKB.h], [X11], [XkbSetDetectableAutoRepeat], [$want_ecore_x_xkb])
1154 ECORE_CHECK_X_EXTENSION([Xcomposite], [Xcomposite.h], [Xcomposite], [XCompositeQueryExtension], [$want_ecore_x_composite])
1155 ECORE_CHECK_X_EXTENSION([Xdamage], [Xdamage.h], [Xdamage], [XDamageSubtract], [$want_ecore_x_damage])
1156 ECORE_CHECK_X_EXTENSION([Xdpms], [dpms.h], [Xdpms], [DPMSQueryExtension], [$want_ecore_x_dpms])
1157 if test "x$use_xdpms" = "xno" ; then
1158 ECORE_CHECK_X_EXTENSION([Xdpms], [dpms.h], [Xext], [DPMSQueryExtension], [$want_ecore_x_dpms])
1159 fi
1160 ECORE_CHECK_X_EXTENSION([Xfixes], [Xfixes.h], [Xfixes], [XFixesExpandRegion], [$want_ecore_x_xfixes])
1161 ECORE_CHECK_X_EXTENSION([Xinerama], [Xinerama.h], [Xinerama], [XineramaQueryScreens], [$want_ecore_x_xinerama])
1162 ECORE_CHECK_X_EXTENSION([Xprint], [Print.h], [Xp], [XpQueryScreens], [$want_ecore_x_xprint])
1163 ECORE_CHECK_X_EXTENSION([Xrandr], [Xrandr.h], [Xrandr], [XRRGetScreenResourcesCurrent], [$want_ecore_x_randr])
1164 ECORE_CHECK_X_EXTENSION([Xgesture], [gesture.h], [Xgesture], [XGestureQueryExtension], [$want_ecore_x_gesture])
1165 ECORE_CHECK_X_EXTENSION([Xrender], [Xrender.h], [Xrender], [XRenderFindVisualFormat], [$want_ecore_x_render])
1166 ECORE_CHECK_X_EXTENSION([Xtest], [XTest.h], [Xtst], [XTestFakeKeyEvent], [$want_ecore_x_xtest])
1167 ECORE_CHECK_X_EXTENSION([Xss], [scrnsaver.h], [Xss], [XScreenSaverSelectInput], [$want_ecore_x_screensaver])
1168 ECORE_CHECK_X_EXTENSION([Xi2], [XInput2.h], [Xi], [XIQueryDevice], [$want_ecore_x_input])
1169
1170 ecore_x_libs_private="${Xcursor_libs} ${XKB_LIBS} ${XCOMPOSITE_LIBS} ${XGESTURE_LIBS} ${XDAMAGE_LIBS} ${XDPMS_LIBS} ${XFIXES_LIBS} ${XINERAMA_LIBS} ${XPRINT_LIBS} ${XRANDR_LIBS} ${XRENDER_LIBS} ${XTEST_LIBS} ${XSS_LIBS} ${XI2_LIBS}"
1171
1172 AC_DEFINE(HAVE_ECORE_X_XLIB, 1, [Defined to 1 if Xlib is enabled.])
1173 have_x="yes"
1174
1175 have_ecore_x_xlib="yes"
1176 fi
1177fi
1178
1179AC_SUBST(x_cflags)
1180AC_SUBST(x_includes)
1181AC_SUBST(x_libs)
1182AC_SUBST(ecore_x_libs_private)
1183
1184AM_CONDITIONAL(BUILD_ECORE_X_XLIB, test $have_ecore_x_xlib = yes)
1185AM_CONDITIONAL(BUILD_ECORE_X_XCB, test $have_ecore_x_xcb = yes)
1186
1187
1188# Evas library (ecore_config, ecore_input_evas, ecore_imf_evas and ecore_evas)
1189
1190PKG_CHECK_MODULES([EVAS], [evas >= 1.6.99],
1191 [have_evas="yes"],
1192 [have_evas="no"])
1193
1194
1195### Checks for header files
1196
1197AC_CHECK_HEADERS([sys/select.h sys/prctl.h])
1198
1199EFL_CHECK_PATH_MAX
1200
1201AC_HEADER_SYS_WAIT
1202AC_SYS_LARGEFILE
1203
1204have_addrinfo="no"
1205case "$host_os" in
1206 mingw*)
1207 AC_DEFINE(HAVE_DLFCN_H, 1, [Define to 1 if you have the <dlfcn.h> header file.])
1208 AC_DEFINE(HAVE_SYS_MMAN_H, 1, [Define to 1 if you have the <sys/mman.h> header file.])
1209 AC_DEFINE(HAVE_SYS_TIME_H, 1, [Define to 1 if you have the <sys/time.h> header file.])
1210 have_addrinfo="yes"
1211 ;;
1212 *)
1213 AC_CHECK_HEADERS([dlfcn.h features.h langinfo.h locale.h sys/time.h sys/mman.h signal.h sys/resource.h])
1214 ;;
1215esac
1216
1217# ecore_con
1218
1219AC_CHECK_HEADERS([sys/socket.h])
1220AC_CHECK_HEADERS([net/if.h], [], [],
1221[
1222#include <stdio.h>
1223#ifdef STDC_HEADERS
1224# include <stdlib.h>
1225# include <stddef.h>
1226#else
1227# ifdef HAVE_STDLIB_H
1228# include <stdlib.h>
1229# endif
1230#endif
1231#ifdef HAVE_SYS_SOCKET_H
1232# include <sys/socket.h>
1233#endif
1234])
1235AC_CHECK_HEADERS([sys/un.h], [], [],
1236[
1237#include <stdio.h>
1238#ifdef STDC_HEADERS
1239# include <stdlib.h>
1240# include <stddef.h>
1241#else
1242# ifdef HAVE_STDLIB_H
1243# include <stdlib.h>
1244# endif
1245#endif
1246#ifdef HAVE_SYS_SOCKET_H
1247# include <sys/socket.h>
1248#endif
1249])
1250AC_CHECK_HEADERS([arpa/inet.h arpa/nameser.h netinet/tcp.h netinet/in.h ws2tcpip.h netdb.h errno.h])
1251
1252if test "x${ac_cv_header_netdb_h}" = "xyes" ; then
1253 have_addrinfo="yes"
1254fi
1255
1256# Framebuffer (ecore_fb)
1257have_fb="no"
1258AC_CHECK_HEADER([linux/fb.h],
1259 [AC_CHECK_HEADER([linux/input.h], [have_fb="yes"])])
1260
1261# Cocoa header files (ecore_cocoa)
1262
1263if test "x${want_ecore_cocoa}" = "xyes" ; then
1264 cocoa_ldflags=""
1265 have_cocoa="no"
1266 m4_ifdef([AC_PROG_OBJC],
1267 [
1268 if test "x${have_gnu_objc}" = "xyes" ; then
1269 AC_LANG_PUSH([Objective C])
1270 LIBS_save="$LIBS"
1271 LIBS="$LIBS -framework Cocoa"
1272 AC_LINK_IFELSE(
1273 [AC_LANG_PROGRAM(
1274 [[
1275#include <Cocoa/Cocoa.h>
1276 ]],
1277 [[
1278NSWindow *window;
1279window = [[NSWindow alloc]
1280 initWithContentRect:NSMakeRect(0, 0, 1, 1)
1281 styleMask:(NSTitledWindowMask)
1282 backing:NSBackingStoreBuffered
1283 defer:NO
1284 screen:nil
1285 ];
1286 ]])],
1287 [
1288 have_cocoa="yes"
1289 cocoa_ldflags="-framework Cocoa"
1290 ],
1291 [have_cocoa="no"])
1292 LIBS="$LIBS_save"
1293 AC_MSG_CHECKING([whether Cocoa framework is supported])
1294 AC_MSG_RESULT([${have_cocoa}])
1295 AC_LANG_POP([Objective C])
1296 fi
1297 ])
1298fi
1299AC_SUBST(cocoa_ldflags)
1300
1301want_epoll=yes
1302AC_ARG_ENABLE(epoll,
1303 AC_HELP_STRING([--enable-epoll], [enable or disable epoll support]),
1304 [want_epoll=$enableval])
1305
1306if test "x${want_epoll}" = "xyes" ; then
1307 # check for epoll support
1308 AC_CHECK_HEADERS([sys/epoll.h])
1309fi
1310
1311# timerfd_create
1312AC_CHECK_HEADERS([sys/timerfd.h])
1313AC_CHECK_FUNCS(timerfd_create)
1314
1315# thread support
1316
1317EFL_CHECK_THREADS(
1318 [
1319 if test "x${_efl_have_posix_threads}" = "xyes" ; then
1320 have_threads="POSIX"
1321 else
1322 if test "x${_efl_have_win32_threads}" = "xyes" ; then
1323 have_threads="Win32"
1324 else
1325 have_threads="no"
1326 fi
1327 fi
1328 ],
1329 [have_threads="no"])
1330
1331### enable thread safety if we have threads, unless specifically asked not to
1332if test "x${have_threads}" = "xno"
1333then
1334 want_thread_safety="no"
1335else
1336 want_thread_safety="no" # to be changed to yes when ready
1337 AC_ARG_ENABLE(thread-safety,
1338 AC_HELP_STRING([--enable-thread-safety], [enable or disable thread safety]),
1339 [want_thread_safety=$enableval])
1340fi
1341
1342if test "x${want_thread_safety}" = "xyes"
1343then
1344 AC_DEFINE([HAVE_THREAD_SAFETY], [1], [Define to enable thread safety])
1345fi
1346
1347### Checks for types
1348AC_CHECK_SIZEOF(int, 4)
1349AC_CHECK_SIZEOF(long, 4)
1350
1351
1352### Checks for structures
1353
1354
1355### Checks for compiler characteristics
1356AC_PROG_CC_STDC
1357AC_C_CONST
1358AC_C_BIGENDIAN
1359AC_HEADER_STDC
1360AC_C___ATTRIBUTE__
1361
1362
1363### Checks for linker characteristics
1364
1365### Checks for library functions
1366AC_ISC_POSIX
1367AC_FUNC_ALLOCA
1368AC_CHECK_FUNCS([gettimeofday strlcpy execvp])
1369
1370AC_COMPILE_IFELSE(
1371 [AC_LANG_PROGRAM(
1372 [[
1373#include <math.h>
1374 ]],
1375 [[
1376int i = isfinite(0);
1377 ]])],
1378 [
1379 AC_DEFINE(HAVE_ISFINITE, 1, [Define to 1 if you have `isfinite', as a function or macro.])
1380 have_isfinite="yes"
1381 ],
1382 [have_isfinite="no"])
1383
1384AC_MSG_CHECKING([for isfinite])
1385AC_MSG_RESULT([${have_isfinite}])
1386
1387have_atfile_source=auto
1388AC_ARG_ENABLE([atfile-source],
1389 [AC_HELP_STRING([--disable-atfile-source],
1390 [disable use of atfile source functions as openat and mkdirat @<:@default=detect@:>@])],
1391 [
1392 if test "x${enableval}" = "xyes" ; then
1393 have_atfile_source="yes"
1394 else
1395 have_atfile_source="no"
1396 fi],
1397 [have_atfile_source=auto])
1398
1399if ! test "x${have_atfile_source}" = "xno" ; then
1400 AC_CHECK_FUNCS(mkdirat,
1401 [
1402 have_atfile_source="yes"
1403 AC_DEFINE(HAVE_ATFILE_SOURCE, 1, [mkdirat exists])
1404 ],
1405 [
1406 if test "x${have_atfile_source}" = "xyes" ; then
1407 AC_MSG_ERROR([required atfile-source but no mkdirat()])
1408 fi
1409 have_atfile_source="no"
1410 ])
1411fi
1412
1413# shm_open
1414EFL_CHECK_SHM_OPEN([have_shm_open="yes"], [have_shm_open="no"])
1415
1416### Checks for optionnal feature
1417AC_CHECK_FUNC([mallinfo],
1418 [
1419 have_mallinfo="yes"
1420 AC_DEFINE(HAVE_MALLINFO, 1, [Gather memory statistic])
1421 ],
1422 [have_mallinfo="no"])
1423
1424### Ecore modules
1425
1426## Core modules
1427
1428# ecore_con
1429ECORE_CHECK_MODULE([con], [${want_ecore_con}], [Con], [${have_addrinfo}])
1430
1431have_curl="no"
1432have_gnutls="no"
1433have_openssl="no"
1434have_cares="no"
1435want_ipv6="yes"
1436have_ipv6="no"
1437have_ecore_con_eet="no"
1438
1439AC_ARG_ENABLE([ipv6],
1440 [AC_HELP_STRING([--disable-ipv6],
1441 [disable ipv6 functionality @<:@default=detect@:>@])],
1442 [
1443 if test "x${enableval}" = "xyes" ; then
1444 want_ipv6="yes"
1445 else
1446 want_ipv6="no"
1447 fi],
1448 [want_ipv6="auto"])
1449
1450if test "x${have_ecore_con}" = "xyes" ; then
1451
1452 # Verify IPV6 availability in headers
1453 if test "x${want_ipv6}" != "xno" ; then
1454 AC_CHECK_TYPES([struct ipv6_mreq],
1455 [have_ipv6="yes"],
1456 [have_ipv6="no"],
1457 [[
1458#ifdef HAVE_NETINET_IN_H
1459# include <netinet/in.h>
1460#endif
1461#ifdef HAVE_WS2TCPIP_H
1462# include <ws2tcpip.h>
1463#endif
1464 ]])
1465 fi
1466
1467 if test "x${have_ipv6}" = "xyes" ; then
1468 AC_DEFINE(HAVE_IPV6, 1, [Define if IPV6 is supported])
1469 fi
1470
1471 if test "x${have_eet}" = "xyes" ; then
1472 requirements_ecore_con="eet > 1.7 ${requirements_ecore_con}"
1473 have_ecore_con_eet="yes"
1474 AC_DEFINE(ECORE_HAVE_EET, 1, [Define if Ecore_Con Eet_Connection helper is supported])
1475 fi
1476
1477 ECORE_CHECK_CURL([${want_curl}],
1478 [
1479 have_curl="yes"
1480 requirements_ecore_con="libcurl ${requirements_ecore_con}"
1481 ],
1482 [have_curl="no"])
1483
1484 ECORE_CHECK_GNUTLS([${want_gnutls}],
1485 [have_gnutls="yes"],
1486 [have_gnutls="no"])
1487
1488 ECORE_CHECK_OPENSSL([${want_openssl}],
1489 [have_openssl="yes"],
1490 [have_openssl="no"])
1491
1492 if test "x${have_gnutls}" = "xyes" ; then
1493 requirements_ecore_con="gnutls ${requirements_ecore_con}"
1494 # no need to add it to req_ecore_ipc, since they
1495 # depends on ecore_con anyway.
1496 else
1497 if test "x${have_openssl}" = "xyes" ; then
1498 requirements_ecore_con="openssl ${requirements_ecore_con}"
1499 # no need to add it to req_ecore_ipc, since they
1500 # depends on ecore_con anyway.
1501 fi
1502 fi
1503
1504 ECORE_CHECK_CARES([${want_cares}],
1505 [
1506 have_cares="yes"
1507 requirements_ecore_con="libcares ${requirements_ecore_con}"
1508 ],
1509 [have_cares="no"])
1510
1511fi
1512AM_CONDITIONAL([HAVE_IPV6], [test "x${have_ipv6}" = "xyes"])
1513AM_CONDITIONAL([ECORE_HAVE_EET], [test "x${have_ecore_con_eet}" = "xyes"])
1514
1515EFL_CHECK_COMPILER_FLAGS([ECORE_CON], [-Wno-override-init -Wno-initializer-overrides])
1516
1517AM_CONDITIONAL([HAVE_CARES], [test "x${have_cares}" = "xyes"])
1518
1519# ecore_ipc
1520ECORE_CHECK_MODULE([ipc], [${want_ecore_ipc}], [Ipc], [${have_ecore_con}],
1521 [
1522 requirements_ecore_ipc="ecore-con >= 1.6.99 ${requirements_ecore_ipc}"
1523 requirements_ecore_evas="ecore-ipc >= 1.6.99 ${requirements_ecore_evas}"
1524 ])
1525
1526# ecore_file
1527ECORE_CHECK_MODULE([file], [${want_ecore_file}], [File])
1528
1529have_poll="no"
1530have_inotify="no"
1531have_notify_win32="no"
1532if test "x${have_ecore_file}" = "xyes" ; then
1533 ECORE_CHECK_POLL([${want_poll}], [have_poll="yes"], [have_poll="no"])
1534 ECORE_CHECK_INOTIFY([${want_inotify}], [have_inotify="yes"], [have_inotify="no"])
1535 ECORE_CHECK_NOTIFY_WIN32([${want_notify_win32}], [have_notify_win32="yes"], [have_notify_win32="no"])
1536
1537 if test "x${have_ecore_con}" = "xyes" ; then
1538 requirements_ecore_file="ecore-con >= 1.6.99 ${requirements_ecore_file}"
1539 else
1540 ECORE_CHECK_CURL([${want_curl}],
1541 [
1542 have_curl="yes"
1543 requirements_ecore_file="libcurl ${requirements_ecore_file}"
1544 ],
1545 [have_curl="no"])
1546 fi
1547
1548fi
1549
1550# ecore_config
1551#ecore_config_deps="no"
1552#if test "x${have_eet}" = "xyes" -a "x${have_evas}" -a "x${have_ecore_ipc}" ; then
1553# ecore_config_deps="yes"
1554#fi
1555
1556#ECORE_CHECK_MODULE([config], [${want_ecore_config}], [Config], [${ecore_config_deps}],
1557# [requirements_ecore_config="ecore-ipc >= 1.6.99 evas >= 1.6.99 eet >= 1.6.99 ${requirements_ecore_config}"])
1558
1559AM_CONDITIONAL(BUILD_ECORE_CONFIG, false)
1560
1561# ecore_imf
1562
1563ECORE_CHECK_MODULE([imf], [${want_ecore_imf}], [Imf])
1564
1565# ecore_imf_evas
1566
1567ecore_imf_evas_deps="no"
1568if test "x${have_ecore_imf}" = "xyes" -a "x${have_evas}" = "xyes" ; then
1569 ecore_imf_evas_deps="yes"
1570fi
1571
1572ECORE_CHECK_MODULE([imf-evas], [${want_ecore_imf}], [Imf_Evas], [${ecore_imf_evas_deps}],
1573 [requirements_ecore_imf_evas="ecore-imf >= 1.6.99 evas >= 1.6.99 ${requirements_ecore_imf_evas}"])
1574
1575# ecore_input{_evas}
1576ECORE_CHECK_MODULE([input], [${want_ecore_input}], [Input])
1577ECORE_CHECK_MODULE([input-evas], [${want_ecore_input}], [Input_Evas], [${have_evas}],
1578 [requirements_ecore_input_evas="ecore-input >= 1.6.99 evas >= 1.6.99 ${requirements_ecore_input}"])
1579
1580# ecore_imf_xim
1581AM_CONDITIONAL(BUILD_ECORE_IMF_XIM, false)
1582ecore_imf_xim_deps="no"
1583echo "have_ecore_x_xlib: ${have_ecore_x_xlib}"
1584if test "x${have_ecore_imf}" = "xyes" \
1585 -a "x${have_ecore_x_xlib}" = "xyes" \
1586 -a "x${have_ecore_input}" = "xyes" ; then
1587 ecore_imf_xim_deps="yes"
1588 AC_DEFINE(BUILD_ECORE_IMF_XIM, 1, [Ecore Imf XIM Support])
1589fi
1590
1591ECORE_CHECK_MODULE([imf-xim], [${want_ecore_imf}], [Imf_XIM], [${ecore_imf_xim_deps}],
1592 [requirements_ecore_imf_xim="ecore-imf >= 1.6.99 ecore-x >= 1.6.99 ecore-input >= 1.6.99 ${requirements_ecore_imf_xim}"])
1593
1594# ecore_imf_scim
1595PKG_CHECK_MODULES([SCIM], [scim], [have_scim="yes"], [have_scim="no"])
1596
1597AM_CONDITIONAL(BUILD_ECORE_IMF_SCIM, false)
1598ecore_imf_scim_deps="no"
1599echo "have_ecore_x_xlib: ${have_ecore_x_xlib}"
1600if test "x${have_ecore_imf}" = "xyes" \
1601 -a "x${have_scim}" = "xyes" \
1602 -a "x${have_ecore_input}" = "xyes" ; then
1603 ecore_imf_scim_deps="yes"
1604 AC_DEFINE(BUILD_ECORE_IMF_SCIM, 1, [Ecore Imf SCIM Support])
1605fi
1606
1607ECORE_CHECK_MODULE([imf-scim], [${want_ecore_imf}], [Imf_SCIM], [${ecore_imf_scim_deps}],
1608 [requirements_ecore_imf_scim="ecore-imf >= 1.6.99 ecore-x >= 1.6.99 ecore-input >= 1.6.99 ${requirements_ecore_imf_scim}"])
1609
1610# ecore_imf_ibus
1611PKG_CHECK_MODULES([IBUS], [ibus-1.0 >= 1.4], [have_ibus="yes"], [have_ibus="no"])
1612
1613AM_CONDITIONAL(BUILD_ECORE_IMF_IBUS, false)
1614ecore_imf_ibus_deps="no"
1615echo "have_ecore_x_xlib: ${have_ecore_x_xlib}"
1616if test "x${have_ecore_imf}" = "xyes" \
1617 -a "x${have_glib}" = "xyes" \
1618 -a "x${have_ibus}" = "xyes" \
1619 -a "x${have_ecore_input}" = "xyes" ; then
1620 ecore_imf_ibus_deps="yes"
1621 AC_DEFINE(BUILD_ECORE_IMF_IBUS, 1, [Ecore Imf IBUS Support])
1622fi
1623
1624ECORE_CHECK_MODULE([imf-ibus], [${want_ecore_imf}], [Imf_IBUS], [${ecore_imf_ibus_deps}],
1625 [requirements_ecore_imf_ibus="ecore-imf >= 1.6.99 ecore-x >= 1.6.99 ecore-input >= 1.6.99 ${requirements_ecore_imf_ibus}"])
1626
1627## Graphic systems
1628
1629# ecore_x{cb}
1630
1631ecore_x_deps="no"
1632if test "x${have_x}" = "xyes" -a \
1633 "x${have_ecore_input}" = "xyes" ; then
1634 ecore_x_deps="yes"
1635fi
1636
1637ECORE_CHECK_MODULE([x], [${want_ecore_x}], [X], [${ecore_x_deps}],
1638 [
1639 ecore_x_libs="$ecore_x_libs $x_libs"
1640 requirements_ecore_x="ecore-input >= 1.6.99 ${requirements_ecore_x}"
1641 ])
1642
1643# ecore_win32
1644
1645ECORE_CHECK_MODULE([win32], [${want_ecore_win32}], [Win32], [${have_ecore_input}],
1646 [
1647 ecore_win32_libs="-lole32 -lgdi32"
1648 requirements_ecore_win32="ecore-input >= 1.6.99 ${requirements_ecore_win32}"
1649 ])
1650AC_SUBST(ecore_win32_libs)
1651
1652# ecore_cocoa
1653
1654ecore_cocoa_deps="no"
1655if test "x${have_ecore_input}" = "xyes" -a "x${have_cocoa}" = "xyes" ; then
1656 ecore_cocoa_deps="yes"
1657fi
1658
1659ECORE_CHECK_MODULE([cocoa], [${want_ecore_cocoa}], [Cocoa], [${ecore_cocoa_deps}],
1660 [requirements_ecore_cocoa="ecore-input >= 1.6.99 ${requirements_ecore_cocoa}"])
1661
1662# ecore_sdl
1663
1664ecore_sdl_deps="no"
1665if test "x${have_sdl}" = "xyes" -a "x${have_ecore_input}" = "xyes" ; then
1666 ecore_sdl_deps="yes"
1667fi
1668
1669ECORE_CHECK_MODULE([sdl], [${want_ecore_sdl}], [Sdl], [${ecore_sdl_deps}],
1670 [requirements_ecore_sdl="ecore-input >= 1.6.99 ${requirements_ecore_sdl}"])
1671
1672ECORE_CHECK_MODULE([psl1ght], [${want_ecore_psl1ght}], [psl1ght], [${ecore_psl1ght_deps}],
1673 [requirements_ecore_psl1ght="ecore-input >= 1.6.99 ${requirements_ecore_psl1ght}"])
1674
1675# ecore_fb
1676ECORE_CHECK_MODULE([fb], [${want_ecore_fb}], [FB], [$have_fb])
1677
1678if test "x${have_ecore_fb}" = "xyes" ; then
1679 ECORE_CHECK_TSLIB([${want_tslib}],
1680 [
1681 have_tslib="yes"
1682 requirements_ecore_fb="${_tslib_requirement} ${requirements_ecore_fb}"
1683 ],
1684 [have_tslib="no"])
1685fi
1686
1687# ecore_directfb
1688
1689ECORE_CHECK_MODULE([directfb], [${want_ecore_directfb}], [DirectFB], [${have_directfb}],
1690 [requirements_ecore_directfb="directfb ${requirements_ecore_directfb}"])
1691
1692# ecore_wince
1693
1694ECORE_CHECK_MODULE([wince], [${want_ecore_wince}], [WinCE], [${have_ecore_input}],
1695 [requirements_ecore_wince="ecore-input >= 1.6.99 ${requirements_ecore_wince}"])
1696
1697## Ecore Evas
1698
1699# ecore_evas
1700
1701ecore_evas_deps="no"
1702if test "x${have_evas}" = "xyes" && test "x${have_ecore_input}" = "xyes" && test "x${have_ecore_input_evas}" = "xyes" ; then
1703 ecore_evas_deps="yes"
1704fi
1705
1706ECORE_CHECK_MODULE([evas], [${want_ecore_evas}], [Evas], [${ecore_evas_deps}],
1707 [requirements_ecore_evas="ecore-input >= 1.6.99 ecore-input-evas >= 1.6.99 evas >= 1.6.99 ${requirements_ecore_evas}"])
1708
1709# ecore_evas_buffer
1710
1711ECORE_EVAS_CHECK_MODULE([software-buffer],
1712 [${want_ecore_evas_software_buffer}],
1713 [Software Buffer],
1714 [yes])
1715
1716# ecore_evas_x11
1717
1718# ecore_evas_software_x11
1719
1720ECORE_EVAS_CHECK_MODULE([software-x11],
1721 [${want_ecore_evas_software_x11}],
1722 [Software X11],
1723 [${have_ecore_x}])
1724
1725have_ecore_evas_software_xlib="no"
1726have_ecore_evas_software_xcb="no"
1727if test "x$have_ecore_evas_software_x11" = "xyes" ; then
1728 have_ecore_evas_software_xlib=`${PKG_CONFIG} --variable=Xlib evas-software-x11`
1729 if test "x${have_ecore_evas_software_xlib}" = "xstatic"; then
1730 have_ecore_evas_software_xlib="yes"
1731 fi
1732 if test "x${have_ecore_evas_software_xlib}" = "xyes" -a "x${have_ecore_x_xlib}" = "xyes" ; then
1733 AC_DEFINE(BUILD_ECORE_EVAS_SOFTWARE_XLIB, 1, [Evas Software Xlib Engine Support])
1734 fi
1735 have_ecore_evas_software_xcb=`${PKG_CONFIG} --variable=XCB evas-software-x11`
1736 if test "x$have_ecore_evas_software_xcb" = "xstatic"; then
1737 have_ecore_evas_software_xcb="yes"
1738 fi
1739 if test "x$have_ecore_evas_software_xcb" = "xyes" -a "x${have_ecore_x_xcb}" = "xyes" ; then
1740 AC_DEFINE(BUILD_ECORE_EVAS_SOFTWARE_XCB, 1, [Evas Software XCB Engine Support])
1741 fi
1742fi
1743
1744# ecore_evas_opengl_x11
1745
1746ECORE_EVAS_CHECK_MODULE([opengl-x11],
1747 [${want_ecore_evas_opengl_x11}],
1748 [OpenGL Xlib],
1749 [${have_ecore_x}])
1750
1751have_ecore_evas_opengl_xlib="no"
1752have_ecore_evas_opengl_xcb="no"
1753if test "x${have_ecore_evas_opengl_x11}" = "xyes" -o "x${have_ecore_evas_opengl_x11}" = "xstatic" ; then
1754 have_ecore_evas_opengl_xlib=`${PKG_CONFIG} --variable=Xlib evas-opengl-x11`
1755 if test "x${have_ecore_evas_opengl_xlib}" = "xyes" ; then
1756 AC_DEFINE(BUILD_ECORE_EVAS_OPENGL_XLIB, 1, [OpenGL Xlib rendering backend])
1757 fi
1758
1759# opengl does not work with xcb (yet)
1760 have_ecore_evas_opengl_xcb=`${PKG_CONFIG} --variable=XCB evas-opengl-x11`
1761 if test "x${have_ecore_evas_opengl_xcb}" = "xstatic"; then
1762 have_ecore_evas_opengl_xcb="yes"
1763 fi
1764 if test "x${have_ecore_evas_opengl_xcb}" = "xyes" -a "x${have_ecore_x_xcb}" = "xyes" ; then
1765 PKG_CHECK_MODULES(XCB_X11, x11-xcb,
1766 [ have_ecore_x_opengl_xcb="yes"
1767 requirements_ecore_x="x11-xcb ${requirements_ecore_x}"
1768 AC_DEFINE(BUILD_ECORE_X_OPENGL_XCB, 1, [Build support for XCB-based OpenGL])
1769 AC_DEFINE(BUILD_ECORE_EVAS_OPENGL_XCB, 1, [OpenGL XCB rendering backend])
1770 ],
1771 [ have_ecore_x_opengl_xcb="no" ])
1772 else
1773 have_ecore_x_opengl_xcb="no"
1774 AC_MSG_NOTICE("XCB-based OpenGL explicitly disabled")
1775 fi
1776fi
1777
1778if test "x$have_ecore_evas_software_x11" = "xyes" -o \
1779 "x$have_ecore_evas_opengl_x11" = "xyes" -o \
1780 "x$have_ecore_evas_software_xcb" = "xyes"; then
1781 AC_DEFINE(BUILD_ECORE_EVAS_X11, 1, [Support for X Window Engines in Ecore_Evas])
1782 requirements_ecore_evas="ecore-x >= 1.6.99 ${requirements_ecore_evas}"
1783fi
1784
1785# ecore_evas_win32
1786
1787ECORE_EVAS_CHECK_MODULE([software-gdi],
1788 [${want_ecore_evas_software_gdi}],
1789 [Software GDI],
1790 [${have_ecore_win32}])
1791
1792ECORE_EVAS_CHECK_MODULE([software-ddraw],
1793 [${want_ecore_evas_software_ddraw}],
1794 [Software DirectDraw],
1795 [${have_ecore_win32}])
1796
1797ECORE_EVAS_CHECK_MODULE([direct3d],
1798 [${want_ecore_evas_direct3d}],
1799 [Direct3d],
1800 [${have_ecore_win32}])
1801
1802ECORE_EVAS_CHECK_MODULE([opengl-glew],
1803 [${want_ecore_evas_opengl_glew}],
1804 [Glew OpenGL],
1805 [${have_ecore_win32}])
1806
1807if test "x${have_ecore_evas_software_gdi}" = "xyes" -o \
1808 "x${have_ecore_evas_software_ddraw}" = "xyes" -o \
1809 "x${have_ecore_evas_direct3d}" = "xyes" -o \
1810 "x${have_ecore_evas_opengl_glew}" = "xyes" ; then
1811 AC_DEFINE(BUILD_ECORE_EVAS_WIN32, 1, [Support for Win32 Engine in Ecore_Evas])
1812 requirements_ecore_evas="ecore-win32 >= 1.6.99 ${requirements_ecore_evas}"
1813fi
1814
1815# ecore_evas_software_sdl
1816
1817have_ecore_evas_software_sdl="no"
1818if test "x${have_ecore_sdl}" = "xyes"; then
1819 requirements_ecore_evas="ecore-sdl >= 1.6.99 ${requirements_ecore_evas}"
1820 have_ecore_evas_software_sdl="yes"
1821 AC_DEFINE(BUILD_ECORE_EVAS_SOFTWARE_SDL, 1, [Support for Software SDL Engine in Ecore_Evas])
1822 requirements_ecore_evas="ecore-sdl >= 1.6.99 ${requirements_ecore_evas}"
1823fi
1824
1825# ecore_evas_gl_sdl
1826
1827ECORE_EVAS_CHECK_MODULE([opengl-sdl],
1828 [${want_ecore_evas_gl_sdl}],
1829 [OpenGL SDL],
1830 [${have_ecore_sdl}],
1831 [requirements_ecore_evas="ecore-sdl >= 1.6.99 ${requirements_ecore_evas}"])
1832
1833# ecore_evas_cocoa
1834
1835ECORE_EVAS_CHECK_MODULE([opengl-cocoa],
1836 [${want_ecore_evas_gl_cocoa}],
1837 [OpenGL Cocoa],
1838 [${have_ecore_cocoa}],
1839 [requirements_ecore_evas="ecore-cocoa >= 1.6.99 ${requirements_ecore_evas}"])
1840
1841# ecore_evas_directfb
1842
1843ECORE_EVAS_CHECK_MODULE([directfb],
1844 [${want_ecore_evas_directfb}],
1845 [DirectFB],
1846 [${have_ecore_directfb}],
1847 [requirements_ecore_evas="ecore-directfb >= 1.6.99 ${requirements_ecore_evas}"])
1848
1849# ecore_evas_fb
1850
1851ECORE_EVAS_CHECK_MODULE([fb],
1852 [${want_ecore_evas_fb}],
1853 [Linux Framebuffer],
1854 [${have_ecore_fb}],
1855 [requirements_ecore_evas="ecore-fb >= 1.6.99 ${requirements_ecore_evas}"])
1856
1857# ecore_evas_ews
1858
1859ECORE_EVAS_CHECK_MODULE_FULL([ews], [software-buffer],
1860 [${want_ecore_evas_ews}],
1861 [Ecore Evas Single Process Windowing System],
1862 [yes], [])
1863
1864# ecore_evas_extn
1865
1866have_extn="yes"
1867if test "x${have_ecore_ipc}" = "xno" || \
1868 test "x${have_ecore_evas_software_buffer}" = "xno" || \
1869 test "x${have_shm_open}" = "xno" ; then
1870 have_extn="no"
1871fi
1872
1873dnl THIS IS SPECIAL - dont use normal ECORE_EVAS_CHECK_MODULE
1874have_ecore_evas_extn="no"
1875if test "x${want_ecore_evas_extn}" = "xyes" && \
1876 test "x${have_extn}" = "xyes" && \
1877 test "x${have_ecore_evas}" = "xyes"; then
1878 AC_DEFINE([BUILD_ECORE_EVAS_EXTN], [1], [Support for Extn Engine in Ecore_Evas])
1879 have_ecore_evas_extn="yes"
1880fi
1881
1882# ecore_evas_psl1ght
1883
1884ECORE_EVAS_CHECK_MODULE([psl1ght],
1885 [${want_ecore_evas_psl1ght}],
1886 [PSL1GHT],
1887 [${have_ecore_psl1ght}],
1888 [requirements_ecore_evas="ecore-psl1ght >= 1.6.99 ${requirements_ecore_evas}"])
1889
1890### WAYLAND
1891
1892ecore_wayland_deps="no"
1893have_wayland="no"
1894if test "x${want_ecore_wayland}" = "xyes" ; then
1895 PKG_CHECK_MODULES([WAYLAND], [wayland-client wayland-cursor xkbcommon], [have_wayland="yes"], [have_wayland="no"])
1896fi
1897if test "x${have_ecore_input}" = "xyes" -a "x${have_wayland}" = "xyes" ; then
1898 ecore_wayland_deps="yes"
1899fi
1900
1901ECORE_CHECK_MODULE([wayland], [${want_ecore_wayland}], [Wayland], [${ecore_wayland_deps}])
1902if test "x${have_ecore_wayland}" = "xyes" ; then
1903 requirements_ecore_wayland="ecore-input >= 1.6.99 wayland-client wayland-cursor xkbcommon ${requirements_ecore_wayland}"
1904fi
1905
1906ECORE_EVAS_CHECK_MODULE_FULL([wayland-shm], [wayland-shm],
1907 [${want_ecore_evas_wayland_shm}],
1908 [Wayland Shm],
1909 [${have_ecore_wayland}],
1910 [requirements_ecore_evas="${requirements_ecore_wayland} ${requirements_ecore_evas}"])
1911
1912ECORE_EVAS_CHECK_MODULE_FULL([wayland-egl], [wayland-egl egl >= 7.10],
1913 [${want_ecore_evas_wayland_egl}],
1914 [Wayland Egl],
1915 [${have_ecore_wayland}],
1916 [
1917 PKG_CHECK_MODULES([WAYLAND_EGL], [wayland-egl], [have_wayland_egl="yes"], [have_wayland_egl="no"])
1918 if test "x${have_wayland_egl}" = "xyes" ; then
1919 requirements_ecore_evas="wayland-egl egl >= 7.10 ${requirements_ecore_wayland} ${requirements_ecore_evas}"
1920 fi
1921 ])
1922
1923### Unit tests and coverage
1924
1925EFL_CHECK_TESTS([enable_tests="yes"], [enable_tests="no"])
1926
1927EFL_CHECK_COVERAGE([${enable_tests}], [enable_coverage="yes"], [enable_coverage="no"])
1928CFLAGS="${CFLAGS} ${EFL_COVERAGE_CFLAGS}"
1929ECORE_LIBS="${ECORE_LIBS} ${EFL_COVERAGE_LIBS}"
1930if test "x$enable_coverage" = "xyes" ; then
1931 CFLAGS="${CFLAGS} ${EFL_DEBUG_CFLAGS}"
1932fi
1933
1934### install and build examples
1935
1936EFL_CHECK_BUILD_EXAMPLES([enable_build_examples="yes"], [enable_build_examples="no"])
1937EFL_CHECK_INSTALL_EXAMPLES([enable_install_examples="yes"], [enable_install_examples="no"])
1938
1939### requirements
1940
1941AC_SUBST(requirements_ecore)
1942AC_SUBST(requirements_ecore_con)
1943#AC_SUBST(requirements_ecore_config)
1944AC_SUBST(requirements_ecore_directfb)
1945AC_SUBST(requirements_ecore_evas)
1946AC_SUBST(requirements_ecore_fb)
1947AC_SUBST(requirements_ecore_file)
1948AC_SUBST(requirements_ecore_imf)
1949AC_SUBST(requirements_ecore_imf_evas)
1950AC_SUBST(requirements_ecore_input)
1951AC_SUBST(requirements_ecore_input_evas)
1952AC_SUBST(requirements_ecore_ipc)
1953AC_SUBST(requirements_ecore_cocoa)
1954AC_SUBST(requirements_ecore_sdl)
1955AC_SUBST(requirements_ecore_psl1ght)
1956AC_SUBST(requirements_ecore_x)
1957AC_SUBST(requirements_ecore_win32)
1958AC_SUBST(requirements_ecore_wince)
1959AC_SUBST(requirements_ecore_imf_xim)
1960AC_SUBST(requirements_ecore_imf_scim)
1961AC_SUBST(requirements_ecore_imf_ibus)
1962AC_SUBST(requirements_ecore_wayland)
1963
1964AC_CONFIG_FILES([
1965Makefile
1966ecore-con.pc
1967ecore-config.pc
1968ecore-directfb.pc
1969ecore-evas.pc
1970ecore-fb.pc
1971ecore-file.pc
1972ecore-imf.pc
1973ecore-imf-evas.pc
1974ecore-ipc.pc
1975ecore-x.pc
1976ecore-input.pc
1977ecore-input-evas.pc
1978ecore-win32.pc
1979ecore-sdl.pc
1980ecore-cocoa.pc
1981ecore-psl1ght.pc
1982ecore-wince.pc
1983ecore-wayland.pc
1984ecore.pc
1985doc/ecore.dox
1986doc/Makefile
1987doc/Doxyfile
1988src/Makefile
1989src/util/Makefile
1990src/bin/Makefile
1991src/lib/Makefile
1992src/lib/ecore/Makefile
1993src/lib/ecore_con/Makefile
1994src/lib/ecore_config/Makefile
1995src/lib/ecore_directfb/Makefile
1996src/lib/ecore_evas/Makefile
1997src/lib/ecore_fb/Makefile
1998src/lib/ecore_file/Makefile
1999src/lib/ecore_cocoa/Makefile
2000src/lib/ecore_sdl/Makefile
2001src/lib/ecore_psl1ght/Makefile
2002src/lib/ecore_imf/Makefile
2003src/lib/ecore_imf_evas/Makefile
2004src/lib/ecore_input/Makefile
2005src/lib/ecore_input_evas/Makefile
2006src/lib/ecore_ipc/Makefile
2007src/lib/ecore_win32/Makefile
2008src/lib/ecore_wince/Makefile
2009src/lib/ecore_x/Makefile
2010src/lib/ecore_x/xlib/Makefile
2011src/lib/ecore_x/xcb/Makefile
2012src/lib/ecore_wayland/Makefile
2013src/examples/Makefile
2014src/tests/Makefile
2015src/modules/Makefile
2016src/modules/immodules/Makefile
2017src/modules/immodules/xim/Makefile
2018src/modules/immodules/scim/Makefile
2019src/modules/immodules/ibus/Makefile
2020ecore.spec
2021$po_makefile_in
2022])
2023
2024AC_OUTPUT
2025
2026echo
2027echo "$PACKAGE $VERSION"
2028echo
2029echo "Optional Modules:"
2030echo
2031echo " Core:"
2032echo
2033echo " Ecore........................: always"
2034echo " Thread support.............: $have_threads"
2035echo " Thread safety..............: $want_thread_safety"
2036echo " GLib support...............: $have_glib"
2037echo " Always integrate GLib......: $want_glib_integration_always"
2038echo " Use g_main_loop............: $want_g_main_loop"
2039echo " Gathering memory statistic.: $have_mallinfo"
2040echo " Gathering timer allocation.: $want_ecore_timer_dump"
2041echo " Ecore_Con....................: $have_ecore_con"
2042if test "x$have_ecore_con" = "xyes" ; then
2043 echo $ECHO_N " OpenSSL....................: $have_openssl $ECHO_C"
2044if test "x$have_gnutls" = "xyes" ; then
2045 echo " (disabled)"
2046else
2047 echo
2048fi
2049 echo " IPv6.......................: $have_ipv6"
2050 echo " GnuTLS.....................: $have_gnutls"
2051 echo " CURL.......................: $have_curl"
2052 echo " Eet........................: $have_ecore_con_eet"
2053 echo " Local Sockets..............: $want_ecore_con_local_sockets"
2054if test "x$want_ecore_con_local_sockets" = "xyes" ; then
2055 echo " Abstract Sockets.........: $want_ecore_con_abstract_sockets"
2056fi
2057if test "x$have_cares" = "xyes" ; then
2058 echo " Resolver...................: c-ares"
2059elif test "x$have_ipv6" = "xyes" ; then
2060 echo " Resolver...................: dns.c"
2061else
2062 echo " Resolver...................: fork"
2063fi
2064fi
2065echo " Ecore_Ipc....................: $have_ecore_ipc"
2066if test "x$have_ecore_ipc" = "xyes" ; then
2067 echo $ECHO_N " OpenSSL....................: $have_openssl $ECHO_C"
2068if test "x$have_gnutls" = "xyes" ; then
2069 echo " (disabled)"
2070else
2071 echo
2072fi
2073 echo " GnuTLS.....................: $have_gnutls"
2074fi
2075echo " Ecore_File...................: $have_ecore_file"
2076if test "x$have_ecore_file" = "xyes" ; then
2077 echo " Inotify....................: $have_inotify"
2078 echo " Windows notification.......: $have_notify_win32"
2079 echo " Poll.......................: $have_poll"
2080 echo " CURL.......................: $have_curl"
2081fi
2082#echo " Ecore_Config.................: $have_ecore_config (deprecated)"
2083echo " Ecore_IMF....................: $have_ecore_imf"
2084echo " XIM........................: $have_ecore_imf_xim"
2085echo " SCIM.......................: $have_ecore_imf_scim"
2086echo " IBUS.......................: $have_ecore_imf_ibus"
2087echo " Ecore_IMF_Evas...............: $have_ecore_imf_evas"
2088echo " Ecore_Input..................: $have_ecore_input"
2089echo " Ecore_Input_Evas.............: $have_ecore_input_evas"
2090
2091echo
2092echo " Graphic systems:"
2093echo
2094
2095if test "x$have_ecore_x" = "xyes" ; then
2096 if test "x$have_ecore_x_xcb" = "xyes" ; then
2097 echo " Ecore_X (XCB backend)........: $have_ecore_x_xcb"
2098 echo " Xprint.....................: $have_ecore_x_xcb_xprint"
2099 echo " Xinerama...................: $have_ecore_x_xcb_xinerama"
2100 echo " Xrandr.....................: $have_ecore_x_xcb_randr"
2101 echo " Xscreensaver...............: $have_ecore_x_xcb_screensaver"
2102 echo " Xshape.....................: $have_ecore_x_xcb_shape"
2103 echo " Xgesture...................: $have_ecore_x_xcb_gesture"
2104 echo " Xsync......................: $have_ecore_x_xcb_sync"
2105 echo " Xrender....................: $have_ecore_x_xcb_render"
2106 echo " Xcomposite.................: $have_ecore_x_xcb_composite"
2107 echo " Xfixes.....................: $have_ecore_x_xcb_xfixes"
2108 echo " Xdamage....................: $have_ecore_x_xcb_damage"
2109 echo " Xdpms......................: $have_ecore_x_xcb_dpms"
2110 echo " Xtest......................: $have_ecore_x_xcb_xtest"
2111 else
2112 echo " Ecore_X (Xlib backend).......: $have_ecore_x"
2113 echo " Xcursor....................: $use_Xcursor"
2114 echo " Xkb........................: $use_xkb"
2115 echo " Xprint.....................: $use_xprint"
2116 echo " Xinerama...................: $use_xinerama"
2117 echo " Xrandr.....................: $use_xrandr"
2118 echo " Xgesture...................: $use_xgesture"
2119 echo " Xscreensaver...............: $use_xss"
2120 echo " Xrender....................: $use_xrender"
2121 echo " Xcomposite.................: $use_xcomposite"
2122 echo " Xfixes.....................: $use_xfixes"
2123 echo " Xdamage....................: $use_xdamage"
2124 echo " Xdpms......................: $use_xdpms"
2125 echo " Xtest......................: $use_xtest"
2126 echo " XIM........................: $want_xim"
2127 echo " Xi2........................: $use_xi2"
2128 fi
2129else
2130 echo " Ecore_X......................: $have_ecore_x"
2131fi
2132echo " Ecore_Win32..................: $have_ecore_win32"
2133echo " Ecore_Cocoa..................: $have_ecore_cocoa"
2134echo " Ecore_SDL....................: $have_ecore_sdl"
2135echo " Ecore_FB.....................: $have_ecore_fb"
2136if test "x${have_ecore_fb}" = "xyes" ; then
2137 echo " Touchscreen................: $have_tslib"
2138fi
2139echo " Ecore_DirectFB...............: $have_ecore_directfb"
2140echo " Ecore_WinCE..................: $have_ecore_wince"
2141echo " Ecore_PSL1GHT................: $have_ecore_psl1ght"
2142echo " Ecore_Wayland................: $have_ecore_wayland"
2143
2144echo
2145echo " Ecore Evas:"
2146echo
2147
2148echo " Ecore_Evas...................: $have_ecore_evas"
2149if test "x${have_ecore_evas}" = "xyes" ; then
2150 echo " Software Memory Buffer.....: $have_ecore_evas_software_buffer"
2151 if test "x${have_ecore_evas_software_x11}" = "xyes" ; then
2152 echo " Software X11...............: $have_ecore_evas_software_x11 (Xlib=${have_ecore_evas_software_xlib}) (XCB=${have_ecore_evas_software_xcb})"
2153 else
2154 echo " Software X11...............: $have_ecore_evas_software_x11"
2155 fi
2156 if test "x${have_ecore_evas_opengl_x11}" = "xyes" ; then
2157 echo " OpenGL X11.................: $have_ecore_evas_opengl_x11 (Xlib=${have_ecore_evas_opengl_xlib}) (XCB=${have_ecore_evas_opengl_xcb})"
2158 else
2159 echo " OpenGL X11.................: $have_ecore_evas_opengl_x11"
2160 fi
2161 echo " Software GDI...............: $have_ecore_evas_software_gdi"
2162 echo " Software DirectDraw........: $have_ecore_evas_software_ddraw"
2163 echo " Direct3D...................: $have_ecore_evas_direct3d"
2164 echo " OpenGL Glew................: $have_ecore_evas_opengl_glew"
2165 echo " Software SDL...............: $have_ecore_evas_software_sdl"
2166 echo " OpenGL SDL.................: $have_ecore_evas_opengl_sdl"
2167 echo " OpenGL Cocoa...............: $have_ecore_evas_opengl_cocoa"
2168 echo " DirectFB...................: $have_ecore_evas_directfb"
2169 echo " PSL1GHT....................: $have_ecore_evas_psl1ght"
2170 echo " Software Framebuffer.......: $have_ecore_evas_fb"
2171 echo " Sing.Proc. Windowing System: $have_ecore_evas_ews"
2172 echo " Wayland Shm................: $have_ecore_evas_wayland_shm"
2173 echo " Wayland Egl................: $have_ecore_evas_wayland_egl"
2174 echo " Extn (Plug/socket Extn)....: $have_ecore_evas_extn"
2175fi
2176echo
2177echo " Tests................: ${enable_tests}"
2178echo " Coverage.............: ${enable_coverage}"
2179echo " Maximum log level....: ${with_max_log_level}"
2180echo "Documentation..........: ${build_doc}"
2181echo "Examples...............: ${enable_build_examples}"
2182echo "Examples installed.....: ${enable_install_examples}"
2183echo
2184echo "Compilation............: make (or gmake)"
2185echo " CPPFLAGS.............: $CPPFLAGS"
2186echo " CFLAGS...............: $CFLAGS"
2187echo " CXXFLAGS.............: $CXXFLAGS"
2188echo " LDFLAGS..............: $LDFLAGS"
2189echo
2190echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
2191echo " prefix...............: $prefix"
2192echo
diff --git a/legacy/ecore/doc/Doxyfile.in b/legacy/ecore/doc/Doxyfile.in
deleted file mode 100644
index 301e55ee33..0000000000
--- a/legacy/ecore/doc/Doxyfile.in
+++ /dev/null
@@ -1,218 +0,0 @@
1DOXYFILE_ENCODING = UTF-8
2PROJECT_NAME = Ecore
3PROJECT_NUMBER =
4OUTPUT_DIRECTORY = .
5CREATE_SUBDIRS = NO
6OUTPUT_LANGUAGE = English
7BRIEF_MEMBER_DESC = YES
8REPEAT_BRIEF = YES
9ABBREVIATE_BRIEF =
10ALWAYS_DETAILED_SEC = NO
11INLINE_INHERITED_MEMB = NO
12FULL_PATH_NAMES = NO
13STRIP_FROM_PATH =
14STRIP_FROM_INC_PATH =
15SHORT_NAMES = NO
16JAVADOC_AUTOBRIEF = YES
17QT_AUTOBRIEF = NO
18MULTILINE_CPP_IS_BRIEF = NO
19INHERIT_DOCS = YES
20SEPARATE_MEMBER_PAGES = NO
21TAB_SIZE = 2
22ALIASES =
23OPTIMIZE_OUTPUT_FOR_C = YES
24OPTIMIZE_OUTPUT_JAVA = NO
25OPTIMIZE_FOR_FORTRAN = NO
26OPTIMIZE_OUTPUT_VHDL = NO
27EXTENSION_MAPPING =
28BUILTIN_STL_SUPPORT = NO
29CPP_CLI_SUPPORT = NO
30SIP_SUPPORT = NO
31IDL_PROPERTY_SUPPORT = YES
32DISTRIBUTE_GROUP_DOC = NO
33SUBGROUPING = YES
34TYPEDEF_HIDES_STRUCT = NO
35SYMBOL_CACHE_SIZE = 0
36EXTRACT_ALL = NO
37EXTRACT_PRIVATE = NO
38EXTRACT_STATIC = NO
39EXTRACT_LOCAL_CLASSES = NO
40EXTRACT_LOCAL_METHODS = NO
41EXTRACT_ANON_NSPACES = NO
42HIDE_UNDOC_MEMBERS = YES
43HIDE_UNDOC_CLASSES = YES
44HIDE_FRIEND_COMPOUNDS = YES
45HIDE_IN_BODY_DOCS = NO
46INTERNAL_DOCS = NO
47CASE_SENSE_NAMES = YES
48HIDE_SCOPE_NAMES = NO
49SHOW_INCLUDE_FILES = NO
50FORCE_LOCAL_INCLUDES = NO
51INLINE_INFO = YES
52SORT_MEMBER_DOCS = YES
53SORT_MEMBERS_CTORS_1ST = NO
54SORT_GROUP_NAMES = NO
55SORT_BY_SCOPE_NAME = NO
56GENERATE_TODOLIST = YES
57GENERATE_TESTLIST = YES
58GENERATE_BUGLIST = YES
59GENERATE_DEPRECATEDLIST= YES
60ENABLED_SECTIONS =
61MAX_INITIALIZER_LINES = 30
62SHOW_USED_FILES = NO
63SHOW_FILES = YES
64SHOW_NAMESPACES = YES
65FILE_VERSION_FILTER =
66LAYOUT_FILE =
67QUIET = YES
68WARNINGS = YES
69WARN_IF_UNDOCUMENTED = YES
70WARN_IF_DOC_ERROR = YES
71WARN_NO_PARAMDOC = YES
72WARN_FORMAT = "$file:$line: $text"
73WARN_LOGFILE =
74INPUT = @builddir@/ecore.dox \
75 @top_srcdir@/src/lib \
76 @srcdir@/examples.dox
77INPUT_ENCODING = UTF-8
78FILE_PATTERNS =
79RECURSIVE = YES
80EXCLUDE = @top_srcdir@/src/lib/ecore_config/* @top_srcdir@/src/lib/ecore_x/xcb/*.c
81EXCLUDE_SYMLINKS = NO
82EXCLUDE_PATTERNS = ecore_config* Ecore_Config*
83EXCLUDE_SYMBOLS = Ecore_Config*
84EXAMPLE_PATH = @top_srcdir@/src/examples/
85EXAMPLE_PATTERNS =
86EXAMPLE_RECURSIVE = YES
87IMAGE_PATH = @srcdir@/img
88INPUT_FILTER =
89FILTER_PATTERNS =
90FILTER_SOURCE_FILES = NO
91SOURCE_BROWSER = NO
92INLINE_SOURCES = NO
93STRIP_CODE_COMMENTS = YES
94REFERENCED_BY_RELATION = YES
95REFERENCES_RELATION = YES
96REFERENCES_LINK_SOURCE = YES
97USE_HTAGS = NO
98VERBATIM_HEADERS = NO
99ALPHABETICAL_INDEX = YES
100COLS_IN_ALPHA_INDEX = 2
101IGNORE_PREFIX = ecore_ _ecore_ Ecore_ _Ecore_ ECORE_ _ECORE_
102GENERATE_HTML = YES
103HTML_OUTPUT = html
104HTML_FILE_EXTENSION = .html
105HTML_HEADER = @srcdir@/head.html
106HTML_FOOTER = @srcdir@/foot.html
107HTML_STYLESHEET = @srcdir@/e.css
108HTML_COLORSTYLE_HUE = 220
109HTML_COLORSTYLE_SAT = 100
110HTML_COLORSTYLE_GAMMA = 80
111HTML_TIMESTAMP = YES
112HTML_DYNAMIC_SECTIONS = NO
113GENERATE_DOCSET = NO
114DOCSET_FEEDNAME = "Doxygen generated docs"
115DOCSET_BUNDLE_ID = org.doxygen.Project
116DOCSET_PUBLISHER_ID = org.doxygen.Publisher
117DOCSET_PUBLISHER_NAME = Publisher
118GENERATE_HTMLHELP = NO
119CHM_FILE =
120HHC_LOCATION =
121GENERATE_CHI = NO
122CHM_INDEX_ENCODING =
123BINARY_TOC = NO
124TOC_EXPAND = NO
125GENERATE_QHP = NO
126QCH_FILE =
127QHP_NAMESPACE = org.doxygen.Project
128QHP_VIRTUAL_FOLDER = doc
129QHP_CUST_FILTER_NAME =
130QHP_CUST_FILTER_ATTRS =
131QHP_SECT_FILTER_ATTRS =
132QHG_LOCATION =
133GENERATE_ECLIPSEHELP = NO
134ECLIPSE_DOC_ID = org.doxygen.Project
135DISABLE_INDEX = YES
136ENUM_VALUES_PER_LINE = 1
137GENERATE_TREEVIEW = NO
138TREEVIEW_WIDTH = 250
139EXT_LINKS_IN_WINDOW = NO
140FORMULA_FONTSIZE = 10
141FORMULA_TRANSPARENT = YES
142SEARCHENGINE = NO
143SERVER_BASED_SEARCH = NO
144GENERATE_LATEX = YES
145LATEX_OUTPUT = latex
146LATEX_CMD_NAME = latex
147MAKEINDEX_CMD_NAME = makeindex
148COMPACT_LATEX = NO
149PAPER_TYPE = a4wide
150EXTRA_PACKAGES =
151LATEX_HEADER =
152PDF_HYPERLINKS = YES
153USE_PDFLATEX = NO
154LATEX_BATCHMODE = NO
155LATEX_HIDE_INDICES = NO
156LATEX_SOURCE_CODE = NO
157GENERATE_RTF = NO
158RTF_OUTPUT = rtf
159COMPACT_RTF = NO
160RTF_HYPERLINKS = NO
161RTF_STYLESHEET_FILE =
162RTF_EXTENSIONS_FILE =
163GENERATE_MAN = YES
164MAN_OUTPUT = man
165MAN_EXTENSION = .3
166MAN_LINKS = YES
167GENERATE_XML = NO
168XML_OUTPUT = xml
169XML_SCHEMA =
170XML_DTD =
171XML_PROGRAMLISTING = YES
172GENERATE_AUTOGEN_DEF = NO
173GENERATE_PERLMOD = NO
174PERLMOD_LATEX = NO
175PERLMOD_PRETTY = YES
176PERLMOD_MAKEVAR_PREFIX =
177ENABLE_PREPROCESSING = YES
178MACRO_EXPANSION = YES
179EXPAND_ONLY_PREDEF = YES
180SEARCH_INCLUDES = NO
181INCLUDE_PATH =
182INCLUDE_FILE_PATTERNS =
183PREDEFINED = __UNUSED__=
184EXPAND_AS_DEFINED =
185SKIP_FUNCTION_MACROS = YES
186TAGFILES =
187GENERATE_TAGFILE =
188ALLEXTERNALS = NO
189EXTERNAL_GROUPS = YES
190PERL_PATH = /usr/bin/perl
191CLASS_DIAGRAMS = NO
192MSCGEN_PATH =
193HIDE_UNDOC_RELATIONS = YES
194HAVE_DOT = NO
195DOT_NUM_THREADS = 0
196DOT_FONTNAME = FreeSans.ttf
197DOT_FONTSIZE = 10
198DOT_FONTPATH =
199CLASS_GRAPH = NO
200COLLABORATION_GRAPH = NO
201GROUP_GRAPHS = YES
202UML_LOOK = NO
203TEMPLATE_RELATIONS = NO
204INCLUDE_GRAPH = NO
205INCLUDED_BY_GRAPH = NO
206CALL_GRAPH = NO
207CALLER_GRAPH = NO
208GRAPHICAL_HIERARCHY = NO
209DIRECTORY_GRAPH = YES
210DOT_IMAGE_FORMAT = png
211DOT_PATH =
212DOTFILE_DIRS =
213DOT_GRAPH_MAX_NODES = 50
214MAX_DOT_GRAPH_DEPTH = 0
215DOT_TRANSPARENT = NO
216DOT_MULTI_TARGETS = NO
217GENERATE_LEGEND = YES
218DOT_CLEANUP = YES
diff --git a/legacy/ecore/doc/Makefile.am b/legacy/ecore/doc/Makefile.am
deleted file mode 100644
index 8bffa14447..0000000000
--- a/legacy/ecore/doc/Makefile.am
+++ /dev/null
@@ -1,33 +0,0 @@
1MAINTAINERCLEANFILES = Makefile.in ecore.dox
2
3.PHONY: doc
4
5PACKAGE_DOCNAME = $(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-doc
6
7if EFL_BUILD_DOC
8
9doc-clean:
10 rm -rf html/ latex/ man/ xml/ $(top_builddir)/$(PACKAGE_DOCNAME).tar*
11
12doc: all doc-clean
13 $(efl_doxygen)
14 cp $(srcdir)/img/* html/
15 cp $(srcdir)/img/* latex/
16 rm -rf $(PACKAGE_DOCNAME).tar*
17 mkdir -p $(PACKAGE_DOCNAME)/doc
18 cp -R html/ latex/ man/ $(PACKAGE_DOCNAME)/doc
19 tar cf $(PACKAGE_DOCNAME).tar $(PACKAGE_DOCNAME)/
20 bzip2 -9 $(PACKAGE_DOCNAME).tar
21 rm -rf $(PACKAGE_DOCNAME)/
22 mv $(PACKAGE_DOCNAME).tar.bz2 $(top_builddir)
23
24clean-local: doc-clean
25
26else
27
28doc:
29 @echo "Documentation not built. Run ./configure --help"
30
31endif
32
33EXTRA_DIST = Doxyfile.in $(wildcard img/*.*) e.css head.html foot.html ecore.dox.in examples.dox
diff --git a/legacy/ecore/doc/examples.dox b/legacy/ecore/doc/examples.dox
deleted file mode 100644
index cc7ec9d0d5..0000000000
--- a/legacy/ecore/doc/examples.dox
+++ /dev/null
@@ -1,1692 +0,0 @@
1/**
2 * @page Examples Examples
3 *
4 * Here is a page with some Ecore examples explained:
5 *
6 * @li @ref ecore_time_functions_example_c
7 * @li @ref ecore_timer_example_c
8 * @li @ref ecore_idler_example_c
9 * @li @ref ecore_job_example_c
10 * @li @ref ecore_event_example_01_c
11 * @li @ref ecore_event_example_02_c
12 * @li @ref ecore_fd_handler_example_c
13 * @li @ref ecore_poller_example_c
14 * @li @ref ecore_con_lookup_example_c
15 * @li @ref ecore_con_url_download_example_c
16 * @li @ref ecore_con_server_simple_example_c
17 * @li @ref ecore_con_client_simple_example_c
18 * @li @ref ecore_evas_callbacks_example_c
19 * @li @ref ecore_evas_object_example_c
20 * @li @ref ecore_evas_basics_example_c
21 * @li @ref Ecore_Evas_Window_Sizes_Example_c
22 * @li @ref Ecore_Evas_Buffer_Example_01_c
23 * @li @ref Ecore_Evas_Buffer_Example_02_c
24 * @li @ref Ecore_exe_simple_example_c
25 * @li @ref ecore_imf_example_c
26 */
27
28/**
29 * @page ecore_time_functions_example_c ecore_time - Differences between time functions
30 *
31 * This example shows the difference between calling ecore_time_get(),
32 * ecore_loop_time_get() and ecore_time_unix_get().
33 *
34 * It initializes ecore, then sets a timer with a callback that, when called,
35 * will retrieve the system time using these 3 different functions. After
36 * displaying the time, it sleeps for 1 second, then call display the time
37 * again using the 3 functions.
38 *
39 * Since everything occurs inside the same main loop iteration, the internal
40 * ecore time variable will not be updated, and calling ecore_loop_time_get()
41 * before and after the sleep() call will return the same result.
42 *
43 * The two other functions will return a difference of 1 second, as expected.
44 * But ecore_time_unix_get() returns the number of seconds since 00:00:00 1st
45 * January 1970, while ecore_time_get() will return the time since a
46 * unspecified point, but that never goes back in time, even when the timezone
47 * of the machine changes.
48 *
49 * @note The usage of ecore_loop_time_get() should be preferred against the
50 * two other functions, for most time calculations, since it won't produce a
51 * system call to get the current time. Use ecore_time_unix_get() when you need
52 * to know the current time and date, and ecore_time_get() when you need a
53 * monotonic and more precise time than ecore_loop_time_get().
54 *
55 * @include ecore_time_functions_example.c
56 */
57
58/**
59 * @page ecore_timer_example_c ecore timers - Scheduled events
60 * @dontinclude ecore_timer_example.c
61 *
62 * This example shows how to setup timer callbacks. It starts a timer that will
63 * tick (expire) every 1 second, and then setup other timers that will expire
64 * only once, but each of them will affect the first timer still executing with
65 * a different API, to demonstrate its usage. To see the full code for this
66 * example, click @ref ecore_timer_example.c "here".
67 *
68 * To demonstrate this, let's define some constants that will determine at which
69 * time each timer will expire:
70 *
71 * @until INTERVAL1
72 *
73 * These constants should tell by themselves what will be the behavior of the
74 * program, but I'll explain it anyway. The first timer is set to tick every 1
75 * second, but all the other timers until the 6th one will be started
76 * concurrently at the beginning of the program. Each of them will expire at the
77 * specified time in these constants:
78 *
79 * @li The timer2, after 3 seconds of the program being executed, will add a delay
80 * of 3 seconds to timer1;
81 * @li The timer3 will pause timer1 at 8.2 seconds;
82 * @li timer4 will resume timer1 at 11.0 seconds;
83 * @li timer5 will will change the interval of timer1 to 2 seconds;
84 * @li timer6 will stop timer1 and start timer7 and timer8, with 1.1 and 1.2
85 * seconds of interval, respectively; it also sets the precision to 0.2 seconds;
86 * @li timer7 and timer8 will just print their expiration time.
87 *
88 * @until ecore_time_get
89 * @until }
90 *
91 * As almost all the other examples, we create a context structure to pass to
92 * our callbacks, so they can have access to the other timers. We also store the
93 * time of the program start in @c _initial_time, and use the function
94 * @c _get_current_time to retrieve the current time relative to that time. This
95 * will help demonstrate what is going on.
96 *
97 * Now, the behavior and relationship between the timers that was described
98 * above is dictated by the following timer callbacks:
99 *
100 * @until _timer6_cb
101 * @until }
102 *
103 * It's possible to see the same behavior as other Ecore callbacks here,
104 * returning @ref ECORE_CALLBACK_RENEW when the timer needs to continue ticking,
105 * and @ref ECORE_CALLBACK_CANCEL when it needs to stop its execution. Also
106 * notice that later on our program we are checking for the timers pointers in
107 * the context to see if they are still executing before deleting them, so we
108 * need to set these timer pointers to @c NULL when we are returning @ref
109 * ECORE_CALLBACK_CANCEL. Otherwise the pointer would still be not @c NULL, but
110 * pointing to something that is invalid, since the timer would have already
111 * expired without renewing.
112 *
113 * Now the main code, which will start the timers:
114 *
115 * @until ecore_shutdown
116 * @until }
117 *
118 * This code is very simple. Just after starting the library, it will save the
119 * current time to @c _initial_time, start all timers from 1 to 6, and begin the
120 * main loop. Everything should be running right now, displaying the time which
121 * each timer is expiring, and what it is doing to affect the other timers.
122 *
123 * After returning from the main loop, every timer is checked to see if it's
124 * still alive and, in that case, deleted, before finalizing the library. This
125 * is not really necessary, since ecore_shutdown() will already delete them for
126 * you, but it's good practice if you have other things going on after this
127 * point that could restart the main loop.
128 *
129 */
130
131/**
132 * @page ecore_idler_example_c ecore idle state - Idlers, enterers and exiters
133 *
134 * This example demonstrates how to manage the idle state of the main loop. Once
135 * a program knows that the main loop is going to enter in idle state, it could
136 * start doing some processing until getting out of this state.
137 *
138 * To exemplify this, we also add events and a timer to this program, so we can
139 * see the idle exiter callback being called before processing the event and/or
140 * timer, the event/timer callback being called (processed), then the idle
141 * enterer being called before entering in idle state again. Once in idle, the
142 * main loop keeps calling the idler callback continuously until a new event or
143 * timer is received.
144 *
145 * First, we declare a struct that will be used as context to be passed to
146 * every callback. It's not useful everywhere, since this example is very
147 * simple and doesn't do anything other than printing messages, but using this
148 * context will make it a little bit more real. Our context will be used to
149 * delete the timer, idler, idle enterer and exiter, and the event handler, and
150 * also to count how many times the idler was called.
151 *
152 * Then we start declaring callbacks for the idle enterer, idle exiter and the
153 * idler itself. Idle enterer and exiter callbacks just print a message saying
154 * that they were called, while the idler, in addition to printing a message
155 * too, also sends an event every 10 times that it is called, incrementing the
156 * context count variable. This event will be used to make the main loop exit
157 * the idle state and call the event callback.
158 *
159 * These callbacks return @ref ECORE_CALLBACK_RENEW, since we want them to keep
160 * being called every time the main loop changes to/from idle state. Otherwise,
161 * if we didn't want them to be called again, they should return @ref
162 * ECORE_CALLBACK_CANCEL.
163 *
164 * The next function declared is the event callback @c _event_handler_cb. It
165 * will check if the idler was called more than 100 times already @c
166 * (ctxt->count > 100), and will delete the idler, idle enterer and exiter, the
167 * timer (if it still exists), and request that the main loop stop running. Then
168 * it returns @ref ECORE_CALLBACK_DONE to indicate that the event shouldn't be
169 * handled by any other callback.
170 *
171 * Finally, we add a callback to the timer, that will just print a message when
172 * it is called, and this will happen only once (@ref ECORE_CALLBACK_CANCEL is
173 * being returned). This timer callback is just here to show that the main loop
174 * gets out of idle state when processing timers too.
175 *
176 * The @b main function is simple, just creates a new type of event that we will
177 * use to demonstrate the event handling together with the idle state, adds the
178 * callbacks that we declared so far, fill the context struct, and starts
179 * running the main loop.
180 *
181 * @note We use timer and event callbacks to demonstrate the idle state
182 * changing, but it also happens for file descriptor handlers, pipe handlers,
183 * etc.
184 *
185 * @include ecore_idler_example.c
186 */
187
188/**
189 * @page ecore_job_example_c ecore_job - Queuing tasks
190 *
191 * This example shows how an @ref Ecore_Job can be added, how it can be
192 * deleted, and that they always execute in the added order.
193 *
194 * First, 2 callback functions are declared, one that prints strings passed to
195 * it in the @c data pointer, and another one that quits the main loop. In the
196 * @c main function, 3 jobs are added using the first callback, and another one
197 * is added using the second one.
198 *
199 * Then the second added job is deleted just to demonstrate the usage of
200 * ecore_job_del(), and the main loop is finally started. Run this example to
201 * see that @c job1, @c job3 and @c job_quit are ran, in this order.
202 *
203 * @include ecore_job_example.c
204 */
205
206/**
207 * @page ecore_event_example_01_c Handling events example
208 * This example shows the simplest possible way to register a handler for an
209 * ecore event, this way we can focus on the important aspects. The example will
210 * start the main loop and quit it when it receives the ECORE_EVENT_SIGNAL_EXIT
211 * event. This event is triggered by a SIGTERM(pressing ctrl+c).
212 *
213 * So let's start with the function we want called when we receive the event,
214 * instead of just stopping the main loop we'll also print a message, that's
215 * just so it's clear that it got called:
216 * @dontinclude ecore_event_example_01.c
217 * @skip static
218 * @until }
219 * @note We return ECORE_CALLBACK_DONE because we don't want any other handlers
220 * for this event to be called, the program is quitting after all.
221 *
222 * We then have our main function and the obligatory initialization of ecore:
223 * @until ecore_init
224 *
225 * We then get to the one line of our example that makes everything work, the
226 * registering of the callback:
227 * @until handler_add
228 * @note The @c NULL there is because there is no need to pass data to the
229 * callback.
230 *
231 * And the all that is left to do is start the main loop:
232 * @until }
233 *
234 * Full source code for this example: @ref ecore_event_example_01.c.
235 */
236
237/**
238 * @page ecore_event_example_02_c ecore events and handlers - Setup and use
239 * This example shows how to create a new type of event, setup some event
240 * handlers to it, fire the event and have the callbacks called. After
241 * finishing, we delete the event handlers so no memory will leak.
242 *
243 * See the full source code for this example @ref ecore_event_example_02.c
244 * "here".
245 *
246 * Let's start the example from the beginning:
247 *
248 * @dontinclude ecore_event_example_02.c
249 * @until _event_type
250 *
251 * First thing is to declare a struct that will be passed as context to the
252 * event handlers. In this structure we will store the event handler pointers,
253 * and two strings that will be used by the first event handler. We also will
254 * use a global integer to store the event type used for our event. It is
255 * initialized with 0 in the beginning because the event wasn't created yet.
256 * Later, in the main function we will use ecore_event_type_new() to associate
257 * another value to it. Now the event handler callbacks:
258 *
259 * @until }
260 *
261 * This is the first event handler callback. It prints the event data received
262 * by the event, and the data passed to this handler when it was added. Notice
263 * that this callback already knows that the event data is an integer pointer,
264 * and that the handler data is a string. It knows about the first one because
265 * this is based on the type of event that is going to be handled, and the
266 * second because it was passed to the ecore_event_handler_add() function when
267 * registering the event handler.
268 *
269 * Another interesting point about this callback is that it returns @ref
270 * ECORE_CALLBACK_DONE (0) if the event data is even, swallowing the event and
271 * don't allowing any other callback to be called after this one for this event.
272 * Otherwise it returns @ref ECORE_CALLBACK_PASS_ON, allowing the event to be
273 * handled by other event handlers registered for this event. This makes the
274 * second event handler be called just for "odd" events.
275 *
276 * @until ECORE_CALLBACK_DONE
277 * @until }
278 *
279 * The second event handler will check if the event data is equal to 5, and if
280 * that's the case, it will change the event handler data of the first event
281 * handler to another string. Then it checks if the event data is higher than
282 * 10, and if so, it will request the main loop to quit.
283 *
284 * An interesting point of this example is that although the second event
285 * handler requests the main loop to finish after the 11th event being received,
286 * it will process all the events that were already fired, and call their
287 * respective event handlers, before the main loop stops. If we didn't want
288 * these event handlers to be called after the 11th event, we would need to
289 * unregister them with ecore_event_handler_del() at this point.
290 *
291 * Now some basic initialization of the context, and the Ecore library itself:
292 *
293 * @until type_new
294 *
295 * This last line is interesting. It creates a new type of event and returns a
296 * unique ID for this event inside Ecore. This ID can be used anywhere else in
297 * your program to reference this specific type of event, and to add callbacks
298 * to it.
299 *
300 * It's common if you are implementing a library that declares new types of
301 * events to export their respective types as extern in the header files. This
302 * way, when the library is initialized and the new type is created, it will be
303 * available through the header file to an application using it add some
304 * callbacks to it. Since our example is self-contained, we are just putting it
305 * as a global variable.
306 *
307 * Now we add some callbacks:
308 *
309 * @until ctxt);
310 *
311 * This is very simple. Just need to call ecore_event_handler_add() with the
312 * respective event type, the callback function to be called, and a data pointer
313 * that will be passed to the callback when it is called by the event.
314 *
315 * Then we start firing events:
316 *
317 * @until }
318 *
319 * This @c for will fire 16 events of this type. Notice that the events will be
320 * fired consecutively, but any callback will be called yet. They are just
321 * called by the main loop, and since it wasn't even started, nothing happens
322 * yet. For each event fired, we allocate an integer that will hold the number
323 * of the event (we are arbitrarily creating these numbers just for
324 * demonstration purposes). It's up to the event creator to decide which type of
325 * information it wants to give to the event handler, and the event handler must
326 * know what is the event info structure for that type of event.
327 *
328 * Since we are not allocating any complex structure, just a simple integer, we
329 * don't need to pass any special free function to ecore_event_add(), and it
330 * will use a simple @c free on our data. That's the default behavior.
331 *
332 * Now finishing our example:
333 *
334 * @until }
335 *
336 * We just start the main loop and watch things happen, waiting to shutdown
337 * Ecore when the main loop exits and return.
338 */
339
340/**
341 * @page ecore_fd_handler_example_c ecore fd handlers - Monitoring file descriptors
342 * @dontinclude ecore_fd_handler_example.c
343 *
344 * This is a very simple example where we will start monitoring the stdin of the
345 * program and, whenever there's something to be read, we call our callback that
346 * will read it.
347 *
348 * Check the full code for this example @ref ecore_fd_handler_example.c "here".
349 *
350 * This seems to be stupid, since a similar result could be achieved by the
351 * following code:
352 *
353 * @code
354 * while (nbytes = read(STDIN_FILENO, buf, sizeof(buf)))
355 * {
356 * buf[nbytes - 1] = '\0';
357 * printf("Read %zd bytes from input: \"%s\"\n", nbytes - 1, buf);
358 * }
359 * @endcode
360 *
361 * However, the above code is blocking, and won't allow you to do anything else
362 * other than reading the input. Of course there are other methods to do a
363 * non-blocking reading, like setting the file descriptor to non-blocking and
364 * keep looping always checking if there's something to be read, and do other
365 * things otherwise. Or use a @c select call to watch for more than one file
366 * descriptor at the same time.
367 *
368 * The advantage of using an @ref Ecore_Fd_Handler is that you can monitor a
369 * file descriptor, while still iterating on the Ecore main loop. It will allow
370 * you to have timers working and expiring, events still being processed when
371 * received, idlers doing its work when there's nothing happening, and whenever
372 * there's something to be read from the file descriptor, your callback will be
373 * called. And it's everything monitored in the same main loop, no threads are
374 * needed, thus reducing the complexity of the program and any overhead caused
375 * by the use of threads.
376 *
377 * Now let's start our program. First we just declare a context structure that
378 * will be passed to our callback, with pointers to our handler and to a timer
379 * that will be used later:
380 *
381 * @until };
382 *
383 * Then we will declare a prepare_callback that is called before any fd_handler
384 * set in the program, and before the main loop select function is called. Just
385 * use one if you really know that you need it. We are just putting it here to
386 * exemplify its usage:
387 *
388 * @until }
389 *
390 * Now, our fd handler. In its arguments, the @c data pointer will have any data
391 * passed to it when it was registered, and the @c handler pointer will contain
392 * the fd handler returned by the ecore_main_fd_handler_add() call. It can be
393 * used, for example, to retrieve which file descriptor triggered this callback,
394 * since it could be added to more than one file descriptor, or to check what
395 * type of activity there's in the file descriptor.
396 *
397 * The code is very simple: we first check if the type of activity was an error.
398 * It probably won't happen with the default input, but could be the case of a
399 * network socket detecting a disconnection. Next, we get the file descriptor
400 * from this handler (as said before, the callback could be added to more than
401 * one file descriptor), and read it since we know that it shouldn't block,
402 * because our fd handler told us that there's some activity on it. If the
403 * result of the read was 0 bytes, we know that it's an end of file (EOF), so we
404 * can finish reading the input. Otherwise we just print the content read from
405 * it:
406 *
407 * @until }
408 *
409 * Also notice that this callback returns @ref ECORE_CALLBACK_RENEW to keep
410 * being called, as almost all other Ecore callbacks, otherwise if it returns
411 * @ref ECORE_CALLBACK_CANCEL then the file handler would be deleted.
412 *
413 * Just to demonstrate that our program isn't blocking in the input read but
414 * still can process other Ecore events, we are going to setup an @ref
415 * Ecore_Timer. This is its callback:
416 *
417 * @until }
418 *
419 * Now in the main code we are going to initialize the library, and setup
420 * callbacks for the file descriptor, the prepare callback, and the timer:
421 *
422 * @until timer_add
423 *
424 * Notice that the use of ecore_main_fd_handler_add() specifies what kind of
425 * activity we are monitoring. In this case, we want to monitor for read (since
426 * it's the standard input) and for errors. This is done by the flags @ref
427 * ECORE_FD_READ and @ref ECORE_FD_ERROR. For the three callbacks we are also
428 * giving a pointer to our context structure, which has pointers to the handlers
429 * added.
430 *
431 * Then we can start the main loop and see everything happening:
432 *
433 * @until }
434 *
435 * In the end we are just deleting the fd handler and the timer to demonstrate
436 * the API usage, since Ecore would already do it for us on its shutdown.
437 */
438
439/**
440 * @page ecore_poller_example_c ecore poller - Repetitive polling tasks
441 * @dontinclude ecore_poller_example.c
442 *
443 * This example show how to setup, and explains how an @ref Ecore_Poller is
444 * called. You can @ref ecore_poller_example.c "see the full source code here".
445 *
446 * In this example we store the initial time of the program just to use as
447 * comparison to the time when the poller callbacks are called. It will be
448 * stored in @c _initial_time :
449 *
450 * @until initial_time
451 *
452 * Then next step is to define the poller callback. This callback assumes that a
453 * @c data pointer is passed to it on creation, and is a string just used to
454 * identify the poller. The callback prints this string and the time since the
455 * program started, and returns @ref ECORE_CALLBACK_RENEW to keep being called.
456 *
457 * @until }
458 *
459 * Now in the main function we initialize Ecore, and save the initial time of
460 * the program, so we can compare it later with the time that the pollers are
461 * being called:
462 *
463 * @until initial_time
464 *
465 * Then we change the poll interval to 0.3 seconds (the default is 0.125
466 * seconds) just to show the API usage.
467 *
468 * Finally, we create two pollers, one that will be called every 4 ticks, and
469 * another one that will be called every 8 ticks. This means the the first
470 * poller interval will be around 1.2 seconds, and the second one will be
471 * around 2.4 seconds. But the most important point is: since the second poller
472 * interval is a multiple of the first one, they will be always synchronized.
473 * Ecore calls pollers that are in the "same tick" together. It doesn't go back
474 * to the main loop and check if there's another poller to execute at this
475 * time, but instead it calls all the pollers registered to this "tick" at the
476 * same time. See the description of ecore_poller_add() for more details. This
477 * is easy to see in the time printed by both of them.
478 *
479 * If instead of two synchronized pollers, we were using two different timers,
480 * one with interval of 1.2 seconds and another one with an interval of 2.4
481 * seconds, there would be no guarantee that they would be totally in sync. Some
482 * delay in the execution of another task, or even in the task called in the
483 * callback, could make them get out of sync, forcing Ecore's main loop to wake
484 * up more than necessary.
485 *
486 * Well, this is the code that create these two pollers and set the poll
487 * interval, then starts the main loop:
488 *
489 * @until ecore_main_loop_begin
490 *
491 * If you hit CTRL-C during the execution of the program, the main loop will
492 * quit, since there are some signal handlers already set by default to do this.
493 * So after the main loop begin call, we change the second poller's interval to
494 * 16 ticks, so it will happen each 4.8 seconds (or each 4 times that the first
495 * poller is called).
496 *
497 * This means: the program is started, the first poller is called each 4 ticks
498 * and the second is called each 8 ticks. After CTRL-C is used, the second
499 * poller will be called each 16 ticks.
500 *
501 * @until }
502 *
503 * The rest of the program is just deleting the pollers and shutting down the
504 * library.
505 */
506
507/**
508 * @page ecore_con_lookup_example_c Ecore_Con - DNS lookup
509 *
510 * This is a very simple example that shows how to make a simple DNS lookup
511 * using ecore_con_lookup().
512 *
513 * It's possible to see in the beginning of the main function that we are using
514 * the arguments passed via command line. This is the address that we are going
515 * to make the DNS lookup on.
516 *
517 * The next step is to initialize the libraries, and just call
518 * ecore_con_lookup(). This function will get the string that contains the
519 * address to be resolved as first parameter, then a callback that will be
520 * called when the resolve stage is done, and finally a data pointer that will
521 * be passed to the callback.
522 *
523 * This function is asynchronous, and the callback will be called only on
524 * success. If there was an error during the resolve stage, there's no way to
525 * know about that. It's only possible to know about errors when setting up the
526 * lookup, by looking at the return code of the ecore_con_lookup() function.
527 *
528 * The callback @c _lookup_done_cb passed as argument to ecore_con_lookup() just
529 * prints the resolved canonical name, IP, address of the sockaddr structure,
530 * and the length of the socket address (in bytes).
531 *
532 * Finally, we start the main loop, and after that we finalize the libraries and
533 * exit.
534 *
535 * This is the code for this simple example:
536 *
537 * @include ecore_con_lookup_example.c
538 */
539
540/**
541 * @page ecore_con_url_download_example_c Ecore_Con_Url - downloading a file
542 *
543 * This is a simple example that shows how to download a file using @ref
544 * Ecore_Con_Url. The full source code for this example can be found at @ref
545 * ecore_con_url_download_example.c.
546 *
547 * First we are setting some callbacks for events that will be sent when data
548 * arrives in our connection (the data is the content of the file being
549 * downloaded), and when the download is completed. The @c _url_progress_cb and
550 * @c _url_complete_cb are these callbacks:
551 *
552 * @dontinclude ecore_con_url_download_example.c
553 * @skip struct
554 * @until main_loop_quit
555 * @until }
556 *
557 * Notice that we also declared a struct that will hold how many bytes were
558 * downloaded through this object. It will be set in the @c main function using
559 * ecore_con_url_data_set().
560 *
561 * In the next step, on the @c main function, we open a file where we are going
562 * to save the content being downloaded:
563 *
564 * @until open(
565 * @until }
566 *
567 * With the file successfully open, let's create our @ref Ecore_Con_Url object.
568 * For this, we initialize the libraries and create the object:
569 *
570 * @until }
571 *
572 * Then we allocate and set the data struct to the connection object, and set a
573 * file descriptor from our previously open file to it. We also add the event
574 * handlers (callbacks) to the events that will be emitted on data being
575 * received and download complete:
576 *
577 * @until complete_cb
578 *
579 * Finally we start our request, and run the main loop:
580 *
581 * @until return 0
582 * @until }
583 *
584 * The rest of this code was just freeing resources, with some labels to be used
585 * for error handling.
586 */
587
588/**
589 * @page ecore_con_url_cookies_example_c Ecore_Con_Url - Managing cookies
590 *
591 * This example shows how to use an @ref Ecore_Con_Url and enable it to
592 * receive/send cookies. These cookies can be set by the server, saved to a
593 * file, loaded later from this file and sent again to the server. The complete
594 * example can be found at @ref ecore_con_url_cookies_example.c
595 * "ecore_con_url_cookies_example.c"
596 *
597 * First we are setting some callbacks for events that will be sent when data
598 * arrives in our connection (the data is the content of the file being
599 * downloaded), and when the download is completed. The @c _url_data_cb and
600 * @c _url_complete_cb are these callbacks:
601 *
602 * @dontinclude ecore_con_url_download_example.c
603 * @skip Eina_Bool
604 * @until main_loop_quit
605 * @until }
606 *
607 * In the @c main function we parse some parameter from the command line. These
608 * parameters are the url that we are