remove xcb support in ecore_x and evas engines as per mailing list
[platform/upstream/efl.git] / configure.ac
1 EFL_VERSION([1], [18], [99], [dev])
2 AC_INIT([efl], [efl_version], [enlightenment-devel@lists.sourceforge.net])
3
4 AC_PREREQ([2.60])
5 AC_CONFIG_SRCDIR([configure.ac])
6 AC_CONFIG_MACRO_DIR([m4])
7
8 AC_CONFIG_HEADERS([config.h])
9 AH_TOP([
10 #ifndef EFL_CONFIG_H__
11 #define EFL_CONFIG_H__
12 ])
13 AH_BOTTOM([
14 #endif /* EFL_CONFIG_H__ */
15 ])
16
17
18 AM_INIT_AUTOMAKE([1.6 dist-xz -Wall color-tests subdir-objects])
19 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
20
21 # Due to a bug in automake 1.14 we need to use this after AM_INIT_AUTOMAKE
22 # http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15981
23 AC_USE_SYSTEM_EXTENSIONS
24
25 CFOPT_WARNING=""
26
27 #### Apply configuring with legacy api's only, eo api's or both.
28
29 EFL_API_LEGACY_DEF="#define EFL_NOLEGACY_API_SUPPORT"
30 EFL_API_EO_DEF="#define EFL_EO_API_SUPPORT"
31 efl_api="both"
32
33 #### For the moment the Eo EFL API is not ready you need to explicitly optin.
34 EFL_ENABLE_EO_API_SUPPORT
35 EFL_ENABLE_BETA_API_SUPPORT
36
37 AC_ARG_WITH([api],
38    [AS_HELP_STRING([--with-api=@<:@eo/legacy/both@:>@],[Select the EFL API Model @<:@default=both@:>@])],
39    [efl_api=${withval}],
40    [efl_api="both"])
41
42 case "$efl_api" in
43     eo)
44         EFL_API_LEGACY_DEF="#define EFL_NOLEGACY_API_SUPPORT"
45         EFL_API_EO_DEF="#define EFL_EO_API_SUPPORT"
46         CFOPT_WARNING="xyes"
47         ;;
48     legacy)
49         EFL_API_LEGACY_DEF=""
50         EFL_API_EO_DEF=""
51         ;;
52     both)
53         EFL_API_LEGACY_DEF=""
54         EFL_API_EO_DEF="#define EFL_EO_API_SUPPORT"
55         ;;
56     *) AC_MSG_ERROR([Invalid api (${efl_api}): must be eo, legacy or both]) ;;
57 esac
58
59 AC_SUBST(EFL_API_LEGACY_DEF)
60 AC_SUBST(EFL_API_EO_DEF)
61
62 #### Additional options to configure
63
64 # string to identify the build
65 AC_ARG_WITH([id],
66    [AS_HELP_STRING([--with-id=BUILD_ID],[Specify a string to identify the build (vendor, maintainer, etc).
67                      @<:@default=none@:>@])],
68    [EFL_BUILD_ID="${withval}"],
69    [EFL_BUILD_ID="none"])
70 AC_SUBST(EFL_BUILD_ID)
71
72 # profile
73 AC_ARG_WITH([profile],
74    [AS_HELP_STRING([--with-profile=PROFILE],[use the predefined build profile, one of: dev, debug and release.
75                     @<:@default=dev@:>@])],
76    [build_profile=${withval}],
77    [build_profile=def_build_profile])
78
79 case "${build_profile}" in
80    dev|debug|release)
81      ;;
82    *)
83      AC_MSG_ERROR([Unknown build profile --with-profile=${build_profile}])
84      ;;
85 esac
86
87 prefer_assert="no"
88 eina_log_backtrace="yes"
89 case "${build_profile}" in
90    dev|debug)
91      prefer_assert="yes"
92      eina_log_backtrace="no"
93      ;;
94 esac
95
96 # Enable CRI & ERR backtrace by default for release but not for dev/debug
97 AC_DEFINE_IF([EINA_LOG_BACKTRACE_ENABLE], [test "x${eina_log_backtrace}" = "xyes"], [1], [Default log level triggering backtraces])
98
99 # TODO: add some build "profile" (server, full, etc...)
100
101 AC_ARG_WITH([crypto],
102    [AS_HELP_STRING([--with-crypto=CRYPTO],[use the predefined build crypto, one of:
103                     openssl, gnutls or none.
104                     @<:@default=openssl@:>@])],
105    [build_crypto=${withval}],
106    [build_crypto=openssl])
107
108 case "${build_crypto}" in
109    openssl|gnutls|none)
110      ;;
111    *)
112      AC_MSG_ERROR([Unknown build crypto option: --with-crypto=${build_crypto}])
113      ;;
114 esac
115
116 AC_ARG_WITH([tests],
117    [AS_HELP_STRING([--with-tests=none|regular|coverage],[choose testing method: regular, coverage or none.
118                     @<:@default=none@:>@])],
119    [build_tests=${withval}],
120    [build_tests=auto])
121
122 want_coverage="no"
123 want_tests="no"
124 case "${build_tests}" in
125    auto)
126      if test "${build_profile}" = "dev"; then
127         want_tests="yes"
128      fi
129      ;;
130    regular)
131      want_tests="yes"
132      ;;
133    coverage)
134      want_tests="yes"
135      want_coverage="yes"
136      ;;
137    no*)
138      ;;
139    *)
140      AC_MSG_ERROR([Unknown build tests option: --with-tests=${build_tests}])
141      ;;
142 esac
143
144 AC_ARG_WITH([ecore-con-http-test-url],
145    [AS_HELP_STRING([--with-ecore-con-http-test-url=http://username:password@example.com],[Url of http server for testing with username and password])],[ECORE_CON_HTTP_TEST_URL=${withval}][AC_DEFINE_UNQUOTED([ECORE_CON_HTTP_TEST_URL],["$withval"],[Http url for testing])])
146
147 AC_ARG_WITH([ecore-con-ftp-test-url],
148    [AS_HELP_STRING([--with-ecore-con-ftp-test-url=ftp://username:password@ftp.example.com?file=filename&directory=dir],[Url of ftp server for testing with username, password, complete filepath for upload with optional directory])],[ECORE_CON_FTP_TEST_URL=${withval}][AC_DEFINE_UNQUOTED([ECORE_CON_FTP_TEST_URL],["$withval"],[Ftp url for testing])])
149
150 dbusservicedir="${datadir}/dbus-1/services"
151 AC_ARG_WITH([dbus-services],
152    [AS_HELP_STRING([--with-dbus-services=DBUS_SERVICES],[specify a directory to store dbus service files.])],
153    [dbusservicedir=$withval])
154 AC_SUBST(dbusservicedir)
155
156 efl_deprecated_option="no"
157 EFL_WITH_BIN([eet], [eet-eet])
158 EFL_WITH_BIN([edje], [edje-cc])
159 EFL_WITH_BIN([eolian], [eolian-gen])
160 EFL_WITH_BIN([eolian_cxx], [eolian-cxx])
161 EFL_WITH_BIN([eolian-js], [eolian-js])
162 EFL_WITH_BIN_SUFFIX([elua], [elua], [_bin])
163 EFL_WITH_BIN([eldbus], [eldbus_codegen])
164 EFL_WITH_BIN([elementary], [elementary-codegen])
165 EFL_WITH_BIN([elementary], [elm-prefs-cc])
166
167 #### Default values
168
169 requirements_pc_eflall=""
170 requirements_pc_deps_eflall=""
171 requirements_libs_eflall=""
172 requirements_cflags_eflall=""
173
174 requirements_pc_crypto=""
175 requirements_pc_deps_crypto=""
176 requirements_libs_crypto=""
177 requirements_cflags_crypto=""
178
179 AC_CANONICAL_HOST
180
181 # TODO: move me to m4 file that setups module/so related variables
182 case "$host_os" in
183    cegcc*|mingw32ce*)
184       AC_MSG_ERROR([ceGCC compiler is not supported anymore. Exiting...])
185    ;;
186    mingw*)
187       have_win32="yes"
188       have_windows="yes"
189       MODULE_ARCH="v-v_maj.v_min"
190       MODULE_EXT=".dll"
191    ;;
192    cygwin*)
193       MODULE_ARCH="v-v_maj.v_min"
194       MODULE_EXT=".dll"
195    ;;
196    *)
197       MODULE_ARCH="v-v_maj.v_min"
198       MODULE_EXT=".so"
199    ;;
200 esac
201
202 EFL_VERSION_MAJOR="v_maj"
203 EFL_VERSION_MINOR="v_min"
204 AC_SUBST(EFL_VERSION_MAJOR)
205 AC_SUBST(EFL_VERSION_MINOR)
206
207 ELM_UNIX_DEF="#undef"
208 ELM_WIN32_DEF="#undef"
209
210 have_systemd_pkg="no"
211 have_win32="no"
212 have_windows="no"
213 have_freebsd="no"
214 have_darwin="no"
215 have_linux="no"
216 have_ps3="no"
217 case "$host_os" in
218    mingw*|cygwin*)
219       # TODO: check cygwin* here
220       have_win32="yes"
221       have_windows="yes"
222       ELM_WIN32_DEF="#define"
223       EFLALL_CFLAGS="${EFLALL_CFLAGS} -D__USE_MINGW_ANSI_STDIO"
224    ;;
225    freebsd*)
226       have_freebsd="yes"
227       ELM_UNIX_DEF="#define"
228    ;;
229    darwin*)
230       have_darwin="yes"
231       ELM_UNIX_DEF="#define"
232    ;;
233    linux*)
234       have_linux="yes"
235       have_systemd_pkg="auto"
236       want_systemd="yes"
237       ELM_UNIX_DEF="#define"
238    ;;
239    *)
240       ELM_UNIX_DEF="#define"
241       ;;
242 esac
243
244 case "$host_vendor" in
245    ps3*)
246       have_ps3="yes"
247    ;;
248 esac
249
250 AC_SUBST([MODULE_ARCH])
251 AC_DEFINE_UNQUOTED([MODULE_ARCH], ["${MODULE_ARCH}"], ["Module architecture"])
252 AC_DEFINE_UNQUOTED([SHARED_LIB_SUFFIX], ["${MODULE_EXT}"], [Suffix for shared objects])
253 AC_DEFINE_UNQUOTED([EXEEXT], ["${EXEEXT}"], [Suffix for binary objects])
254
255 # TODO: move me to m4 file that setups the windows related variables
256 AM_CONDITIONAL([HAVE_WIN32], [test "x${have_win32}" = "xyes"])
257 AM_CONDITIONAL([HAVE_WINDOWS], [test "x${have_windows}" = "xyes"])
258 AM_CONDITIONAL([HAVE_PS3], [test "x${have_ps3}" = "xyes"])
259
260 AM_CONDITIONAL([HAVE_FREEBSD], [test "x${have_freebsd}" = "xyes"])
261 AM_CONDITIONAL([HAVE_OSX], [test "x${have_darwin}" = "xyes"])
262 AM_CONDITIONAL([HAVE_X86_64], [test "x${host_cpu}" = "xx86_64"])
263
264 AC_SUBST([ELM_UNIX_DEF])
265 AC_SUBST([ELM_WIN32_DEF])
266
267 #### Checks for programs
268
269 ### libtool
270
271 if test "x${have_windows}" = "xyes" ; then
272    lt_cv_deplibs_check_method='pass_all'
273 fi
274 m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
275 LT_INIT([win32-dll disable-static pic-only])
276 EFL_INIT
277
278 CXXFLAGS="${CXXFLAGS} -fPIC -DPIC"
279 LDFLAGS="${LDFLAGS} -fPIC -DPIC"
280
281 ### gettext
282
283 AM_GNU_GETTEXT_VERSION([0.18])
284
285 m4_ifdef([AC_GNU_GETTEXT], [
286 AC_GNU_GETTEXT([external])
287 po_makefile_in=po/Makefile.in
288 have_po="yes"
289 ],
290 [
291 m4_ifdef([AM_GNU_GETTEXT], [
292 AM_GNU_GETTEXT([external])
293 po_makefile_in=po/Makefile.in
294 have_po="yes"
295 ],
296 [
297 have_po="no"
298 ])
299 ])
300 AC_SUBST([LTLIBINTL])
301 LOCALE_DIR="${localedir}"
302 AC_SUBST(LOCALE_DIR)
303
304 if test "x${POSUB}" = "x" ; then
305    have_po="no"
306 fi
307
308 AM_CONDITIONAL([HAVE_PO], [test "x${have_po}" = "xyes"])
309
310 ### compilers
311
312 AC_PROG_MKDIR_P
313 AM_PROG_AS
314 AC_PROG_CXX
315 AC_PROG_OBJC
316 AC_LANG(C)
317 AC_PROG_CC_C99
318 AM_PROG_CC_C_O
319 AC_PROG_SED
320
321 AM_CONDITIONAL([BUILD_EFL_NATIVE], [test "x${cross_compiling}" = "xno"])
322
323 if test "x${ac_cv_prog_cc_c99}" = "xno" ; then
324    AC_MSG_ERROR([efl requires a c99-capable compiler])
325 fi
326 # We should be using ${CXX} here, but there is a bug in
327 # autotools macro and CXX is always set to g++ even if
328 # it's not found. So we are using an internal variable
329 # that does the work for now, may get broken in the future.
330 if test "x${ac_ct_CXX}" = "x" -a "x${CXX}" = "xg++"; then
331    AC_MSG_ERROR([efl requires a C++ compiler got ${ac_ct_CXX} and ${CXX}.])
332 fi
333
334 AC_SYS_LARGEFILE
335
336 # pkg-config
337
338 PKG_PROG_PKG_CONFIG
339 if test "x${PKG_CONFIG}" = "x" ; then
340    AC_MSG_ERROR([pkg-config tool not found. Install it or set PKG_CONFIG environment variable to that path tool. Exiting...])
341 fi
342
343 # doxygen program for documentation building
344
345 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
346
347 # lcov
348
349 if test "${want_coverage}" = "yes" ; then
350    AC_CHECK_PROG([have_lcov], [lcov], [yes], [no])
351    if test "x${have_lcov}" = "xyes" ; then
352       AC_SEARCH_LIBS([__gcov_init], [gcov])
353       EFL_CHECK_COMPILER_FLAGS([EFLALL], [-fprofile-arcs -ftest-coverage])
354       EFL_CHECK_COMPILER_FLAGS([EFLALL], [-fprofile-instr-generate -fcoverage-mapping])
355       EFL_CHECK_LINKER_FLAGS([EFLALL], [-fprofile-instr-generate -fcoverage-mapping])
356       if test "x${prefer_assert}" = "xno"; then
357          EFLALL_COV_CFLAGS="${EFLALL_COV_CFLAGS} -DNDEBUG"
358       else
359          EFLALL_COV_CFLAGS="${EFLALL_COV_CFLAGS} -g -O0"
360       fi
361    else
362       AC_MSG_ERROR([lcov is not found])
363    fi
364 fi
365
366 AM_CONDITIONAL([EFL_ENABLE_COVERAGE], [test "${want_coverage}" = "yes"])
367
368 #### Checks for libraries
369
370 # check unit testing library
371
372 if test "${want_tests}" = "yes"; then
373    PKG_CHECK_MODULES([CHECK], [check >= 0.9.5])
374 fi
375 AM_CONDITIONAL([EFL_ENABLE_TESTS], [test "${want_tests}" = "yes"])
376
377
378 # check for crypto/tls library to use
379 case "$build_crypto" in
380    gnutls)
381       EFL_DEPEND_PKG([crypto], [GNUTLS], [gnutls >= 2.12.16])
382
383       AM_PATH_LIBGCRYPT([], [:],
384          [AC_MSG_ERROR([libgcrypt required but not found])])
385       requirements_libs_crypto="${LIBGCRYPT_LIBS} ${requirements_libs_crypto}"
386       requirements_cflags_crypto="${LIBGCRYPT_CFLAGS} ${requirements_cflags_crypto}"
387       ;;
388
389    openssl)
390       EFL_DEPEND_PKG([crypto], [OPENSSL], [openssl])
391       ;;
392 esac
393 AM_CONDITIONAL([HAVE_CRYPTO_GNUTLS], [test "${build_crypto}" = "gnutls"])
394 AM_CONDITIONAL([HAVE_CRYPTO_OPENSSL], [test "${build_crypto}" = "openssl"])
395
396 # check for lua old
397 want_lua_old="no"
398 AC_ARG_ENABLE([lua-old],
399    [AS_HELP_STRING([--enable-lua-old],[Enable interpreted Lua support (5.1 or 5.2). @<:@default=disabled@:>@])],
400    [
401     if test "x${enableval}" = "xyes" ; then
402        want_lua_old="yes"
403     else
404        want_lua_old="no"
405     fi
406    ],
407    [want_lua_old="no"])
408
409 AM_CONDITIONAL([ENABLE_LUA_OLD], [test "${want_lua_old}" = "yes"])
410 AC_DEFINE_IF([ENABLE_LUA_OLD], [test "${want_lua_old}" = "yes"],
411   [1], [Use interpreted Lua (5.1 or 5.2)])
412 AC_SUBST([want_lua_old])
413
414
415 want_liblz4="no"
416 AC_ARG_ENABLE([liblz4],
417    [AS_HELP_STRING([--enable-liblz4],[Enable usage of liblz4 instead of our embedded copy. @<:@default=disabled@:>@])],
418    [
419     if test "x${enableval}" = "xyes" ; then
420         # Only ships pc file since r120
421         PKG_CHECK_MODULES([LIBLZ4], [liblz4])
422         EFL_DEPEND_PKG([EET], [LIBLZ4], [liblz4])
423         EFL_DEPEND_PKG([EVAS], [LIBLZ4], [liblz4])
424        want_liblz4="yes"
425     else
426        want_liblz4="no"
427     fi
428    ],
429    [want_liblz4="no"])
430
431 AM_CONDITIONAL([ENABLE_LIBLZ4], [test "${want_liblz4}" = "yes"])
432 AC_DEFINE_IF([ENABLE_LIBLZ4], [test "${want_liblz4}" = "yes"], [1], [Use liblz4 external library instead of embedded copy])
433 AC_SUBST([want_liblz4])
434 AC_SUBST([ENABLE_LIBLZ4])
435
436
437 want_vnc_server="no"
438 AC_ARG_ENABLE([vnc-server],
439    [AS_HELP_STRING([--enable-vnc-server],[Build Ecore_Evas VNC module. @<:@default=disabled@:>@])],
440    [
441     if test "x${enableval}" = "xyes" ; then
442        PKG_CHECK_MODULES([LIBVNCSERVER], [libvncserver])
443        want_vnc_server="yes"
444     else
445        want_vnc_server="no"
446     fi
447    ],
448    [want_vnc_server="no"])
449
450 #### Checks for header files
451
452 # Common Checks (keep names sorted for ease of use):
453 AC_HEADER_DIRENT
454 AC_HEADER_TIME
455
456 AC_CHECK_HEADERS([ \
457 execinfo.h \
458 mcheck.h \
459 sys/epoll.h \
460 sys/inotify.h \
461 sys/signalfd.h \
462 sys/types.h \
463 sys/param.h \
464 sys/mman.h \
465 netinet/in.h \
466 sys/auxv.h \
467 asm/hwcap.h \
468 ])
469
470 EFL_CHECK_PATH_MAX
471
472 #### Checks for defines in headers
473
474 EFL_CHECK_DEFINE(TCP_CORK, netinet/tcp.h)
475 EFL_CHECK_DEFINE(TCP_NOPUSH, netinet/tcp.h)
476 EFL_CHECK_DEFINE(UDP_CORK, netinet/udp.h)
477
478 #### Checks for types
479
480 # wchar_t
481 AC_CHECK_SIZEOF([wchar_t])
482 EINA_SIZEOF_WCHAR_T=$ac_cv_sizeof_wchar_t
483 AC_SUBST([EINA_SIZEOF_WCHAR_T])
484
485 AC_CHECK_SIZEOF(int, 4)
486 AC_CHECK_SIZEOF(long, 4)
487
488 AC_CHECK_SIZEOF([uintptr_t])
489 EINA_SIZEOF_UINTPTR_T=$ac_cv_sizeof_uintptr_t
490 AC_SUBST([EINA_SIZEOF_UINTPTR_T])
491
492 AC_CHECK_TYPES([siginfo_t], [], [],
493    [[
494 #include <signal.h>
495 #if HAVE_SIGINFO_H
496 # include <siginfo.h>
497 #endif
498    ]])
499
500 #### Checks for structures
501
502
503 #### Checks for compiler characteristics
504
505 AC_C_BIGENDIAN
506 AC_C_INLINE
507 EFL_CHECK_COMPILER_FLAGS([EFLALL], [-Wall -Wextra -Wpointer-arith -Wno-missing-field-initializers -fvisibility=hidden -fdata-sections -ffunction-sections])
508 EFL_CHECK_LINKER_FLAGS([EFLALL], [-fvisibility=hidden -fdata-sections -ffunction-sections -Wl,--gc-sections -fno-strict-aliasing -Wl,--as-needed -Wl,--no-copy-dt-needed-entries])
509 case "${build_profile}" in
510    dev)
511      dnl Check if compiler has a dodgy -Wshadow that emits errors when shadowing a global
512      AC_MSG_CHECKING([whether -Wshadow generates spurious warnings])
513      CFLAGS_save="${CFLAGS}"
514      CFLAGS="${CFLAGS} -Werror -Wshadow"
515      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[int x;]], [[int x = 0; (void)x;]])],[AC_MSG_RESULT([no])
516         EFL_CHECK_COMPILER_FLAGS([EFLALL], [-Wshadow])],[AC_MSG_RESULT([yes])])
517      CFLAGS="${CFLAGS_save}"
518      ;;
519
520    debug)
521      ;;
522
523    release)
524      ;;
525 esac
526
527 EFL_ATTRIBUTE_VECTOR
528 EFL_ATTRIBUTE_ALWAYS_INLINE
529
530 EFLALL_LIBS="${EFLALL_LIBS}"
531 EFLALL_CFLAGS="${EFLALL_CFLAGS}"
532
533 ## CPU architecture specific assembly
534
535 build_cpu_mmx="no"
536 build_cpu_sse3="no"
537 build_cpu_altivec="no"
538 build_cpu_neon="no"
539
540 want_neon="yes"
541 AC_ARG_ENABLE([neon],
542    [AS_HELP_STRING([--disable-neon],[disable neon support @<:@default=enable@:>@])],
543    [
544     if test "x${enableval}" = "xyes"; then
545        want_neon="yes"
546     else
547        want_neon="no"
548     fi
549    ])
550
551 SSE3_CFLAGS=""
552 ALTIVEC_CFLAGS=""
553 NEON_CFLAGS=""
554
555 case $host_cpu in
556   i*86|x86_64|amd64)
557     AC_DEFINE([BUILD_MMX], [1], [Build MMX Code])
558     build_cpu_mmx="yes"
559     AC_CHECK_HEADER([immintrin.h],
560        [
561         AC_DEFINE(BUILD_SSE3, 1, [Build SSE3 Code])
562         build_cpu_sse3="yes"
563        ],
564        [build_cpu_sse3="no"])
565     AC_MSG_CHECKING([whether to build SSE3 code])
566     AC_MSG_RESULT([${build_cpu_sse3}])
567
568     if test "x$build_cpu_sse3" = "xyes" ; then
569        SSE3_CFLAGS="-msse3"
570     fi
571     ;;
572   *power* | *ppc*)
573     build_cpu_altivec="yes"
574     AC_CHECK_HEADER([altivec.h],
575        [
576         AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
577         AC_DEFINE([HAVE_ALTIVEC_H], [1], [Have altivec.h header file])
578         build_cpu_altivec="yes"
579        ],
580        [
581         save_CFLAGS=$CFLAGS
582         save_CPPFLAGS=$CPPFLAGS
583         CFLAGS=$CFLAGS" -maltivec"
584         CPPFLAGS=$CPPFLAGS" -maltivec"
585         unset ac_cv_header_altivec_h
586         AC_CHECK_HEADER([altivec.h],
587           [
588             AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
589             AC_DEFINE([HAVE_ALTIVEC_H], [1], [Have altivec.h header file])
590             build_cpu_altivec="yes"
591           ],
592           [build_cpu_altivec="no"]
593         )
594         CFLAGS=$save_CFLAGS
595         CPPFLAGS=$save_CPPFLAGS
596        ]
597     )
598     if test "x${build_cpu_altivec}" = "xyes"; then
599        AC_MSG_CHECKING([whether to use altivec compiler flag])
600        if test "x$GCC" = "xyes"; then
601           if echo "int main(){return 0;}" | ${CPP} -faltivec - > /dev/null 2>&1; then
602              altivec_cflags="-faltivec"
603              AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
604           elif echo "int main(){return 0;}" | ${CPP} -maltivec - > /dev/null 2>&1; then
605              altivec_cflags="-maltivec"
606              AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
607           fi
608        fi
609        AC_MSG_RESULT([${altivec_cflags}])
610        CFLAGS="$CFLAGS ${altivec_cflags}"
611        ALTIVEC_CFLAGS="-maltivec"
612     fi
613     ;;
614   arm*)
615     if test "x${want_neon}" = "xyes"; then
616        build_cpu_neon="yes"
617        AC_MSG_CHECKING([whether to use NEON instructions])
618        CFLAGS_save="${CFLAGS}"
619        CFLAGS="-mfpu=neon -ftree-vectorize ${CFLAGS}"
620        AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <arm_neon.h>]], [[asm volatile ("vqadd.u8 d0, d1, d0\n")]])],[
621            AC_MSG_RESULT([yes])
622            AC_DEFINE([BUILD_NEON], [1], [Build NEON Code])
623            build_cpu_neon="yes"
624            NEON_CFLAGS="-mfpu=neon"
625          ],[
626            AC_MSG_RESULT([no])
627            build_cpu_neon="no"
628          ])
629        CFLAGS="${CFLAGS_save}"
630     fi
631     ;;
632   aarch64*)
633     if test "x${want_neon}" = "xyes"; then
634        build_cpu_neon="yes"
635        AC_MSG_CHECKING([whether to use NEON instructions])
636        AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <arm_neon.h>]], [[volatile uint32x4_t test = vdupq_n_u32(0x1);]])],[
637            AC_MSG_RESULT([yes])
638            AC_DEFINE([BUILD_NEON], [1], [Build NEON Code])
639            AC_DEFINE([BUILD_NEON_INTRINSICS], [1], [Build NEON Intrinsics])
640            build_cpu_neon="yes"
641          ],[
642            AC_MSG_RESULT([no])
643            build_cpu_neon="no"
644          ])
645     fi
646     ;;
647 esac
648
649 AC_SUBST([ALTIVEC_CFLAGS])
650 AC_SUBST([SSE3_CFLAGS])
651 AC_SUBST([NEON_CFLAGS])
652
653 #### Checks for linker characteristics
654
655
656 #### Checks for library functions
657
658 AC_CHECK_FUNCS([\
659 backtrace \
660 backtrace_symbols \
661 execvp \
662 fpathconf \
663 fstatat \
664 malloc_usable_size \
665 mkdirat \
666 mtrace \
667 realpath \
668 strlcpy \
669 geteuid \
670 getuid \
671 pause \
672 ])
673
674 AC_FUNC_ALLOCA
675 AC_FUNC_MMAP
676 AC_FUNC_STRERROR_R
677
678 EFL_CHECK_FUNCS([EFLALL], [fnmatch gettimeofday dirfd fcntl sched_getcpu])
679
680 have_atfile_source="${ac_cv_func_fstatat}"
681 AC_DEFINE_IF([HAVE_ATFILE_SOURCE],
682    [test "x${have_atfile_source}" = "xyes"],
683    [1], [Use fstatat and other -at file functions])
684
685
686
687 ######################  EFL  ######################
688
689 want_libeeze="yes"
690 AC_ARG_ENABLE([libeeze],
691    [AS_HELP_STRING([--disable-libeeze],[disable Eeze device library @<:@default=enable@:>@])],
692    [
693     if test "x${enableval}" = "xyes"; then
694        want_libeeze="yes"
695     else
696        want_libeeze="no"
697        CFOPT_WARNING="yes"
698     fi
699    ])
700
701 build_libeeze="yes"
702 if test "x${want_libeeze}" = "xyes" ; then
703     if test "x${have_linux}" = "xyes" ; then
704         build_libeeze="yes"
705     else
706         build_libeeze="no"
707         want_libeeze="no"
708     fi
709 else
710     build_libeeze="no"
711 fi
712
713 AC_ARG_ENABLE([systemd],
714    [AS_HELP_STRING([--disable-systemd],[Disable systemd support. @<:@default=enabled@:>@])],
715    [
716     if test "x${enableval}" = "xyes" ; then
717        want_systemd="yes"
718     else
719        want_systemd="no"
720     fi
721    ])
722
723 systemd_dbus_prefix="# "
724 if test "${want_systemd}" = "yes"; then
725    systemd_dbus_prefix=""
726 fi
727 AC_SUBST(systemd_dbus_prefix)
728
729 AC_ARG_WITH([systemdunitdir],
730          AS_HELP_STRING([--with-systemdunitdir=DIR],[path to systemd user services directory]),
731          [USER_SESSION_DIR=${withval}])
732 if test "$want_systemd" == "no"; then
733   have_systemd_user_session="no"
734 elif test -n "${USER_SESSION_DIR}"; then
735   have_systemd_user_session="yes"
736   AC_MSG_NOTICE([Using systemd user services directory as ${USER_SESSION_DIR}])
737 else
738   # Detect systemd user session directory properly
739   EFL_PKG_CHECK_VAR([USER_SESSION_DIR], [systemd >= 192], [systemduserunitdir],
740         [have_systemd_user_session="yes"], [have_systemd_user_session="no"])
741
742   if test "$want_systemd" = "yes" -a "$have_systemd_user_session" = "no"; then
743      AC_MSG_ERROR([systemd support wanted, but systemd was not found.])
744   fi
745 fi
746
747 AM_CONDITIONAL([HAVE_SYSTEMD_USER_SESSION], [test "x${have_systemd_user_session}" = "xyes"])
748 AC_SUBST([USER_SESSION_DIR])
749
750 if test "x${have_systemd_pkg}" = "xauto" -o "x${have_systemd_pkg}" = "xyes"; then
751    PKG_CHECK_MODULES([SYSTEMD], [libsystemd >= 209],
752    [
753      have_systemd_pkg="yes"
754      AC_DEFINE_UNQUOTED([HAVE_SYSTEMD_LOGIN_209],[1],[Defined if systemd >= 209])
755    ],
756    [have_systemd_pkg="no"])
757 fi
758
759 # check for systemd library if requested
760 if test "x${want_systemd}" = "xyes" -a "x${have_systemd_pkg}" = "xno"; then
761    AC_MSG_ERROR([Systemd dependency requested but not found])
762 fi
763
764 AM_CONDITIONAL([WANT_SYSTEMD], [test "${want_systemd}" = "yes"])
765 AM_CONDITIONAL([HAVE_SYSTEMD], [test "${want_systemd}" = "yes" -a "${have_systemd_pkg}" = "yes"])
766 #### Platform-dependent
767
768 #### Evil
769 EFL_LIB_START_OPTIONAL([Evil], [test "${have_windows}" = "yes"])
770
771 ### Default values
772
773 ### Additional options to configure
774 EFL_SELECT_WINDOWS_VERSION
775
776 ### Checks for programs
777
778 ### Checks for libraries
779
780 EFL_ADD_LIBS([EVIL], [-lpsapi -lole32 -lws2_32 -lsecur32 -luuid])
781
782 ### Checks for header files
783
784 ### Checks for types
785
786 ### Checks for structures
787
788 ### Checks for compiler characteristics
789
790 EVIL_CPPFLAGS="-DPSAPI_VERSION=1"
791 # TODO: should we have these at EFL (global?)
792 # Note: these warnings should not be used with C++ code
793 EVIL_CFLAGS_WRN="-Wdeclaration-after-statement -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls"
794 EVIL_CXXFLAGS="${EVIL_CXXFLAGS}"
795
796 if test "x${have_win32}" = "xyes" ; then
797    EVIL_CFLAGS="-DSECURITY_WIN32 ${EVIL_CFLAGS}"
798    EVIL_CXXFLAGS="-fno-rtti -fno-exceptions -DSECURITY_WIN32 ${EVIL_CXXFLAGS}"
799 fi
800
801 AC_SUBST([EVIL_CPPFLAGS])
802 AC_SUBST([EVIL_CFLAGS_WRN])
803 AC_SUBST([EVIL_CXXFLAGS])
804
805 ### Checks for linker characteristics
806
807 ### Checks for library functions
808
809 EFL_LIB_END_OPTIONAL([Evil])
810
811 AC_SUBST([USE_EVIL_CFLAGS])
812 AC_SUBST([USE_EVIL_LIBS])
813 #### End of Evil
814
815
816 #### Escape
817 EFL_LIB_START_OPTIONAL([Escape], [test "${have_ps3}" = "yes"])
818
819 ### Additional options to configure
820
821 ### Default values
822
823 ### Checks for programs
824
825 ### Checks for libraries
826 EFL_ADD_LIBS([ESCAPE], [-llv2 -lm -lnet -lsysmodule -liberty])
827
828 ### Checks for header files
829
830 ### Checks for types
831
832 ### Checks for structures
833
834 ### Checks for compiler characteristics
835
836 ### Checks for linker characteristics
837
838 ### Checks for library functions
839
840 EFL_LIB_END_OPTIONAL([Escape])
841 #### End of Escape
842
843 EFL_CHECK_FUNC([SHM], [shm_open])
844 SHM_LIBS="${requirements_libs_shm}"
845 AC_SUBST([SHM_LIBS])
846
847 AC_SUBST([DL_LIBS])
848 AC_SUBST([DL_INTERNAL_LIBS])
849 #### End of Platform-dependent
850
851
852 #### Eina
853
854 EFL_LIB_START([Eina])
855
856 ### Default values
857
858 have_safety_checks="yes"
859 want_log="yes"
860 case "${build_profile}" in
861    dev)
862      with_max_log_level=""
863      have_stringshare_usage="no"
864      want_valgrind="auto"
865      want_debug_malloc="no"
866      want_debug_threads="no"
867      want_default_mempool="no"
868      want_cow_magic="no"
869      ;;
870
871    debug)
872      with_max_log_level=""
873      have_stringshare_usage="yes"
874      want_valgrind="auto"
875      want_debug_malloc="yes"
876      want_debug_threads="yes"
877      want_default_mempool="yes"
878      want_cow_magic="yes"
879      ;;
880
881    release)
882      with_max_log_level="3"
883      have_stringshare_usage="no"
884      want_valgrind="no"
885      want_debug_malloc="no"
886      want_debug_threads="no"
887      want_default_mempool="no"
888      want_cow_magic="no"
889      ;;
890 esac
891
892 EFL_CHECK_LIBUNWIND
893
894 EINA_CONFIG([HAVE_ALLOCA_H], [test "x${ac_cv_working_alloca_h}" = "xyes"])
895 EINA_CONFIG([SAFETY_CHECKS], [test "x${have_safety_checks}" = "xyes"])
896 EINA_CONFIG([DEFAULT_MEMPOOL], [test "x${want_default_mempool}" = "xyes"])
897
898 if test -n "${with_max_log_level}"; then
899    AC_MSG_NOTICE([ignoring any EINA_LOG() with level greater than ${with_max_log_level}])
900    AC_DEFINE_UNQUOTED([EINA_LOG_LEVEL_MAXIMUM], [${with_max_log_level}], [if set, logging is limited to this amount.])
901 fi
902
903 AC_DEFINE_IF([EINA_STRINGSHARE_USAGE],
904    [test "x${have_stringshare_usage}" = "xyes"],
905    [1], [Report Eina stringshare usage pattern])
906
907 ### Additional options to configure
908 AC_ARG_ENABLE([magic-debug],
909    [AS_HELP_STRING([--disable-magic-debug],[disable magic debug of eina structure @<:@default=enabled@:>@])],
910    [
911     if test "x${enableval}" = "xyes" ; then
912        have_magic_debug="yes"
913     else
914        have_magic_debug="no"
915     fi
916    ],
917    [have_magic_debug="yes"])
918
919 AC_ARG_ENABLE([debug-threads],
920    [AS_HELP_STRING([--enable-debug-threads], [enable debugging of eina threads @<:@default=disabled@:>@])],
921    [
922     if test "x${enableval}" = "xyes" ; then
923        want_debug_threads="yes"
924     else
925        want_debug_threads="no"
926     fi
927    ])
928
929 EINA_CONFIG([MAGIC_DEBUG], [test "x${have_magic_debug}" = "xyes"])
930
931 AC_ARG_WITH([xattr-tests-path],
932    [AS_HELP_STRING([--with-xattr-tests-path=DIR],[path of xattr enabled directory to create test files])],[XATTR_TEST_DIR=${withval}][AC_DEFINE_UNQUOTED([XATTR_TEST_DIR],["$withval"], [xattr enabled directory])])
933
934 evas_dicts_hyphen_dir="/usr/share/hyphen/"
935 AC_ARG_WITH([dictionaries-hyphen-dir],
936    [AS_HELP_STRING([--with-dictionaries-hyphen-dir=DIR],[path of hunspell-compatible hyphen dictionaries])], [evas_dicts_hyphen_dir=$withval])
937 AC_DEFINE_UNQUOTED([EVAS_DICTS_HYPHEN_DIR],["$evas_dicts_hyphen_dir"], [Hunspell-compatible hyphen dictionaries install directory])
938
939 ### Checks for programs
940
941 ### Checks for libraries
942 EFL_PLATFORM_DEPEND([EINA], [all])
943
944 EFL_ADD_LIBS([EINA], [-lm])
945
946 ## Options
947
948 # Valgrind
949 AC_ARG_ENABLE([valgrind],
950    [AS_HELP_STRING([--disable-valgrind],[enable valgrind mempool declaration. @<:@default=disabled@:>@])],
951    [
952     if test "x${enableval}" = "xyes" ; then
953        want_valgrind="yes"
954     else
955        want_valgrind="no"
956     fi
957    ])
958
959 if test "${want_valgrind}" = "auto"; then
960    PKG_CHECK_EXISTS([valgrind >= 2.4.0], [want_valgrind="yes"],
961       [want_valgrind="no"
962        AC_MSG_WARN([valgrind support desired by --with-profile=${build_profile} but not found. If your platform supports it, install valgrind.])])
963 fi
964
965 if test "${want_valgrind}" = "no"; then
966     AC_DEFINE([NVALGRIND], [1], [Valgrind support disabled])
967 else
968     PKG_CHECK_MODULES([VALGRIND], [valgrind >= 2.4.0])
969     AC_DEFINE([HAVE_VALGRIND], [1], [Valgrind support enabled])
970 fi
971
972 AC_DEFINE_IF([EINA_DEBUG_MALLOC],
973    [test "x${ac_cv_func_malloc_usable_size}" = "xyes" && test "x${want_debug_malloc}" = "xyes"],
974    [1], [Turn on debugging overhead in mempool])
975
976 AC_DEFINE_IF([EINA_COW_MAGIC_ON],
977    [test "x${want_cow_magic}" = "xyes" ],
978    [1], [Turn on Eina_Magic in Eina_Cow])
979
980 EFL_OPTIONAL_DEPEND_PKG([EINA], [${want_systemd}], [SYSTEMD], [libsystemd])
981
982 EFL_EVAL_PKGS([EINA])
983
984 ## Examples
985
986 ## Benchmarks
987
988 PKG_CHECK_MODULES([GLIB],
989    [glib-2.0],
990    [have_glib="yes"],
991    [have_glib="no"])
992
993 if test "x${have_glib}" = "xyes" ; then
994    GLIB_CFLAGS="${GLIB_CFLAGS} -DEINA_BENCH_HAVE_GLIB"
995 fi
996
997 ### Checks for header files
998
999 # sys/mman.h could be provided by evil/escape/exotic so we need to set CFLAGS accordingly
1000 CFLAGS_save="${CFLAGS}"
1001 CFLAGS="${CFLAGS} ${EINA_CFLAGS}"
1002 AC_CHECK_HEADERS([sys/mman.h])
1003 CFLAGS="${CFLAGS_save}"
1004
1005 AC_CHECK_HEADER([byteswap.h], [have_byteswap="yes"], [have_byteswap="no"])
1006
1007 ### Checks for types
1008
1009 EINA_CONFIG([HAVE_DIRENT_H], [test "x${have_dirent}" = "xyes"])
1010 AC_DEFINE_IF([HAVE_DIRENT_H], [test "x${have_dirent}" = "xyes"],
1011    [1], [Define to 1 if you have a valid <dirent.h> header file.])
1012
1013 ### Checks for structures
1014
1015 ### Checks for compiler characteristics
1016 EINA_CONFIG([HAVE_BYTESWAP_H], [test "x${have_byteswap}" = "xyes"])
1017
1018 EFL_CHECK_GCC_BUILTIN([bswap16], [HAVE_BSWAP16])
1019 EFL_CHECK_GCC_BUILTIN([bswap32], [HAVE_BSWAP32])
1020 EFL_CHECK_GCC_BUILTIN([bswap64], [HAVE_BSWAP64])
1021
1022 ### Checks for linker characteristics
1023
1024 ### Checks for library functions
1025
1026 AC_CHECK_FUNCS([fchmod])
1027
1028 EFL_CHECK_FUNCS([EINA], [dlopen dladdr iconv shm_open splice setxattr getpagesize prctl])
1029
1030 enable_log="no"
1031 if test "x${efl_func_fnmatch}" = "xyes" && test "x${want_log}" = "xyes" ; then
1032    enable_log="yes"
1033 fi
1034
1035 AC_MSG_CHECKING([wether to build Eina_Log infrastructure])
1036 AC_MSG_RESULT([${enable_log}])
1037
1038 EINA_CONFIG([ENABLE_LOG], [test "x${enable_log}" = "xyes"])
1039
1040 EFL_CHECK_THREADS
1041 if test "x${efl_have_threads}" = "xno"; then
1042    CFOPT_WARNING="xyes"
1043 fi
1044
1045 AC_COMPILE_IFELSE(
1046    [AC_LANG_PROGRAM(
1047        [[ ]],
1048        [[
1049         static __thread int a = 0;
1050        ]])],
1051    [have_thread_specifier="yes"],
1052    [have_thread_specifier="no"])
1053 AC_MSG_CHECKING([for __thread specifier])
1054 AC_MSG_RESULT([${have_thread_specifier}])
1055 if test "x${have_thread_specifier}" = "xyes" ; then
1056     AC_DEFINE([HAVE_THREAD_SPECIFIER], [1], [Have the __thread specifier])
1057 fi
1058
1059 EFL_ADD_PUBLIC_LIBS([EINA], [${EFL_PTHREAD_LIBS}])
1060 EFL_ADD_CFLAGS([EINA], [${EFL_PTHREAD_CFLAGS}])
1061
1062 EINA_CONFIG([HAVE_PTHREAD_BARRIER], [test "x${efl_have_pthread_barrier}" = "xyes"])
1063 EINA_CONFIG([HAVE_PTHREAD_AFFINITY], [test "x${efl_have_setaffinity}" = "xyes"])
1064 EINA_CONFIG([HAVE_PTHREAD_SETNAME], [test "x${efl_have_setname}" = "xyes"])
1065 EINA_CONFIG([HAVE_DEBUG_THREADS], [test "x${want_debug_threads}" = "xyes"])
1066 EINA_CONFIG([HAVE_POSIX_SPINLOCK], [test "x${efl_have_posix_threads_spinlock}" = "xyes"])
1067 EINA_CONFIG([HAVE_OSX_SPINLOCK], [test "x${efl_have_osx_spinlock}" = "xyes"])
1068 EINA_CONFIG([HAVE_OSX_SEMAPHORE], [test "x${have_darwin}" = "xyes"])
1069
1070 ### Modules
1071
1072 EINA_CHECK_MODULE([chained-pool], [static], [chained pool])
1073 EINA_CHECK_MODULE([pass-through], [static], [pass through])
1074 EINA_CHECK_MODULE([one-big],      [static], [one big])
1075
1076 EFL_ADD_FEATURE([EINA], [systemd-journal], [${want_systemd}])
1077
1078 EFL_LIB_END([Eina])
1079 #### End of Eina
1080
1081 #### Eina CXX
1082 EFL_LIB_START([Eina_Cxx])
1083
1084 EFL_CXX_COMPILE_STDCXX_11([ext])
1085 AC_ARG_ENABLE([cxx-bindings],
1086    [AS_HELP_STRING([--disable-cxx-bindings],[disable C++11 bindings. @<:@default=enabled@:>@])],
1087    [want_cxx11="${enableval}"], [want_cxx11="yes"])
1088
1089 if test "x${HAVE_CXX11}" = "x1" -a "x${want_cxx11}" = "xyes"; then
1090   have_cxx11="yes"
1091 else
1092   have_cxx11="no"
1093 fi
1094
1095 AM_CONDITIONAL([HAVE_CXX11], [test "x${have_cxx11}" = "xyes"])
1096
1097 EFL_INTERNAL_DEPEND_PKG([EINA_CXX], [Eina])
1098 EFL_ADD_CFLAGS([EINA_CXX], [${EFL_PTHREAD_CFLAGS}])
1099 EFL_EVAL_PKGS([EINA_CXX])
1100
1101 EFL_LIB_END([Eina_Cxx])
1102 #### End of Eina CXX
1103
1104 AC_ARG_WITH([js],
1105    [AS_HELP_STRING([--with-js=@<:@nodejs/libv8/libuv/none@:>@],[enable JavaScript bindings using nodejs or libv8/libuv as build dependencies. The libuv option implies libv8. @<:@default=none@:>@])],
1106    [want_js="${withval}"], [want_js="none"])
1107
1108 EFLJS_CXXFLAGS=""
1109 AC_LANG_PUSH([C++])
1110 case "$want_js" in
1111      nodejs)
1112         AC_CHECK_HEADERS([node/v8.h nodejs/deps/v8/v8.h nodejs/deps/v8/include/v8.h nodejs/src/v8.h v8.h],
1113                          [
1114                            v8_header=AC_header
1115                            v8_header_define=AS_TR_CPP([HAVE_]AC_header)
1116                            EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -D$v8_header_define"
1117                            break
1118                          ]
1119                          [AC_MSG_ERROR([Could not find v8 include headers from nodejs.])])
1120         AC_CHECK_HEADERS([node/node.h nodejs/deps/node/node.h nodejs/deps/node/include/node.h nodejs/src/node.h node.h],
1121                          [
1122                            node_header_define=AS_TR_CPP([HAVE_]AC_header)
1123                            EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -D$node_header_define"
1124                            break
1125                          ]
1126                          [AC_MSG_ERROR([Could not find node include headers from nodejs.])])
1127         AC_CHECK_HEADERS([node/uv.h nodejs/deps/uv/uv.h nodejs/deps/uv/include/uv.h nodejs/src/uv.h uv.h],
1128                          [
1129                            uv_header_define=AS_TR_CPP([HAVE_]AC_header)
1130                            EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -D$uv_header_define"
1131                            break
1132                          ]
1133                          [AC_MSG_ERROR([Could not find uv include headers from nodejs.])])
1134         ;;
1135      libv8)
1136         AC_CHECK_HEADERS([v8.h],
1137                          [
1138                            v8_header=AC_header
1139                            break
1140                          ]
1141                          [AC_MSG_ERROR([Could not find v8 include headers from libv8.])])
1142         ;;
1143      libuv)
1144         AC_CHECK_HEADERS([v8.h],
1145                          [
1146                            v8_header=AC_header
1147                            break
1148                          ]
1149                          [AC_MSG_ERROR([Could not find v8 include headers from libv8.])])
1150         AC_CHECK_HEADERS([uv.h],
1151                          [break]
1152                          [AC_MSG_ERROR([Could not find uv include headers from libuv.])])
1153         ;;
1154      none)
1155         ;;
1156      *) AC_MSG_ERROR([Invalid javascript dependency (${want_js}): must be none, nodejs, libv8 or libuv]) ;;
1157 esac
1158
1159 have_v8_global="no"
1160 have_v8_create_params="no"
1161 if test "$want_js" != "none" ; then
1162 AC_COMPILE_IFELSE(
1163    [AC_LANG_PROGRAM(
1164        [[
1165 #include "$v8_header"
1166        ]],
1167        [[
1168 v8::Isolate::CreateParams create_params; create_params.array_buffer_allocator = nullptr;
1169        ]])
1170    ],
1171    [
1172     AC_DEFINE(HAVE_V8_CREATE_PARAMS, 1, [Define to 1 if you must pass create_params explicitly.])
1173     have_v8_create_params="yes"
1174     AC_MSG_NOTICE([checking for v8::Isolate::CreateParams... yes])
1175    ],
1176    [
1177     AC_MSG_NOTICE([checking for v8::Isolate::CreateParams... no])
1178    ])
1179 AC_COMPILE_IFELSE(
1180    [AC_LANG_PROGRAM(
1181        [[
1182 #include "$v8_header"
1183 #include <type_traits>
1184        ]],
1185        [[
1186        static_assert((std::is_same< ::v8::Global<void>, ::v8::UniquePersistent<void>>::value), "");
1187        ]])
1188    ],
1189    [
1190     AC_DEFINE(HAVE_V8_GLOBAL, 1, [Define to 1 if you must pass create_params explicitly.])
1191     have_v8_global="yes"
1192     AC_MSG_NOTICE([checking for v8::Global<T> class... yes])
1193    ],
1194    [
1195     AC_MSG_NOTICE([checking for v8::Global<T> class... no])
1196    ])
1197 fi
1198 AM_CONDITIONAL([HAVE_V8_CREATE_PARAMS], [test "x${have_v8_create_params}" = "xyes"])
1199 AM_CONDITIONAL([HAVE_V8_GLOBAL], [test "x${have_v8_global}" = "xyes"])
1200 AC_SUBST([HAVE_V8_CREATE_PARAMS])
1201 AC_SUBST([HAVE_V8_GLOBAL])
1202 AC_LANG_POP([C++])
1203
1204 AM_CONDITIONAL([HAVE_NODEJS], [test "x${want_js}" = "xnodejs"])
1205 AC_DEFINE_IF([HAVE_NODEJS], [test "x${want_js}" = "xnodejs"],
1206   [1], [Using NodeJS])
1207 AC_SUBST([want_js])
1208 AC_SUBST([HAVE_NODEJS])
1209
1210 have_js="no"
1211 if test "x${want_js}" != "xnone" ; then
1212    have_js="yes"
1213 fi
1214 AM_CONDITIONAL([HAVE_JS], [test "x${have_js}" = "xyes"])
1215 AC_DEFINE_IF([HAVE_JS], [test "x${have_js}" = "xyes"], [1], [Compiling bindings for JavaScript])
1216 AC_SUBST([HAVE_JS])
1217
1218 AM_CONDITIONAL([HAVE_LIBUV], [test "x${want_js}" = "xnodejs" -o "x${want_js}" = "xlibuv"])
1219 AC_DEFINE_IF([HAVE_LIBUV], [test "x${want_js}" = "xnodejs" -o "x${want_js}" = "xlibuv"],
1220              [1], [Compiling libuv event loop integration])
1221 AC_SUBST([HAVE_LIBUV])
1222
1223 # For efljspack mime handling
1224 AM_CONDITIONAL([HAVE_XDG_DATA_HOME], [test "x${XDG_DATA_HOME}" != "x"])
1225 AM_COND_IF([HAVE_XDG_DATA_HOME], [AC_SUBST([XDG_DATA_HOME])], [AC_SUBST([XDG_DATA_HOME], "$HOME/.local/share")])
1226
1227 #### Eina JS
1228 EFL_LIB_START_OPTIONAL([Eina_Js], [test "x${have_js}" = "xyes"])
1229 EFL_INTERNAL_DEPEND_PKG([EINA_JS], [Eina])
1230 EFL_INTERNAL_DEPEND_PKG([EINA_JS], [Eo])
1231 EFL_ADD_CFLAGS([EINA_JS], [${EFL_PTHREAD_CFLAGS}])
1232 EFL_EVAL_PKGS([EINA_JS])
1233
1234 EFL_LIB_END_OPTIONAL([Eina_Js])
1235 #### End of Eina JS
1236
1237 #### Ecore JS
1238 EFL_LIB_START_OPTIONAL([Ecore_Js], [test "x${have_js}" = "xyes"])
1239
1240 EFL_INTERNAL_DEPEND_PKG([ECORE_JS], [ecore])
1241 EFL_INTERNAL_DEPEND_PKG([ECORE_JS], [ecore_file])
1242 EFL_INTERNAL_DEPEND_PKG([ECORE_JS], [efl])
1243 EFL_ADD_CFLAGS([ECORE_JS], [${EFL_PTHREAD_CFLAGS}])
1244 EFL_EVAL_PKGS([ECORE_JS])
1245
1246 EFL_LIB_END_OPTIONAL([Ecore_Js])
1247 #### End of Ecore JS
1248
1249 #### Eio JS
1250 EFL_LIB_START_OPTIONAL([Eio_Js], [test "x${have_js}" = "xyes"])
1251
1252 EFL_INTERNAL_DEPEND_PKG([EIO_JS], [eio])
1253 EFL_ADD_CFLAGS([EIO_JS], [${EFL_PTHREAD_CFLAGS}])
1254 EFL_EVAL_PKGS([EIO_JS])
1255
1256 EFL_LIB_END_OPTIONAL([Eio_Js])
1257 #### End of Eio JS
1258
1259 #### Ethumb JS
1260 EFL_LIB_START_OPTIONAL([Ethumb_Js], [test "x${have_js}" = "xyes"])
1261
1262 EFL_INTERNAL_DEPEND_PKG([ETHUMB_JS], [ethumb])
1263 EFL_INTERNAL_DEPEND_PKG([ETHUMB_JS], [ethumb_client])
1264 EFL_ADD_CFLAGS([ETHUMB_JS], [${EFL_PTHREAD_CFLAGS}])
1265 EFL_EVAL_PKGS([ETHUMB_JS])
1266
1267 EFL_LIB_END_OPTIONAL([Ethumb_Js])
1268 #### End of Ethumb JS
1269
1270 #### Eldbus JS
1271 EFL_LIB_START_OPTIONAL([Eldbus_Js], [test "x${have_js}" = "xyes"])
1272
1273 EFL_INTERNAL_DEPEND_PKG([ELDBUS_JS], [eldbus])
1274 EFL_ADD_CFLAGS([ELDBUS_JS], [${EFL_PTHREAD_CFLAGS}])
1275 EFL_EVAL_PKGS([ELDBUS_JS])
1276
1277 EFL_LIB_END_OPTIONAL([Eldbus_Js])
1278 #### End of Eldbus JS
1279
1280 #### Eo JS
1281 EFL_LIB_START_OPTIONAL([Eo_Js], [test "x${have_js}" = "xyes"])
1282
1283 EFL_INTERNAL_DEPEND_PKG([EO_JS], [eina])
1284 EFL_ADD_CFLAGS([EO_JS], [${EFL_PTHREAD_CFLAGS}])
1285 EFL_EVAL_PKGS([EO_JS])
1286
1287 EFL_LIB_END_OPTIONAL([Eo_Js])
1288 #### End of Eo JS
1289
1290 #### Eo
1291
1292 EFL_LIB_START([Eo])
1293
1294 ### Default values
1295
1296 ### Additional options to configure
1297
1298 ### Checks for programs
1299
1300 ## Compatibility layers
1301 EFL_PLATFORM_DEPEND([EO], [evil])
1302
1303 ### Checks for libraries
1304 EFL_INTERNAL_DEPEND_PKG([EO], [eina])
1305
1306 # Example (evas one)
1307
1308 # TODO: add once elementary is merged
1309 #PKG_CHECK_MODULES([ELM], [elementary >= 1.7.0], [have_elm="yes"], [have_elm="no"])
1310 AM_CONDITIONAL([EO_BUILD_EXAMPLE_EVAS], [test "x${have_elm}" = "xyes"])
1311
1312 ### Checks for header files
1313
1314 ### Checks for types
1315
1316 ### Checks for structures
1317
1318 ### Checks for compiler characteristics
1319
1320 ### Checks for linker characteristics
1321
1322 ### Checks for library functions
1323 EFL_CHECK_FUNCS([EO], [dladdr])
1324
1325 ### Check availability
1326
1327 EFL_LIB_END([Eo])
1328 #### End of Eo
1329
1330 #### Eet CXX
1331 EFL_LIB_START([Eet_Cxx])
1332
1333 EFL_INTERNAL_DEPEND_PKG([EET_CXX], [Eina_Cxx])
1334 EFL_INTERNAL_DEPEND_PKG([EET_CXX], [Eet])
1335
1336 EFL_EVAL_PKGS([EET_CXX])
1337
1338 EFL_LIB_END([Eet_Cxx])
1339 #### End of Eet CXX
1340
1341 #### Emile
1342
1343 EFL_LIB_START([Emile])
1344
1345 ### Default values
1346
1347 ### Additional options to configure
1348
1349 ### Checks for programs
1350
1351 ### Checks for libraries
1352
1353 EFL_CHECK_LIBS([EMILE], [libjpeg])
1354
1355 ## Compatibility layers
1356 EFL_PLATFORM_DEPEND([EMILE], [evil])
1357
1358 EFL_ADD_LIBS([EMILE], [-lm])
1359
1360 # Cryptography support
1361 if test "$build_crypto" != "none" ; then
1362    AC_DEFINE([HAVE_CIPHER], [1], [Have cipher support built in emile])
1363    AC_DEFINE([HAVE_SIGNATURE], [1], [Have signature support in emile])
1364    EFL_CRYPTO_DEPEND([EMILE])
1365 fi
1366
1367 EFL_CHECK_LIBS([EMILE], [zlib])
1368
1369 EFL_INTERNAL_DEPEND_PKG([EMILE], [eina])
1370 requirements_cflags_emile="${requirements_cflags_emile} -I\${top_srcdir}/src/lib/efl -I\${top_builddir}/src/lib/efl"
1371 requirements_pc_emile="efl >= ${PACKAGE_VERSION} ${requirements_pc_emile}"
1372
1373 EFL_EVAL_PKGS([EMILE])
1374
1375 ### Checks for header files
1376
1377 ### Checks for types
1378
1379 ### Checks for structures
1380
1381 ### Checks for compiler characteristics
1382
1383 ### Checks for linker characteristics
1384
1385 ### Checks for library functions
1386
1387 ### Check availability
1388
1389 EFL_ADD_FEATURE([EMILE], [crypto], [${build_crypto}])
1390
1391 EFL_LIB_END([Emile])
1392 #### End of Emile
1393
1394
1395 #### Eet
1396
1397 EFL_LIB_START([Eet])
1398
1399 ### Default values
1400
1401 ### Additional options to configure
1402
1403 ### Checks for programs
1404
1405 ### Checks for libraries
1406
1407 EFL_CHECK_LIBS([EET], [libjpeg])
1408
1409 ## Compatibility layers
1410 EFL_PLATFORM_DEPEND([EET], [evil])
1411
1412 EFL_ADD_LIBS([EET], [-lm])
1413
1414 # Cryptography support
1415 if test "$build_crypto" != "none" ; then
1416    AC_DEFINE([HAVE_CIPHER], [1], [Have cipher support built in eet])
1417    AC_DEFINE([HAVE_SIGNATURE], [1], [Have signature support for eet file])
1418    EFL_CRYPTO_DEPEND([EET])
1419 fi
1420
1421 EFL_INTERNAL_DEPEND_PKG([EET], [eina])
1422 EFL_INTERNAL_DEPEND_PKG([EET], [emile])
1423 requirements_pc_eet="${requirements_pc_eet} ${requirements_pc_emile}"
1424 requirements_cflags_eet="${requirements_cflags_eet} ${requirements_cflags_emile}"
1425
1426 EFL_EVAL_PKGS([EET])
1427
1428 ### Checks for header files
1429
1430 ### Checks for types
1431
1432 ### Checks for structures
1433
1434 ### Checks for compiler characteristics
1435
1436 ### Checks for linker characteristics
1437
1438 ### Checks for library functions
1439
1440 ### Check availability
1441
1442 EFL_LIB_END([Eet])
1443 #### End of Eet
1444
1445 #### Eo CXX
1446 EFL_LIB_START([Eo_Cxx])
1447
1448 EFL_EVAL_PKGS([EO_CXX])
1449
1450 EFL_LIB_END([Eo_Cxx])
1451 #### End of Eo CXX
1452
1453 #### Eolian
1454
1455 EFL_LIB_START([Eolian])
1456
1457 ### Default values
1458
1459 ### Additional options to configure
1460 EFL_ADD_FEATURE([EOLIAN], [cxx], [${have_cxx11}])
1461
1462 ### Checks for programs
1463
1464 ## Compatibility layers
1465 EFL_PLATFORM_DEPEND([EOLIAN], [evil])
1466
1467 ### Checks for libraries
1468 EFL_INTERNAL_DEPEND_PKG([EOLIAN], [eina])
1469
1470 ### Checks for header files
1471
1472 ### Checks for types
1473
1474 ### Checks for structures
1475
1476 ### Checks for compiler characteristics
1477
1478 ### Checks for linker characteristics
1479
1480 ### Checks for library functions
1481
1482 ### Check availability
1483
1484 EFL_LIB_END([Eolian])
1485 #### End of Eolian
1486
1487 EFL_LIB_START_OPTIONAL([Eolian_Js], [test "${have_js}" = "yes"])
1488
1489 EFL_INTERNAL_DEPEND_PKG([EOLIAN_JS], [eina])
1490 EFL_INTERNAL_DEPEND_PKG([EOLIAN_JS], [eolian])
1491
1492 EFL_LIB_END_OPTIONAL([Eolian_Js])
1493 #### End of Eolian
1494
1495
1496 EFL_LIB_START([Eolian_Cxx])
1497 ### Default values
1498
1499 ### Additional options to configure
1500
1501 ### Checks for programs
1502
1503 ## Compatibility layers
1504
1505 ### Checks for libraries
1506 EFL_INTERNAL_DEPEND_PKG([EOLIAN_CXX], [eina])
1507 EFL_INTERNAL_DEPEND_PKG([EOLIAN_CXX], [eo])
1508
1509 ### Checks for header files
1510
1511 ### Checks for types
1512
1513 ### Checks for structures
1514
1515 ### Checks for compiler characteristics
1516
1517 ### Checks for linker characteristics
1518
1519 ### Checks for library functions
1520
1521 ### Check availability
1522 EFL_LIB_END([Eolian_Cxx])
1523
1524 #### Efl
1525
1526 EFL_LIB_START([Efl])
1527
1528 EFL_PLATFORM_DEPEND([EFL], [evil])
1529 EFL_INTERNAL_DEPEND_PKG([EFL], [eina])
1530 EFL_INTERNAL_DEPEND_PKG([EFL], [eo])
1531
1532 EFL_ADD_LIBS([EFL], [-lm])
1533
1534 EFL_LIB_END([Efl])
1535 #### End of Efl
1536
1537 #### Ector
1538
1539 EFL_LIB_START([Ector])
1540
1541
1542 ### Default values
1543
1544 ### Additional options to configure
1545
1546 ### Checks for programs
1547
1548 ### Checks for libraries
1549
1550 ## Compatibility layers
1551
1552 EFL_PLATFORM_DEPEND([ECTOR], [evil])
1553
1554 EFL_INTERNAL_DEPEND_PKG([ECTOR], [eina])
1555 EFL_INTERNAL_DEPEND_PKG([ECTOR], [emile])
1556 EFL_INTERNAL_DEPEND_PKG([ECTOR], [eet])
1557 EFL_INTERNAL_DEPEND_PKG([ECTOR], [eo])
1558 EFL_INTERNAL_DEPEND_PKG([ECTOR], [efl])
1559
1560 EFL_ADD_LIBS([ECTOR], [-lm])
1561
1562 EFL_EVAL_PKGS([ECTOR])
1563
1564 ### Checks for header files
1565
1566 ### Checks for types
1567
1568 ### Checks for structures
1569
1570 ### Checks for compiler characteristics
1571
1572 ### Checks for linker characteristics
1573
1574 ### Checks for library functions
1575
1576 ### Check availability
1577
1578 EFL_LIB_END([ECTOR])
1579
1580 #### End of Ector
1581
1582
1583 #### Ecore
1584
1585 EFL_LIB_START([Ecore])
1586
1587 ### Additional options to configure
1588
1589 # glib
1590
1591 AC_ARG_WITH([glib],
1592    [AS_HELP_STRING([--with-glib=yes|no|always],[add glib support. @<:@default=enabled@:>@])],
1593    [
1594     if test "x${withval}" = "xyes" ; then
1595        with_glib="yes"
1596     else
1597        if test "x${withval}" = "xalways" ; then
1598           with_glib="always"
1599        else
1600           with_glib="no"
1601        fi
1602     fi
1603    ],
1604    [with_glib="yes"])
1605
1606 AC_ARG_ENABLE([g-main-loop],
1607    [AS_HELP_STRING([--enable-g-main-loop],[enable ecore_main_loop based on g_main_loop. @<:@default=disabled@:>@])],
1608    [
1609     if test "x${enableval}" = "xyes" ; then
1610        want_g_main_loop="yes"
1611        CFOPT_WARNING="xyes"
1612     else
1613        want_g_main_loop="no"
1614     fi
1615    ],
1616    [want_g_main_loop="no"])
1617 AC_ARG_ENABLE([libuv],
1618    [AS_HELP_STRING([--enable-libuv],[enable ecore_main_loop based on libuv. @<:@default=disabled@:>@])],
1619    [
1620     if test "x${enableval}" = "xyes" ; then
1621        want_libuv="yes"
1622        CFOPT_WARNING="xyes"
1623     else
1624        want_libuv="no"
1625     fi
1626    ],
1627    [want_libuv="no"])
1628
1629 AC_ARG_ENABLE([gstreamer],
1630    [AS_HELP_STRING([--enable-gstreamer],[enable gstreamer 0.10 support. @<:@default=disabled@:>@])],
1631    [
1632     if test "x${enableval}" = "xyes" ; then
1633        want_gstreamer="yes"
1634        CFOPT_WARNING="xyes"
1635     else
1636        want_gstreamer="no"
1637     fi
1638    ],
1639    [want_gstreamer="no"])
1640
1641 AC_ARG_ENABLE([gstreamer1],
1642    [AS_HELP_STRING([--disable-gstreamer1],[disable gstreamer 1.0 support. @<:@default=enabled@:>@])],
1643    [
1644     if test "x${enableval}" = "xyes" ; then
1645        want_gstreamer1="yes"
1646     else
1647        want_gstreamer1="no"
1648        CFOPT_WARNING="xyes"
1649     fi
1650    ],
1651    [want_gstreamer1="yes"])
1652
1653 AC_ARG_ENABLE([tizen],
1654    [AS_HELP_STRING([--enable-tizen],[enable tizen support. @<:@default=disabled@:>@])],
1655    [
1656     if test "x${enableval}" = "xyes" ; then
1657        want_tizen="yes"
1658     else
1659        want_tizen="no"
1660     fi
1661    ],
1662    [want_tizen="no"])
1663
1664 if test "${want_tizen}" = "yes"; then
1665      PKG_CHECK_MODULES([TIZEN_CONFIGURATION_MANAGER],
1666       [vconf],
1667       [have_tizen_vconf="yes"],
1668       [have_tizen_vconf="no"])
1669   PKG_CHECK_MODULES([TIZEN_CONFIGURATION_MANAGER], [vconf])
1670 fi
1671
1672 AM_CONDITIONAL([HAVE_TIZEN_CONFIGURATION_MANAGER], [test "${have_tizen_vconf}" = "yes"])
1673 if test "${have_tizen_vconf}"  = "yes"; then
1674   AC_DEFINE(HAVE_TIZEN_CONFIGURATION_MANAGER, 1, [Define to 1 if you have Tizen configuration manager(vconf).])
1675 fi
1676
1677 AC_ARG_ENABLE([ecore_wayland],
1678    [AS_HELP_STRING([--enable-ecore-wayland],[enable legacy Ecore_Wayland support. @<:@default=disabled@:>@])],
1679    [
1680     if test "x${enableval}" = "xyes" ; then
1681        want_ecore_wayland="yes"
1682     else
1683        want_ecore_wayland="no"
1684     fi
1685    ],
1686    [want_ecore_wayland="no"])
1687
1688 AC_ARG_ENABLE([ecore_drm],
1689    [AS_HELP_STRING([--enable-ecore-drm],[enable legacy Ecore_Drm support. @<:@default=disabled@:>@])],
1690    [
1691     if test "x${enableval}" = "xyes" ; then
1692        want_ecore_drm="yes"
1693     else
1694        want_ecore_drm="no"
1695     fi
1696    ],
1697    [want_ecore_drm="no"])
1698
1699 ### Default values
1700
1701 if test "${have_windows}" = "yes"; then
1702    with_glib="no"
1703 fi
1704
1705 want_glib="no"
1706 if test "x${with_glib}" = "xyes" || test "x${with_glib}" = "xalways" ; then
1707    want_glib="yes"
1708 fi
1709
1710 want_ecore_timer_dump="no"
1711 if test "x${build_profile}" = "xdebug" && test "x${ac_cv_func_backtrace}" = "xyes"; then
1712    want_ecore_timer_dump="yes"
1713    AC_DEFINE([WANT_ECORE_TIMER_DUMP], [1], [Want Ecore_Timer dump infrastructure])
1714 fi
1715
1716 ### Checks for programs
1717
1718 ### Checks for libraries
1719 EFL_PLATFORM_DEPEND([ECORE], [all])
1720 EFL_INTERNAL_DEPEND_PKG([ECORE], [eo])
1721 EFL_INTERNAL_DEPEND_PKG([ECORE], [eina])
1722 EFL_INTERNAL_DEPEND_PKG([ECORE], [efl])
1723
1724 EFL_ADD_LIBS([ECORE], [-lm])
1725
1726 # glib
1727
1728 EFL_OPTIONAL_DEPEND_PKG([ECORE], [${want_glib}], [GLIB], [glib-2.0 gthread-2.0])
1729 if test "x${have_glib}" = "xno"; then
1730    want_g_main_loop="no"
1731 fi
1732
1733 EFL_OPTIONAL_DEPEND_PKG([ECORE], [${want_systemd}], [SYSTEMD], [libsystemd])
1734
1735 EFL_ADD_FEATURE([ECORE], [systemd-daemon], [${want_systemd}])
1736 EFL_ADD_FEATURE([ECORE], [glib])
1737 EFL_ADD_FEATURE([ECORE], [g-main-loop])
1738 EFL_ADD_FEATURE([ECORE], [libuv])
1739
1740 want_glib_integration_always=no
1741 if test "x${with_glib}" = "xalways" ; then
1742   want_glib_integration_always="yes"
1743   AC_DEFINE([GLIB_INTEGRATION_ALWAYS], [1], [Always integrate glib if support compiled])
1744 fi
1745
1746 if test "x${want_g_main_loop}" = "xyes" ; then
1747   AC_DEFINE([USE_G_MAIN_LOOP], [1], [Use g_main_loop in ecore])
1748   if test "x${want_js}" = "xnodejs" -o "x${want_js}" = "xlibuv" ; then
1749     AC_MSG_ERROR([Can't define glib and libuv integration together])
1750   fi
1751 fi
1752
1753 # not EFL_OPTIONAL_DEPEND_PKG() because it's only used for ecore examples
1754 if test "${want_gstreamer1}" = "yes" -a "${want_gstreamer}" = "yes"; then
1755    AC_MSG_ERROR([You can only enable either GStreamer 1.0 or GStreamer 0.10 support])
1756 fi
1757
1758 if test "${want_gstreamer1}" = "yes"; then
1759   PKG_CHECK_MODULES([GSTREAMER], [gstreamer-1.0])
1760 fi
1761 if test "${want_gstreamer}" = "yes"; then
1762   PKG_CHECK_MODULES([GSTREAMER], [gstreamer-0.10])
1763 fi
1764
1765 AM_CONDITIONAL([HAVE_GSTREAMER], [test "x${want_gstreamer}" = "xyes" -o "x${want_gstreamer1}" = "xyes"])
1766 AM_CONDITIONAL([HAVE_GSTREAMER0], [test "x${want_gstreamer}" = "xyes"])
1767 AM_CONDITIONAL([HAVE_GSTREAMER1], [test "x${want_gstreamer1}" = "xyes"])
1768
1769 EFL_EVAL_PKGS([ECORE])
1770
1771 ### Checks for header files
1772
1773 AC_HEADER_SYS_WAIT
1774
1775 AC_CHECK_HEADERS([sys/socket.h])
1776
1777 AC_CHECK_HEADERS([ \
1778 arpa/inet.h \
1779 arpa/nameser.h \
1780 langinfo.h \
1781 features.h \
1782 netinet/in.h \
1783 netinet/tcp.h \
1784 netinet/udp.h \
1785 sys/prctl.h \
1786 sys/resource.h \
1787 sys/timerfd.h \
1788 sys/un.h \
1789 ieeefp.h \
1790 ],[],[],
1791 [
1792  #ifdef HAVE_SYS_SOCKET_H
1793  # include <sys/socket.h>
1794  #endif
1795 ])
1796
1797 AC_CHECK_HEADERS([net/if.h], [], [],
1798 [#include <stdio.h>
1799 #if STDC_HEADERS
1800 # include <stdlib.h>
1801 # include <stddef.h>
1802 #else
1803 # if HAVE_STDLIB_H
1804 #  include <stdlib.h>
1805 # endif
1806 #endif
1807 #if HAVE_SYS_SOCKET_H
1808 # include <sys/socket.h>
1809 #endif
1810 ])
1811
1812 ### Checks for types
1813
1814 ### Checks for structures
1815
1816 ### Checks for compiler characteristics
1817
1818 ### Checks for linker characteristics
1819
1820 ### Checks for library functions
1821
1822 ## ecore
1823
1824 # isfinite
1825
1826 AC_COMPILE_IFELSE(
1827    [AC_LANG_PROGRAM(
1828        [[
1829 #include <math.h>
1830        ]],
1831        [[
1832 int i = isfinite(0);
1833        ]])],
1834    [
1835     AC_DEFINE(HAVE_ISFINITE, 1, [Define to 1 if you have 'isfinite', as a function or macro.])
1836     have_isfinite="yes"
1837    ],
1838    [have_isfinite="no"])
1839
1840 AC_MSG_CHECKING([for isfinite])
1841 AC_MSG_RESULT([${have_isfinite}])
1842
1843 # mallinfo, timerfd_create, clock_gettime
1844
1845 AC_CHECK_FUNCS_ONCE([mallinfo timerfd_create clock_gettime malloc_info])
1846
1847 if ! test "x${ac_cv_func_clock_gettime}" = "xyes" ; then
1848    AC_CHECK_LIB([rt], [clock_gettime],
1849       [
1850         EFL_ADD_LIBS([ECORE], [-lrt])
1851         AC_DEFINE([HAVE_CLOCK_GETTIME], [1], [Have clock_gettime()])
1852        ])
1853 fi
1854
1855 EFL_ADD_LIBS([ECORE], [${LTLIBINTL}])
1856
1857 # coroutine function specific
1858
1859 AC_COMPILE_IFELSE(
1860    [AC_LANG_PROGRAM(
1861        [[
1862 #include <ucontext.h>
1863        ]],
1864        [[
1865 ucontext_t test;
1866 getcontext(&test);
1867        ]])],
1868    [have_ucontext="yes"],
1869    [have_ucontext="no"])
1870
1871 AC_MSG_CHECKING([for ucontext])
1872 AC_MSG_RESULT([${have_ucontext}])
1873
1874 AC_COMPILE_IFELSE(
1875    [AC_LANG_PROGRAM(
1876        [[
1877 #include <setjmp.h>
1878        ]],
1879        [[
1880 jmp_buf context;
1881 setjmp(&context);
1882        ]])],
1883    [have_setjmp="yes"],
1884    [have_setjmp="no"])
1885
1886 AC_MSG_CHECKING([for setjmp])
1887 AC_MSG_RESULT([${have_setjmp}])
1888
1889 if test "X${have_windows}" = "xyes"; then
1890    AC_DEFINE(USE_FIBER, 1, [Define to 1 if you have Windows Fiber support.])
1891    EFL_ADD_FEATURE([system], [coroutine], [fiber])
1892 elif test "x${have_ucontext}" = "xyes"; then
1893    AC_DEFINE(USE_UCONTEXT, 1, [Define to 1 if you have posix ucontext functions.])
1894    EFL_ADD_FEATURE([system], [coroutine], [ucontext])
1895 elif test "x${have_setjmp}" = "xyes"; then
1896    AC_DEFINE(USE_SETJMP, 1, [Define to 1 if you have setjmp/longjmp functions.])
1897    EFL_ADD_FEATURE([system], [coroutine], [setjmp])
1898 else
1899    AC_MSG_ERROR([You do not have a working way to implement coroutine. Exiting...])
1900 fi
1901
1902 ### Check availability
1903
1904 EFL_LIB_END([Ecore])
1905 #### End of Ecore
1906
1907 #### Evas
1908
1909 EFL_LIB_START([Evas])
1910
1911 ### Additional options to configure
1912
1913 # X11
1914 AC_ARG_WITH([x11],
1915    [AS_HELP_STRING([--with-x11=xlib|none],[Use X11 (Xlib) or not])])
1916
1917 if test "x${have_windows}" = "xyes" || test "x${have_ps3}" = "xyes" || test "x${have_darwin}" = "xyes"; then
1918    with_x11="none"
1919 elif test "x${with_x11}" = "x"; then
1920    with_x11="xlib"
1921 fi
1922
1923 want_x11_xlib="no"
1924 want_x11_none="no"
1925 want_x11_any="no"
1926 case "${with_x11}" in
1927    xlib)
1928      want_x11_xlib="yes"
1929      want_x11_any="yes"
1930      ;;
1931    none)
1932      want_x11_none="yes"
1933      ;;
1934    *)
1935      AC_MSG_ERROR([Unknown build x11 --with-x11=${with_x11}])
1936      ;;
1937 esac
1938
1939 # OpenGL
1940 AC_ARG_WITH([opengl],
1941    [AS_HELP_STRING([--with-opengl=full|es|none],[OpenGL method to use: full, es or none])])
1942
1943 if test "x${have_windows}" = "xyes" || test "x${have_ps3}" = "xyes"; then
1944    with_opengl="none"
1945 elif test "x${with_opengl}" = "x"; then
1946    with_opengl="full"
1947 fi
1948
1949 case "${with_opengl}" in
1950    full|es|none)
1951      ;;
1952    *)
1953      AC_MSG_ERROR([Unknown build opengl --with-opengl=${with_opengl}])
1954      ;;
1955 esac
1956
1957 want_x11_xlib_opengl="no"
1958 if test "${with_opengl}" != "none"; then
1959    want_x11_xlib_opengl="${want_x11_xlib}"
1960    want_x11_any_opengl="${want_x11_any}"
1961 fi
1962
1963 # Wayland
1964 AC_ARG_ENABLE([wayland],
1965    [AS_HELP_STRING([--enable-wayland],[enable wayland display server. @<:@default=disabled@:>@])],
1966    [
1967     if test "x${enableval}" = "xyes" ; then
1968        want_wayland="yes"
1969     else
1970        want_wayland="no"
1971     fi
1972    ],
1973    [want_wayland="no"])
1974
1975 if test "${want_wayland}" = "yes"; then
1976    EFL_PKG_CHECK_STRICT([wayland-client >= 1.11.0])
1977 fi
1978
1979 # Wayland IVI-Shell
1980 AC_ARG_ENABLE([wayland-ivi-shell],
1981    [AS_HELP_STRING([--enable-wayland-ivi-shell],[enable ivi-shell support. @<:@default=disabled@:>@])],
1982    [
1983     if test "x${enableval}" = "xyes" ; then
1984        want_wayland_ivi_shell="yes"
1985     else
1986        want_wayland_ivi_shell="no"
1987     fi
1988    ],
1989    [want_wayland_ivi_shell="no"])
1990
1991 # Fb
1992 AC_ARG_ENABLE([fb],
1993    [AS_HELP_STRING([--enable-fb],[enable raw Framebuffer access. @<:@default=disabled@:>@])],
1994    [
1995     if test "x${enableval}" = "xyes" ; then
1996        want_fb="yes"
1997     else
1998        want_fb="no"
1999     fi
2000    ],
2001    [want_fb="no"])
2002
2003 # Eglfs
2004 AC_ARG_ENABLE([eglfs],
2005    [AS_HELP_STRING([--enable-eglfs],[enable hardware accelerated framebuffer access. @<:@default=disabled@:>@])],
2006    [
2007     if test "x${enableval}" = "xyes" ; then
2008        want_eglfs="yes"
2009        want_fb="yes"
2010     else
2011        want_eglfs="no"
2012     fi
2013    ],
2014    [want_eglfs="no"])
2015
2016 # SDL
2017 AC_ARG_ENABLE([sdl],
2018    [AS_HELP_STRING([--enable-sdl],[enable SDL support. @<:@default=disabled@:>@])],
2019    [
2020     if test "x${enableval}" = "xyes" ; then
2021        want_sdl="yes"
2022     else
2023        want_sdl="no"
2024     fi
2025    ],
2026    [want_sdl="no"])
2027
2028 if test "${want_sdl}" = "yes"; then
2029    EFL_PKG_CHECK_STRICT([sdl2 >= 2.0.0])
2030 fi
2031
2032 # We only enable SDL with opengl if it is the full version and not ES
2033 # This can be changed if we ported our SDL code over to SDL 2.0. For older
2034 # versions the SDL_opengles.h has never been released.
2035 want_gl_sdl="no"
2036 if test "${want_sdl}" = "yes" && test "${with_opengl}" = "es"; then
2037    AC_MSG_ERROR([We currently do not support SDL with OpenGL ES. Please consider full OpenGL if you want to use it with SDL.])
2038 fi
2039 if test "${want_sdl}" = "yes" && test "${with_opengl}" = "full"; then
2040    want_gl_sdl="yes"
2041 fi
2042
2043 # Cocoa
2044 AC_ARG_ENABLE([cocoa],
2045     [AS_HELP_STRING([--enable-cocoa],[enable Cocoa backend on Mac OS X. @<:@default=enabled@:>@])],
2046     [
2047      if test "x${enableval}" = "xyes" ; then
2048         want_cocoa="yes"
2049      else
2050         want_cocoa="no"
2051      fi
2052     ],
2053     [want_cocoa="yes"])
2054
2055 if test "${want_cocoa}" = "yes"; then
2056    #test cocoa requirements (objc and Cocoa/Cocoa.h)
2057     cocoa_ldflags=""
2058     have_cocoa="no"
2059     m4_ifdef([AC_PROG_OBJC],
2060       [
2061           AC_LANG_PUSH([Objective C])
2062           LIBS_save="$LIBS"
2063           LIBS="$LIBS -framework Cocoa"
2064           AC_LINK_IFELSE(
2065              [AC_LANG_PROGRAM(
2066                  [[
2067 #include <Cocoa/Cocoa.h>
2068                  ]],
2069                  [[
2070 NSWindow *window;
2071 window = [[NSWindow alloc]
2072            initWithContentRect:NSMakeRect(0, 0, 1, 1)
2073            styleMask:(NSTitledWindowMask)
2074            backing:NSBackingStoreBuffered
2075            defer:NO
2076            screen:nil
2077          ];
2078                  ]])],
2079              [
2080               have_cocoa="yes"
2081               cocoa_ldflags="-framework Cocoa"
2082              ],
2083              [have_cocoa="no"])
2084           LIBS="$LIBS_save"
2085           AC_MSG_CHECKING([whether Cocoa framework is supported])
2086           AC_MSG_RESULT([${have_cocoa}])
2087           AC_LANG_POP([Objective C])
2088    ])
2089 fi
2090 AC_SUBST(cocoa_ldflags)
2091
2092 if test "x${have_cocoa}" = "xyes"; then
2093     #test cocoa requirements (objc and Cocoa/Cocoa.h)
2094     cocoa_coreservices_ldflags=""
2095     have_cocoa_coreservices="no"
2096     m4_ifdef([AC_PROG_OBJC],
2097       [
2098           AC_LANG_PUSH([Objective C])
2099           LIBS_save="$LIBS"
2100           LIBS="$LIBS -framework CoreServices"
2101           AC_LINK_IFELSE(
2102              [AC_LANG_PROGRAM(
2103                  [[
2104 #include <CoreServices/CoreServices.h>
2105                  ]],
2106                  [[
2107 //test function here
2108                  ]])],
2109              [
2110               have_cocoa_coreservices="yes"
2111               cocoa_coreservices_ldflags="-framework CoreServices"
2112              ],
2113              [have_cocoa_coreservices="no"])
2114           LIBS="$LIBS_save"
2115           AC_MSG_CHECKING([whether Cocoa CoreServices framework is supported])
2116           AC_MSG_RESULT([${have_cocoa_coreservices}])
2117           AC_LANG_POP([Objective C])
2118    ])
2119 fi
2120 AC_SUBST(cocoa_coreservices_ldflags)
2121
2122 AC_ARG_ENABLE([elput],
2123    [AS_HELP_STRING([--enable-elput],[enable elput library. @<:@default=disabled@:>@])],
2124    [
2125     if test "x${enableval}" = "xyes" ; then
2126        want_elput="yes"
2127     else
2128        want_elput="no"
2129     fi
2130    ],
2131    [
2132     if test "x${want_wayland}" = "xyes" ; then
2133        want_elput="yes"
2134     else
2135        want_elput="no"
2136     fi
2137    ])
2138
2139 # Drm
2140 AC_ARG_ENABLE([drm],
2141    [AS_HELP_STRING([--enable-drm],[enable drm engine. @<:@default=disabled@:>@])],
2142    [
2143     if test "x${enableval}" = "xyes" ; then
2144       if test "x${want_elput}" != "xyes" ; then
2145         AC_MSG_ERROR([elput is required to build drm support])
2146       fi
2147       want_drm="yes"
2148     else
2149       want_drm="no"
2150     fi
2151    ],
2152    [want_drm="no"])
2153
2154 AC_ARG_ENABLE([gl-drm],
2155    [AC_HELP_STRING([--enable-gl-drm],
2156        [enable gl drm engine. @<:@default=disabled@:>@])],
2157    [
2158     if test "x${enableval}" = "xyes" ; then
2159        want_gl_drm="yes"
2160     else
2161        want_gl_drm="no"
2162     fi
2163    ],
2164    [want_gl_drm="no"])
2165 # Fontconfig
2166 AC_ARG_ENABLE([fontconfig],
2167    [AS_HELP_STRING([--disable-fontconfig],[disable fontconfig for finding fonts. @<:@default=enabled@:>@])],
2168    [
2169     if test "x${enableval}" = "xyes" ; then
2170        want_fontconfig="yes"
2171     else
2172        want_fontconfig="no"
2173        CFOPT_WARNING="xyes"
2174     fi
2175    ],
2176    [want_fontconfig="yes"])
2177
2178 # Fribidi
2179 AC_ARG_ENABLE([fribidi],
2180    [AS_HELP_STRING([--disable-fribidi],[disable bidirectional text support. @<:@default=enabled@:>@])],
2181    [
2182     if test "x${enableval}" = "xyes" ; then
2183        want_fribidi="yes"
2184     else
2185        want_fribidi="no"
2186        CFOPT_WARNING="xyes"
2187     fi
2188    ],
2189    [want_fribidi="yes"])
2190
2191 # Eo Id
2192 AC_ARG_ENABLE([eo_id],
2193    [AS_HELP_STRING([--disable-eo-id],[disable Eo indirection. @<:@default=enabled@:>@])],
2194    [
2195     if test "x${enableval}" = "xyes" ; then
2196        want_eo_id="yes"
2197     else
2198        want_eo_id="no"
2199        CFOPT_WARNING="xyes"
2200     fi
2201    ],
2202    [want_eo_id="yes"])
2203
2204 # Harfbuzz
2205 AC_ARG_ENABLE([harfbuzz],
2206    [AS_HELP_STRING([--enable-harfbuzz],[enable complex text shaping and layouting support. @<:@default=disabled@:>@])],
2207    [
2208     if test "x${enableval}" = "xyes" ; then
2209        want_harfbuzz="yes"
2210     else
2211        want_harfbuzz="no"
2212     fi
2213    ],
2214    [want_harfbuzz="no"])
2215
2216 # Hyphenation
2217 AC_ARG_ENABLE([hyphen],
2218    [AS_HELP_STRING([--enable-hyphen],[enable text hyphenation support. @<:@default=disabled@:>@])],
2219    [
2220     if test "x${enableval}" = "xyes" ; then
2221        want_hyphen="yes"
2222     else
2223        want_hyphen="no"
2224     fi
2225    ],
2226    [want_hyphen="no"])
2227
2228 # Egl
2229 AC_ARG_ENABLE([egl],
2230    [AS_HELP_STRING([--enable-egl],[enable EGL rendering. @<:@default=disabled@:>@])],
2231    [
2232     if test "x${enableval}" = "xyes" ; then
2233        want_egl="yes"
2234     else
2235        want_egl="no"
2236     fi
2237    ],
2238    [want_egl="no"])
2239
2240 # Verify OpenGL + EGL modes match (full+glx or es+egl)
2241 if test "x${want_egl}" = "xyes" && test "x${with_opengl}" != "xes" ; then
2242   AC_MSG_ERROR([Full OpenGL with EGL is not supported, please add --with-opengl=es to your configure options to switch to EGL + OpenGL ES.])
2243 fi
2244 if test "x${want_egl}" = "xno" && test "x${with_opengl}" = "xes" ; then
2245   AC_MSG_ERROR([OpenGL ES requires EGL, please add --enable-egl to your configure options to switch to EGL + OpenGL ES.])
2246 fi
2247
2248 # Pixman
2249 AC_ARG_ENABLE([pixman],
2250    [AS_HELP_STRING([--enable-pixman],[enable pixman for software rendering. @<:@default=disabled@:>@])],
2251    [
2252     if test "x${enableval}" = "xyes" ; then
2253        want_pixman="yes"
2254        CFOPT_WARNING="xyes"
2255     else
2256        want_pixman="no"
2257     fi
2258    ],
2259    [want_pixman="no"])
2260
2261 AC_ARG_ENABLE([pixman-font],
2262    [AS_HELP_STRING([--enable-pixman-font],[Allow pixman to render fonts. @<:@default=disabled@:>@])],
2263    [
2264     if test "x${enableval}" = "xyes" ; then
2265        have_pixman_font="yes"
2266     else
2267        have_pixman_font="no"
2268     fi
2269    ],
2270    [have_pixman_font="no"])
2271
2272 AC_ARG_ENABLE([pixman-rect],
2273    [AS_HELP_STRING([--enable-pixman-rect],[Allow pixman to render rects. @<:@default=disabled@:>@])],
2274    [
2275     if test "x${enableval}" = "xyes" ; then
2276        have_pixman_rect="yes"
2277     else
2278        have_pixman_rect="no"
2279     fi
2280    ],
2281    [have_pixman_rect="no"])
2282
2283 AC_ARG_ENABLE([pixman-line],
2284    [AS_HELP_STRING([--enable-pixman-line],[Allow pixman to render lines. @<:@default=disabled@:>@])],
2285    [
2286     if test "x${enableval}" = "xyes" ; then
2287        have_pixman_line="yes"
2288     else
2289        have_pixman_line="no"
2290     fi
2291    ],
2292    [have_pixman_line="no"])
2293
2294 AC_ARG_ENABLE(pixman-poly,
2295    AS_HELP_STRING([--enable-pixman-poly],[Allow pixman to render polys. @<:@default=disabled@:>@]),
2296    [
2297     if test "x${enableval}" = "xyes" ; then
2298        have_pixman_poly="yes"
2299     else
2300        have_pixman_poly="no"
2301     fi
2302    ],
2303    [have_pixman_poly="no"])
2304
2305 AC_ARG_ENABLE([pixman-image],
2306    [AS_HELP_STRING([--enable-pixman-image],[Allow pixman to render images. @<:@default=disabled@:>@])],
2307    [
2308     if test "x${enableval}" = "xyes" ; then
2309        have_pixman_image="yes"
2310     else
2311        have_pixman_image="no"
2312     fi
2313    ],
2314    [have_pixman_image="no"])
2315
2316 AC_ARG_ENABLE([pixman-image-scale-sample],
2317    [AS_HELP_STRING([--enable-pixman-image-scale-sample],[Allow pixman to render sampled scaled images. @<:@default=disabled@:>@])],
2318    [
2319     if test "x${enableval}" = "xyes" ; then
2320        have_pixman_image_scale_sample="yes"
2321     else
2322        have_pixman_image_scale_sample="no"
2323     fi
2324    ],
2325    [have_pixman_image_scale_sample="no"])
2326
2327 # Tile rotate
2328 AC_ARG_ENABLE([tile-rotate],
2329    [AS_HELP_STRING([--enable-tile-rotate],[Enable tiled rotate algorithm. @<:@default=disabled@:>@])],
2330    [
2331     if test "x${enableval}" = "xyes" ; then
2332        have_tile_rotate="yes"
2333        CFOPT_WARNING="xyes"
2334     else
2335        have_tile_rotate="no"
2336     fi
2337   ],
2338   [have_tile_rotate="no"])
2339
2340 # Ecore Buffer
2341 AC_ARG_ENABLE([ecore-buffer],
2342    [AS_HELP_STRING([--enable-ecore-buffer],[enable ecore-buffer. @<:@default=disabled@:>@])],
2343    [
2344     if test "x${enableval}" = "xyes" ; then
2345        want_ecore_buffer="yes"
2346     else
2347        want_ecore_buffer="no"
2348     fi
2349    ],
2350    [want_ecore_buffer="no"])
2351
2352 # Image Loaders
2353 case "$host_os" in
2354    cegcc*|mingw32ce*)
2355       AC_MSG_ERROR([ceGCC compiler is not supported anymore. Exiting...])
2356    ;;
2357    mingw*)
2358       want_generic="no"
2359       want_poppler="no"
2360       want_spectre="no"
2361       want_libraw="no"
2362       want_rsvg="no"
2363       want_xcf="no"
2364    ;;
2365    cygwin*)
2366       want_generic="no"
2367       want_poppler="no"
2368       want_spectre="no"
2369       want_libraw="no"
2370       want_rsvg="no"
2371       want_xcf="no"
2372    ;;
2373    *)
2374       want_generic="static"
2375       want_poppler="yes"
2376       want_spectre="yes"
2377       want_libraw="yes"
2378       want_rsvg="yes"
2379       want_xcf="yes"
2380    ;;
2381 esac
2382
2383 ARG_ENABLE_EVAS_VG_LOADER(SVG, static)
2384 ARG_ENABLE_EVAS_VG_LOADER(EET, static)
2385
2386
2387 ARG_ENABLE_EVAS_IMAGE_LOADER(BMP, static)
2388 ARG_ENABLE_EVAS_IMAGE_LOADER(Eet, static)
2389 ARG_ENABLE_EVAS_IMAGE_LOADER(Generic, [${want_generic}])
2390 ARG_ENABLE_EVAS_IMAGE_LOADER(Gif, yes)
2391 ARG_ENABLE_EVAS_IMAGE_LOADER(ICO, static)
2392 ARG_ENABLE_EVAS_IMAGE_LOADER(JPEG, static)
2393 ARG_ENABLE_EVAS_IMAGE_LOADER(JP2K, auto)
2394 ARG_ENABLE_EVAS_IMAGE_LOADER(PMAPS, static)
2395 ARG_ENABLE_EVAS_IMAGE_LOADER(PNG, static)
2396 ARG_ENABLE_EVAS_IMAGE_LOADER(PSD, static)
2397 ARG_ENABLE_EVAS_IMAGE_LOADER(Tga, static)
2398 ARG_ENABLE_EVAS_IMAGE_LOADER(Tiff, yes)
2399 ARG_ENABLE_EVAS_IMAGE_LOADER(WBMP, static)
2400 ARG_ENABLE_EVAS_IMAGE_LOADER(WEBP, no)
2401 ARG_ENABLE_EVAS_IMAGE_LOADER(XPM, static)
2402 ARG_ENABLE_EVAS_IMAGE_LOADER(TGV, static)
2403 ARG_ENABLE_EVAS_IMAGE_LOADER(DDS, static)
2404
2405 ### Default values
2406
2407 want_evas_engine_software_gdi="${have_win32}"
2408 want_evas_engine_software_ddraw="${have_win32}"
2409 want_evas_engine_gl_cocoa="${have_cocoa}"
2410 want_evas_engine_wayland_egl="no"
2411 if test "${want_wayland}" = "yes" && test "${want_egl}" = "yes" && test "${with_opengl}" = "es"; then
2412    want_evas_engine_wayland_egl="yes"
2413 fi
2414
2415 if test "${want_lua_old}" = "yes"; then
2416    EFL_CHECK_LUA_OLD([EVAS])
2417 else
2418    EFL_DEPEND_PKG([EVAS], [LUAJIT], [luajit >= 2.0.0])
2419 fi
2420
2421 EFL_ADD_FEATURE([EVAS], [lua-old])
2422
2423 EFL_CHECK_FUNC([EVAS], [dlsym])
2424
2425 if test "x${efl_func_dlsym}" = "xno" && test "${with_opengl}" != "none"; then
2426    AC_MSG_ERROR([OpenGL cannot work without dlsym()])
2427 fi
2428
2429 ### Checks for programs
2430
2431 ### Checks for libraries
2432
2433 ## Compatibility layers
2434 EFL_PLATFORM_DEPEND([EVAS], [all])
2435 EFL_INTERNAL_DEPEND_PKG([EVAS], [eo])
2436 EFL_INTERNAL_DEPEND_PKG([EVAS], [eet])
2437 EFL_INTERNAL_DEPEND_PKG([EVAS], [eina])
2438 EFL_INTERNAL_DEPEND_PKG([EVAS], [efl])
2439 EFL_INTERNAL_DEPEND_PKG([EVAS], [emile])
2440 EFL_INTERNAL_DEPEND_PKG([EVAS], [ector])
2441 EFL_INTERNAL_DEPEND_PKG([EVAS], [ecore])
2442
2443 EFL_ADD_LIBS([EVAS], [-lm])
2444
2445 # Freetype
2446 EFL_DEPEND_PKG([EVAS], [FREETYPE], [freetype2 >= 9.3.0])
2447
2448 ## optional dependencies
2449
2450 # FontConfig
2451 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_fontconfig}],
2452    [FONTCONFIG], [fontconfig >= 2.5.0])
2453
2454 # fribidi support
2455 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_fribidi}],
2456    [FRIBIDI], [fribidi >= 0.19.2])
2457
2458 # harfbuzz support
2459 have_harfbuzz_ft="no"
2460 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_harfbuzz}],
2461    [HARFBUZZ], [harfbuzz >= 0.9.0])
2462
2463 # Pixman
2464 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_pixman}], [PIXMAN], [pixman-1])
2465
2466 if test "x${have_pixman}" = "xyes" ; then
2467    if test "x${have_pixman_font}" = "xyes" ; then
2468       AC_DEFINE(PIXMAN_FONT, 1, [Allow pixman to render fonts])
2469    fi
2470    EFL_ADD_FEATURE([EVAS_PIXMAN], [font], [${have_pixman_font}])
2471
2472    if test "x${have_pixman_rect}" = "xyes" ; then
2473       AC_DEFINE(PIXMAN_RECT, 1, [Allow pixman to render rects])
2474    fi
2475    EFL_ADD_FEATURE([EVAS_PIXMAN], [rect], [${have_pixman_rect}])
2476
2477    if test "x${have_pixman_line}" = "xyes" ; then
2478       AC_DEFINE(PIXMAN_LINE, 1, [Allow pixman to render lines])
2479    fi
2480    EFL_ADD_FEATURE([EVAS_PIXMAN], [line], [${have_pixman_line}])
2481
2482    if test "x${have_pixman_poly}" = "xyes" ; then
2483       AC_DEFINE(PIXMAN_POLY, 1, [Allow pixman to render polys])
2484    fi
2485    EFL_ADD_FEATURE([EVAS_PIXMAN], [poly], [${have_pixman_poly}])
2486
2487    if test "x${have_pixman_image}" = "xyes" ; then
2488       AC_DEFINE(PIXMAN_IMAGE, 1, [Allow pixman to render images])
2489    fi
2490    EFL_ADD_FEATURE([EVAS_PIXMAN], [image], [${have_pixman_image}])
2491
2492    if test "x${have_pixman_image_scale_sample}" = "xyes" ; then
2493       AC_DEFINE(PIXMAN_IMAGE_SCALE_SAMPLE, 1, [Allow pixman to render image sampled scaling])
2494    fi
2495    EFL_ADD_FEATURE([EVAS_PIXMAN], [scale_sample], [${have_pixman_scale_sample}])
2496 fi
2497
2498 ## Engines
2499
2500 define([EVAS_ENGINE_DEP_CHECK_FB], [
2501 AC_CHECK_HEADER([linux/fb.h], [:], [AC_MSG_ERROR([Missing linux/fb.h])])
2502 ])
2503
2504 define([EVAS_ENGINE_DEP_CHECK_PSL1GHT], [
2505 AC_CHECK_HEADER([rsx/rsx.h], [:], [AC_MSG_ERROR([Missing rsx/rsx.h])])
2506 ])
2507
2508 EVAS_ENGINE([buffer], [static])
2509 EVAS_ENGINE([fb], [${want_fb}], [EVAS_ENGINE_DEP_CHECK_FB])
2510 EVAS_ENGINE([psl1ght], [${have_ps3}], [EVAS_ENGINE_DEP_CHECK_PSL1GHT])
2511
2512 # XXX TODO:
2513 EVAS_CHECK_ENGINE([gl-cocoa], [${want_evas_engine_gl_cocoa}], [no], [OpenGL Cocoa])
2514 EVAS_CHECK_ENGINE([gl-sdl], [${want_gl_sdl}], [no], [OpenGL SDL])
2515 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
2516 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
2517 EVAS_CHECK_ENGINE([wayland-egl], [${want_evas_engine_wayland_egl}], [no], [Wayland Egl])
2518 EVAS_CHECK_ENGINE([wayland-shm], [${want_wayland}], [no], [Wayland Shm])
2519 EVAS_CHECK_ENGINE([drm], [${want_drm}], [no], [Drm])
2520 EVAS_CHECK_ENGINE([gl-drm], [${want_gl_drm}], [no], [OpenGL Drm])
2521 EVAS_CHECK_ENGINE([eglfs], [${want_eglfs}], [no], [OpenGL Fb])
2522
2523
2524 # Software Xlib
2525
2526 have_evas_engine_software_xlib="no"
2527 EVAS_CHECK_ENGINE([software-xlib], [${want_x11_xlib}], [no], [Software Xlib])
2528 AC_MSG_CHECKING([whether to build Software Xlib Engine])
2529 AC_MSG_RESULT([${have_evas_engine_software_xlib}])
2530
2531 # If software_x11 is available, define everything needed for X11
2532
2533 have_evas_engine_software_x11="no"
2534 if test "x${have_evas_engine_software_xlib}" = "xyes" || test "x${have_evas_engine_software_xlib}" = "xstatic"; then
2535    have_evas_engine_software_x11="yes"
2536    AC_DEFINE_UNQUOTED([BUILD_ENGINE_SOFTWARE_X11], [1], [Build software X11 engine])
2537 fi
2538 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xyes"])
2539
2540 if test "x${have_evas_engine_software_xlib}" = "xstatic"; then
2541    AC_DEFINE_UNQUOTED([EVAS_STATIC_BUILD_SOFTWARE_X11], [1], [Build software X11 engine as part of libevas])
2542 fi
2543 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_xlib}" = "xstatic"])
2544
2545 # Needed for evas-software-x11.pc
2546
2547 AC_SUBST([have_evas_engine_software_xlib])
2548
2549 # Software generic
2550 AC_DEFINE([EVAS_STATIC_BUILD_SOFTWARE_GENERIC], [1], [Build software generic engine as part of libevas])
2551 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_GENERIC], [true])
2552
2553 # OpenGL
2554
2555 if test "${with_opengl}" = "es" ; then
2556    AC_DEFINE(GL_GLES, 1, [GLSL runtime shader GLES2 support])
2557 fi
2558
2559 # OpenGL Xlib
2560
2561 have_evas_engine_gl_xlib="no"
2562 EVAS_CHECK_ENGINE([gl-xlib], [${want_x11_xlib_opengl}], [no], [OpenGL XLib])
2563
2564 AC_MSG_CHECKING([whether to build OpenGL Xlib Engine])
2565 AC_MSG_RESULT([${have_evas_engine_gl_xlib}])
2566
2567 # If opengl_x11 is available, define everything needed for X11
2568
2569 have_evas_engine_gl_x11="no"
2570 if test "x${have_evas_engine_gl_xlib}" = "xyes" || test "x${have_evas_engine_gl_xlib}" = "xstatic"; then
2571    have_evas_engine_gl_x11="yes"
2572    AC_DEFINE_UNQUOTED([BUILD_ENGINE_GL_X11], [1], [Build OpenGL X11 engine])
2573 fi
2574 AM_CONDITIONAL([BUILD_ENGINE_GL_X11], [test "x${have_evas_engine_gl_x11}" = "xyes"])
2575
2576 if test "x${have_evas_engine_gl_xlib}" = "xstatic"; then
2577    AC_DEFINE_UNQUOTED([EVAS_STATIC_BUILD_GL_X11], [1], [Build OpenGL X11 engine as part of libevas])
2578 fi
2579 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_X11], [test "x${have_evas_engine_gl_xlib}" = "xstatic"])
2580
2581 # Needed for evas-opengl-x11.pc
2582
2583 AC_SUBST([have_evas_engine_gl_xlib])
2584
2585 # OpenGL SDL
2586
2587 if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
2588    AC_CHECK_DECL([SDL_GL_CONTEXT_MAJOR_VERSION],
2589       [AC_DEFINE([HAVE_SDL_GL_CONTEXT_VERSION], [1], [SDL_GL version attributes present])],,
2590       [#include <SDL2/SDL_video.h>])
2591 fi
2592
2593 if test "${with_opengl}" = "es"; then
2594    AC_CHECK_DECL([SDL_OPENGLES],
2595       [AC_DEFINE([HAVE_SDL_FLAG_OPENGLES], [1], [SDL_OPENGLES flag is present])],,
2596       [#include <SDL2/SDL_video.h>])
2597 fi
2598
2599 # OpenGL common
2600 evas_engine_gl_common_cflags=""
2601 if test "x${have_egl}" = "xyes"; then
2602    evas_engine_gl_common_libs="-lEGL"
2603 else
2604    evas_engine_gl_common_libs="-lGL"
2605 fi
2606
2607 # The lines below fix compiling/linking of gl_generic on OSX
2608 if test "x${have_darwin}" = "xyes"; then
2609    if test "x${have_evas_engine_gl_cocoa}" = "xyes"; then
2610       # If gl_cocoa is enabled, Apple's Core OpenGL (CGL) should be the default OpenGL.
2611       # CFLAGS and LIBS are determined by evas-gl_cocoa.
2612       evas_engine_gl_common_libs="${evas_engine_gl_cocoa_libs}"
2613       evas_engine_gl_common_cflags="${evas_engine_gl_cocoa_cflags}"
2614    else
2615       # If evas-gl_cocoa is disabled, the only supported OpenGL engine on OSX (for now)
2616       # is evas-gl_x11. Without its CFLAGS and LIBS explicitely set, gl_generic
2617       # cannot compile (nor link).
2618       evas_engine_gl_common_libs=""
2619       evas_engine_gl_common_cflags=""
2620
2621       if test "x${have_evas_engine_gl_xlib}" = "xyes"; then
2622          evas_engine_gl_common_libs="${evas_engine_gl_xlib_libs}"
2623          evas_engine_gl_common_cflags="${evas_engine_gl_xlib_cflags}"
2624       fi
2625       ### XXX Check for other supported engines supported on OSX (dec. 2014: NONE)
2626    fi
2627 fi
2628
2629 AC_SUBST([evas_engine_gl_common_cflags])
2630 AC_SUBST([evas_engine_gl_common_libs])
2631
2632 have_evas_engine_gl_common="no"
2633 have_static_evas_engine_gl_common="no"
2634 if test "x$have_evas_engine_gl_xlib" = "xyes" || \
2635    test "x$have_evas_engine_gl_sdl" = "xyes" || \
2636    test "x$have_evas_engine_gl_cocoa" = "xyes" || \
2637    test "x$have_evas_engine_gl_drm" = "xyes" || \
2638    test "x$have_evas_engine_eglfs" = "xyes" || \
2639    test "x$have_evas_engine_wayland_egl" = "xyes"; then
2640    have_evas_engine_gl_common="yes"
2641 fi
2642 if test "x$have_evas_engine_gl_xlib" = "xstatic" || \
2643    test "x$have_evas_engine_gl_sdl" = "xstatic" || \
2644    test "x$have_evas_engine_gl_cocoa" = "xstatic" || \
2645    test "x$have_evas_engine_gl_drm" = "xstatic" || \
2646    test "x$have_evas_engine_eglfs" = "xstatic" || \
2647    test "x$have_evas_engine_wayland_egl" = "xstatic"; then
2648    have_evas_engine_gl_common="yes"
2649    have_static_evas_engine_gl_common="yes"
2650 fi
2651
2652 if test "x${have_evas_engine_gl_common}" = "xyes"; then
2653    AC_DEFINE([BUILD_ENGINE_GL_COMMON], [1], [Generic OpenGL Rendering Support])
2654 fi
2655
2656 AM_CONDITIONAL([BUILD_ENGINE_GL_COMMON], [test "x$have_evas_engine_gl_common" = "xyes"])
2657
2658 if test "x${have_static_evas_engine_gl_common}" = "xyes"; then
2659    AC_DEFINE([EVAS_STATIC_BUILD_GL_COMMON], [1], [Build GL generic engine as part of libevas])
2660 fi
2661
2662 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_COMMON], [test "x${have_static_evas_engine_gl_common}" = "xyes"])
2663
2664 have_evas_engine_wayland_common="no"
2665 if test "x$have_evas_engine_wayland_egl" = "xstatic" || \
2666    test "x$have_evas_engine_wayland_shm" = "xstatic" || \
2667    test "x$have_evas_engine_wayland_egl" = "xyes" || \
2668    test "x$have_evas_engine_wayland_shm" = "xyes"; then
2669    have_evas_engine_wayland_common="yes"
2670 fi
2671
2672 if test "x$have_evas_engine_wayland_common" = "xyes"; then
2673    AC_DEFINE([BUILD_ENGINE_WAYLAND_COMMON], [1], [Building any wayland evas engine])
2674 fi
2675 AM_CONDITIONAL([BUILD_ENGINE_WAYLAND_COMMON], [test "x${have_evas_engine_wayland_common}" = "xyes"])
2676
2677 ## Vg Loaders
2678
2679 EVAS_CHECK_VG_LOADER([SVG], [${want_evas_vg_loader_svg}])
2680 EVAS_CHECK_VG_LOADER([EET], [${want_evas_vg_loader_eet}])
2681
2682 ## Image Loaders
2683
2684 EVAS_CHECK_IMAGE_LOADER([BMP],     [${want_evas_image_loader_bmp}])
2685 EVAS_CHECK_IMAGE_LOADER([Eet],     [${want_evas_image_loader_eet}])
2686 EVAS_CHECK_IMAGE_LOADER([Generic], [${want_evas_image_loader_generic}])
2687 EVAS_CHECK_IMAGE_LOADER([Gif],     [${want_evas_image_loader_gif}])
2688 EVAS_CHECK_IMAGE_LOADER([ICO],     [${want_evas_image_loader_ico}])
2689 EVAS_CHECK_IMAGE_LOADER([JPEG],    [${want_evas_image_loader_jpeg}])
2690 EVAS_CHECK_IMAGE_LOADER([JP2K],    [${want_evas_image_loader_jp2k}])
2691 EVAS_CHECK_IMAGE_LOADER([PMAPS],   [${want_evas_image_loader_pmaps}])
2692 EVAS_CHECK_IMAGE_LOADER([PNG],     [${want_evas_image_loader_png}])
2693 EVAS_CHECK_IMAGE_LOADER([PSD],     [${want_evas_image_loader_psd}])
2694 EVAS_CHECK_IMAGE_LOADER([Tga],     [${want_evas_image_loader_tga}])
2695 EVAS_CHECK_IMAGE_LOADER([Tiff],    [${want_evas_image_loader_tiff}])
2696 EVAS_CHECK_IMAGE_LOADER([WBMP],    [${want_evas_image_loader_wbmp}])
2697 EVAS_CHECK_IMAGE_LOADER([WEBP],    [${want_evas_image_loader_webp}])
2698 EVAS_CHECK_IMAGE_LOADER([XPM],     [${want_evas_image_loader_xpm}])
2699 EVAS_CHECK_IMAGE_LOADER([TGV],     [${want_evas_image_loader_tgv}])
2700 EVAS_CHECK_IMAGE_LOADER([DDS],     [${want_evas_image_loader_dds}])
2701
2702 EFL_EVAL_PKGS([EVAS])
2703
2704 ### Checks for header files
2705
2706 if test "x$want_hyphen" = "xyes" ; then
2707
2708    EFL_CHECK_LIB_CODE([EVAS], [-lhyphen], [have_fct], [[
2709    #include <string.h>
2710    #include <stdlib.h>
2711    #include <ctype.h>
2712    #include <stdio.h>
2713    #include <hyphen.h>
2714    ]], [[
2715    HyphenDict *dict;
2716    ]])
2717
2718    if test "${have_fct}" = "no"; then
2719      AC_MSG_ERROR([Cannot find the hyphen library.])
2720    else
2721      AC_DEFINE([HAVE_HYPHEN], [1], [have hunspell hyphen support])
2722    fi
2723 fi
2724
2725 if test "x$have_harfbuzz" = "xyes" ; then
2726
2727    CPPFLAGS_SAVE="$CPPFLAGS"
2728    CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS"
2729 # must have for usage with harfbuzz although harfbuzz may not have it.
2730
2731    AC_CHECK_HEADER([hb-ft.h],
2732       [
2733        have_harfbuzz_ft="yes"
2734        #Depend on harfbuzz ft for harfbuzz support
2735        AC_DEFINE([HAVE_HARFBUZZ], [1], [have harfbuzz support])
2736       ],
2737       [AC_MSG_ERROR([Harfbuzz-ft (hb-ft.h) not found])])
2738
2739    CPPFLAGS="$CPPFLAGS_SAVE"
2740 fi
2741
2742 ### Checks for types
2743
2744 CPPFLAGS_SAVE="$CPPFLAGS"
2745 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS -Isrc/lib/eina"
2746 AC_CHECK_SIZEOF([Eina_Unicode], [], [#include <Eina.h>])
2747 CPPFLAGS="$CPPFLAGS_SAVE"
2748
2749
2750 if test "x$have_fribidi" = "xyes" ; then
2751    CPPFLAGS_SAVE="$CPPFLAGS"
2752    CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS"
2753    AC_CHECK_SIZEOF([FriBidiChar], [], [#include <fribidi.h>])
2754    CPPFLAGS="$CPPFLAGS_SAVE"
2755 fi
2756
2757 ### Checks for structures
2758
2759 AC_CHECK_TYPES([struct sigaction], [], [],
2760                [[#include <signal.h>]])
2761
2762 ### Checks for compiler characteristics
2763
2764 ### Checks for linker characteristics
2765
2766 ### Checks for library functions
2767
2768 AC_CHECK_FUNCS([siglongjmp])
2769
2770 AC_CHECK_LIB([m], [lround],
2771 [AC_DEFINE([HAVE_LROUND], [1], [C99 lround function exists])],
2772 [EFL_CHECK_GCC_BUILTIN([lround], [HAVE_LROUND])]
2773 )
2774
2775
2776 # Evas cserve2
2777
2778 AC_ARG_ENABLE([cserve],
2779    [AS_HELP_STRING([--enable-cserve],[enable shared cache server (cserve2). @<:@default=enabled@:>@])],
2780    [
2781     if test "x${enableval}" = "xyes" ; then
2782        want_evas_cserve2="yes"
2783     else
2784        want_evas_cserve2="no"
2785        CFOPT_WARNING="xyes"
2786     fi
2787    ],
2788    [want_evas_cserve2="yes"])
2789
2790 if test "x${want_evas_image_loader_generic}" = "xyes" || test "x${want_evas_cserve2}" = "xyes" ; then
2791    EFL_ADD_LIBS([EVAS], [${requirements_libs_shm}])
2792 fi
2793
2794 # cserve2 only works on Linux so far.
2795
2796 if test "x${efl_func_shm_open}" = "xno" ; then
2797    want_evas_cserve2="no"
2798 fi
2799
2800 if test "x${want_evas_cserve2}" = "xyes"; then
2801    if test "x${ac_cv_header_sys_epoll_h}" = "xno" || test "x${ac_cv_header_sys_inotify_h}" = "xno" || test "x${ac_cv_header_sys_signalfd_h}" = "xno"; then
2802       want_evas_cserve2="no"
2803    else
2804       EVAS_CSERVE2_SLAVE_LIBS="${EFLALL_COV_LIBS} ${EFL_LIBS} ${requirements_libs_shm}"
2805       AC_SUBST([EVAS_CSERVE2_SLAVE_LIBS])
2806    fi
2807 fi
2808
2809 AC_DEFINE_IF([EVAS_CSERVE2],
2810    [test "x${want_evas_cserve2}" = "xyes"],
2811    [1], [Shared cache server.])
2812 AM_CONDITIONAL([EVAS_CSERVE2], [test "x${want_evas_cserve2}" = "xyes"])
2813
2814 ### Configuration
2815
2816 ## Tile rotation
2817
2818 if test "x${have_tile_rotate}" = "xyes" ; then
2819    AC_DEFINE(TILE_ROTATE, 1, [Enable tiled rotate algorithm])
2820 fi
2821
2822
2823 ## dither options
2824
2825 AC_ARG_WITH([evas-dither-mask],
2826    [AS_HELP_STRING([--with-evas-dither-mask=TYPE],[use the specified dither mask to convert bitdepths in Evas, one of: big, small, line or none.
2827                     @<:@default=big@:>@])],
2828    [build_evas_dither_mask=${withval}],
2829    [build_evas_dither_mask=big])
2830
2831 case "${build_evas_dither_mask}" in
2832    big)
2833      AC_DEFINE([BUILD_BIG_DITHER_MASK], [1], [Use biggest dither mask while converting in Evas])
2834      ;;
2835    small)
2836      AC_DEFINE([BUILD_SMALL_DITHER_MASK], [1], [Use smaller dither mask while converting in Evas])
2837      ;;
2838    line)
2839      AC_DEFINE([BUILD_LINE_DITHER_MASK], [1], [Use simpler line-only dither mask while converting in Evas])
2840      ;;
2841    none)
2842      AC_DEFINE([BUILD_NO_DITHER_MASK], [1], [Do not use dither masks while converting in Evas])
2843      ;;
2844    *)
2845      AC_MSG_ERROR([Unknown Evas dither mask --with-evas-dither-mask=${build_evas_dither_mask}])
2846      ;;
2847 esac
2848 EFL_ADD_FEATURE([EVAS], [fontconfig])
2849 EFL_ADD_FEATURE([EVAS], [fribidi])
2850 EFL_ADD_FEATURE([EVAS], [harfbuzz])
2851 EFL_ADD_FEATURE([EVAS], [cserve], [${want_evas_cserve2}])
2852 EFL_ADD_FEATURE([EVAS], [tile-rotate])
2853 EFL_ADD_FEATURE([EVAS], [dither-mask], [${build_evas_dither_mask}])
2854 EFL_ADD_FEATURE([EVAS], [hyphen])
2855
2856 #### Generic backend
2857
2858 ### Options to turn off generic loaders for evas
2859 AC_ARG_ENABLE([poppler],
2860    [AS_HELP_STRING([--disable-poppler],[disable pdf support. @<:@default=enabled@:>@])],
2861    [
2862     if test "x${enableval}" = "xyes" ; then
2863        want_poppler="yes"
2864     else
2865        want_poppler="no"
2866     fi
2867    ])
2868
2869 AC_ARG_ENABLE([spectre],
2870    [AS_HELP_STRING([--disable-spectre],[disable postscript support. @<:@default=enabled@:>@])],
2871    [
2872     if test "x${enableval}" = "xyes" ; then
2873        want_spectre="yes"
2874     else
2875        want_spectre="no"
2876     fi
2877    ])
2878
2879 AC_ARG_ENABLE([libraw],
2880    [AS_HELP_STRING([--disable-libraw],[disable libraw support. @<:@default=enabled@:>@])],
2881    [
2882     if test "x${enableval}" = "xyes" ; then
2883        want_libraw="yes"
2884     else
2885        want_libraw="no"
2886     fi
2887    ])
2888
2889 AC_ARG_ENABLE([librsvg],
2890    [AS_HELP_STRING([--disable-librsvg],[disable svg support. @<:@default=enabled@:>@])],
2891    [
2892     if test "x${enableval}" = "xyes" ; then
2893        want_rsvg="yes"
2894     else
2895        want_rsvg="no"
2896     fi
2897    ])
2898
2899 AC_ARG_ENABLE([xcf],
2900    [AS_HELP_STRING([--disable-xcf],[disable xcf support. @<:@default=enabled@:>@])],
2901    [
2902     if test "x${enableval}" = "xyes" ; then
2903        want_xcf="yes"
2904     else
2905        want_xcf="no"
2906     fi
2907    ])
2908
2909 have_poppler="no"
2910 have_spectre="no"
2911 have_raw="no"
2912 have_rsvg="no"
2913
2914 ### Check needed dependency for each generic loader
2915 if test "x${want_poppler}" = "xyes"; then
2916    PKG_CHECK_MODULES([POPPLER], [poppler-cpp >= 0.12], [have_poppler="yes"])
2917 fi
2918
2919 if test "x${want_spectre}" = "xyes"; then
2920    PKG_CHECK_MODULES([SPECTRE], [libspectre], [have_spectre="yes"])
2921 fi
2922
2923 if test "x${want_libraw}" = "xyes"; then
2924    PKG_CHECK_MODULES([LIBRAW], [libraw], [have_raw="yes"])
2925 fi
2926
2927 if test "x${want_rsvg}" = "xyes"; then
2928    PKG_CHECK_MODULES([RSVG],  [librsvg-2.0 >= 2.14.0 cairo >= 1.0.0], [have_rsvg="yes"])
2929    PKG_CHECK_MODULES(
2930       [SVG_2_36], [librsvg-2.0 >= 2.36.0 cairo >= 1.0.0],
2931       [
2932        have_rsvg_2_36="yes"
2933        AC_DEFINE(HAVE_SVG_2_36, 1, [Have librsvg >= 2.36])
2934       ],
2935       [have_rsvg_2_36="no"])
2936 fi
2937
2938 AM_CONDITIONAL([HAVE_POPPLER], [test "x${have_poppler}" = "xyes"])
2939 AM_CONDITIONAL([HAVE_SPECTRE], [test "x${have_spectre}" = "xyes"])
2940 AM_CONDITIONAL([HAVE_LIBRAW], [test "x${have_raw}" = "xyes"])
2941 AM_CONDITIONAL([HAVE_RSVG], [test "x${have_rsvg}" = "xyes"])
2942 AM_CONDITIONAL([HAVE_XCF], [test "x${want_xcf}" = "xyes"])
2943
2944 EFL_ADD_FEATURE([EVAS_LOADER], [poppler], [${have_poppler}])
2945 EFL_ADD_FEATURE([EVAS_LOADER], [spectre], [${have_spectre}])
2946 EFL_ADD_FEATURE([EVAS_LOADER], [raw], [${have_raw}])
2947 EFL_ADD_FEATURE([EVAS_LOADER], [rsvg], [${have_rsvg}])
2948 EFL_ADD_FEATURE([EVAS_LOADER], [xcf], [${want_xcf}])
2949
2950 EFL_LIB_END([Evas])
2951 #### End of Evas
2952
2953 #### Edje CXX
2954 EFL_LIB_START([Evas_Cxx])
2955
2956 EFL_EVAL_PKGS([EVAS_CXX])
2957
2958 EFL_LIB_END([Evas_Cxx])
2959 #### End of Edje CXX
2960
2961 #### Embryo
2962
2963 EFL_LIB_START([Embryo])
2964
2965 ### Default values
2966
2967 ### Additional options to configure
2968
2969 ### Checks for programs
2970
2971 ### Checks for libraries
2972 EFL_PLATFORM_DEPEND([EMBRYO], [all])
2973 EFL_INTERNAL_DEPEND_PKG([EMBRYO], [eina])
2974
2975 EFL_ADD_LIBS([EMBRYO], [-lm])
2976
2977 ### Checks for header files
2978
2979 ### Checks for types
2980
2981 ### Checks for structures
2982
2983 ### Checks for compiler characteristics
2984
2985 ### Checks for linker characteristics
2986
2987 ### Checks for library functions
2988
2989 if ! test "x${efl_func_fnmatch}" = "xyes" ; then
2990    AC_MSG_ERROR([Cannot find fnmatch()])
2991 fi
2992
2993 if ! test "x${efl_func_gettimeofday}" = "xyes" ; then
2994    AC_MSG_ERROR([Cannot find gettimeofday()])
2995 fi
2996
2997 ### Check availability
2998
2999 EFL_LIB_END([Embryo])
3000 #### End of Embryo
3001
3002
3003 #### Ecore CXX
3004 EFL_LIB_START([Ecore_Cxx])
3005
3006 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eina_Cxx])
3007 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Ecore])
3008 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eina])
3009 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eo])
3010 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Efl])
3011
3012 EFL_EVAL_PKGS([ECORE_CXX])
3013
3014 EFL_LIB_END([Ecore_Cxx])
3015 #### End of Ecore CXX
3016
3017 #### Ecore_Con
3018
3019 EFL_LIB_START([Ecore_Con])
3020
3021 ### Default values
3022
3023 want_ecore_con_local_sockets="yes"
3024 want_ecore_con_abstract_sockets="yes"
3025
3026 if test "${have_win32}" = "yes"; then
3027    want_ecore_con_abstract_sockets="no"
3028 elif test "${have_darwin}" = "yes"; then
3029    want_ecore_con_abstract_sockets="yes"
3030 elif test "${have_ps3}" = "yes"; then
3031    want_ecore_con_local_sockets="no"
3032    want_ecore_con_abstract_sockets="no"
3033 fi
3034
3035 AC_DEFINE_IF([HAVE_LOCAL_SOCKETS],
3036    [test "x${want_ecore_con_local_sockets}" = "xyes"],
3037    [1], [Have local sockets support])
3038 AC_DEFINE_IF([HAVE_ABSTRACT_SOCKETS],
3039    [test "x${want_ecore_con_abstract_sockets}" = "xyes"],
3040    [1], [Have abstract sockets namespace])
3041
3042 ### Checks for programs
3043
3044 ### Checks for libraries
3045 EFL_PLATFORM_DEPEND([ECORE_CON], [all])
3046 if test "$build_crypto" != "none" ; then
3047    EFL_CRYPTO_DEPEND([ECORE_CON])
3048 fi
3049 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eo])
3050 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [efl])
3051 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eet])
3052 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eina])
3053 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [ecore])
3054 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [emile])
3055
3056 EFL_ADD_LIBS([ECORE_CON], [-lm])
3057
3058 EFL_OPTIONAL_DEPEND_PKG([ECORE_CON], [${want_systemd}], [SYSTEMD], [libsystemd])
3059
3060 EFL_ADD_FEATURE([ECORE_CON], [local-sockets], [${want_ecore_con_local_sockets}])
3061 EFL_ADD_FEATURE([ECORE_CON], [abstract-sockets], [${want_ecore_con_abstract_sockets}])
3062 EFL_ADD_FEATURE([ECORE_CON], [systemd-daemon], [${want_systemd}])
3063
3064 EFL_EVAL_PKGS([ECORE_CON])
3065
3066 ### Checks for header files
3067
3068 AC_CHECK_HEADERS([ws2tcpip.h netdb.h])
3069
3070 if test "x${ac_cv_header_netdb_h}" = "xno" && test "x${have_windows}" = "xno"; then
3071    AC_MSG_ERROR([netdb.h is requested to have Ecore_Con. Exiting...])
3072 fi
3073
3074 ### Checks for types
3075
3076 have_ipv6="no"
3077 AC_CHECK_TYPES([struct ipv6_mreq],
3078    [have_ipv6="yes"],
3079    [have_ipv6="no"],
3080    [[
3081 #ifdef HAVE_NETINET_IN_H
3082 # include <netinet/in.h>
3083 #endif
3084 #ifdef HAVE_WS2TCPIP_H
3085 # include <ws2tcpip.h>
3086 #endif
3087 ]])
3088
3089 AC_DEFINE_IF([HAVE_IPV6],
3090    [test "x${have_ipv6}" = "xyes"],
3091    [1], [Define if IPV6 is supported])
3092 AM_CONDITIONAL([HAVE_IPV6], [test "x${have_ipv6}" = "xyes"])
3093
3094 ### Checks for structures
3095
3096 ### Checks for compiler characteristics
3097
3098 ### Checks for linker characteristics
3099
3100 ### Checks for library functions
3101 AC_CHECK_FUNCS([accept4])
3102
3103 EFL_LIB_END([Ecore_Con])
3104 #### End of Ecore_Con
3105
3106
3107 #### Ecore_Ipc
3108
3109 EFL_LIB_START([Ecore_Ipc])
3110
3111 ### Default values
3112
3113 ### Additional options to configure
3114
3115 ### Checks for programs
3116
3117 ## Compatibility layers
3118 EFL_PLATFORM_DEPEND([ECORE_IPC], [evil])
3119
3120 ### Checks for libraries
3121 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [ecore-con])
3122 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [ecore])
3123 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [eo])
3124 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [efl])
3125 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [eina])
3126
3127 EFL_ADD_LIBS([ECORE_IPC], [-lm])
3128
3129 ### Checks for header files
3130
3131 AC_CHECK_HEADERS([winsock2.h])
3132
3133 ### Checks for types
3134
3135 ### Checks for structures
3136
3137 ### Checks for compiler characteristics
3138
3139 ### Checks for linker characteristics
3140
3141 ### Checks for library functions
3142
3143 EFL_LIB_END([Ecore_Ipc])
3144 #### End of Ecore_Ipc
3145
3146
3147 #### Ecore_File
3148
3149 EFL_LIB_START([Ecore_File])
3150
3151 ### Additional options to configure
3152
3153 ### Default values
3154
3155 ### Checks for programs
3156
3157 ## Compatibility layers
3158 EFL_PLATFORM_DEPEND([ECORE_FILE], [evil])
3159
3160 ### Checks for libraries
3161 EFL_PLATFORM_DEPEND([ECORE_FILE], [escape])
3162 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [ecore-con])
3163 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [ecore])
3164 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [eo])
3165 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [efl])
3166 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [eina])
3167
3168 ### Checks for header files
3169
3170 ### Checks for types
3171
3172 ### Checks for structures
3173
3174 ### Checks for compiler characteristics
3175
3176 ### Checks for linker characteristics
3177
3178 ### Checks for library functions
3179
3180 EFL_LIB_END([Ecore_File])
3181 #### End of Ecore_File
3182
3183
3184 #### Eeze
3185 have_libmount_new="no"
3186 have_libmount_old="no"
3187 have_eeze_mount="no"
3188
3189 EFL_LIB_START_OPTIONAL([Eeze], [test "x${build_libeeze}" = "xyes"])
3190
3191 ### Additional options to configure
3192 AC_ARG_WITH([mount],
3193   [AS_HELP_STRING([--with-mount], [specify mount bin @<:@default=detect@:>@])],
3194   [with_eeze_mount=$withval], [with_eeze_mount="detect"])
3195 AC_ARG_WITH([umount],
3196   [AS_HELP_STRING([--with-umount], [specify umount bin @<:@default=detect@:>@])],
3197   [with_eeze_umount=$withval], [with_eeze_umount="detect"])
3198 AC_ARG_WITH([eject],
3199   [AS_HELP_STRING([--with-eject], [specify eject bin @<:@default=detect@:>@])],
3200   [with_eeze_eject=$withval], [with_eeze_eject="detect"])
3201
3202 ### Default values
3203
3204 ### Checks for programs
3205
3206 ### Checks for libraries
3207 EFL_INTERNAL_DEPEND_PKG([EEZE], [eina])
3208 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore])
3209 EFL_INTERNAL_DEPEND_PKG([EEZE], [eo])
3210 EFL_INTERNAL_DEPEND_PKG([EEZE], [efl])
3211 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-file])
3212 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-con])
3213 EFL_INTERNAL_DEPEND_PKG([EEZE], [eet])
3214 EFL_INTERNAL_DEPEND_PKG([EEZE], [emile])
3215
3216 EFL_DEPEND_PKG([EEZE], [UDEV], [libudev >= 148])
3217
3218 AC_ARG_ENABLE([libmount],
3219    [AS_HELP_STRING([--disable-libmount],[disable libmount support. @<:@default=enabled@:>@])],
3220    [
3221     if test "x${enableval}" = "xyes" ; then
3222        want_libmount="yes"
3223     else
3224        want_libmount="no"
3225        CFOPT_WARNING="xyes"
3226     fi
3227    ],
3228    [want_libmount="yes"])
3229
3230 EFL_OPTIONAL_DEPEND_PKG([EEZE], [${want_libmount}],
3231    [EEZE_MOUNT], [mount >= 2.18.0])
3232 EFL_ADD_FEATURE([EEZE], [libmount], [${have_eeze_mount}])
3233
3234 PKG_CHECK_EXISTS([libudev < 199],
3235                  [have_libudev_old="yes"],
3236                  [have_libudev_old="no"])
3237 AC_MSG_CHECKING([Use old libudev API (before 199)])
3238 AC_MSG_RESULT([${have_libudev_old}])
3239
3240 PKG_CHECK_EXISTS([mount < 2.19.0],
3241                  [have_libmount_old="yes"],
3242                  [have_libmount_old="no"])
3243 AC_MSG_CHECKING([Use old libmount API (before 2.19.0)])
3244 AC_MSG_RESULT([${have_libmount_old}])
3245
3246 PKG_CHECK_EXISTS([mount == 2.19.0],
3247                  [have_libmount_219="yes"],
3248                  [have_libmount_219="no"])
3249 AC_MSG_CHECKING([Use libmount 2.19.0 API])
3250 AC_MSG_RESULT([${have_libmount_219}])
3251
3252 PKG_CHECK_EXISTS([mount > 2.19.0],
3253                  [have_libmount_new="yes"],
3254                  [have_libmount_new="no"])
3255 AC_MSG_CHECKING([Use new libmount API (newer than 2.19.0)])
3256 AC_MSG_RESULT([${have_libmount_new}])
3257
3258 if test "x${have_libudev_old}" = "xyes"; then
3259   AC_DEFINE_UNQUOTED([OLD_LIBUDEV], [1], [using older version of libudev])
3260 fi
3261
3262 if test "x${have_libmount_old}" = "xyes"; then
3263   AC_DEFINE_UNQUOTED([OLD_LIBMOUNT], [1], [using first version of libmount])
3264 fi
3265
3266 ## modules
3267 if test "${want_tizen}"  = "yes"; then
3268   PKG_CHECK_MODULES([TIZEN_SENSOR], [capi-system-sensor >= 0.1.17])
3269 fi
3270 EFL_ADD_FEATURE([EEZE], [tizen])
3271
3272 EFL_EVAL_PKGS([EEZE])
3273
3274 ### Checks for header files
3275
3276 ### Checks for types
3277
3278 ### Checks for structures
3279
3280 ### Checks for compiler characteristics
3281
3282 ### Checks for linker characteristics
3283
3284 ### Checks for library functions
3285
3286 ### Checks for binaries
3287 if test "x$with_eeze_mount" = "xdetect"; then
3288   AC_PATH_PROG([with_eeze_mount], [mount], [])
3289 fi
3290 AC_DEFINE_UNQUOTED([EEZE_MOUNT_BIN], ["$with_eeze_mount"], [mount bin to use])
3291
3292 if test "x$with_eeze_umount" = "xdetect";then
3293   AC_PATH_PROG([with_eeze_umount], [umount], [])
3294 fi
3295 AC_DEFINE_UNQUOTED([EEZE_UNMOUNT_BIN], ["$with_eeze_umount"], [umount bin to use])
3296
3297 if test "x$with_eeze_eject" = "xdetect";then
3298   AC_PATH_PROG([with_eeze_eject], [eject], [])
3299 fi
3300 AC_DEFINE_UNQUOTED([EEZE_EJECT_BIN], ["$with_eeze_eject"], [eject bin to use])
3301
3302 EFL_LIB_END_OPTIONAL([Eeze])
3303
3304 AM_CONDITIONAL([EEZE_LIBMOUNT_AFTER_219],
3305                [test "x${have_libmount_new}" = "xyes"])
3306 AM_CONDITIONAL([EEZE_LIBMOUNT_BEFORE_219],
3307                [test "x${have_libmount_old}" = "xyes"])
3308 AM_CONDITIONAL([HAVE_EEZE_MOUNT], [test "x${have_eeze_mount}" = "xyes"])
3309 AM_CONDITIONAL([HAVE_EEZE_TIZEN], [test "x${want_tizen}" = "xyes"])
3310 #### End of Eeze
3311
3312
3313 #### Ecore_Input
3314 EFL_LIB_START([Ecore_Input])
3315
3316 ### Additional options to configure
3317
3318 ### Default values
3319
3320 ### Checks for programs
3321
3322 ## Compatibility layers
3323 EFL_PLATFORM_DEPEND([ECORE_INPUT], [evil])
3324
3325 ### Checks for libraries
3326 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [ecore])
3327 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eo])
3328 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [efl])
3329 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eina])
3330
3331 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [${efl_lib_optional_eeze}], [eeze])
3332
3333 ### Checks for header files
3334
3335 ### Checks for types
3336
3337 ### Checks for structures
3338
3339 ### Checks for compiler characteristics
3340
3341 ### Checks for linker characteristics
3342
3343 ### Checks for library functions
3344
3345 EFL_LIB_END([Ecore_Input])
3346 #### End of Ecore_Input
3347
3348
3349 #### Ecore_Input_Evas
3350 EFL_LIB_START([Ecore_Input_Evas])
3351
3352 ### Additional options to configure
3353
3354 ### Default values
3355
3356 ### Checks for programs
3357
3358 ## Compatibility layers
3359 EFL_PLATFORM_DEPEND([ECORE_INPUT_EVAS], [evil])
3360
3361 ### Checks for libraries
3362 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [ecore-input])
3363 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [ecore])
3364 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [evas])
3365 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [efl])
3366 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [eo])
3367 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [eina])
3368 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [emile])
3369
3370 ### Checks for header files
3371
3372 ### Checks for types
3373
3374 ### Checks for structures
3375
3376 ### Checks for compiler characteristics
3377
3378 ### Checks for linker characteristics
3379
3380 ### Checks for library functions
3381
3382 EFL_LIB_END([Ecore_Input_Evas])
3383 #### End of Ecore_Input_Evas
3384
3385
3386 #### Ecore_Cocoa
3387 EFL_LIB_START_OPTIONAL([Ecore_Cocoa], [test "${have_cocoa}" = "yes"])
3388
3389 ### Additional options to configure
3390
3391 ### Default values
3392
3393 ### Checks for programs
3394
3395 ### Checks for libraries
3396 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore-input])
3397 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore])
3398 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eo])
3399 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [efl])
3400 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eina])
3401 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [evas])
3402 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [emile])
3403
3404 ### Checks for header files
3405
3406 EFL_ADD_LIBS([ECORE_COCOA], [-framework Cocoa])
3407
3408 ### Checks for types
3409
3410 ### Checks for structures
3411
3412 ### Checks for compiler characteristics
3413
3414 ### Checks for linker characteristics
3415
3416 ### Checks for library functions
3417
3418 EFL_LIB_END_OPTIONAL([Ecore_Cocoa])
3419 #### End of Ecore_Cocoa
3420
3421
3422 #### Ecore_FB
3423 EFL_LIB_START_OPTIONAL([Ecore_FB], [test "${want_fb}" = "yes"])
3424
3425 ### Additional options to configure
3426 AC_ARG_ENABLE([tslib],
3427    [AS_HELP_STRING([--disable-tslib],[disable tslib for touchscreen events.])],
3428    [
3429     if test "x${enableval}" = "xyes" ; then
3430        want_tslib="yes"
3431     else
3432        want_tslib="no"
3433     fi
3434    ], [want_tslib="yes"])
3435
3436 ### Default values
3437
3438 ### Checks for programs
3439
3440 ### Checks for libraries
3441 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [ecore])
3442 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [ecore-input])
3443 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [eo])
3444 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [efl])
3445 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [eina])
3446
3447 EFL_OPTIONAL_DEPEND_PKG([ECORE_FB], [${want_tslib}], [TSLIB], [tslib])
3448 EFL_ADD_FEATURE([ECORE_FB], [tslib])
3449
3450 EFL_EVAL_PKGS([ECORE_FB])
3451
3452 ### Checks for header files
3453
3454 have_ecore_fb="no"
3455 AC_CHECK_HEADER([linux/fb.h],
3456    [AC_CHECK_HEADER([linux/input.h], [have_ecore_fb="yes"])])
3457 if test "${have_ecore_fb}" = "no"; then
3458    AC_MSG_ERROR([Missing linux/input.h or linux/fb.h])
3459 fi
3460
3461 ### Checks for types
3462
3463 ### Checks for structures
3464
3465 ### Checks for compiler characteristics
3466
3467 ### Checks for linker characteristics
3468
3469 ### Checks for library functions
3470
3471 EFL_LIB_END_OPTIONAL([Ecore_FB])
3472 #### End of Ecore_FB
3473
3474
3475 #### Ecore_Psl1ght
3476 EFL_LIB_START_OPTIONAL([Ecore_Psl1ght], [test "${have_ps3}" = "yes"])
3477
3478 ### Additional options to configure
3479
3480 ### Default values
3481
3482 ### Checks for programs
3483
3484 ### Checks for libraries
3485 EFL_PLATFORM_DEPEND([ECORE_PSL1GHT], [escape])
3486
3487 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [ecore-input])
3488 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [ecore])
3489 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [eo])
3490 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [efl])
3491 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [eina])
3492
3493 EFL_ADD_LIBS([ECORE_PSL1GHT], [-lio -lsysutil -lgem -lcamera -lspurs])
3494
3495 ### Checks for header files
3496
3497 ### Checks for types
3498
3499 ### Checks for structures
3500
3501 ### Checks for compiler characteristics
3502
3503 ### Checks for linker characteristics
3504
3505 ### Checks for library functions
3506
3507 EFL_LIB_END_OPTIONAL([Ecore_Psl1ght])
3508 #### End of Ecore_Psl1ght
3509
3510
3511 #### Ecore_SDL
3512 EFL_LIB_START_OPTIONAL([Ecore_SDL], [test "${want_sdl}" = "yes"])
3513
3514 ### Additional options to configure
3515
3516 ### Default values
3517
3518 ### Checks for programs
3519
3520 ### Checks for libraries
3521 EFL_PLATFORM_DEPEND([ECORE_SDL], [all])
3522 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [ecore-input])
3523 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [ecore])
3524 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eo])
3525 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [efl])
3526 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eina])
3527
3528 EFL_DEPEND_PKG([ECORE_SDL], [SDL], [sdl2 >= 2.0.0])
3529
3530 EFL_EVAL_PKGS([ECORE_SDL])
3531
3532 ### Checks for header files
3533
3534 ### Checks for types
3535
3536 ### Checks for structures
3537
3538 ### Checks for compiler characteristics
3539
3540 ### Checks for linker characteristics
3541
3542 ### Checks for library functions
3543
3544 EFL_LIB_END_OPTIONAL([Ecore_SDL])
3545 #### End of Ecore_SDL
3546
3547
3548 #### Ecore_Wayland
3549 EFL_LIB_START_OPTIONAL([Ecore_Wayland], [test "${want_ecore_wayland}" = "yes"])
3550
3551 if test "x${want_wayland_ivi_shell}" = "xyes" ; then
3552    AC_DEFINE(USE_IVI_SHELL, 1, [Ecore_Wayland IVI-Shell Support])
3553 fi
3554
3555 ### Additional options to configure
3556
3557 ### Default values
3558
3559 ### Checks for programs
3560
3561 ### Checks for libraries
3562 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [ecore-input])
3563 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [ecore])
3564 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [eo])
3565 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [efl])
3566 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [eina])
3567
3568 EFL_DEPEND_PKG([ECORE_WAYLAND], [WAYLAND],
3569    [wayland-client >= 1.8.0 wayland-cursor >= 1.8.0 xkbcommon >= 0.5.0 uuid])
3570
3571 EFL_EVAL_PKGS([ECORE_WAYLAND])
3572
3573 ### Checks for header files
3574
3575 ### Checks for types
3576
3577 ### Checks for structures
3578
3579 ### Checks for compiler characteristics
3580
3581 ### Checks for linker characteristics
3582
3583 ### Checks for library functions
3584
3585 EFL_LIB_END_OPTIONAL([Ecore_Wayland])
3586 #### End of Ecore_Wayland
3587
3588 #### Ecore_Wl2
3589 EFL_LIB_START_OPTIONAL([Ecore_Wl2], [test "${want_wayland}" = "yes"])
3590
3591 if test "x${want_wayland_ivi_shell}" = "xyes" ; then
3592    AC_DEFINE(USE_IVI_SHELL, 1, [Ecore_Wl2 IVI-Shell Support])
3593 fi
3594
3595 ### Additional options to configure
3596
3597 ### Default values
3598
3599 ### Checks for programs
3600
3601 ### Checks for libraries
3602 EFL_INTERNAL_DEPEND_PKG([ECORE_WL2], [ecore-input])
3603 EFL_INTERNAL_DEPEND_PKG([ECORE_WL2], [ecore])
3604 EFL_INTERNAL_DEPEND_PKG([ECORE_WL2], [eo])
3605 EFL_INTERNAL_DEPEND_PKG([ECORE_WL2], [efl])
3606 EFL_INTERNAL_DEPEND_PKG([ECORE_WL2], [eina])
3607
3608 EFL_DEPEND_PKG([ECORE_WL2], [WAYLAND],
3609    [wayland-server >= 1.11.0 wayland-client >= 1.11.0 xkbcommon >= 0.6.0])
3610
3611 EFL_EVAL_PKGS([ECORE_WL2])
3612
3613 ### Checks for header files
3614
3615 ### Checks for types
3616
3617 ### Checks for structures
3618
3619 ### Checks for compiler characteristics
3620
3621 ### Checks for linker characteristics
3622
3623 ### Checks for library functions
3624
3625 EFL_LIB_END_OPTIONAL([Ecore_Wl2])
3626 #### End of Ecore_Wl2
3627
3628 #### Eldbus
3629 EFL_LIB_START([Eldbus])
3630
3631 ### Additional options to configure
3632
3633 ### Default values
3634
3635 ### Checks for programs
3636
3637 ## Compatibility layers
3638 EFL_PLATFORM_DEPEND([ELDBUS], [evil])
3639
3640 ### Checks for libraries
3641 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [ecore])
3642 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [efl])
3643 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [eo])
3644 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [eina])
3645
3646 EFL_DEPEND_PKG([ELDBUS], [DBUS], [dbus-1])
3647
3648 EFL_EVAL_PKGS([ELDBUS])
3649
3650 ### Checks for header files
3651
3652 ### Checks for types
3653
3654 ### Checks for structures
3655
3656 ### Checks for compiler characteristics
3657
3658 ### Checks for linker characteristics
3659
3660 ### Checks for library functions
3661
3662 EFL_LIB_END([Eldbus])
3663 #### End of Eldbus
3664
3665
3666
3667 #### Ecore_Drm
3668 have_libinput_new="no"
3669 EFL_LIB_START_OPTIONAL([Ecore_Drm], [test "${want_ecore_drm}" = "yes"])
3670
3671 ### Additional options to configure
3672 SUID_CFLAGS=-fPIE
3673 SUID_LDFLAGS=-pie
3674 AC_SUBST([SUID_CFLAGS])
3675 AC_SUBST([SUID_LDFLAGS])
3676
3677 ### Default values
3678
3679 ### Checks for programs
3680
3681 ### Checks for libraries
3682 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore])
3683 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore-input])
3684 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eldbus])
3685 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eeze])
3686 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eo])
3687 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [efl])
3688 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eina])
3689
3690 EFL_DEPEND_PKG([ECORE_DRM], [DRM], [libdrm >= 2.4 xkbcommon >= 0.3.0 gbm])
3691 EFL_DEPEND_PKG([ECORE_DRM], [LIBINPUT], [libinput >= 0.6.0])
3692
3693 EFL_ADD_LIBS([ECORE_DRM], [-lm])
3694
3695 # API change from 0.7 to 0.8. So we define this to support both for now.
3696 PKG_CHECK_EXISTS([libinput >= 0.8.0],
3697                  [have_libinput_new="yes"],
3698                  [have_libinput_new="no"])
3699 AC_MSG_CHECKING([Use new libinput API (newer than 0.8.0)])
3700 AC_MSG_RESULT([${have_libinput_new}])
3701 if test "x${have_libinput_new}" = "xyes";then
3702   AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [1], [libinput version >= 0.8])
3703 fi
3704 if test "x${have_libinput_new}" = "xno";then
3705   AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [0], [libinput version >= 0.8])
3706 fi
3707
3708
3709 EFL_EVAL_PKGS([ECORE_DRM])
3710
3711 ### Checks for header files
3712
3713 ### Checks for types
3714
3715 ### Checks for structures
3716
3717 ### Checks for compiler characteristics
3718
3719 ### Checks for linker characteristics
3720
3721 ### Checks for library functions
3722
3723 EFL_LIB_END_OPTIONAL([Ecore_Drm])
3724 #### End of Ecore_Drm
3725
3726
3727 #### Elput
3728 have_libinput_new="no"
3729 EFL_LIB_START_OPTIONAL([Elput], [test "${want_elput}" = "yes"])
3730
3731 ### Additional options to configure
3732 SUID_CFLAGS=-fPIE
3733 SUID_LDFLAGS=-pie
3734 AC_SUBST([SUID_CFLAGS])
3735 AC_SUBST([SUID_LDFLAGS])
3736
3737 ### Default values
3738
3739 ### Checks for programs
3740
3741 ### Checks for libraries
3742 EFL_INTERNAL_DEPEND_PKG([ELPUT], [ecore])
3743 EFL_INTERNAL_DEPEND_PKG([ELPUT], [ecore-input])
3744 EFL_INTERNAL_DEPEND_PKG([ELPUT], [eldbus])
3745 EFL_INTERNAL_DEPEND_PKG([ELPUT], [eeze])
3746 EFL_INTERNAL_DEPEND_PKG([ELPUT], [eo])
3747 EFL_INTERNAL_DEPEND_PKG([ELPUT], [eina])
3748
3749 EFL_DEPEND_PKG([ELPUT], [LIBINPUT], [libinput >= 0.6.0 xkbcommon >= 0.3.0 libudev])
3750
3751 EFL_OPTIONAL_DEPEND_PKG([ELPUT], [${want_systemd}], [SYSTEMD], [libsystemd])
3752 EFL_ADD_FEATURE([ELPUT], [systemd-logind], [${want_systemd}])
3753
3754 EFL_ADD_LIBS([ELPUT], [-lm])
3755
3756 # API change from 0.7 to 0.8. So we define this to support both for now.
3757 PKG_CHECK_EXISTS([libinput >= 0.8.0],
3758                  [have_libinput_new="yes"],
3759                  [have_libinput_new="no"])
3760 AC_MSG_CHECKING([Use new libinput API (newer than 0.8.0)])
3761 AC_MSG_RESULT([${have_libinput_new}])
3762 if test "x${have_libinput_new}" = "xyes";then
3763   AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [1], [libinput version >= 0.8])
3764 fi
3765 if test "x${have_libinput_new}" = "xno";then
3766   AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [0], [libinput version >= 0.8])
3767 fi
3768
3769
3770 EFL_EVAL_PKGS([ELPUT])
3771
3772 ### Checks for header files
3773
3774 ### Checks for types
3775
3776 ### Checks for structures
3777
3778 ### Checks for compiler characteristics
3779
3780 ### Checks for linker characteristics
3781
3782 ### Checks for library functions
3783
3784 EFL_LIB_END_OPTIONAL([Elput])
3785 #### End of Elput
3786
3787 #### Ecore_Drm2
3788 have_libinput_new="no"
3789 EFL_LIB_START_OPTIONAL([Ecore_Drm2], [test "${want_drm}" = "yes"])
3790
3791 ### Additional options to configure
3792 SUID_CFLAGS=-fPIE
3793 SUID_LDFLAGS=-pie
3794 AC_SUBST([SUID_CFLAGS])
3795 AC_SUBST([SUID_LDFLAGS])
3796
3797 ### Default values
3798
3799 ### Checks for programs
3800
3801 ### Checks for libraries
3802 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM2], [eo])
3803 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM2], [efl])
3804 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM2], [eina])
3805 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM2], [ecore])
3806 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM2], [elput])
3807 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM2], [eeze])
3808
3809 EFL_DEPEND_PKG([ECORE_DRM2], [DRM], [libdrm >= 2.4 gbm])
3810
3811 EFL_ADD_LIBS([ECORE_DRM2], [-lm])
3812
3813 AC_CHECK_LIB(drm, drmModeAtomicCommit, AC_DEFINE(HAVE_ATOMIC_DRM, [], [Atomic modeset supported]))
3814
3815 EFL_EVAL_PKGS([ECORE_DRM2])
3816
3817 ### Checks for header files
3818
3819 ### Checks for types
3820
3821 ### Checks for structures
3822
3823 ### Checks for compiler characteristics
3824
3825 ### Checks for linker characteristics
3826
3827 ### Checks for library functions
3828
3829 EFL_LIB_END_OPTIONAL([Ecore_Drm2])
3830 #### End of Ecore_Drm2
3831
3832
3833 #### Ecore_Audio
3834
3835 AC_ARG_ENABLE([audio],
3836    [AS_HELP_STRING([--disable-audio],[disable audio support. @<:@default=enabled@:>@])],
3837    [
3838     if test "x${enableval}" = "xyes" ; then
3839        want_audio="yes"
3840     else
3841        want_audio="no"
3842        CFOPT_WARNING="xyes"
3843     fi
3844    ],
3845    [want_audio="yes"])
3846
3847 EFL_LIB_START_OPTIONAL([Ecore_Audio], [test "${want_audio}" = "yes"])
3848
3849 ### Additional options to configure
3850
3851 # ALSA support is still not there, thus no option for it yet.
3852 want_alsa="no"
3853
3854 # sndfile is mandatory otherwise it won't read from/write to files.
3855 # TODO: if confirmed sndfile is mandatory, remove this variable
3856 # TODO: and the EFL_OPTIONAL_DEPEND_PKG(), use EFL_DEPEND_PKG()
3857 want_sndfile="yes"
3858
3859 AC_ARG_ENABLE([pulseaudio],
3860    [AS_HELP_STRING([--disable-pulseaudio],[disable pulseaudio sound support. @<:@default=enabled@:>@])],
3861    [
3862     if test "x${enableval}" = "xyes" ; then
3863        want_pulseaudio="yes"
3864     else
3865        want_pulseaudio="no"
3866        CFOPT_WARNING="xyes"
3867     fi
3868    ],
3869    [want_pulseaudio="yes"])
3870
3871 ### Default values
3872
3873 ### Checks for programs
3874
3875 ## Compatibility layers
3876 EFL_PLATFORM_DEPEND([ECORE_AUDIO], [evil])
3877
3878 ### Checks for libraries
3879 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [ecore])
3880 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eet])
3881 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eo])
3882 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [efl])
3883 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eina])
3884 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [emile])
3885
3886 EFL_ADD_LIBS([ECORE_AUDIO], [-lm])
3887
3888 if test "x${want_alsa}" = "xyes" ; then
3889   PKG_CHECK_MODULES([ECORE_AUDIO_ALSA], [alsa])
3890   AC_DEFINE([HAVE_ALSA], [1], [Alsa support])
3891 fi
3892 if test "x${want_pulseaudio}" = "xyes" ; then
3893   PKG_CHECK_MODULES([ECORE_AUDIO_PULSE], [libpulse])
3894   AC_DEFINE([HAVE_PULSE], [1], [Pulseaudio support])
3895 fi
3896 if test "x${want_sndfile}" = "xyes" ; then
3897   PKG_CHECK_MODULES([ECORE_AUDIO_SNDFILE], [sndfile])
3898   AC_DEFINE([HAVE_SNDFILE], [1], [Sndfile support])
3899 fi
3900
3901 dnl EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO_ALSA], [${want_alsa}], [ALSA], [alsa])
3902 dnl EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO_PULSE], [${want_pulseaudio}], [PULSE], [libpulse])
3903 dnl EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO_SNDFILE], [${want_sndfile}], [SNDFILE], [sndfile])
3904
3905 EFL_EVAL_PKGS([ECORE_AUDIO])
3906
3907 EFL_ADD_FEATURE([ECORE_AUDIO], [alsa])
3908 EFL_ADD_FEATURE([ECORE_AUDIO], [pulseaudio])
3909 EFL_ADD_FEATURE([ECORE_AUDIO], [sndfile])
3910
3911 ### Checks for header files
3912
3913 ### Checks for types
3914
3915 ### Checks for structures
3916
3917 ### Checks for compiler characteristics
3918
3919 ### Checks for linker characteristics
3920
3921 ### Checks for library functions
3922
3923 EFL_LIB_END_OPTIONAL([Ecore_Audio])
3924 AM_CONDITIONAL([HAVE_ECORE_AUDIO_PULSE], [test "x${want_pulseaudio}" = "xyes"])
3925 AM_CONDITIONAL([HAVE_ECORE_AUDIO_SNDFILE], [test "x${want_sndfile}" = "xyes"])
3926
3927 #### End of Ecore_Audio
3928
3929 #### Ecore Audio CXX
3930 EFL_LIB_START([Ecore_Audio_Cxx])
3931
3932 EFL_EVAL_PKGS([ECORE_AUDIO_CXX])
3933
3934 EFL_LIB_END([Ecore_Audio_Cxx])
3935 #### End of Ecore Audio CXX
3936
3937 #### Ecore_Win32
3938 EFL_LIB_START_OPTIONAL([Ecore_Win32], [test "${have_win32}" = "yes"])
3939
3940 ### Additional options to configure
3941
3942 ### Default values
3943
3944 ### Checks for programs
3945
3946 ### Checks for libraries
3947 EFL_PLATFORM_DEPEND([ECORE_WIN32], [evil])
3948 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [ecore-input])
3949 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [ecore])
3950 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [eo])
3951 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [efl])
3952 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [eina])
3953
3954 EFL_ADD_LIBS([ECORE_WIN32], [-lole32 -lgdi32])
3955 AC_SUBST([ECORE_WIN32_LIBS])
3956
3957 ### Checks for header files
3958
3959 ### Checks for types
3960
3961 ### Checks for structures
3962
3963 ### Checks for compiler characteristics
3964
3965 ### Checks for linker characteristics
3966
3967 ### Checks for library functions
3968
3969 EFL_LIB_END_OPTIONAL([Ecore_Win32])
3970 #### End of Ecore_Win32
3971
3972 #### Ecore_Avahi
3973
3974 EFL_LIB_START([Ecore_Avahi])
3975
3976 ### Default values
3977
3978 ### Additional options to configure
3979
3980 want_avahi="yes"
3981
3982 AC_ARG_ENABLE([avahi],
3983    [AS_HELP_STRING([--disable-avahi],[disable avahi support. @<:@default=enabled@:>@])],
3984    [
3985     if test "x${enableval}" = "xyes" ; then
3986        want_avahi="yes"
3987     else
3988        want_avahi="no"
3989     fi
3990    ], [
3991     want_avahi="yes"
3992    ])
3993
3994 ### Checks for programs
3995
3996 ## Compatibility layers
3997 EFL_PLATFORM_DEPEND([ECORE_AVAHI], [evil])
3998
3999 ### Checks for libraries
4000 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [ecore])
4001 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [eina])
4002 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [eo])
4003 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [efl])
4004
4005 EFL_OPTIONAL_DEPEND_PKG([ECORE_AVAHI], [${want_avahi}], [AVAHI], [avahi-client], [have_avahi=yes], [have_avahi=no])
4006
4007 EFL_ADD_FEATURE([ECORE_AVAHI], [avahi-client], [${have_avahi}])
4008
4009 # Needed bu example as they use avahi directly in that case
4010 if test "x${have_avahi}" = "xyes"; then
4011    PKG_CHECK_MODULES([AVAHI_CLIENT], [avahi-client])
4012 fi
4013
4014 EFL_EVAL_PKGS([ECORE_AVAHI])
4015
4016 ### Checks for header files
4017
4018 ### Checks for types
4019
4020 ### Checks for structures
4021
4022 ### Checks for compiler characteristics
4023
4024 ### Checks for linker characteristics
4025
4026 ### Checks for library functions
4027
4028 EFL_LIB_END([Ecore_Avahi])
4029
4030 #### End of Ecore_Avahi
4031
4032
4033 #### Ecore_X
4034 EFL_LIB_START_OPTIONAL([Ecore_X], [test "${want_x11_any}" = "yes"])
4035
4036 ### Additional options to configure
4037
4038 AC_ARG_ENABLE([gesture],
4039    [AS_HELP_STRING([--enable-gesture],[enable X11 Gesture extension support])],
4040    [
4041     if test "x${enableval}" = "xyes" ; then
4042        want_gesture="yes"
4043     else
4044        want_gesture="no"
4045     fi
4046    ],
4047    [want_gesture="no"])
4048
4049 AC_ARG_ENABLE([xpresent],
4050    [AS_HELP_STRING([--enable-xpresent],[enable X11 XPresent extension support])],
4051    [
4052     if test "x${enableval}" = "xyes" ; then
4053        want_xpresent="yes"
4054     else
4055        want_xpresent="no"
4056     fi
4057    ],
4058    [want_xpresent="no"])
4059
4060 AC_ARG_ENABLE([xinput2],
4061    [AS_HELP_STRING([--disable-xinput2],[disable X11 XInput v2.x support])],
4062    [
4063     if test "x${enableval}" = "xyes" ; then
4064        want_xinput2="yes"
4065     else
4066        want_xinput2="no"
4067        CFOPT_WARNING="xyes"
4068     fi
4069    ],
4070    [want_xinput2="yes"])
4071
4072 AC_ARG_ENABLE([xinput22],
4073    [AS_HELP_STRING([--enable-xinput22],[enable X11 XInput v2.2+ support])],
4074    [
4075     if test "x${enableval}" = "xyes" ; then
4076        want_xinput22="yes"
4077     else
4078        want_xinput22="no"
4079     fi
4080    ],
4081    [want_xinput22="no"])
4082
4083 AC_ARG_ENABLE([xim],
4084    [AS_HELP_STRING([--disable-xim],[disable X Input Method.])],
4085    [
4086     if test "x${enableval}" = "xyes" ; then
4087        want_xim="yes"
4088     else
4089        want_xim="no"
4090        CFOPT_WARNING="xyes"
4091     fi
4092    ],
4093    [want_xim="yes"])
4094
4095 AC_ARG_ENABLE([scim],
4096    [AS_HELP_STRING([--disable-scim],[disable SCIM.])],
4097    [
4098     if test "x${enableval}" = "xyes" ; then
4099        want_scim="yes"
4100     else
4101        want_scim="no"
4102        CFOPT_WARNING="xyes"
4103     fi
4104    ],
4105    [want_scim="yes"])
4106
4107 AC_ARG_ENABLE([ibus],
4108    [AS_HELP_STRING([--disable-ibus],[disable IBUS.])],
4109    [
4110     if test "x${enableval}" = "xyes" ; then
4111        want_ibus="yes"
4112     else
4113        want_ibus="no"
4114     fi
4115    ],
4116    [want_ibus="yes"])
4117
4118 ### Default values
4119
4120 ### Checks for programs
4121
4122 ### Checks for libraries
4123 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [ecore-input])
4124 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [ecore])
4125 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [eo])
4126 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [efl])
4127 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [eina])
4128
4129 ## Xlib
4130
4131 ### Checks for types
4132
4133 ### Checks for structures
4134
4135 ### Checks for compiler characteristics
4136
4137 ### Checks for linker characteristics
4138
4139 ### Checks for library functions
4140
4141 ## Xlib
4142 if test "x${want_x11_xlib}" = "xyes"; then
4143    EFL_FIND_X(ECORE_X_XLIB,
4144      [X11/Xlib.h X11/Xcursor/Xcursor.h],
4145      [X11 XOpenDisplay Xcursor XcursorImageLoadCursor],
4146      [
4147        use_Xcursor="yes"
4148        AC_DEFINE([ECORE_XCURSOR], 1, [Build support for Xcursor])
4149        EFL_ADD_LIBS([ECORE_X], [$ECORE_X_XLIB_libs])
4150        EFL_ADD_CFLAGS([ECORE_X], [$ECORE_X_XLIB_cflags])
4151      ],[
4152        AC_MSG_ERROR([Xcursor is missing])
4153      ])
4154 fi
4155
4156 if test "x${want_x11_xlib}" = "xyes" ; then
4157    ECORE_CHECK_X_EXTENSION([Xkb], [XKB.h], [X11], [XkbSetDetectableAutoRepeat])
4158    ECORE_CHECK_X_EXTENSION([Xcomposite], [Xcomposite.h], [Xcomposite], [XCompositeQueryExtension])
4159    ECORE_CHECK_X_EXTENSION([Xdamage], [Xdamage.h], [Xdamage], [XDamageSubtract])
4160    ECORE_CHECK_X_EXTENSION([Xdpms], [dpms.h], [Xext], [DPMSQueryExtension])
4161    ECORE_CHECK_X_EXTENSION([Xfixes], [Xfixes.h], [Xfixes], [XFixesExpandRegion])
4162    ECORE_CHECK_X_EXTENSION([Xinerama], [Xinerama.h], [Xinerama], [XineramaQueryScreens])
4163    ECORE_CHECK_X_EXTENSION([Xrandr], [Xrandr.h], [Xrandr], [XRRGetScreenResourcesCurrent])
4164    ECORE_CHECK_X_EXTENSION([Xrender], [Xrender.h], [Xrender], [XRenderFindVisualFormat])
4165    ECORE_CHECK_X_EXTENSION([Xtest], [XTest.h], [Xtst], [XTestFakeKeyEvent])
4166    ECORE_CHECK_X_EXTENSION([Xss], [scrnsaver.h], [Xss], [XScreenSaverSelectInput])
4167
4168    PKG_CHECK_EXISTS([xrandr > 1.3.2], [AC_DEFINE([XRANDR_GOOD], [1], [good xrandr])], [])
4169
4170    if test "${want_xpresent}" = "yes"; then
4171       ECORE_CHECK_X_EXTENSION([Xpresent], [Xpresent.h], [Xpresent], [XPresentQueryExtension])
4172    fi
4173    EFL_ADD_FEATURE([ECORE_X], [xpresent])
4174
4175    if test "${want_gesture}" = "yes"; then
4176       ECORE_CHECK_X_EXTENSION([Xgesture], [gesture.h], [Xgesture], [XGestureQueryExtension])
4177    fi
4178    EFL_ADD_FEATURE([ECORE_X], [gesture])
4179
4180    if test "${want_xinput2}" = "yes"; then
4181       ECORE_CHECK_X_EXTENSION([Xi2], [XInput2.h], [Xi], [XIQueryDevice])
4182    fi
4183    EFL_ADD_FEATURE([ECORE_X], [xinput2])
4184
4185    if test "${want_xinput22}" = "yes"; then
4186       ECORE_CHECK_X_EXTENSION([Xi2_2], [XInput2.h], [Xi],[XIGrabTouchBegin])
4187    fi
4188    EFL_ADD_FEATURE([ECORE_X], [xinput22])
4189
4190    AC_DEFINE([HAVE_ECORE_X_XLIB], [1], [Defined to 1 if Xlib is enabled.])
4191    HAVE_ECORE_X_BACKEND="HAVE_ECORE_X_XLIB"
4192
4193    EFL_EVAL_PKGS([ECORE_X])
4194    EFL_CHECK_FUNCS([ECORE_X], [dlopen dlsym])
4195 fi
4196
4197 EFL_ADD_LIBS([ECORE_X], [${ECORE_X_LIBS}])
4198
4199 AC_SUBST([HAVE_ECORE_X_BACKEND])
4200
4201 EFL_LIB_END_OPTIONAL([Ecore_X])
4202
4203 AM_CONDITIONAL([HAVE_ECORE_X_XLIB], [test "${want_x11_xlib}" = "yes"])
4204 #### End of Ecore_X
4205
4206
4207 #### Ecore_Imf
4208 EFL_LIB_START([Ecore_Imf])
4209
4210 ### Additional options to configure
4211
4212 ### Default values
4213
4214 want_ecore_imf="yes"
4215 want_ecore_imf_xim="no"
4216 want_ecore_imf_scim="no"
4217 want_ecore_imf_ibus="no"
4218 want_ecore_imf_wayland="no"
4219 want_ecore_imf="yes"
4220
4221 if test "${have_windows}" = "no" && test "${have_darwin}" = "no"; then
4222    want_ecore_imf="yes"
4223    want_ecore_imf_xim="yes"
4224    want_ecore_imf_scim="yes"
4225    want_ecore_imf_ibus="yes"
4226    if test "${want_wayland}" = "yes"; then
4227       want_ecore_imf_wayland="yes"
4228    fi
4229 fi
4230
4231 ### Checks for programs
4232
4233 ## Compatibility layers
4234 EFL_PLATFORM_DEPEND([ECORE_IMF], [evil])
4235
4236 ### Checks for libraries
4237 EFL_PLATFORM_DEPEND([ECORE_IMF], [escape])
4238 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [ecore])
4239 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [ecore-input])
4240 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [eo])
4241 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [efl])
4242 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [eina])
4243
4244 if test "x${want_ecore_imf}" = "xyes" ; then
4245    AC_DEFINE([HAVE_ECORE_IMF], [1], [Ecore IMF Support])
4246 fi
4247
4248 ## modules
4249
4250 # ibus
4251
4252 have_ecore_imf_ibus="no"
4253 if test "x${want_ibus}" = "xyes" && test "x${want_ecore_imf_ibus}" = "xyes" && test "x${have_glib}" = "xyes" ; then
4254    PKG_CHECK_MODULES([IBUS],
4255       [ibus-1.0 >= 1.4 glib-2.0],
4256       [
4257        have_ecore_imf_ibus="yes"
4258        AC_DEFINE([BUILD_ECORE_IMF_IBUS], [1], [Ecore Imf IBUS Support])
4259       ],
4260       [have_ecore_imf_ibus="no"])
4261 fi
4262
4263 AM_CONDITIONAL([BUILD_ECORE_IMF_IBUS], [test "x${have_ecore_imf_ibus}" = "xyes"])
4264 EFL_ADD_FEATURE([ECORE_IMF], [ibus], [${have_ecore_imf_ibus}])
4265
4266 # scim
4267
4268 have_ecore_imf_scim="no"
4269 if test "x${want_scim}" = "xyes" && test "x${want_ecore_imf_scim}" = "xyes" ; then
4270    PKG_CHECK_MODULES([SCIM],
4271       [scim],
4272       [
4273        have_ecore_imf_scim="yes"
4274        AC_DEFINE([BUILD_ECORE_IMF_SCIM], [1], [Ecore Imf SCIM Support])
4275       ],
4276       [have_ecore_imf_scim="no"])
4277 fi
4278
4279 AM_CONDITIONAL([BUILD_ECORE_IMF_SCIM], [test "x${have_ecore_imf_scim}" = "xyes"])
4280 EFL_ADD_FEATURE([ECORE_IMF], [scim], [${have_ecore_imf_scim}])
4281
4282 # xim
4283
4284 have_ecore_imf_xim="no"
4285 if test "x${want_xim}" = "xyes" && test "x${want_ecore_imf_xim}" = "xyes" ; then
4286
4287  EFL_FIND_X(ecore_imf_xim,
4288    [X11/Xlib.h],
4289    [X11 XOpenIM],
4290    [
4291      have_ecore_imf_xim=yes
4292      AC_DEFINE([ENABLE_XIM], [1], [Enable X Input Method])
4293    ])
4294 fi
4295
4296 AM_CONDITIONAL([BUILD_ECORE_IMF_XIM], [test "x${have_ecore_imf_xim}" = "xyes"])
4297 EFL_ADD_FEATURE([ECORE_IMF], [xim])
4298
4299 # wayland
4300 if test "x${want_ecore_imf_wayland}" = "xyes" ; then
4301    PKG_CHECK_MODULES([WAYLAND],
4302       [wayland-client >= 1.11.0],
4303       [
4304        have_ecore_imf_wayland="yes"
4305        AC_DEFINE([BUILD_ECORE_IMF_WAYLAND], [1], [Ecore Imf Wayland Support])
4306       ],
4307       [have_ecore_imf_wayland="no"])
4308 fi
4309
4310 AM_CONDITIONAL([BUILD_ECORE_IMF_WAYLAND], [test "x${have_ecore_imf_wayland}" = "xyes"])
4311 EFL_ADD_FEATURE([ECORE_IMF], [wayland], [${want_ecore_imf_wayland}])
4312
4313 ### Checks for header files
4314
4315 ### Checks for types
4316
4317 ### Checks for structures
4318
4319 ### Checks for compiler characteristics
4320
4321 ### Checks for linker characteristics
4322
4323 ### Checks for library functions
4324
4325 EFL_LIB_END([Ecore_Imf])
4326 #### End of Ecore_Imf
4327
4328
4329 #### Ecore_Imf_Evas
4330 EFL_LIB_START([Ecore_Imf_Evas])
4331
4332 ### Additional options to configure
4333
4334 ### Default values
4335
4336 ### Checks for programs
4337
4338 ## Compatibility layers
4339 EFL_PLATFORM_DEPEND([ECORE_IMF_EVAS], [evil])
4340
4341 ### Checks for libraries
4342 EFL_PLATFORM_DEPEND([ECORE_IMF_EVAS], [escape])
4343 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [ecore-imf])
4344 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [ecore])
4345 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [evas])
4346 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [efl])
4347 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [eo])
4348 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [eina])
4349 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [emile])
4350
4351 ### Checks for header files
4352
4353 ### Checks for types
4354
4355 ### Checks for structures
4356
4357 ### Checks for compiler characteristics
4358
4359 ### Checks for linker characteristics
4360
4361 ### Checks for library functions
4362
4363 EFL_LIB_END([Ecore_Imf_Evas])
4364 #### End of Ecore_Imf_Evas
4365
4366
4367 #### Ecore_Evas
4368 EFL_LIB_START([Ecore_Evas])
4369
4370 ### Additional options to configure
4371
4372 ### Default values
4373
4374 want_ecore_evas_software_gdi="${have_evas_engine_software_gdi}"
4375 want_ecore_evas_software_ddraw="${have_evas_engine_software_ddraw}"
4376 want_ecore_evas_gl_cocoa="${have_evas_engine_gl_cocoa}"
4377 want_ecore_evas_wayland_egl="${have_evas_engine_wayland_egl}"
4378 want_ecore_evas_extn="yes"
4379 want_ecore_evas_drm="${have_evas_engine_drm}"
4380
4381 if test "x${have_ecore_ipc}" = "xno" || \
4382    test "x${efl_func_shm_open}" = "xno" || \
4383    test "x${have_windows}" = "xyes" ; then
4384    want_ecore_evas_extn="no"
4385 fi
4386
4387 ### Checks for programs
4388
4389 ## Compatibility layers
4390 EFL_PLATFORM_DEPEND([ECORE_EVAS], [evil])
4391
4392 ### Checks for libraries
4393 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore-input-evas])
4394 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore-input])
4395 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore])
4396 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eet])
4397 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [evas])
4398 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [efl])
4399 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eo])
4400 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eina])
4401 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [emile])
4402
4403 ## modules
4404 ECORE_EVAS_MODULE([extn], [${want_ecore_evas_extn}])
4405 ECORE_EVAS_MODULE([ews], [yes])
4406 ECORE_EVAS_MODULE([fb], [${want_fb}])
4407 ECORE_EVAS_MODULE([drm], [${want_drm}],
4408   [EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_drm}], [ecore-drm2])])
4409 ECORE_EVAS_MODULE([gl-drm], [${want_gl_drm}],
4410   [EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_gl_drm}], [ecore-drm2])])
4411 ECORE_EVAS_MODULE([psl1ght], [${have_ps3}])
4412
4413 ECORE_EVAS_MODULE([opengl-cocoa], [${want_ecore_evas_gl_cocoa}])
4414
4415 ECORE_EVAS_MODULE([software-sdl], [${want_sdl}])
4416 ECORE_EVAS_MODULE([opengl-sdl], [${want_gl_sdl}])
4417
4418 build_ecore_evas_sdl="no"
4419 if test "x${have_ecore_evas_software_sdl}" = "xyes" || \
4420    test "x${have_ecore_evas_opengl_sdl}" = "xyes" ; then
4421    build_ecore_evas_sdl="yes"
4422    AC_DEFINE(BUILD_ECORE_EVAS_SDL, 1, [Support for SDL Engine in Ecore_Evas])
4423 fi
4424 AM_CONDITIONAL([BUILD_ECORE_EVAS_SDL],
4425    [test "${build_ecore_evas_sdl}" = "yes"])
4426
4427 ECORE_EVAS_MODULE([wayland-shm], [${want_wayland}])
4428 ECORE_EVAS_MODULE([wayland-egl], [${want_ecore_evas_wayland_egl}])
4429
4430 build_ecore_evas_wayland="no"
4431 if test "x${have_ecore_evas_wayland_shm}" = "xyes" || \
4432    test "x${have_ecore_evas_wayland_egl}" = "xyes" ; then
4433    build_ecore_evas_wayland="yes"
4434    AC_DEFINE(BUILD_ECORE_EVAS_WAYLAND, 1, [Support for Wayland Engine in Ecore_Evas])
4435 fi
4436 AM_CONDITIONAL([BUILD_ECORE_EVAS_WAYLAND],
4437    [test "${build_ecore_evas_wayland}" = "yes"])
4438
4439 ECORE_EVAS_MODULE([software-gdi], [${want_ecore_evas_software_gdi}])
4440 ECORE_EVAS_MODULE([software-ddraw], [${want_ecore_evas_software_ddraw}])
4441
4442 build_ecore_evas_win32="no"
4443 if test "x${have_ecore_evas_software_gdi}" = "xyes" || \
4444    test "x${have_ecore_evas_software_ddraw}" = "xyes" ; then
4445    build_ecore_evas_win32="yes"
4446    AC_DEFINE(BUILD_ECORE_EVAS_WIN32, 1, [Support for Win32 Engine in Ecore_Evas])
4447 fi
4448 AM_CONDITIONAL([BUILD_ECORE_EVAS_WIN32],
4449    [test "${build_ecore_evas_win32}" = "yes"])
4450
4451
4452 # XXX TODO: ecore_evas_x11
4453 ECORE_EVAS_MODULE([software-x11], [${want_x11_any}])
4454
4455 have_ecore_evas_software_xlib="no"
4456 if test "x$have_ecore_evas_software_x11" = "xyes" ; then
4457    have_ecore_evas_software_xlib=${have_evas_engine_software_xlib}
4458    if test "x${have_ecore_evas_software_xlib}" = "xstatic"; then
4459       have_ecore_evas_software_xlib="yes"
4460    fi
4461    if test "x${have_ecore_evas_software_xlib}" = "xyes"; then
4462       AC_DEFINE([BUILD_ECORE_EVAS_SOFTWARE_XLIB], [1], [Evas Software Xlib Engine Support])
4463    fi
4464 fi
4465
4466 # XXX TODO: ecore_evas_opengl_x11
4467
4468 ECORE_EVAS_MODULE([opengl-x11], [${want_x11_any_opengl}])
4469
4470 have_ecore_evas_opengl_xlib="no"
4471 if test "x${have_ecore_evas_opengl_x11}" = "xyes" || test "x${have_ecore_evas_opengl_x11}" = "xstatic" ; then
4472    have_ecore_evas_opengl_xlib=${have_evas_engine_gl_xlib}
4473    if test "x${have_ecore_evas_opengl_xlib}" = "xyes" ; then
4474       AC_DEFINE([BUILD_ECORE_EVAS_OPENGL_XLIB], [1], [OpenGL Xlib rendering backend])
4475    fi
4476 fi
4477
4478 build_ecore_evas_x11="no"
4479 build_ecore_evas_vnc="no"
4480 if test "x$have_ecore_evas_software_x11" = "xyes" || \
4481    test "x$have_ecore_evas_opengl_x11" = "xyes"; then
4482    AC_DEFINE([BUILD_ECORE_EVAS_X11], [1], [Support for X Window Engines in Ecore_Evas])
4483    build_ecore_evas_x11="yes"
4484    if test "$want_vnc_server" = "yes"; then
4485       build_ecore_evas_vnc="yes"
4486    fi
4487 fi
4488 AM_CONDITIONAL([BUILD_ECORE_EVAS_X11], [test "${build_ecore_evas_x11}" = "yes"])
4489
4490 AM_CONDITIONAL([BUILD_ECORE_EVAS_VNC_SERVER], [test "${build_ecore_evas_vnc}" = "yes"])
4491 AC_DEFINE_IF([BUILD_ECORE_EVAS_VNC_SERVER], [test "${build_ecore_evas_vnc}" = "yes"], [1], [Build Ecore_Evas VNC module])
4492 EFL_ADD_FEATURE([ECORE_EVAS], [vnc_server], [${build_ecore_evas_vnc}])
4493
4494 EFL_EVAL_PKGS([ECORE_EVAS])
4495
4496 ### Checks for header files
4497
4498 ### Checks for types
4499
4500 ### Checks for structures
4501
4502 ### Checks for compiler characteristics
4503
4504 ### Checks for linker characteristics
4505
4506 ### Checks for library functions
4507 if test "x${want_gl_drm}" = "xyes" ; then
4508    EFL_CHECK_FUNCS([ECORE_EVAS], [dlopen])
4509 fi
4510
4511 EFL_LIB_END([Ecore_Evas])
4512 #### End of Ecore_Evas
4513
4514 #### Eio
4515 EFL_LIB_START([Eio])
4516
4517 ### Additional options to configure
4518
4519 ### Default values
4520
4521 ### Checks for programs
4522
4523 ## Compatibility layers
4524 EFL_PLATFORM_DEPEND([EIO], [evil])
4525
4526 ### Checks for libraries
4527 EFL_INTERNAL_DEPEND_PKG([EIO], [ecore])
4528 EFL_INTERNAL_DEPEND_PKG([EIO], [ecore-file])
4529 EFL_INTERNAL_DEPEND_PKG([EIO], [eet])
4530 EFL_INTERNAL_DEPEND_PKG([EIO], [eo])
4531 EFL_INTERNAL_DEPEND_PKG([EIO], [eina])
4532 EFL_INTERNAL_DEPEND_PKG([EIO], [efl])
4533 EFL_INTERNAL_DEPEND_PKG([EIO], [emile])
4534 EFL_INTERNAL_DEPEND_PKG([EIO], [efreet-mime])
4535
4536 EFL_ADD_LIBS([EIO], [-lm])
4537
4538 ### Checks for header files
4539
4540 ### Checks for types
4541
4542 ### Checks for structures
4543
4544 ### Checks for compiler characteristics
4545
4546 ### Checks for linker characteristics
4547
4548 ### Checks for library functions
4549 have_inotify="${ac_cv_header_sys_inotify_h}"
4550 AM_CONDITIONAL([HAVE_INOTIFY], [test "x${have_inotify}" = "xyes"])
4551
4552 have_notify_win32="${have_win32}"
4553 AC_DEFINE_IF([HAVE_NOTIFY_WIN32],
4554    [test "x${have_notify_win32}" = "xyes"], [1],
4555    [File monitoring with Windows notification])
4556 AM_CONDITIONAL([HAVE_NOTIFY_WIN32], [test "x${have_notify_win32}" = "xyes"])
4557
4558 AC_DEFINE_IF([HAVE_NOTIFY_COCOA],
4559    [test "x${have_darwin}" = "xyes"], [1],
4560    [File monitoring with fsevent notification])
4561 AM_CONDITIONAL([HAVE_NOTIFY_COCOA], [test "x${have_darwin}" = "xyes"])
4562
4563 AC_CHECK_FUNC([kevent])
4564 have_notify_kevent="${ac_cv_func_kevent}"
4565 AC_DEFINE_IF([HAVE_NOTIFY_KEVENT],
4566    [test "x${have_notify_kevent}" = "xyes"], [1],
4567    [File monitoring with kqueue/kevent mechanism])
4568 AM_CONDITIONAL([HAVE_NOTIFY_KEVENT], [test "x${have_notify_kevent}" = "xyes"])
4569
4570
4571 EFL_LIB_END([Eio])
4572 dnl TODO: remove these ifdefs from code!
4573 AC_DEFINE([HAVE_EIO], [1], [Have eio library])
4574 #### End of Eio
4575
4576 # Eo Id
4577 if test "x${want_eo_id}" = "xyes" ; then
4578    AC_DEFINE([HAVE_EO_ID], [1], [Have eo id])
4579 fi
4580
4581
4582 #### Efreet
4583 EFL_LIB_START([Efreet])
4584
4585 ### Additional options to configure
4586
4587 ### Default values
4588
4589 AC_DEFINE([SLOPPY_SPEC], [1], [Sloppy Spec Compliance])
4590
4591 ### Checks for programs
4592
4593 ## Compatibility layers
4594 EFL_PLATFORM_DEPEND([EFREET], [evil])
4595
4596 ### Checks for libraries
4597 EFL_INTERNAL_DEPEND_PKG([EFREET], [eet])
4598 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore])
4599 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore-file])
4600 EFL_INTERNAL_DEPEND_PKG([EFREET], [eo])
4601 EFL_INTERNAL_DEPEND_PKG([EFREET], [efl])
4602 EFL_INTERNAL_DEPEND_PKG([EFREET], [eina])
4603 EFL_INTERNAL_DEPEND_PKG([EFREET], [emile])
4604 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore-ipc])
4605
4606 ### Checks for header files
4607
4608 ### Checks for types
4609
4610 ### Checks for structures
4611
4612 ### Checks for compiler characteristics
4613
4614 ### Checks for linker characteristics
4615
4616 ### Checks for library functions
4617
4618 EFL_LIB_END([Efreet])
4619 #### End of Efreet
4620
4621
4622 #### EPhysics
4623 AC_ARG_ENABLE([physics],
4624    [AS_HELP_STRING([--disable-physics],[disable physics effects and support. @<:@default=enabled@:>@])],
4625    [
4626     if test "x${enableval}" = "xyes" ; then
4627        want_physics="yes"
4628     else
4629        CFOPT_WARNING="xyes"
4630        want_physics="no"
4631     fi
4632    ],
4633    [want_physics="yes"])
4634
4635 EFL_LIB_START_OPTIONAL([EPhysics], [test "${want_physics}" = "yes"])
4636
4637 ### Additional options to configure
4638
4639 ### Default values
4640
4641 ### Checks for programs
4642
4643 ### Checks for libraries
4644 EFL_PLATFORM_DEPEND([EPHYSICS], [evil])
4645
4646 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [eina])
4647 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [evas])
4648 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [efl])
4649 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [ecore])
4650 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [eo])
4651 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [emile])
4652
4653 EFL_DEPEND_PKG([EPHYSICS], [BULLET], [bullet >= 2.80])
4654
4655 EFL_EVAL_PKGS([EPHYSICS])
4656
4657 ### Checks for header files
4658
4659 ### Checks for types
4660
4661 ### Checks for structures
4662
4663 ### Checks for compiler characteristics
4664
4665 ### Checks for linker characteristics
4666
4667 ### Checks for library functions
4668
4669 EFL_LIB_END_OPTIONAL([EPhysics])
4670 #### End of EPhysics
4671
4672
4673 #### Edje
4674 EFL_LIB_START([Edje])
4675
4676 ### Additional options to configure
4677
4678 ### Default values
4679
4680 AC_ARG_ENABLE([multisense],
4681    [AS_HELP_STRING([--enable-multisense],[Enable multisense support. @<:@default=disabled@:>@])],
4682    [
4683     if test "x${enableval}" = "xyes" ; then
4684        want_multisense="yes"
4685     else
4686        want_multisense="no"
4687        CFOPT_WARNING="xyes"
4688     fi
4689    ],
4690    [
4691     if test "x${want_pulseaudio}" = "xyes"; then
4692        want_multisense="yes"
4693     else
4694        want_multisense="no"
4695     fi
4696    ])
4697
4698 # TODO: should we keep or remove these?
4699 want_edje_program_cache="no"
4700 want_edje_calc_cache="yes"
4701 want_fixed_point="no"
4702
4703 ### Checks for programs
4704
4705 ### Checks for libraries
4706 EFL_PLATFORM_DEPEND([EDJE], [evil])
4707
4708 EFL_INTERNAL_DEPEND_PKG([EDJE], [eina])
4709 EFL_INTERNAL_DEPEND_PKG([EDJE], [eo])
4710 EFL_INTERNAL_DEPEND_PKG([EDJE], [efl])
4711 EFL_INTERNAL_DEPEND_PKG([EDJE], [eet])
4712 EFL_INTERNAL_DEPEND_PKG([EDJE], [evas])
4713 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore])
4714 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-evas])
4715 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-file])
4716 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-input])
4717 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-imf])
4718 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-imf-evas])
4719 EFL_INTERNAL_DEPEND_PKG([EDJE], [embryo])
4720 EFL_INTERNAL_DEPEND_PKG([EDJE], [emile])
4721 EFL_INTERNAL_DEPEND_PKG([EDJE], [efreet])
4722 EFL_INTERNAL_DEPEND_PKG([EDJE], [eio])
4723
4724 if test "x${want_physics}" = "xyes" ; then
4725   AC_DEFINE([HAVE_EPHYSICS], [1], [EPhysics Support])
4726   EDJE_CFLAGS="-I\$(top_srcdir)/src/lib/ephysics ${EDJE_CFLAGS}"
4727 fi
4728 dnl EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_physics}], [ephysics])
4729
4730 if test "x${want_lua_old}" = "xyes"; then
4731    EFL_CHECK_LUA_OLD([EDJE_LUA])
4732 else
4733    PKG_CHECK_MODULES([EDJE_LUA], [luajit >= 2.0.0])
4734 fi
4735
4736 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_multisense}], [ecore-audio])
4737
4738 EFL_ADD_FEATURE([EDJE], [physics])
4739 EFL_ADD_FEATURE([EDJE], [multisense])
4740 EFL_ADD_FEATURE([EDJE], [lua-old])
4741
4742 EFL_ADD_LIBS([EDJE], [-lm])
4743
4744 EFL_EVAL_PKGS([EDJE])
4745
4746 AC_DEFINE_IF([EDJE_PROGRAM_CACHE], [test "${want_edje_program_cache}" = "yes"],
4747    [1], [Cache result of program glob matches])
4748 AC_DEFINE_IF([EDJE_CALC_CACHE], [test "${want_edje_calc_cache}" = "yes"],
4749    [1], [Cache result of calc glob matches])
4750 AC_DEFINE_IF([BUILD_EDJE_FP], [test "${want_fixed_point}" = "yes"],
4751    [1], [Use Fixed Point instead of FPU])
4752
4753 AM_CONDITIONAL([ENABLE_MULTISENSE], [test "${want_multisense}" = "yes"])
4754 AC_DEFINE_IF([ENABLE_MULTISENSE], [test "${want_multisense}" = "yes"],
4755   [1], [Use Multisense])
4756 AC_SUBST([want_multisense])
4757 AC_SUBST([want_physics])
4758
4759 ### Checks for header files
4760
4761 AC_CHECK_HEADERS([ \
4762 sys/wait.h \
4763 ])
4764
4765 ### Checks for types
4766
4767 ### Checks for structures
4768
4769 ### Checks for compiler characteristics
4770
4771 ### Checks for linker characteristics
4772
4773 ### Checks for library functions
4774
4775 EFL_LIB_END([Edje])
4776 #### End of Edje
4777
4778 #### Edje CXX
4779 EFL_LIB_START([Edje_Cxx])
4780
4781 EFL_EVAL_PKGS([EDJE_CXX])
4782
4783 EFL_LIB_END([Edje_Cxx])
4784 #### End of Edje CXX
4785
4786 #### Emotion
4787 EFL_LIB_START([Emotion])
4788
4789 ## Compatibility layers
4790 EFL_PLATFORM_DEPEND([Emotion], [evil])
4791
4792 ### Default values
4793 if test "${efl_func_shm_open}" = "yes"; then
4794    want_emotion_generic="static"
4795 else
4796    want_emotion_generic="no"
4797 fi
4798
4799 ### Additional options to configure
4800 AC_ARG_ENABLE([xine],
4801    [AS_HELP_STRING([--enable-xine],[enable xine support. @<:@default=disabled@:>@])],
4802    [
4803     if test "x${enableval}" = "xyes" ; then
4804        want_xine="yes"
4805     else
4806        want_xine="no"
4807     fi
4808    ],
4809    [want_xine="no"])
4810
4811 AC_ARG_ENABLE([v4l2],
4812    [AS_HELP_STRING([--enable-v4l2],[enable v4l2 support.])],
4813    [
4814     if test "x${enableval}" = "xyes" ; then
4815        want_v4l2="yes"
4816     else
4817        want_v4l2="no"
4818     fi
4819    ],
4820    [want_v4l2="${efl_lib_optional_eeze}"])
4821
4822 AC_ARG_ENABLE([libvlc],
4823    [AS_HELP_STRING([--enable-libvlc],[enable libvlc support. @<:@default=disabled@:>@])],
4824    [
4825     if test "x${enableval}" = "xyes" ; then
4826        want_libvlc="yes"
4827     else
4828        want_libvlc="no"
4829     fi
4830    ],
4831    [want_libvlc="no"])
4832
4833 ### Checks for programs
4834
4835 ### Checks for libraries
4836 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eina])
4837 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eo])
4838 EFL_INTERNAL_DEPEND_PKG([EMOTION], [ecore])
4839 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eet])
4840 EFL_INTERNAL_DEPEND_PKG([EMOTION], [evas])
4841 EFL_INTERNAL_DEPEND_PKG([EMOTION], [efl])
4842 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eio])
4843 EFL_INTERNAL_DEPEND_PKG([EMOTION], [emile])
4844
4845 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EMOTION], [${efl_lib_optional_eeze}], [eeze])
4846 EFL_ADD_FEATURE([EMOTION], [v4l2])
4847
4848 ## modules
4849
4850 have_gst_xoverlay="no"
4851
4852 EMOTION_MODULE([xine], [${want_xine}])
4853 EMOTION_MODULE([gstreamer], [${want_gstreamer}])
4854 EMOTION_MODULE([gstreamer1], [${want_gstreamer1}])
4855 EMOTION_MODULE([libvlc], [${want_libvlc}])
4856 EMOTION_MODULE([generic], [${want_emotion_generic}])
4857
4858 EFL_ADD_FEATURE([EMOTION], [xine])
4859 EFL_ADD_FEATURE([EMOTION], [gstreamer])
4860 EFL_ADD_FEATURE([EMOTION], [gstreamer1])
4861 EFL_ADD_FEATURE([EMOTION], [libvlc])
4862 EFL_ADD_FEATURE([EMOTION], [generic], [${want_emotion_generic}])
4863
4864 EFL_EVAL_PKGS([EMOTION])
4865
4866 ### Checks for header files
4867
4868 ### Checks for types
4869
4870 ### Checks for structures
4871
4872 ### Checks for compiler characteristics
4873
4874 ### Checks for linker characteristics
4875
4876 ### Checks for library functions
4877
4878 if test "${want_v4l2}" = "yes"; then
4879    AC_CHECK_DECL([V4L2_CAP_VIDEO_CAPTURE],
4880       [AC_DEFINE([HAVE_V4L2], [1], [Define to 1 if you have Video4Linux 2 available])],
4881       [AC_MSG_ERROR([Video4Linux 2 desired but not found. See --disable-v4l2.])],
4882       [#include <linux/videodev2.h>])
4883 fi
4884
4885 ### Check availability
4886
4887 ## Generic player
4888 EMOTION_GENERIC_PLAYER([GENERIC_VLC], [no], [libvlc >= 2.0])
4889 EFL_ADD_FEATURE([EMOTION], [generic_vlc], [${with_generic_vlc}])
4890
4891 EFL_LIB_END([Emotion])
4892 #### End of Emotion
4893
4894 #### Ethumb
4895 EFL_LIB_START([Ethumb])
4896
4897 ### Default values
4898
4899 ### Additional options to configure
4900
4901 ### Checks for programs
4902
4903 ## Compatibility layers
4904 EFL_PLATFORM_DEPEND([ETHUMB], [evil])
4905
4906 ### Checks for libraries
4907 EFL_PLATFORM_DEPEND([EINA], [evil])
4908
4909 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eina])
4910 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eet])
4911 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [evas])
4912 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [efl])
4913 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eo])
4914 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore])
4915 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-evas])
4916 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-file])
4917 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-imf])
4918 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [edje])
4919 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [emile])
4920
4921 ## modules
4922
4923 EFL_EVAL_PKGS([ETHUMB])
4924
4925 ### Checks for header files
4926
4927 ### Checks for types
4928
4929 ### Checks for structures
4930
4931 ### Checks for compiler characteristics
4932
4933 ### Checks for linker characteristics
4934
4935 ### Checks for library functions
4936
4937 ### Check availability
4938
4939 EFL_LIB_END([Ethumb])
4940 #### End of Ethumb
4941
4942 #### Ethumb_Client
4943 EFL_LIB_START([Ethumb_Client])
4944
4945 ### Default values
4946
4947 ### Additional options to configure
4948
4949 ### Checks for programs
4950
4951 ## Compatibility layers
4952 EFL_PLATFORM_DEPEND([ETHUMB_CLIENT], [evil])
4953
4954 ### Checks for libraries
4955 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eina])
4956 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eo])
4957 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [efl])
4958 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eet])
4959 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ecore])
4960 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ecore-imf])
4961 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [edje])
4962 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eldbus])
4963 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ethumb])
4964 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [evas])
4965 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [emile])
4966
4967 EFL_EVAL_PKGS([ETHUMB_CLIENT])
4968
4969 ### Checks for header files
4970
4971 ### Checks for types
4972
4973 ### Checks for structures
4974
4975 ### Checks for compiler characteristics
4976
4977 ### Checks for linker characteristics
4978
4979 ### Checks for library functions
4980
4981 ### Check availability
4982
4983 EFL_LIB_END([Ethumb_Client])
4984 #### End of Ethumb_Client
4985
4986 #### Elua
4987
4988 have_elua="yes"
4989 if test "${want_lua_old}" = "yes"; then
4990   have_elua="no"
4991 fi
4992
4993 EFL_LIB_START_OPTIONAL([Elua], [test "${have_elua}" = "yes"])
4994
4995 ### Default values
4996
4997 AM_CONDITIONAL([HAVE_ELUA], [test "x${have_elua}" = "xyes"])
4998
4999 ### Additional options to configure
5000
5001 ### Checks for programs
5002
5003 ## Compatibility layers
5004 EFL_PLATFORM_DEPEND([ELUA], [evil])
5005
5006 ### Checks for libraries
5007 EFL_INTERNAL_DEPEND_PKG([ELUA], [eina])
5008 EFL_INTERNAL_DEPEND_PKG([ELUA], [eo])
5009 EFL_INTERNAL_DEPEND_PKG([ELUA], [efl])
5010 EFL_INTERNAL_DEPEND_PKG([ELUA], [ecore])
5011 EFL_INTERNAL_DEPEND_PKG([ELUA], [ecore_file])
5012
5013 EFL_DEPEND_PKG([ELUA], [LUAJIT], [luajit >= 2.0.0])
5014
5015 EFL_EVAL_PKGS([ELUA])
5016
5017 ### Checks for header files
5018
5019 ### Checks for types
5020
5021 ### Checks for structures
5022
5023 ### Checks for compiler characteristics
5024
5025 ### Checks for linker characteristics
5026
5027 ### Checks for library functions
5028
5029 ### Check availability
5030
5031 EFL_LIB_END_OPTIONAL([Elua])
5032 #### End of Elua
5033
5034 #### Elocation
5035
5036 EFL_LIB_START([Elocation])
5037
5038 ### Default values
5039
5040 ### Additional options to configure
5041
5042 ### Checks for programs
5043
5044 ### Checks for libraries
5045 EFL_PLATFORM_DEPEND([ELOCATION], [evil])
5046 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eina])
5047 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eo])
5048 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [efl])
5049 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [ecore])
5050 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eldbus])
5051
5052 EFL_ADD_LIBS([ELOCATION], [-lm])
5053
5054 ### Checks for header files
5055
5056 ### Checks for types
5057
5058 ### Checks for structures
5059
5060 ### Checks for compiler characteristics
5061
5062 ### Checks for linker characteristics
5063
5064 ### Checks for library functions
5065
5066 ### Check availability
5067
5068 EFL_LIB_END([Elocation])
5069 #### End of Elocation
5070
5071
5072
5073 #### Efl_Js
5074 EFL_LIB_START_OPTIONAL([Efl_Js], [test "x${have_js}" = "xyes"])
5075
5076 ### Default values
5077
5078 ### Additional options to configure
5079
5080 ### Checks for programs
5081
5082 ### Checks for libraries
5083 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Eina])
5084 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Eo])
5085 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Ecore])
5086 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Eet])
5087 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Ecore_Evas])
5088 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Ecore_Con])
5089 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Ecore_Audio])
5090 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Efl])
5091 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Evas])
5092 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Edje])
5093 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Emotion])
5094 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Eldbus])
5095 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Emile])
5096 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Ethumb_Client])
5097 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Eio])
5098 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Elementary])
5099
5100 AM_COND_IF([HAVE_NODEJS], [], [ EFL_ADD_LIBS([EFL_JS], [-lv8]) ])
5101
5102 EFL_EVAL_PKGS([EFL_JS])
5103
5104 AM_COND_IF([HAVE_NODEJS], [EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -DHAVE_NODEJS"], [])
5105 AM_COND_IF([HAVE_LIBUV], [EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -DHAVE_LIBUV"], [])
5106 AM_COND_IF([HAVE_JS], [EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -DHAVE_JS"], [])
5107
5108 AM_COND_IF([HAVE_V8_CREATE_PARAMS], [EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -DHAVE_V8_CREATE_PARAMS"], [])
5109 AM_COND_IF([HAVE_V8_GLOBAL], [EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -DHAVE_V8_GLOBAL"], [])
5110 AC_SUBST([EFLJS_CXXFLAGS])
5111
5112 ### Checks for header files
5113
5114 ### Checks for types
5115
5116 ### Checks for structures
5117
5118 ### Checks for compiler characteristics
5119
5120 ### Checks for linker characteristics
5121
5122 ### Checks for library functions
5123
5124 ### Check availability
5125
5126 EFL_LIB_END_OPTIONAL([Efl_Js])
5127 #### End of Efl_Js
5128
5129 ### Add Wayland server library if test is enabled
5130 if test "x${want_tests}" = "xyes" -a "x${want_wayland}" = "xyes"; then
5131    EFL_DEPEND_PKG([ECORE_WAYLAND_SRV], [WAYLAND], [wayland-server >= 1.11.0])
5132    EFL_EVAL_PKGS([ECORE_WAYLAND_SRV])
5133 fi
5134
5135 AC_ARG_ENABLE([always-build-examples],
5136    [AS_HELP_STRING([--enable-always-build-examples],[always build examples. @<:@default=disabled@:>@])],
5137    [
5138     if test "x${enableval}" = "xyes" ; then
5139        want_always_build_examples="yes"
5140     else
5141        want_always_build_examples="no"
5142     fi
5143    ],
5144    [want_always_build_examples="no"])
5145 AM_CONDITIONAL([ALWAYS_BUILD_EXAMPLES], [test "${want_always_build_examples}" = "yes"])
5146
5147 BARF_OK="xno"
5148 # Harfbuzz
5149 AC_ARG_ENABLE([i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-abb],
5150    [ You will be told when this is needed ],
5151    [
5152     if test "x${enableval}" = "xyes" ; then
5153        BARF_OK=""
5154     else
5155        BARF_OK="xno"
5156     fi
5157    ],
5158    [ BARF_OK="xno" ])
5159
5160 #### Ecore_Buffer
5161 build_ecore_buffer_x11_dri2="no"
5162 build_ecore_buffer_x11_dri3="no"
5163 EFL_LIB_START_OPTIONAL([Ecore_Buffer], [test "${want_ecore_buffer}" = "yes"])
5164 ### Checks for libraries
5165 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [eina])
5166 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [eo])
5167 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [efl])
5168 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [ecore])
5169 EFL_DEPEND_PKG([ECORE_BUFFER], [WAYLAND],
5170                [wayland-server >= 1.11.0 wayland-client >= 1.11.0])
5171
5172 PKG_CHECK_MODULES([X11_DRI_COMMON],
5173    [
5174       libtbm >= 1.1.0,
5175       libdrm >= 2.4.35,
5176    ],
5177    [have_x11_dri_common_pkgs="yes"],
5178    [have_x11_dri_common_pkgs="no"]
5179 )
5180
5181 if test "x$have_x11_dri_common_pkgs" = "xyes" ; then
5182    EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [ecore_x])
5183
5184    PKG_CHECK_MODULES([X11_DRI2], [libdri2],
5185                      [have_x11_dri2_pkgs="yes"],
5186                      [have_x11_dri2_pkgs="no"])
5187    PKG_CHECK_MODULES([X11_DRI3],
5188       [
5189          xshmfence,
5190          xcb,
5191          x11-xcb,
5192          xcb-sync,
5193          xcb-dri3
5194       ],
5195       [have_x11_dri3_pkgs="yes"],
5196       [have_x11_dri3_pkgs="no"])
5197 fi
5198
5199 if test "x${have_x11_dri2_pkgs}" = "xyes" ; then
5200    build_ecore_buffer_x11_dri2="yes"
5201    AC_DEFINE(BUILD_ECORE_BUFFER_X11_DRI2, 1, [Support for X11_DRI2 Backend in Ecore_Buffer])
5202 fi
5203
5204 if test "x${have_x11_dri3_pkgs}" = "xyes" ; then
5205    build_ecore_buffer_x11_dri3="yes"
5206    AC_DEFINE(BUILD_ECORE_BUFFER_X11_DRI3, 1, [Support for X11_DRI3 Backend in Ecore_Buffer])
5207 fi
5208 EFL_EVAL_PKGS([ECORE_BUFFER])
5209
5210 EFL_ADD_FEATURE([ECORE_BUFFER], [shm], ["yes"])
5211 EFL_ADD_FEATURE([ECORE_BUFFER], [x11_dri2], [${build_ecore_buffer_x11_dri2}])
5212 EFL_ADD_FEATURE([ECORE_BUFFER], [x11_dri3], [${build_ecore_buffer_x11_dri3}])
5213
5214 EFL_LIB_END_OPTIONAL([Ecore_Buffer])
5215
5216 AM_CONDITIONAL([BUILD_ECORE_BUFFER_X11_DRI2], [test "${build_ecore_buffer_x11_dri2}" = "xyes"])
5217 AM_CONDITIONAL([BUILD_ECORE_BUFFER_X11_DRI3], [test "${build_ecore_buffer_x11_dri3}" = "xyes"])
5218
5219 #### End of Ecore_Buffer
5220
5221
5222 #### Elementary
5223
5224 EFL_LIB_START([Elementary])
5225
5226 ### Default values
5227
5228 ### Additional options to configure
5229
5230 ## Elementary base dir
5231
5232 AC_ARG_WITH([elementary-base-dir],
5233    [AS_HELP_STRING([--with-elementary-base-dir=PATH], [specify the subdirectory for all elementary data @<:@default=${elementary_base_dir}@:>@])],
5234    [elementary_base_dir=${withval}],
5235    [elementary_base_dir=".elementary"])
5236
5237 AC_MSG_NOTICE([ELEMENTARY_BASE_DIR set to ${elementary_base_dir}])
5238 AC_DEFINE_UNQUOTED([ELEMENTARY_BASE_DIR], ["${elementary_base_dir}"], ["subdirectory for all elementary data"])
5239
5240 ## Debug mode
5241
5242 AC_ARG_ENABLE([debug],
5243    [AS_HELP_STRING([--enable-debug], [enable elementary debug support. @<:@default=disabled@:>@])],
5244    [want_elementary_debug=$enableval],
5245    [want_elementary_debug="no"])
5246
5247 ELM_DEBUG_DEF="#undef"
5248 if test "x$want_elementary_debug" = "xyes"; then
5249    AC_DEFINE([HAVE_ELEMENTARY_DEBUG], [1], [Elementary debug.])
5250    ELM_DEBUG_DEF="#define"
5251 fi
5252 AC_SUBST([ELM_DEBUG_DEF])
5253
5254 ## quicklaunch support
5255
5256 AC_ARG_ENABLE([quick-launch],
5257    [AS_HELP_STRING([--disable-quick-launch], [disable quick-launch support, @<:@default=detect@:>@])],
5258    [want_quicklaunch=$enableval],
5259    [want_quicklaunch="auto"])
5260
5261 ### Checks for programs
5262
5263 ### Checks for libraries
5264
5265 ## Compatibility layers
5266
5267 EFL_PLATFORM_DEPEND([ELEMENTARY], [evil])
5268
5269 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [eina])
5270 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [emile])
5271 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [eet])
5272 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [eo])
5273 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [efl])
5274 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [evas])
5275 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ecore])
5276 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ecore-evas])
5277 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ecore-file])
5278 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ecore-input])
5279 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [edje])
5280 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ethumb])
5281 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ethumb_client])
5282 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [emotion])
5283 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ecore-imf])
5284 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ecore-con])
5285 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [eldbus])
5286 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [efreet])
5287 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [efreet-mime])
5288 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [efreet-trash])
5289 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [eio])
5290 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [elocation])
5291
5292 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ELEMENTARY], [${want_x11_any}], [ecore_x])
5293 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ELEMENTARY], [${want_fb}], [ecore_fb])
5294 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ELEMENTARY], [${have_ps3}], [ecore_psl1ght])
5295 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ELEMENTARY], [${want_sdl}], [ecore_sdl])
5296 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ELEMENTARY], [${want_ecore_evas_gl_cocoa}], [ecore_cocoa])
5297 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ELEMENTARY], [${build_ecore_evas_win32}], [ecore_win32])
5298 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ELEMENTARY], [${want_drm}], [ecore_drm2])
5299 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ELEMENTARY], [${build_ecore_evas_wayland}], [ecore_wl2])
5300
5301 EFL_OPTIONAL_DEPEND_PKG([ELEMENTARY], [${want_elput}], [ELPUT], [xkbcommon])
5302 EFL_OPTIONAL_DEPEND_PKG([ELEMENTARY], [${want_wayland}], [WAYLAND], [wayland-client])
5303
5304 dnl Special case deps for ecore_drm
5305 if test "${want_drm}" = "yes"; then
5306   EFL_DEPEND_PKG([ELEMENTARY], [DRM], [libdrm])
5307   EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [eeze])
5308 fi
5309
5310 EFL_ADD_LIBS([ELEMENTARY], [-lm])
5311
5312 ELM_CHECK_BACKEND([X], [${want_x11_any}])
5313 ELM_CHECK_BACKEND([FB], [${want_fb}])
5314 ELM_CHECK_BACKEND([PSL1GHT], [${have_ps3}])
5315 ELM_CHECK_BACKEND([SDL], [${want_sdl}])
5316 ELM_CHECK_BACKEND([Cocoa], [${want_ecore_evas_gl_cocoa}])
5317 ELM_CHECK_BACKEND([Win32], [${build_ecore_evas_win32}])
5318 ELM_CHECK_BACKEND([Wl2], [${build_ecore_evas_wayland}])
5319 ELM_CHECK_BACKEND([DRM], [${want_drm}])
5320
5321 EFL_EVAL_PKGS([ELEMENTARY])
5322
5323 ### Checks for header files
5324
5325 ELM_ALLOCA_H_DEF="#undef"
5326 AC_CHECK_HEADER([alloca.h], [ELM_ALLOCA_H_DEF="#define"])
5327 AC_SUBST([ELM_ALLOCA_H_DEF])
5328
5329 ELM_LIBINTL_H_DEF="#undef"
5330 AC_CHECK_HEADER([libintl.h], [ELM_LIBINTL_H_DEF="#define"])
5331 AC_SUBST([ELM_LIBINTL_H_DEF])
5332
5333 ELM_DIRENT_H_DEF="#undef"
5334 AC_CHECK_HEADER([dirent.h], [ELM_DIRENT_H_DEF="#define"])
5335 AC_SUBST([ELM_DIRENT_H_DEF])
5336
5337 AC_CHECK_HEADER([sys/mman.h], [have_mman="yes"], [have_mman="no"])
5338 if test "x${have_mman}" = "xyes"; then
5339    AC_DEFINE([HAVE_MMAN_H], [1], [Have sys/mman.h header file])
5340 fi
5341
5342 AC_CHECK_HEADERS([locale.h langinfo.h sys/times.h])
5343
5344 case "$host_os" in
5345    darwin*)
5346       AC_CHECK_HEADERS([crt_externs.h])
5347       ;;
5348 esac
5349
5350 ### Checks for types
5351
5352 ### Checks for structures
5353
5354 ### Checks for compiler characteristics
5355
5356 ### Checks for linker characteristics
5357
5358 # sockets
5359
5360 case "$host_os" in
5361    mingw*)
5362       have_socket="no"
5363       ;;
5364    *solaris*)
5365       AC_CHECK_LIB([socket], [connect],
5366          [
5367           have_socket="yes"
5368           requirements_libs_elm="-lsocket ${requirements_libs_elm}"
5369          ],
5370          [have_socket="no"])
5371       ;;
5372    darwin*)
5373       have_socket="yes"
5374       ;;
5375    *)
5376       have_socket="yes"
5377       ;;
5378 esac
5379
5380 AC_SUBST([requirements_libs_elm])
5381
5382 AM_CONDITIONAL([BUILD_RUN], [test "x$have_socket" = "xyes"])
5383
5384 # Check if we can build binary with quicklaunch support
5385 ELM_QUICKLAUNCH
5386
5387 ### Checks for library functions
5388
5389 EFL_CHECK_FUNCS([ELEMENTARY], [dlopen])
5390
5391 AC_FUNC_ALLOCA
5392
5393 AC_CHECK_FUNCS([geteuid getuid getpwent])
5394
5395 if test "x${want_quicklaunch}" != "xno"; then
5396    AC_CHECK_FUNCS([fork clearenv])
5397 fi
5398
5399 build_quicklaunch="no"
5400 if test "x${ac_cv_func_fork}" = "xyes" -a "x${efl_func_dlopen}" = "xyes"; then
5401    build_quicklaunch="yes"
5402 fi
5403
5404 AM_CONDITIONAL([BUILD_QUICKLAUNCH], [test "x${build_quicklaunch}" = "xyes"])
5405 EFL_ADD_FEATURE([ELEMENTARY], [quicklaunch], [${build_quicklaunch}])
5406
5407 # environ variable
5408
5409 AC_COMPILE_IFELSE(
5410    [AC_LANG_PROGRAM(
5411       [[
5412 # define _GNU_SOURCE 1
5413 #include <unistd.h>
5414       ]],
5415       [[
5416 extern char **environ;
5417       ]])
5418    ],
5419    [AC_DEFINE([HAVE_ENVIRON], [1], [extern environ exists])])
5420
5421 case "$host_os" in
5422    darwin*)
5423       AC_DEFINE([environ], [(*_NSGetEnviron())], ["apple doesn't follow POSIX in this case."])
5424       ;;
5425 esac
5426
5427 ### Check availability
5428
5429 EFL_LIB_END([Elementary])
5430
5431 #### End of Elementary
5432
5433
5434 #### Elementary CXX
5435 EFL_LIB_START([Elementary_Cxx])
5436
5437 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Eina_Cxx])
5438 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Eet_Cxx])
5439 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Ecore_Cxx])
5440 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Ecore])
5441 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Eina])
5442 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Eo])
5443 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Efl])
5444 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Elementary])
5445
5446 EFL_EVAL_PKGS([ELEMENTARY_CXX])
5447
5448 EFL_LIB_END([Elementary_Cxx])
5449 #### End of Ecore CXX
5450
5451
5452 #### Elementary_Js
5453 EFL_LIB_START_OPTIONAL([Elementary_Js], [test "x${have_js}" = "xyes"])
5454
5455 ### Default values
5456
5457 ### Additional options to configure
5458
5459 ### Checks for programs
5460
5461 ### Checks for libraries
5462 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Eina])
5463 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Eo])
5464 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Ecore])
5465 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Eet])
5466 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Ecore_Evas])
5467 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Ecore_Con])
5468 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Ecore_Audio])
5469 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Efl])
5470 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Evas])
5471 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Edje])
5472 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Emotion])
5473 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Eldbus])
5474 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Emile])
5475 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Ethumb_Client])
5476 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Eio])
5477 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Elementary])
5478 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Efl_Js])
5479
5480 AM_COND_IF([HAVE_NODEJS], [], [ EFL_ADD_LIBS([ELEMENTARY_JS], [-lv8]) ])
5481
5482 EFL_EVAL_PKGS([ELEMENTARY_JS])
5483
5484 AM_COND_IF([HAVE_NODEJS], [ELEMENTARYJS_CXXFLAGS="$ELEMENTARYJS_CXXFLAGS -DHAVE_NODEJS"], [])
5485 AM_COND_IF([HAVE_LIBUV], [ELEMENTARYJS_CXXFLAGS="$ELEMENTARYJS_CXXFLAGS -DHAVE_LIBUV"], [])
5486 AM_COND_IF([HAVE_JS], [ELEMENTARYJS_CXXFLAGS="$ELEMENTARYJS_CXXFLAGS -DHAVE_JS"], [])
5487
5488 AM_COND_IF([HAVE_V8_CREATE_PARAMS], [ELEMENTARYJS_CXXFLAGS="$ELEMENTARYJS_CXXFLAGS -DHAVE_V8_CREATE_PARAMS"], [])
5489 AM_COND_IF([HAVE_V8_GLOBAL], [ELEMENTARYJS_CXXFLAGS="$ELEMENTARYJS_CXXFLAGS -DHAVE_V8_GLOBAL"], [])
5490 AC_SUBST([ELEMENTARYJS_CXXFLAGS])
5491
5492 ### Checks for header files
5493
5494 ### Checks for types
5495
5496 ### Checks for structures
5497
5498 ### Checks for compiler characteristics
5499
5500 ### Checks for linker characteristics
5501
5502 ### Checks for library functions
5503
5504 ### Check availability
5505
5506 EFL_LIB_END_OPTIONAL([ELEMENTARY_JS])
5507 #### End of Efl_Js
5508
5509 ELM_EDJE_DEFINES=""
5510 AC_ARG_ENABLE([cancel-ok],
5511               [AS_HELP_STRING([--enable-cancel-ok],[Enable ordering of cancel and ok buttons to be cancel first, then ok instead of ok then cancel. @<:@default=disabled@:>@])],
5512               [
5513                 if test "x${enableval}" = "xyes" ; then
5514                     ELM_EDJE_DEFINES="$ELM_EDJE_DEFINES -DELM_CANCEL_OK=1"
5515                 fi
5516               ],[])
5517 AC_SUBST(ELM_EDJE_DEFINES)
5518
5519
5520 ## Disable warning for OS that have a specifc configuration
5521 case "$host_os" in
5522    mingw*|cygwin*)
5523       CFOPT_WARNING=""
5524       ;;
5525    darwin*)
5526       CFOPT_WARNING=""
5527       ;;
5528 esac
5529
5530 AC_CONFIG_FILES([
5531 Makefile
5532 data/Makefile
5533 config/Makefile
5534 config/default/Makefile
5535 config/default/base.src
5536 config/mobile/Makefile
5537 config/mobile/base.src
5538 config/standard/Makefile
5539 config/standard/base.src
5540 doc/Makefile
5541 doc/Doxyfile
5542 doc/previews/Makefile
5543 doc/widgets/Makefile
5544 src/Makefile
5545 src/benchmarks/eina/Makefile
5546 src/benchmarks/eo/Makefile
5547 src/benchmarks/evas/Makefile
5548 src/examples/eina/Makefile
5549 src/examples/eina_cxx/Makefile
5550 src/examples/eet/Makefile
5551 src/examples/evas/Makefile
5552 src/examples/ecore/Makefile
5553 src/examples/ecore_avahi/Makefile
5554 src/examples/eio/Makefile
5555 src/examples/eldbus/Makefile
5556 src/examples/ephysics/Makefile
5557 src/examples/edje/Makefile
5558 src/examples/emotion/Makefile
5559 src/examples/emile/Makefile
5560 src/examples/ethumb_client/Makefile
5561 src/examples/elua/Makefile
5562 src/examples/eolian_cxx/Makefile
5563 src/examples/elocation/Makefile
5564 src/examples/elementary/Makefile
5565 src/lib/eina/eina_config.h
5566 src/lib/ecore_x/ecore_x_version.h
5567 src/lib/efl/Efl_Config.h
5568 src/lib/elementary/Elementary_Options.h
5569 src/scripts/eo/eo_debug
5570 elm_intro.h
5571 spec/efl.spec
5572 pc/evil.pc
5573 pc/escape.pc
5574 pc/eina.pc
5575 pc/eina-cxx.pc
5576 pc/emile.pc
5577 pc/eet.pc
5578 pc/eet-cxx.pc
5579 pc/eo.pc
5580 pc/eo-cxx.pc
5581 pc/eolian.pc
5582 pc/eolian-cxx.pc
5583 pc/eina-js.pc
5584 pc/efl-js.pc
5585 pc/eolian-js.pc
5586 pc/eo-js.pc
5587 pc/efl.pc
5588 pc/efl-cxx.pc
5589 pc/evas-fb.pc
5590 pc/evas-eglfs.pc
5591 pc/evas-opengl-x11.pc
5592 pc/evas-opengl-sdl.pc
5593 pc/evas-opengl-cocoa.pc
5594 pc/evas-psl1ght.pc
5595 pc/evas-software-buffer.pc
5596 pc/evas-software-x11.pc
5597 pc/evas-software-gdi.pc
5598 pc/evas-software-ddraw.pc
5599 pc/evas-software-sdl.pc
5600 pc/evas-wayland-shm.pc
5601 pc/evas-wayland-egl.pc
5602 pc/evas-drm.pc
5603 pc/evas.pc
5604 pc/evas-cxx.pc
5605 pc/ecore.pc
5606 pc/ecore-cxx.pc
5607 pc/ecore-con.pc
5608 pc/ecore-ipc.pc
5609 pc/ecore-file.pc
5610 pc/ecore-input.pc
5611 pc/ecore-input-evas.pc
5612 pc/ecore-cocoa.pc
5613 pc/ecore-drm.pc
5614 pc/ecore-fb.pc
5615 pc/ecore-psl1ght.pc
5616 pc/ecore-sdl.pc
5617 pc/ecore-wayland.pc
5618 pc/ecore-wl2.pc
5619 pc/ecore-win32.pc
5620 pc/ecore-x.pc
5621 pc/ecore-evas.pc
5622 pc/ecore-imf.pc
5623 pc/ecore-imf-evas.pc
5624 pc/ecore-audio.pc
5625 pc/ecore-audio-cxx.pc
5626 pc/ecore-avahi.pc
5627 pc/ecore-buffer.pc
5628 pc/ector.pc
5629 pc/embryo.pc
5630 pc/eio.pc
5631 pc/eio-cxx.pc
5632 pc/eldbus.pc
5633 pc/efreet.pc
5634 pc/efreet-mime.pc
5635 pc/efreet-trash.pc
5636 pc/eeze.pc
5637 pc/ephysics.pc
5638 pc/edje.pc
5639 pc/edje-cxx.pc
5640 pc/emotion.pc
5641 pc/ethumb.pc
5642 pc/ethumb_client.pc
5643 pc/elocation.pc
5644 pc/elua.pc
5645 pc/elementary.pc
5646 pc/elementary-cxx.pc
5647 pc/elput.pc
5648 pc/ecore-drm2.pc
5649 dbus-services/org.enlightenment.Ethumb.service
5650 systemd-services/ethumb.service
5651 $po_makefile_in
5652 cmakeconfig/EflConfig.cmake
5653 cmakeconfig/EflConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5654 cmakeconfig/EinaConfig.cmake
5655 cmakeconfig/EinaConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5656 cmakeconfig/EioConfig.cmake
5657 cmakeconfig/EioConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5658 cmakeconfig/EezeConfig.cmake
5659 cmakeconfig/EezeConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5660 cmakeconfig/EoConfig.cmake
5661 cmakeconfig/EoConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5662 cmakeconfig/EolianConfig.cmake
5663 cmakeconfig/EolianConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5664 cmakeconfig/EolianHelper.cmake
5665 cmakeconfig/EolianCxxConfig.cmake
5666 cmakeconfig/EolianCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5667 cmakeconfig/EinaCxxConfig.cmake
5668 cmakeconfig/EinaCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5669 cmakeconfig/EoCxxConfig.cmake
5670 cmakeconfig/EoCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5671 cmakeconfig/EcoreCxxConfig.cmake
5672 cmakeconfig/EcoreCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5673 cmakeconfig/EvasCxxConfig.cmake
5674 cmakeconfig/EvasCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5675 cmakeconfig/EetCxxConfig.cmake
5676 cmakeconfig/EetCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5677 cmakeconfig/EetConfig.cmake
5678 cmakeconfig/EetConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5679 cmakeconfig/EvasConfig.cmake
5680 cmakeconfig/EvasConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5681 cmakeconfig/EcoreConfig.cmake
5682 cmakeconfig/EcoreConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5683 cmakeconfig/EdjeConfig.cmake
5684 cmakeconfig/EdjeConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5685 cmakeconfig/EldbusConfig.cmake
5686 cmakeconfig/EldbusConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5687 cmakeconfig/EfreetConfig.cmake
5688 cmakeconfig/EfreetConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5689 cmakeconfig/EthumbConfig.cmake
5690 cmakeconfig/EthumbConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5691 cmakeconfig/EthumbClientConfig.cmake
5692 cmakeconfig/EthumbClientConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5693 cmakeconfig/EmotionConfig.cmake
5694 cmakeconfig/EmotionConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5695 cmakeconfig/EluaConfig.cmake
5696 cmakeconfig/EluaConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5697 cmakeconfig/EmileConfig.cmake
5698 cmakeconfig/EmileConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5699 cmakeconfig/ElementaryConfigVersion.cmake
5700 cmakeconfig/ElementaryConfig.cmake
5701 ])
5702
5703 AC_OUTPUT
5704
5705 #### Info
5706
5707 EFL_ADD_FEATURE([EO], [eo-id], [${want_eo_id}])
5708
5709 case $host_cpu in
5710   i*86|x86_64|amd64)
5711     EFL_ADD_FEATURE([cpu], [mmx], [${build_cpu_mmx}])
5712     EFL_ADD_FEATURE([cpu], [sse3], [${build_cpu_sse3}])
5713     ;;
5714   *power* | *ppc*)
5715     EFL_ADD_FEATURE([cpu], [altivec], [${build_cpu_altivec}])
5716     ;;
5717   arm*)
5718     EFL_ADD_FEATURE([cpu], [neon], [${build_cpu_neon}])
5719     ;;
5720   aarch64*)
5721     EFL_ADD_FEATURE([cpu], [neon], [${build_cpu_neon}])
5722     ;;
5723 esac
5724
5725 if test "${have_linux}" = "yes"; then
5726    EFL_ADD_FEATURE([system], [inotify])
5727    EFL_ADD_FEATURE([system], [atfile_source])
5728 elif test "${have_windows}" = "yes"; then
5729    EFL_ADD_FEATURE([system], [notify_win32])
5730 fi
5731 EFL_ADD_FEATURE([system], [ipv6])
5732
5733 if test "x${efl_have_posix_threads_spinlock}" = "xyes" || test "x${efl_have_osx_spinlock}" = "xyes"; then
5734    efl_have_spinlock="yes"
5735 else
5736    efl_have_spinlock="no"
5737 fi
5738 EFL_ADD_FEATURE([thread], [spinlocks], [${efl_have_spinlock}])
5739 EFL_ADD_FEATURE([thread], [barrier], [${efl_have_pthread_barrier}])
5740 EFL_ADD_FEATURE([thread], [affinity], [${efl_have_setaffinity}])
5741 EFL_ADD_FEATURE([thread], [setname], [${efl_have_setname}])
5742 EFL_ADD_FEATURE([thread], [__thread], [${have_thread_specifier}])
5743
5744 echo
5745 echo
5746 echo
5747 echo "------------------------------------------------------------------------"
5748 echo "$PACKAGE_NAME $PACKAGE_VERSION"
5749 echo "------------------------------------------------------------------------"
5750 echo
5751
5752 if test "x${have_windows}" = "xyes" ; then
5753    osname="${host_os}(${_efl_windows_version})"
5754 else
5755    osname="${host_os}"
5756 fi
5757
5758 if test "x${want_egl}" = "xyes" ; then
5759    opengl_egl="(EGL)"
5760 else
5761    opengl_egl=""
5762 fi
5763
5764 echo "Configuration...: ${COLOR_OTHER}profile=${build_profile} os=${osname}${COLOR_RESET}"
5765 echo "  EFL API Set...: ${efl_api}"
5766 echo "  CPU Extensions: ${host_cpu} (${features_cpu})"
5767 echo "  System Feature: ${features_system}"
5768 echo "  Threads.......: ${efl_have_threads} (${features_thread})"
5769 echo "  Cryptography..: ${build_crypto}"
5770 echo "  X11...........: ${with_x11}"
5771 echo "  OpenGL........: ${with_opengl} ${opengl_egl}"
5772 echo "  C++11.........: ${have_cxx11}"
5773 echo "  JavaScript....: ${want_js}"
5774 echo "  JavaScript flg: $EINA_JS_LIBS"
5775 echo "Eina............: yes (${features_eina} unwind=$have_unwind)"
5776 echo "Eo..............: yes (${features_eo})"
5777 echo "Eolian..........: yes (${features_eolian})"
5778 echo "Emile...........: yes (${features_emile})"
5779 echo "Eet.............: yes"
5780 echo "Evas............: yes (${features_evas})"
5781 echo "  Engines.......: ${features_evas_engine}"
5782 echo "  Vg Loaders    : ${features_evas_vg_loader}"
5783 echo "  Image Loaders.: ${features_evas_loader}"
5784 if test "x${have_pixman}" = "xyes" ; then
5785 echo "  Pixman........: ${features_evas_pixman}"
5786 fi
5787 echo "Ecore...........: yes (${features_ecore})"
5788 echo "Ecore_Con.......: yes (${features_ecore_con})"
5789 echo "Ecore_File......: yes"
5790 echo "Ecore_IMF.......: yes (${features_ecore_imf})"
5791 echo "Ecore_X.........: ${with_x11} (${features_ecore_x})"
5792 echo "Ecore_SDL.......: $want_sdl"
5793 echo "Ecore_Drm.......: $want_ecore_drm"
5794 echo "Ecore_Drm2......: $want_drm"
5795 echo "Ecore_Wayland...: $want_ecore_wayland"
5796 echo "Ecore_Wl2.......: $want_wayland"
5797 echo "IVI-Shell.......: $want_wayland_ivi_shell"
5798 echo "Ecore_Buffer....: $want_ecore_buffer (${features_ecore_buffer})"
5799 if test "${have_linux}" = "yes"; then
5800 echo "Ecore_FB........: $want_fb (${features_ecore_fb})"
5801 elif test "${have_ps3}" = "yes"; then
5802 echo "Ecore_PSL1GHT...: $have_ps3"
5803 elif test "${have_darwin}" = "yes"; then
5804 echo "Ecore_Cocoa.....: $efl_lib_optional_ecore_cocoa"
5805 elif test "${have_windows}" = "yes"; then
5806 echo "Ecore_Win32.....: $have_win32"
5807 fi
5808 echo "Ecore_Audio.....: ${efl_lib_optional_ecore_audio} (${features_ecore_audio})"
5809 echo "Ecore_Avahi.....: yes (${features_ecore_avahi})"
5810 echo "Ecore_Evas......: yes (${features_ecore_evas})"
5811 echo "Elput...........: $want_elput (${features_elput})"
5812 echo "Ector...........: yes"
5813 echo "Eeze............: ${efl_lib_optional_eeze} (${features_eeze})"
5814 echo "EPhysics........: ${efl_lib_optional_ephysics}"
5815 echo "Edje............: yes (${features_edje})"
5816 echo "Emotion.........: yes (${features_emotion})"
5817 echo "Ethumb..........: yes"
5818 echo "Ethumb_Client...: yes"
5819 echo "Elua............: $have_elua"
5820 echo "Elementary......: yes (${features_elementary})"
5821 echo 
5822
5823 echo
5824
5825 if test "${build_tests}" = "none"; then
5826 echo "Tests...........: no"
5827 elif test "${build_tests}" = "auto"; then
5828 echo "Tests...........: make check (inexplicitly enabled)"
5829 elif test "${build_tests}" = "regular"; then
5830 echo "Tests...........: make check"
5831 elif test "${build_tests}" = "coverage"; then
5832 echo "Tests...........: make lcov-check"
5833 fi
5834 echo "Examples........: make examples (make install-examples)"
5835 if test "x${build_doc}" = "xyes"; then
5836 echo "Documentation...: make doc"
5837 else
5838 echo "Documentation...: no"
5839 fi
5840 echo "Compilation.....: make (or gmake)"
5841 echo "  CPPFLAGS......: $CPPFLAGS"
5842 echo "  CFLAGS........: $CFLAGS"
5843 echo "  CXXFLAGS......: $CXXFLAGS"
5844 echo "  LDFLAGS.......: $LDFLAGS"
5845 echo "  EFLJS_CXXFLAGS: $EFLJS_CXXFLAGS"
5846
5847 if test "x${with_binary_edje_cc}" != "x"; then
5848 echo "  edje_cc.......: ${with_binary_edje_cc}"
5849 fi
5850
5851 if test "x${with_binary_eolian_gen}" != "x"; then
5852 echo "  eolian_gen....: ${with_binary_eolian_gen}"
5853 fi
5854
5855 if test "x${with_binary_eolian_cxx}" != "x"; then
5856 echo "  eolian_cxx....: ${with_binary_eolian_cxx}"
5857 fi
5858
5859 if test "x${with_binary_elua_bin}" != "x"; then
5860 echo "  elua..........: ${with_binary_elua_bin}"
5861 fi
5862
5863 echo "  "
5864 echo "Installation....: make install (as root if needed, with 'su' or 'sudo')"
5865 echo "  prefix........: $prefix"
5866 echo "  dbus units....: $dbusservicedir"
5867 if test "${have_systemd_user_session}" = "yes"; then
5868 echo "  systemd units.: $USER_SESSION_DIR"
5869 fi
5870 echo
5871
5872 if test -n "$CFOPT_WARNING"; then
5873   echo "_____________________________________________________________________"
5874   echo ""
5875   echo "==-- WARNING --=="
5876   echo ""
5877   echo "_____________________________________________________________________"
5878   if test "x${want_physics}" = "xno"; then
5879     echo "_____________________________________________________________________"
5880     echo "You have chosen to disable physics support. This disables lots of"
5881     echo "core functionality and is effectively never tested. You are going"
5882     echo "to find features that suddenly don't work and as a result cause"
5883     echo "a series of breakages. This is simply not tested so you are on"
5884     echo "your own in terms of ensuring everything works if you do this"
5885     echo "_____________________________________________________________________"
5886   fi
5887   if test "x${efl_have_threads}" = "xno"; then
5888     echo "_____________________________________________________________________"
5889     echo "You have disabled threading support. A lot of code is literally"
5890     echo "written to need threading. We never test or even build with"
5891     echo "threading disabled, so doing this is entering uncharted territory."
5892     echo "There is a very good chance things may not compile at all, or if"
5893     echo "the do, they will break at runtime in weird and wonderful ways."
5894     echo "Highly reconsider what you are doing here, or be prepared to deal"
5895     echo "with the fallout yourself."
5896     echo "_____________________________________________________________________"
5897   fi
5898   if test "x${want_fontconfig}" = "xno"; then
5899     echo "_____________________________________________________________________"
5900     echo "You have disabled fontconfig. This is going to make general font"
5901     echo "searching not work, and only some very direct 'load /path/file.ttf'"
5902     echo "will work alongside some old-school ttf file path searching. This"
5903     echo "is very likely not what you want, so highly reconsider turning"
5904     echo "fontconfig off. Having it off will lead to visual problems like"
5905     echo "missing text in many UI areas etc."
5906     echo "_____________________________________________________________________"
5907   fi
5908   if test "x${want_fribidi}" = "xno"; then
5909     echo "_____________________________________________________________________"
5910     echo "Fribidi is used for handling right-to-left text (like Arabic,"
5911     echo "Hebrew, Farsi, Persian etc.) and is very likely not a feature"
5912     echo "you want to disable unless you know for absolute certain you"
5913     echo "will never encounter and have to display such scripts. Also"
5914     echo "note that we don't test with fribidi disabled so you may also"
5915     echo "trigger code paths with bugs that are never normally used."
5916     echo "_____________________________________________________________________"
5917   fi
5918   if test "x${want_pixman}" = "xyes"; then
5919     echo "_____________________________________________________________________"
5920     echo "Pixman allows you to replace some rendering paths in Evas with"
5921     echo "Pixman. Pixman may or may not be faster (probably slower), and"
5922     echo "the rendering paths with Pixman enabled are not tested often so"
5923     echo "this may introduce rendering bugs. Do not turn Pixman on unless"
5924     echo "you wish to deal with these bugs."
5925     echo "_____________________________________________________________________"
5926   fi
5927   if test "x${have_tile_rotate}" = "xyes"; then
5928     echo "_____________________________________________________________________"
5929     echo "Tiled rotation code is not tested much, so be aware that you"
5930     echo "may introduce bugs by enabling this."
5931     echo "_____________________________________________________________________"
5932   fi
5933   if test "x${want_g_main_loop}" = "xyes"; then
5934     echo "_____________________________________________________________________"
5935     echo "Using the Glib mainloop as the mainloop in Ecore is not tested"
5936     echo "regularly, but the glib mainloop integration (on by default) is."
5937     echo "You can use apps that use glib mainloop constructs by default"
5938     echo "this way, but the Ecore mainloop is not built on top of glib."
5939     echo "You have enabled ecore to be built on top of glib and thus you"
5940     echo "may experience bugs that normally would not be there. Be prepared"
5941     echo "to fix these if they arise."
5942     echo "_____________________________________________________________________"
5943   fi
5944   if test "x${want_gstreamer}" = "xyes"; then
5945     echo "_____________________________________________________________________"
5946     echo "Gstreamer 0.10 is no longer supported, and EFL has moved to use"
5947     echo "Gstreamer 1.x. The old Gstremaer code is not tested or maintained"
5948     echo "and will eventually be removed entirely. Don't enable the old"
5949     echo "Gstreamer support unless you want to deal with the issues yourself."
5950     echo "_____________________________________________________________________"
5951   fi
5952   if test "x${want_gstreamer1}" = "xno"; then
5953     echo "_____________________________________________________________________"
5954     echo "You disabled Gstreamer 1.x support. You likely don't want to do"
5955     echo "this as it will heavily limit your media support options and render"
5956     echo "some functionality as useless, leading to visible application bugs."
5957     echo "_____________________________________________________________________"
5958   fi
5959   if test "x${want_eo_id}" = "xno"; then
5960     echo "_____________________________________________________________________"
5961     echo "Eo's ID abstraction interface is a major safety system that"
5962     echo "protects code from crashing or misbehaving in many cases. It does"
5963     echo "come at a slight cost, but the safety and protection is worth it."
5964     echo "Also by disabling this, you may also introduce security holes in"
5965     echo "EFL as well as cause all sorts of previously non-existant crashes."
5966     echo "Seriously reconsider disabling EO ID."
5967     echo "_____________________________________________________________________"
5968   fi
5969   if test "x${want_evas_cserve2}" = "xno"; then
5970     echo "_____________________________________________________________________"
5971     echo "Evas Cserve is built and on by default and no testing is done"
5972     echo "for the old non-cserve2 code paths, so by disabling this you"
5973     echo "may be introducing bugs. Be aware of this and be prepared to"
5974     echo "deal with the bugs as a result of this."
5975     echo "_____________________________________________________________________"
5976   fi
5977   if test "x${want_audio}" = "xno"; then
5978     echo "_____________________________________________________________________"
5979     echo "You disabled audio support in Ecore. This is not tested and may"
5980     echo "Create bugs for you due to it creating untested code paths."
5981     echo "Reconsider disabling audio."
5982     echo "_____________________________________________________________________"
5983   fi
5984   if test "x${want_pulseaudio}" = "xno"; then
5985     echo "_____________________________________________________________________"
5986     echo "The only audio output method supported by Ecore right now on your"
5987     echo "system is via Pulseaudio. You have disabled that and likely have"
5988     echo "broken a whole bunch of things in the process. Reconsider your"
5989     echo "configure options."
5990     echo "_____________________________________________________________________"
5991   fi
5992   if test "x${want_xinput2}" = "xno"; then
5993     echo "_____________________________________________________________________"
5994     echo "You have disabled xinput2 support. This means a whole lot of input"
5995     echo "devices in X11 will not work correctly. You likely do not want to"
5996     echo "do this."
5997     echo "_____________________________________________________________________"
5998   fi
5999   if test "x${want_xim}" = "xno"; then
6000     echo "_____________________________________________________________________"
6001     echo "You disabled XIM input method support. This is the most basic and"
6002     echo "core input method protocol supported in X11 and you almost certainly"
6003     echo "want the support for it. Input methods allow for complex text input"
6004     echo "like for Chinese, Japanese and Korean as well as virtual keyboards"
6005     echo "on touch/mobile devices."
6006     echo "_____________________________________________________________________"
6007   fi
6008   if test "x${want_scim}" = "xno"; then
6009     echo "_____________________________________________________________________"
6010     echo "SCIM is a modern and very common input method framework and you"
6011     echo "disabled support for it. You very likely want the support for"
6012     echo "complex language input, so please reconsider this. Input methods"
6013     echo "allow for complex text input like for Chinese, Japanese and Korean"
6014     echo "as well as virtual keyboards on touch/mobile devices."
6015     echo "_____________________________________________________________________"
6016   fi
6017   if test "x${want_libmount}" = "xno"; then
6018     echo "_____________________________________________________________________"
6019     echo "Libmount has been disabled, and it is used heavily inside Eeze"
6020     echo "for support of removable devices etc. and disabling this will"
6021     echo "hurt support for Enlightenment and its filemanager."
6022     echo "_____________________________________________________________________"
6023   fi
6024   if test "x${want_multisense}" = "xno"; then
6025     echo "_____________________________________________________________________"
6026     echo "Multisense has been disabled. This causes Edje audio suport to"
6027     echo "Simply not work, and will break applications and libraries"
6028     echo "that rely on it with users then reporting bugs."
6029     echo "If you want to mute audio, there are APIs and policies to do"
6030     echo "that, as opposed to compiling it out."
6031     echo "_____________________________________________________________________"
6032   fi
6033   if test "x${efl_api}" = "xeo"; then
6034     echo "_____________________________________________________________________"
6035     echo "Using the EO based EFL API only does not work at the moment. We still"
6036     echo "have a lot code that depends on the legacy interfaces. We provide"
6037     echo "this option for testing once we are able to migrate to the EO based"
6038     echo "API."
6039     echo "If you are not working on this migration please leave the option set"
6040     echo "to both as it will break your build if set to eo."
6041     echo "_____________________________________________________________________"
6042   fi
6043   if test "x${want_libeeze}" = "xno"; then
6044     echo "_____________________________________________________________________"
6045     echo "Libeeze has been disabled, and it is used heavily for support of"
6046     echo "removable devices etc. and disabling this will hurt support for"
6047     echo "Enlightenment and its filemanager."
6048     echo "_____________________________________________________________________"
6049   fi
6050   echo "_____________________________________________________________________"
6051   echo ""
6052   echo "==-- WARNING --=="
6053   echo ""
6054   echo "_____________________________________________________________________"
6055   if test -n "$BARF_OK"; then
6056     echo "Please add the following option to acknowledge this:"
6057     echo "  --enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-abb"
6058     echo "_____________________________________________________________________"
6059     rm -f Makefile
6060     exit 1
6061   fi
6062   sleep 10
6063 fi
6064
6065 if test "x$prefix" != "x/usr"; then
6066   old=
6067   path=$dbusservicedir
6068   while test "x$old" != "x$path"; do
6069     old=$path
6070     eval path="\"$path\""
6071   done
6072   resolved_dbusservicedir=$path
6073
6074   old=
6075   path=$USER_SESSION_DIR
6076   while test "x$old" != "x$path"; do
6077     old=$path
6078     eval path="\"$path\""
6079   done
6080   resolved_USER_SESSION_DIR=$path
6081   base_USER_SESSION_DIR=`echo "$resolved_USER_SESSION_DIR" | sed -e 's:^\(.*\)/systemd/user/*$:\1:g'`
6082
6083   old=
6084   path=$datadir
6085   while test "x$old" != "x$path"; do
6086     old=$path
6087     eval path="\"$path\""
6088   done
6089   resolved_datadir=$path
6090
6091   needs_alert_dbus=0
6092   if test "$resolved_dbusservicedir" = "${HOME}/.local/share/dbus-1/services"; then
6093     AC_MSG_NOTICE([installing DBus services in user local "$resolved_dbusservicedir". Only accessible to user $USER])
6094   elif echo "$resolved_dbusservicedir" | grep -e '^/usr/s' >/dev/null 2>/dev/null; then
6095     AC_MSG_NOTICE([installing DBus serivces in $resolved_dbusservicedir])
6096   else
6097     needs_alert_dbus=1
6098   fi
6099
6100   needs_alert_systemd=0
6101   if test "$have_systemd_user_session" = "yes"; then
6102     if test "$resolved_USER_SESSION_DIR" = "${HOME}/.config/systemd/user"; then
6103       AC_MSG_NOTICE([installing systemd services in user local "$resolved_USER_SESSION_DIR". Only accessible to user $USER])
6104     elif echo "$resolved_USER_SESSION_DIR" | grep -e '^/usr/s' >/dev/null 2>/dev/null; then
6105       AC_MSG_NOTICE([installing systemd serivces in $resolved_USER_SESSION_DIR])
6106     else
6107        needs_alert_systemd=1
6108     fi
6109   fi
6110
6111   if test $needs_alert_dbus -eq 1 -o $needs_alert_systemd -eq 1; then
6112     if test $needs_alert_dbus -eq 1 -a $needs_alert_systemd -eq 1; then
6113       what_alert="dbus and systemd"
6114     elif test $needs_alert_dbus -eq 1; then
6115       what_alert="dbus"
6116     else
6117       what_alert="systemd"
6118     fi
6119
6120     echo ""
6121     echo "#-------------------------------------------------------------------#"
6122     echo "##==--                          ALERT                          --==##"
6123     echo "#-------------------------------------------------------------------#"
6124     echo ""
6125     echo "  Your installation prefix is *NOT* /usr so this means you need"
6126     echo "to ensure some files are visible to $what_alert otherwise services cannot"
6127     echo "be started when needed. You will need to do the following:"
6128     if test $needs_alert_dbus -eq 1; then
6129       echo ""
6130       echo "System-wide installation:"
6131       echo "  ln -s ${resolved_dbusservicedir}/org.enlightenment.Ethumb.service /usr/share/dbus-1/services/org.enlightenment.Ethumb.service"
6132       echo ""
6133       echo "  or add \"${resolved_datadir}\" to \$XDG_DATA_DIRS"
6134       echo ""
6135       echo "User installation:"
6136       echo "  ln -s ${resolved_dbusservicedir}/org.enlightenment.Ethumb.service ~/.local/share/dbus-1/services/org.enlightenment.Ethumb.service"
6137     fi
6138     if test $needs_alert_systemd -eq 1; then
6139       echo ""
6140       echo "System-wide installation:"
6141       echo "  ln -s ${resolved_USER_SESSION_DIR}/ethumb.service /usr/lib/systemd/user/ethumb.service"
6142       echo ""
6143       echo "  or add \"${base_USER_SESSION_DIR}\" to \$XDG_DATA_DIRS or \$XDG_CONFIG_DIRS"
6144       echo ""
6145       echo "User installation:"
6146       echo "  ln -s ${resolved_USER_SESSION_DIR}/ethumb.service ~/.config/systemd/user/ethumb.service"
6147     fi
6148     echo ""
6149     echo "#-------------------------------------------------------------------#"
6150   fi
6151
6152 elif test "x${have_darwin}" = "xyes"; then
6153     echo ""
6154     echo "#-------------------------------------------------------------------#"
6155     echo "##==--                          ALERT                          --==##"
6156     echo "#-------------------------------------------------------------------#"
6157     echo ""
6158     echo "  If you are running Mac OS X >= 10.11 (starting from El Capitan)"
6159     echo "  you will have TROUBLE with the prefix you have chosen (/usr)..."
6160     echo "  Don't make it double and consider to use the default prefix"
6161     echo "  (/usr/local). This is because of Apple's SIP that provides MAC"
6162     echo "  and prevents ANYONE modifying the system."
6163     echo ""
6164     echo "#-------------------------------------------------------------------#"
6165 fi
6166
6167 if test "x${efl_deprecated_option}" = "xyes"; then
6168   echo ""
6169   echo "#-------------------------------------------------------------------#"
6170   echo "##==--                          ALERT                          --==##"
6171   echo "#-------------------------------------------------------------------#"
6172   echo ""
6173   echo "  Your build script is using a deprecated option. It will get b0rken"
6174   echo "with the next release of EFL. You better update it now than later."
6175   echo ""
6176   echo "#-------------------------------------------------------------------#"
6177 fi
6178
6179