diff options
author | Vincent Torri <vincent dot torri at gmail dot com> | 2014-08-29 19:05:30 +0200 |
---|---|---|
committer | Tom Hacohen <tom@stosb.com> | 2014-09-02 10:29:50 +0100 |
commit | 2a1bc688a94583af71ce44a3db0b1d403590b23d (patch) | |
tree | 7f9a9de26698fe69e300f62e1038aa194d857942 /configure.ac | |
parent | c707a638d365f401d0f1063fa8eb738d35c44089 (diff) |
Reorganise configure.ac layout (and simplify)
This includes:
Bumping versions of autoconf and automake.
Remove or replace deprecated macros.
Use correct paths.
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 570 |
1 files changed, 317 insertions, 253 deletions
diff --git a/configure.ac b/configure.ac index c076de52d..6ecf4ec44 100644 --- a/configure.ac +++ b/configure.ac | |||
@@ -1,7 +1,7 @@ | |||
1 | EFL_VERSION([1], [11], [99], [dev]) | 1 | EFL_VERSION([1], [11], [99], [dev]) |
2 | AC_INIT([elementary], [efl_version], [enlightenment-devel@lists.sourceforge.net]) | 2 | AC_INIT([elementary], [efl_version], [enlightenment-devel@lists.sourceforge.net]) |
3 | 3 | ||
4 | AC_PREREQ(2.60) | 4 | AC_PREREQ(2.63) |
5 | AC_CONFIG_SRCDIR([configure.ac]) | 5 | AC_CONFIG_SRCDIR([configure.ac]) |
6 | AC_CONFIG_MACRO_DIR([m4]) | 6 | AC_CONFIG_MACRO_DIR([m4]) |
7 | AC_CANONICAL_BUILD | 7 | AC_CANONICAL_BUILD |
@@ -18,118 +18,151 @@ AH_BOTTOM([ | |||
18 | 18 | ||
19 | AC_USE_SYSTEM_EXTENSIONS | 19 | AC_USE_SYSTEM_EXTENSIONS |
20 | 20 | ||
21 | AM_INIT_AUTOMAKE([1.6 dist-bzip2 dist-xz -Wall]) | 21 | AM_INIT_AUTOMAKE([1.11 dist-bzip2 dist-xz -Wall]) |
22 | m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) | 22 | m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) |
23 | m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) | ||
23 | 24 | ||
24 | # pkg-config | 25 | LT_INIT([win32-dll disable-static pic-only]) |
25 | PKG_PROG_PKG_CONFIG | 26 | EFL_INIT |
26 | 27 | ||
27 | MODULE_EDJE=`pkg-config --variable=module_arch edje` | ||
28 | AC_SUBST(MODULE_EDJE) | ||
29 | AC_DEFINE_UNQUOTED(MODULE_EDJE, "$MODULE_EDJE", "Edje module architecture") | ||
30 | 28 | ||
31 | # Needs to be moved into a macro, and also, needs a way to automatically fetch | 29 | ### Additional options to configure |
32 | # from all the dependencies using the Requires. | 30 | |
33 | DEPS_EOLIAN_FLAGS=`pkg-config --variable=eolian_flags eo evas edje ecore efl` | 31 | # C++ bindings |
34 | AC_SUBST(DEPS_EOLIAN_FLAGS) | 32 | |
33 | AC_ARG_ENABLE([cxx-bindings], | ||
34 | [AC_HELP_STRING([--disable-cxx-bindings], | ||
35 | [disable C++11 bindings. @<:@default=enabled@:>@])], | ||
36 | [want_cxx11="${enableval}"], | ||
37 | [want_cxx11="yes"]) | ||
38 | |||
39 | # Tests | ||
40 | |||
41 | AC_ARG_WITH([tests], | ||
42 | [AS_HELP_STRING([--with-tests=none|regular], | ||
43 | [choose elementary testing method: regular or none.(coverage will be supported)@<:@default=none@:>@])], | ||
44 | [build_tests=${withval}], | ||
45 | [build_tests=none]) | ||
46 | |||
47 | # Elementary base dir | ||
48 | |||
49 | AC_ARG_WITH([elementary-base-dir], | ||
50 | [AC_HELP_STRING([--with-elementary-base-dir=PATH], [specify the subdirectory for all elementary data @<:@default=${elementary_base_dir}@:>@])], | ||
51 | [elementary_base_dir=${withval}], | ||
52 | [elementary_base_dir=".elementary"]) | ||
53 | |||
54 | AC_MSG_NOTICE([ELEMENTARY_BASE_DIR set to ${elementary_base_dir}]) | ||
55 | AC_DEFINE_UNQUOTED([ELEMENTARY_BASE_DIR], ["${elementary_base_dir}"], ["subdirectory for all elementary data"]) | ||
56 | |||
57 | # Build and install examples | ||
58 | |||
59 | EFL_CHECK_BUILD_EXAMPLES( | ||
60 | [enable_build_examples="yes"], | ||
61 | [enable_build_examples="no"]) | ||
62 | |||
63 | EFL_CHECK_INSTALL_EXAMPLES( | ||
64 | [enable_install_examples="yes"], | ||
65 | [enable_install_examples="no"]) | ||
66 | |||
67 | # Debug mode | ||
68 | |||
69 | AC_ARG_ENABLE([debug], | ||
70 | [AC_HELP_STRING([--enable-debug], [enable elementary debug support. @<:@default=disabled@:>@])], | ||
71 | [want_elementary_debug=$enableval], | ||
72 | [want_elementary_debug="no"]) | ||
73 | |||
74 | ELM_DEBUG_DEF="#undef" | ||
75 | if test "x$want_elementary_debug" = "xyes"; then | ||
76 | AC_DEFINE([HAVE_ELEMENTARY_DEBUG], [1], [Elementary debug.]) | ||
77 | ELM_DEBUG_DEF="#define" | ||
78 | fi | ||
79 | AC_SUBST([ELM_DEBUG_DEF]) | ||
80 | |||
81 | # quicklaunch support | ||
82 | |||
83 | AC_ARG_ENABLE([quick-launch], | ||
84 | [AC_HELP_STRING([--disable-quick-launch], [disable quick-launch support, @<:@default=detect@:>@])], | ||
85 | [want_quicklaunch=$enableval], | ||
86 | [want_quicklaunch="auto"]) | ||
87 | |||
88 | |||
89 | ### Default options with respect to host and default values | ||
90 | |||
91 | ELM_VERSION_MAJOR="v_maj" | ||
92 | ELM_VERSION_MINOR="v_min" | ||
93 | AC_SUBST([ELM_VERSION_MAJOR]) | ||
94 | AC_SUBST([ELM_VERSION_MINOR]) | ||
95 | |||
96 | MODULE_ARCH="v-v_maj.v_min.v_mic" | ||
97 | AC_SUBST([MODULE_ARCH]) | ||
98 | AC_DEFINE_UNQUOTED([MODULE_ARCH], ["$MODULE_ARCH"], ["Module architecture"]) | ||
99 | |||
100 | EFL_SHARED_EXTENSION="${shrext_cmds}" | ||
101 | AC_DEFINE_UNQUOTED([EFL_SHARED_EXTENSION], ["${EFL_SHARED_EXTENSION}"], ["Shared extension"]) | ||
35 | 102 | ||
36 | ELM_UNIX_DEF="#undef" | 103 | ELM_UNIX_DEF="#undef" |
37 | ELM_WIN32_DEF="#undef" | 104 | ELM_WIN32_DEF="#undef" |
38 | have_windows="no" | 105 | have_windows="no" |
39 | have_dlopen="no" | ||
40 | have_freebsd="no" | 106 | have_freebsd="no" |
41 | case "$host_os" in | 107 | |
42 | freebsd*) | ||
43 | have_freebsd="yes" | ||
44 | ;; | ||
45 | esac | ||
46 | case "$host_os" in | 108 | case "$host_os" in |
47 | mingw*) | 109 | mingw*) |
48 | PKG_CHECK_MODULES([EVIL], [evil]) | 110 | AC_DEFINE([HAVE_EVIL], [1], [Set to 1 if evil package is installed.]) |
49 | AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed.]) | ||
50 | ELM_WIN32_DEF="#define" | 111 | ELM_WIN32_DEF="#define" |
51 | have_windows="yes" | 112 | have_windows="yes" |
52 | dnl managed by evil | ||
53 | AC_DEFINE(HAVE_DLADDR) | ||
54 | have_dlopen="yes" | ||
55 | dlopen_libs=-ldl | ||
56 | requirement_elm="evil" | ||
57 | have_socket="no" | ||
58 | ;; | 113 | ;; |
59 | *solaris*) | 114 | *solaris*) |
60 | ELM_UNIX_DEF="#define" | 115 | ELM_UNIX_DEF="#define" |
61 | have_socket="yes" | 116 | ;; |
62 | have_dlopen="yes" | 117 | freebsd*) |
63 | AC_CHECK_LIB([socket], [connect], [], [have_socket="no"]) | 118 | ELM_UNIX_DEF="#define" |
119 | have_freebsd="yes" | ||
64 | ;; | 120 | ;; |
65 | darwin*) | 121 | darwin*) |
66 | ELM_UNIX_DEF="#define" | 122 | ELM_UNIX_DEF="#define" |
67 | have_socket="yes" | ||
68 | have_dlopen="yes" | ||
69 | AC_CHECK_HEADERS([crt_externs.h]) | ||
70 | AC_DEFINE([environ], [(*_NSGetEnviron())], ["apple doesn't follow POSIX in this case."]) | ||
71 | ;; | 123 | ;; |
72 | *) | 124 | *) |
73 | ELM_UNIX_DEF="#define" | 125 | ELM_UNIX_DEF="#define" |
74 | AC_CHECK_FUNCS(dlopen, res=yes, res=no) | ||
75 | if test "x$res" = "xyes"; then | ||
76 | AC_CHECK_FUNCS(dladdr, AC_DEFINE(HAVE_DLADDR)) | ||
77 | have_dlopen="yes" | ||
78 | else | ||
79 | AC_CHECK_LIB(dl, dlopen, res=yes, res=no) | ||
80 | AC_CHECK_LIB(m, sincos) | ||
81 | if test "x$res" = "xyes"; then | ||
82 | AC_CHECK_LIB(dl, dladdr, AC_DEFINE(HAVE_DLADDR)) | ||
83 | dlopen_libs=-ldl | ||
84 | have_dlopen="yes" | ||
85 | fi | ||
86 | fi | ||
87 | have_socket="yes" | ||
88 | ;; | 126 | ;; |
89 | esac | 127 | esac |
90 | 128 | ||
91 | AM_CONDITIONAL([BUILD_RUN], [test "x$have_socket" = "xyes"]) | 129 | AM_CONDITIONAL([ELEMENTARY_WINDOWS_BUILD], [test "x${have_windows}" = "xyes"]) |
92 | AM_CONDITIONAL([BUILD_MODULES], [test "x$have_dlopen" = "xyes"]) | ||
93 | AM_CONDITIONAL([HAVE_FREEBSD], [test "x${have_freebsd}" = "xyes"]) | 130 | AM_CONDITIONAL([HAVE_FREEBSD], [test "x${have_freebsd}" = "xyes"]) |
131 | AC_SUBST([ELM_UNIX_DEF]) | ||
132 | AC_SUBST([ELM_WIN32_DEF]) | ||
94 | 133 | ||
95 | EFL_COMPILER_FLAG([-Wall -Wextra -Wpointer-arith -Wno-missing-field-initializers -fvisibility=hidden -fdata-sections -ffunction-sections]) | ||
96 | EFL_LINKER_FLAG([-fvisibility=hidden -fdata-sections -ffunction-sections -Wl,--gc-sections -fno-strict-aliasing -Wl,--as-needed -Wl,--no-copy-dt-needed-entries]) | ||
97 | 134 | ||
98 | m4_ifdef([v_mic], | 135 | ### Checks for programs |
99 | [ | ||
100 | EFL_COMPILER_FLAG([-Wshadow]) | ||
101 | EFL_COMPILER_FLAG([-Wall]) | ||
102 | EFL_COMPILER_FLAG([-W]) | ||
103 | ]) | ||
104 | 136 | ||
105 | m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) | 137 | # gettext |
106 | LT_INIT([win32-dll disable-static pic-only]) | 138 | m4_ifdef([AM_GNU_GETTEXT_VERSION], [ |
107 | EFL_INIT | 139 | AM_GNU_GETTEXT_VERSION([0.17]) |
140 | ]) | ||
141 | |||
142 | m4_ifdef([AM_GNU_GETTEXT], [ | ||
143 | AM_GNU_GETTEXT([external]) | ||
144 | po_makefile_in=po/Makefile.in | ||
145 | have_po="yes" | ||
146 | ],[ | ||
147 | have_po="no" | ||
148 | ]) | ||
149 | AC_SUBST([LTLIBINTL]) | ||
108 | 150 | ||
109 | AC_GNU_SOURCE | 151 | if test "x${POSUB}" = "x" ; then |
152 | have_po="no" | ||
153 | fi | ||
110 | 154 | ||
111 | AC_C_BIGENDIAN | 155 | AM_CONDITIONAL([HAVE_PO], [test "x${have_po}" = "xyes"]) |
112 | AC_ISC_POSIX | 156 | |
157 | # compilers | ||
113 | AC_PROG_CC | 158 | AC_PROG_CC |
114 | AC_PROG_CC_STDC | 159 | AC_PROG_CC_STDC |
115 | AC_HEADER_STDC | ||
116 | AC_C_CONST | ||
117 | AC_FUNC_ALLOCA | ||
118 | AC_PROG_CXX | 160 | AC_PROG_CXX |
119 | 161 | ||
120 | ELM_VERSION_MAJOR="v_maj" | 162 | EFL_CXX_COMPILE_STDCXX_11([ext]) |
121 | ELM_VERSION_MINOR="v_min" | ||
122 | AC_SUBST(ELM_VERSION_MAJOR) | ||
123 | AC_SUBST(ELM_VERSION_MINOR) | ||
124 | |||
125 | MODULE_ARCH="v-v_maj.v_min.v_mic" | ||
126 | AC_SUBST(MODULE_ARCH) | ||
127 | AC_DEFINE_UNQUOTED(MODULE_ARCH, "$MODULE_ARCH", "Module architecture") | ||
128 | |||
129 | EFL_SHARED_EXTENSION="${shrext_cmds}" | ||
130 | AC_DEFINE_UNQUOTED(EFL_SHARED_EXTENSION, "${EFL_SHARED_EXTENSION}", "Shared extension") | ||
131 | 163 | ||
132 | requirement_elm="" | 164 | # pkg-config |
165 | PKG_PROG_PKG_CONFIG | ||
133 | 166 | ||
134 | # Check whether pkg-config supports Requires.private | 167 | # Check whether pkg-config supports Requires.private |
135 | if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then | 168 | if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then |
@@ -137,77 +170,40 @@ if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then | |||
137 | else | 170 | else |
138 | pkgconfig_requires_private="Requires" | 171 | pkgconfig_requires_private="Requires" |
139 | fi | 172 | fi |
140 | AC_SUBST(pkgconfig_requires_private) | 173 | AC_SUBST([pkgconfig_requires_private]) |
141 | |||
142 | #================================================ | ||
143 | if test "x${prefix}" = "xNONE"; then | ||
144 | LOCALE_DIR="${ac_default_prefix}/share/locale" | ||
145 | else | ||
146 | LOCALE_DIR="${prefix}/share/locale" | ||
147 | fi | ||
148 | AC_SUBST(LOCALE_DIR) | ||
149 | #================================================ | ||
150 | elementary_icon_dir="${datadir}/icons" | ||
151 | AC_SUBST(elementary_icon_dir) | ||
152 | |||
153 | have_fork="no" | ||
154 | want_quicklaunch="auto" | ||
155 | AC_ARG_ENABLE([quick-launch], | ||
156 | [AC_HELP_STRING([--disable-quick-launch], [disable quick-launch support, @<:@default=detect@:>@])], | ||
157 | [want_quicklaunch=$enableval], []) | ||
158 | 174 | ||
159 | # Check if we can build binary with quicklaunch support | 175 | # doxygen |
160 | ELM_QUICKLAUNCH | 176 | EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"]) |
161 | 177 | ||
162 | if test "x$want_quicklaunch" != "xno"; then | 178 | # EFL binaries |
163 | AC_CHECK_FUNCS(fork, [ | 179 | EFL_WITH_BIN([eet], [eet-eet], [eet]) |
164 | have_fork="yes" | 180 | EFL_WITH_BIN([edje], [edje-cc], [edje_cc]) |
165 | AC_DEFINE(HAVE_FORK) | 181 | EFL_WITH_BIN([elementary], [elementary-codegen], [elementary_codegen]) |
166 | ]) | 182 | EFL_WITH_BIN([elementary], [elm-prefs-cc], [elm_prefs_cc]) |
167 | AC_CHECK_FUNCS([clearenv]) | 183 | EFL_WITH_BIN([eolian], [eolian-gen], [eolian_gen]) |
168 | fi | 184 | EFL_WITH_BIN([eolian-cxx], [eolian-cxx], [eolian_cxx]) |
169 | AM_CONDITIONAL([BUILD_QUICKLAUNCH], [test "x$have_fork" = "xyes" && test "x$have_dlopen" = "xyes"]) | 185 | # Force the helper to try external eolian generators |
186 | AM_CONDITIONAL([HAVE_EOLIAN_GEN], [true]) | ||
187 | AM_CONDITIONAL([HAVE_EOLIAN_CXX], [true]) | ||
170 | 188 | ||
171 | AC_CHECK_FUNCS([\ | 189 | EFL_ENABLE_BIN([elementary-test]) |
172 | geteuid \ | 190 | EFL_ENABLE_BIN([elementary-codegen]) |
173 | getuid \ | 191 | EFL_ENABLE_BIN([elm-prefs-cc]) |
174 | ]) | 192 | EFL_ENABLE_BIN([elementary-config]) |
175 | 193 | ||
176 | AC_SUBST(dlopen_libs) | ||
177 | AC_SUBST(ELM_UNIX_DEF) | ||
178 | AC_SUBST(ELM_WIN32_DEF) | ||
179 | 194 | ||
180 | AM_CONDITIONAL([ELEMENTARY_WINDOWS_BUILD], [test "x${have_windows}" = "xyes"]) | 195 | ### Checks for libraries |
181 | 196 | ||
182 | PKG_CHECK_MODULES([ELEMENTARY], | 197 | requirement_elm="" |
183 | [ | ||
184 | efl >= efl_version | ||
185 | eina >= efl_version | ||
186 | eet >= efl_version | ||
187 | evas >= efl_version | ||
188 | ecore >= efl_version | ||
189 | ecore-evas >= efl_version | ||
190 | ecore-file >= efl_version | ||
191 | ecore-input >= efl_version | ||
192 | edje >= efl_version | ||
193 | eo >= efl_version | ||
194 | ethumb_client >= efl_version | ||
195 | emotion >= efl_version | ||
196 | ecore-imf >= efl_version | ||
197 | ecore-con >= efl_version | ||
198 | eio >= efl_version | ||
199 | eldbus >= efl_version | ||
200 | efreet >= efl_version | ||
201 | efreet-mime >= efl_version | ||
202 | efreet-trash >= efl_version | ||
203 | eio >= efl_version | ||
204 | ] | ||
205 | ) | ||
206 | 198 | ||
207 | EFL_ENABLE_EO_API_SUPPORT | 199 | case "$host_os" in |
208 | EFL_ENABLE_BETA_API_SUPPORT | 200 | mingw*) |
201 | requirement_elm="evil >= efl_version" | ||
202 | ;; | ||
203 | esac | ||
209 | 204 | ||
210 | requirement_elm="\ | 205 | requirement_elm="\ |
206 | ${requirement_elm} \ | ||
211 | efl >= efl_version \ | 207 | efl >= efl_version \ |
212 | eina >= efl_version \ | 208 | eina >= efl_version \ |
213 | eet >= efl_version \ | 209 | eet >= efl_version \ |
@@ -230,12 +226,12 @@ requirement_elm="\ | |||
230 | eio >= efl_version \ | 226 | eio >= efl_version \ |
231 | " | 227 | " |
232 | 228 | ||
233 | EFL_CXX_COMPILE_STDCXX_11([ext]) | 229 | PKG_CHECK_MODULES([ELEMENTARY], |
234 | want_cxx11="yes" | 230 | [${requirement_elm}]) |
235 | AC_ARG_ENABLE([cxx-bindings], | 231 | |
236 | [AC_HELP_STRING([--disable-cxx-bindings], | 232 | EFL_ENABLE_EO_API_SUPPORT |
237 | [disable C++11 bindings. @<:@default=enabled@:>@])], | 233 | EFL_ENABLE_BETA_API_SUPPORT |
238 | [want_cxx11="${enableval}"]) | 234 | |
239 | 235 | ||
240 | if test "x${HAVE_CXX11}" = "x1" -a "x${want_cxx11}" = "xyes"; then | 236 | if test "x${HAVE_CXX11}" = "x1" -a "x${want_cxx11}" = "xyes"; then |
241 | PKG_CHECK_MODULES([ELEMENTARY_CXX], | 237 | PKG_CHECK_MODULES([ELEMENTARY_CXX], |
@@ -261,6 +257,181 @@ else | |||
261 | fi | 257 | fi |
262 | AM_CONDITIONAL([HAVE_CXX11], [test "x${have_cxx11}" = "xyes"]) | 258 | AM_CONDITIONAL([HAVE_CXX11], [test "x${have_cxx11}" = "xyes"]) |
263 | 259 | ||
260 | |||
261 | MODULE_EDJE=`${PKG_CONFIG} --variable=module_arch edje` | ||
262 | AC_SUBST([MODULE_EDJE]) | ||
263 | AC_DEFINE_UNQUOTED([MODULE_EDJE], ["$MODULE_EDJE"], ["Edje module architecture"]) | ||
264 | |||
265 | # Needs to be moved into a macro, and also, needs a way to automatically fetch | ||
266 | # from all the dependencies using the Requires. | ||
267 | DEPS_EOLIAN_FLAGS=`${PKG_CONFIG} --variable=eolian_flags eo evas edje ecore efl` | ||
268 | AC_SUBST([DEPS_EOLIAN_FLAGS]) | ||
269 | |||
270 | my_libs="-lm" | ||
271 | |||
272 | # sockets | ||
273 | |||
274 | case "$host_os" in | ||
275 | mingw*) | ||
276 | have_socket="no" | ||
277 | ;; | ||
278 | *solaris*) | ||
279 | AC_CHECK_LIB([socket], [connect], | ||
280 | [ | ||
281 | have_socket="yes" | ||
282 | my_libs="-lsocket ${my_libs}" | ||
283 | ], | ||
284 | [have_socket="no"]) | ||
285 | ;; | ||
286 | darwin*) | ||
287 | have_socket="yes" | ||
288 | ;; | ||
289 | *) | ||
290 | have_socket="yes" | ||
291 | ;; | ||
292 | esac | ||
293 | |||
294 | AM_CONDITIONAL([BUILD_RUN], [test "x$have_socket" = "xyes"]) | ||
295 | |||
296 | # dlopen | ||
297 | |||
298 | have_dlopen="no" | ||
299 | case "$host_os" in | ||
300 | mingw*) | ||
301 | dnl managed by evil | ||
302 | AC_DEFINE([HAVE_DLADDR], [1], [Define to 1 if you have the `dladdr' function.]) | ||
303 | have_dlopen="yes" | ||
304 | my_libs="-ldl ${my_libs}" | ||
305 | ;; | ||
306 | *solaris*) | ||
307 | have_dlopen="yes" | ||
308 | ;; | ||
309 | darwin*) | ||
310 | have_dlopen="yes" | ||
311 | ;; | ||
312 | *) | ||
313 | AC_CHECK_LIB([dl], [dlopen], [res=yes], [res=no]) | ||
314 | if test "x$res" = "xyes"; then | ||
315 | AC_CHECK_LIB([dl], [dladdr], AC_DEFINE([HAVE_DLADDR], [1], [Define to 1 if you have the `dladdr' function.])) | ||
316 | my_libs="-ldl ${my_libs}" | ||
317 | have_dlopen="yes" | ||
318 | fi | ||
319 | ;; | ||
320 | esac | ||
321 | |||
322 | AM_CONDITIONAL([BUILD_MODULES], [test "x$have_dlopen" = "xyes"]) | ||
323 | |||
324 | AC_SUBST([my_libs]) | ||
325 | AC_SUBST([requirement_elm]) | ||
326 | |||
327 | # check unit testing library | ||
328 | if test "${build_tests}" = "regular"; then | ||
329 | PKG_CHECK_MODULES([CHECK], [check >= 0.9.5]) | ||
330 | fi | ||
331 | AM_CONDITIONAL([ENABLE_ELEMENTARY_TESTS], [test "${build_tests}" = "regular"]) | ||
332 | |||
333 | |||
334 | ### Checks for header files | ||
335 | |||
336 | ELM_ALLOCA_H_DEF="#undef" | ||
337 | AC_CHECK_HEADER([alloca.h], [ELM_ALLOCA_H_DEF="#define"]) | ||
338 | AC_SUBST([ELM_ALLOCA_H_DEF]) | ||
339 | |||
340 | ELM_LIBINTL_H_DEF="#undef" | ||
341 | AC_CHECK_HEADER([libintl.h], [ELM_LIBINTL_H_DEF="#define"]) | ||
342 | AC_SUBST([ELM_LIBINTL_H_DEF]) | ||
343 | |||
344 | ELM_DIRENT_H_DEF="#undef" | ||
345 | AC_CHECK_HEADER([dirent.h], [ELM_DIRENT_H_DEF="#define"]) | ||
346 | AC_SUBST([ELM_DIRENT_H_DEF]) | ||
347 | |||
348 | AC_CHECK_HEADER([sys/mman.h], [have_mman="yes"], [have_mman="no"]) | ||
349 | if test "x${have_mman}" = "xyes"; then | ||
350 | AC_DEFINE([HAVE_MMAN_H], [1], [Have sys/mman.h header file]) | ||
351 | fi | ||
352 | |||
353 | AC_CHECK_HEADERS([locale.h langinfo.h sys/times.h]) | ||
354 | |||
355 | case "$host_os" in | ||
356 | darwin*) | ||
357 | AC_CHECK_HEADERS([crt_externs.h]) | ||
358 | ;; | ||
359 | esac | ||
360 | |||
361 | |||
362 | ### Checks for types | ||
363 | |||
364 | |||
365 | ### Checks for structures | ||
366 | |||
367 | |||
368 | ### Checks for compiler characteristics | ||
369 | |||
370 | AC_C_BIGENDIAN | ||
371 | |||
372 | m4_ifdef([v_mic], | ||
373 | [ | ||
374 | EFL_COMPILER_FLAG([-Wshadow]) | ||
375 | EFL_COMPILER_FLAG([-Wall]) | ||
376 | EFL_COMPILER_FLAG([-W]) | ||
377 | ]) | ||
378 | |||
379 | EFL_COMPILER_FLAG([-Wall -Wextra -Wpointer-arith -Wno-missing-field-initializers -fvisibility=hidden -fdata-sections -ffunction-sections]) | ||
380 | |||
381 | EFL_CHECK_PATH_MAX | ||
382 | |||
383 | |||
384 | ### Checks for linker characteristics | ||
385 | |||
386 | EFL_LINKER_FLAG([-fvisibility=hidden -fdata-sections -ffunction-sections -Wl,--gc-sections -fno-strict-aliasing -Wl,--as-needed -Wl,--no-copy-dt-needed-entries]) | ||
387 | |||
388 | # Check if we can build binary with quicklaunch support | ||
389 | ELM_QUICKLAUNCH | ||
390 | |||
391 | |||
392 | ### Checks for library functions | ||
393 | |||
394 | AC_FUNC_ALLOCA | ||
395 | |||
396 | AC_CHECK_FUNCS([geteuid getuid]) | ||
397 | |||
398 | if test "x${want_quicklaunch}" != "xno"; then | ||
399 | AC_CHECK_FUNCS([fork clearenv]) | ||
400 | fi | ||
401 | |||
402 | if test "x${have_dlopen}" = "xno"; then | ||
403 | AC_CHECK_FUNCS([dlopen dladdr]) | ||
404 | fi | ||
405 | |||
406 | if test "x${ac_cv_func_dlopen}" = "xyes"; then | ||
407 | have_dlopen="yes" | ||
408 | fi | ||
409 | |||
410 | AM_CONDITIONAL([BUILD_QUICKLAUNCH], [test "x${ac_cv_func_fork}" = "xyes" && test "x${have_dlopen}" = "xyes"]) | ||
411 | |||
412 | # environ variable | ||
413 | |||
414 | AC_COMPILE_IFELSE( | ||
415 | [AC_LANG_PROGRAM( | ||
416 | [[ | ||
417 | # define _GNU_SOURCE 1 | ||
418 | #include <unistd.h> | ||
419 | ]], | ||
420 | [[ | ||
421 | extern char **environ; | ||
422 | ]]) | ||
423 | ], | ||
424 | [AC_DEFINE([HAVE_ENVIRON], [1], [extern environ exists])]) | ||
425 | |||
426 | case "$host_os" in | ||
427 | darwin*) | ||
428 | AC_DEFINE([environ], [(*_NSGetEnviron())], ["apple doesn't follow POSIX in this case."]) | ||
429 | ;; | ||
430 | esac | ||
431 | |||
432 | |||
433 | |||
434 | |||
264 | have_elementary_x="no" | 435 | have_elementary_x="no" |
265 | want_elementary_x="auto" | 436 | want_elementary_x="auto" |
266 | AC_ARG_ENABLE([ecore-x], | 437 | AC_ARG_ENABLE([ecore-x], |
@@ -581,113 +752,6 @@ if test "x$elementary_web_backend" = "xewebkit2"; then | |||
581 | fi | 752 | fi |
582 | AC_SUBST(ELM_WEB2_DEF) | 753 | AC_SUBST(ELM_WEB2_DEF) |
583 | 754 | ||
584 | ELM_DEBUG_DEF="#undef" | ||
585 | want_elementary_debug="no" | ||
586 | AC_ARG_ENABLE([debug], | ||
587 | [AC_HELP_STRING([--enable-debug], [enable elementary debug support. @<:@default=disabled@:>@])], | ||
588 | [want_elementary_debug=$enableval], []) | ||
589 | |||
590 | if test "x$want_elementary_debug" = "xyes"; then | ||
591 | AC_DEFINE(HAVE_ELEMENTARY_DEBUG, 1, [Elementary debug.]) | ||
592 | ELM_DEBUG_DEF="#define" | ||
593 | fi | ||
594 | AC_SUBST(ELM_DEBUG_DEF) | ||
595 | |||
596 | AC_ARG_WITH([tests], | ||
597 | [AC_HELP_STRING([--with-tests=none|regular], | ||
598 | [choose elementary testing method: regular or none.(coverage will be supported)@<:@default=none@:>@])], | ||
599 | [build_tests=${withval}], | ||
600 | [build_tests=none]) | ||
601 | |||
602 | if test "${build_tests}" = "regular"; then | ||
603 | PKG_CHECK_MODULES([CHECK], [check >= 0.9.5]) | ||
604 | fi | ||
605 | AM_CONDITIONAL([ENABLE_ELEMENTARY_TESTS], [test "${build_tests}" = "regular"]) | ||
606 | |||
607 | ELM_ALLOCA_H_DEF="#undef" | ||
608 | AC_CHECK_HEADER(alloca.h, [ELM_ALLOCA_H_DEF="#define"]) | ||
609 | AC_SUBST(ELM_ALLOCA_H_DEF) | ||
610 | |||
611 | ELM_LIBINTL_H_DEF="#undef" | ||
612 | AC_CHECK_HEADER(libintl.h, [ELM_LIBINTL_H_DEF="#define"]) | ||
613 | AC_SUBST(ELM_LIBINTL_H_DEF) | ||
614 | |||
615 | ELM_DIRENT_H_DEF="#undef" | ||
616 | AC_CHECK_HEADER(dirent.h, [ELM_DIRENT_H_DEF="#define"]) | ||
617 | AC_SUBST(ELM_DIRENT_H_DEF) | ||
618 | |||
619 | AC_CHECK_HEADER(sys/mman.h, [have_mman="yes"], [have_mman="no"]) | ||
620 | if test "x${have_mman}" = "xyes"; then | ||
621 | AC_DEFINE(HAVE_MMAN_H, 1, [Have sys/mman.h header file]) | ||
622 | fi | ||
623 | |||
624 | AC_CHECK_HEADERS([locale.h langinfo.h sys/times.h]) | ||
625 | |||
626 | my_libs="-lm" | ||
627 | AC_SUBST(my_libs) | ||
628 | AC_SUBST(requirement_elm) | ||
629 | |||
630 | |||
631 | EFL_WITH_BIN([eet], [eet-eet], [eet]) | ||
632 | EFL_WITH_BIN([edje], [edje-cc], [edje_cc]) | ||
633 | EFL_WITH_BIN([elementary], [elementary-codegen], [elementary_codegen]) | ||
634 | EFL_WITH_BIN([elementary], [elm-prefs-cc], [elm_prefs_cc]) | ||
635 | EFL_WITH_BIN([eolian], [eolian-gen], [eolian_gen]) | ||
636 | EFL_WITH_BIN([eolian-cxx], [eolian-cxx], [eolian_cxx]) | ||
637 | # Force the helper to try external eolian generators | ||
638 | AM_CONDITIONAL(HAVE_EOLIAN_GEN, [true]) | ||
639 | AM_CONDITIONAL(HAVE_EOLIAN_CXX, [true]) | ||
640 | |||
641 | EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"]) | ||
642 | |||
643 | EFL_ENABLE_BIN([elementary-test]) | ||
644 | EFL_ENABLE_BIN([elementary-codegen]) | ||
645 | EFL_ENABLE_BIN([elm-prefs-cc]) | ||
646 | EFL_ENABLE_BIN([elementary-config]) | ||
647 | |||
648 | m4_ifdef([AM_GNU_GETTEXT_VERSION], [ | ||
649 | AM_GNU_GETTEXT_VERSION([0.17]) | ||
650 | ]) | ||
651 | |||
652 | m4_ifdef([AM_GNU_GETTEXT], [ | ||
653 | AM_GNU_GETTEXT([external]) | ||
654 | po_makefile_in=po/Makefile.in | ||
655 | have_po="yes" | ||
656 | ],[ | ||
657 | have_po="no" | ||
658 | ]) | ||
659 | AC_SUBST(LTLIBINTL) | ||
660 | |||
661 | if test "x${POSUB}" = "x" ; then | ||
662 | have_po="no" | ||
663 | fi | ||
664 | |||
665 | AM_CONDITIONAL([HAVE_PO], [test "x${have_po}" = "xyes"]) | ||
666 | |||
667 | EFL_CHECK_PATH_MAX | ||
668 | |||
669 | elementary_base_dir=".elementary" | ||
670 | AC_ARG_WITH([elementary-base-dir], | ||
671 | [AC_HELP_STRING([--with-elementary-base-dir=PATH], [specify the subdirectory for all elementary data @<:@default=${elementary_base_dir}@:>@])], | ||
672 | [elementary_base_dir=${withval}], | ||
673 | [elementary_base_dir=".elementary"]) | ||
674 | |||
675 | AC_MSG_NOTICE([ELEMENTARY_BASE_DIR set to ${elementary_base_dir}]) | ||
676 | AC_DEFINE_UNQUOTED(ELEMENTARY_BASE_DIR, "${elementary_base_dir}", "subdirectory for all elementary data") | ||
677 | |||
678 | ### Build and install examples | ||
679 | EFL_CHECK_BUILD_EXAMPLES([enable_build_examples="yes"], [enable_build_examples="no"]) | ||
680 | EFL_CHECK_INSTALL_EXAMPLES([enable_install_examples="yes"], [enable_install_examples="no"]) | ||
681 | |||
682 | AC_TRY_COMPILE([ | ||
683 | # define _GNU_SOURCE 1 | ||
684 | #include <unistd.h> | ||
685 | ], [ | ||
686 | extern char **environ; | ||
687 | ], [ | ||
688 | AC_DEFINE(HAVE_ENVIRON, 1, [extern environ exists]) | ||
689 | ]) | ||
690 | |||
691 | AC_CONFIG_FILES([ | 755 | AC_CONFIG_FILES([ |
692 | Makefile | 756 | Makefile |
693 | elementary.spec | 757 | elementary.spec |
@@ -757,7 +821,7 @@ echo " Features:" | |||
757 | echo " EWeather...............: ${have_elementary_eweather}" | 821 | echo " EWeather...............: ${have_elementary_eweather}" |
758 | echo " EMap...................: ${have_elementary_emap}" | 822 | echo " EMap...................: ${have_elementary_emap}" |
759 | echo " Web (WebKit)...........: ${elementary_web}" | 823 | echo " Web (WebKit)...........: ${elementary_web}" |
760 | echo " Quick Launch...........: ${have_fork}" | 824 | echo " Quick Launch...........: ${ac_cv_func_fork}" |
761 | echo " Elocation..............: ${have_elementary_elocation}" | 825 | echo " Elocation..............: ${have_elementary_elocation}" |
762 | echo | 826 | echo |
763 | echo " eet......................: ${eet_eet}" | 827 | echo " eet......................: ${eet_eet}" |