aae04e5c4f5f9e056461aa02c12a7545c9c99442
[framework/uifw/eet.git] / configure.ac
1 # get rid of that stupid cache mechanism
2 rm -f config.cache
3
4 AC_INIT([eet], [1.1.0], [enlightenment-devel@lists.sourceforge.net])
5 AC_PREREQ([2.52])
6 AC_CONFIG_SRCDIR([configure.ac])
7 AC_CONFIG_MACRO_DIR([m4])
8 AC_CANONICAL_BUILD
9 AC_CANONICAL_HOST
10 AC_ISC_POSIX
11
12 AM_INIT_AUTOMAKE(1.6 dist-bzip2)
13 AM_CONFIG_HEADER(config.h)
14
15 AC_PROG_CC
16 AM_PROG_CC_STDC
17 AC_HEADER_STDC
18 AC_C_CONST
19 AM_PROG_CC_C_O
20 AC_C___ATTRIBUTE__
21
22 AC_LIBTOOL_WIN32_DLL
23 define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])dnl
24 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
25 AC_PROG_LIBTOOL
26
27 VMAJ=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $1);}'`
28 VMIN=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $2);}'`
29 VMIC=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $3);}'`
30 SNAP=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $4);}'`
31 version_info=`expr $VMAJ + $VMIN`":$VMIC:$VMIN"
32 AC_SUBST(version_info)
33
34 PKG_PROG_PKG_CONFIG
35
36 WIN32_CFLAGS=""
37 WIN32_LIBS=""
38 lt_enable_auto_import=""
39 case "$host_os" in
40    mingw* | cegcc*)
41       PKG_CHECK_MODULES([EVIL], [evil])
42       AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed])
43       dnl needed for correct definition of EAPI
44       AC_DEFINE(EFL_EET_BUILD, 1, [Define to mention that eet is built])
45       lt_enable_auto_import="-Wl,--enable-auto-import"
46       ;;
47 esac
48
49 case "$host_os" in
50    mingw32ce*)
51       WIN32_LIBS="-lws2"
52       ;;
53    mingw*)
54       WIN32_LIBS="-lws2_32"
55       ;;
56    cegcc*)
57       WIN32_CFLAGS="-mwin32"
58       WIN32_LIBS="-lws2"
59       ;;
60 esac
61 AC_SUBST(WIN32_CFLAGS)
62 AC_SUBST(WIN32_LIBS)
63 AC_SUBST(lt_enable_auto_import)
64
65 AC_FUNC_ALLOCA
66
67 AC_CHECK_HEADER([zlib.h],
68    [dummy="yes"],
69    [AC_MSG_ERROR("Cannot find zlib.h. Make sure your CFLAGS environment variable contains include lines for the location of this file")])
70
71 AC_CHECK_HEADER([jpeglib.h],
72    [dummy="yes"],
73    [AC_MSG_ERROR("Cannot find jpeglib.h. Make sure your CFLAGS environment variable contains include lines for the location of this file")])
74
75 AC_CHECK_HEADERS(netinet/in.h)
76
77 AC_CHECK_HEADER([fnmatch.h],
78    [dummy="yes"],
79    [AC_MSG_ERROR([Cannot find fnmatch.h. Make sure your CFLAGS environment variable contains include lines for the location of this file. MinGW users: see the INSTALL file])])
80
81 AC_CHECK_FUNCS([fnmatch], [res="yes"], [res="no"])
82 if test "x$res" = "xno"; then
83    AC_SEARCH_LIBS([fnmatch],
84       [fnmatch iberty evil],
85       [res="yes"],
86       [res="no"])
87    if test "x$res" = "xno"; then
88       AC_MSG_ERROR([Cannot find fnmatch() in neither libc nor libfnmatch, nor libiberty, nor libevil])
89         fi
90 fi
91
92 dnl These are needed for fmemopen/open_memstream
93 AC_DEFINE(_GNU_SOURCE, , [Enable GNU extensions])
94
95 AC_CHECK_FUNCS(fmemopen open_memstream realpath)
96
97 dnl Check whether the null pointer is zero on this arch
98 AC_MSG_CHECKING([value of the null pointer])
99 AC_TRY_RUN([
100 #include <stdlib.h>
101 int main (int argc, char **argv) {
102   void *foo = NULL;
103   int bar = (int)foo;
104   return (int)foo;
105 }
106 ], AC_MSG_RESULT([yes]), [
107         AC_MSG_RESULT([no])
108         AC_MSG_WARN([Your system is a bit too funny, eet might not work properly])
109 ], AC_MSG_WARN([Cannot check when cross-compiling -- assuming null is okay])
110 )
111
112 dnl Unit Tests
113 EFL_CHECK_TESTS([enable_tests="yes"], [enable_tests="no"])
114 EFL_CHECK_COVERAGE([${enable_tests}], [enable_coverage="yes"], [enable_coverage="no"])
115
116 dnl Openssl support
117 want_openssl="auto"
118 have_openssl="no"
119 AC_ARG_ENABLE(openssl,
120   [AC_HELP_STRING([--disable-openssl], [disable openssl eet support])],
121   [ want_openssl=$enableval ]
122 )
123 if test "x$want_openssl" = "xyes" -o "x$want_openssl" = "xauto"; then
124   PKG_CHECK_MODULES(OPENSSL, openssl,
125     [
126       have_openssl="yes"
127       AC_DEFINE(HAVE_OPENSSL, 1, [Have Openssl support])
128     ])
129 fi
130
131 dnl Crypto option
132 want_cypher="yes"
133 have_cypher="no"
134 want_signature="yes"
135 have_signature="no"
136
137 AC_ARG_ENABLE(cypher,
138   [AC_HELP_STRING([--disable-cypher], [disable cypher support for eet API])],
139   [ want_cypher=$enableval ]
140 )
141
142 if test "x$have_openssl" = "xyes" -a "x$want_cypher" = "xyes"; then
143   have_cypher="yes"
144   AC_DEFINE(HAVE_CYPHER, 1, [Have cypher support built in eet])
145 fi
146
147 AC_MSG_CHECKING(whether to activate cypher support in eet)
148 AC_MSG_RESULT($have_cypher)
149
150 AC_ARG_ENABLE(signature,
151   [AC_HELP_STRING([--disable-signature], [disable signature file support for eet])],
152   [ want_signature=$enableval ]
153 )
154
155 if test "x$have_openssl" = "xyes" -a "x$want_signature" = "xyes"; then
156   have_signature="yes"
157   AC_DEFINE(HAVE_SIGNATURE, 1, [Have signature support for eet file])
158 fi
159
160 AC_MSG_CHECKING(whether to activate signature support in eet)
161 AC_MSG_RESULT($have_signature)
162
163 dnl Disable support for old eet file format.
164 old_eet_file_format="yes"
165 AC_ARG_ENABLE(old-eet-file-format,
166   AC_HELP_STRING(
167     [--disable-old-eet-file-format],
168     [disable old eet file format support. [[default=enabled]]]
169   ),
170   [ old_eet_file_format=$enableval ]
171 )
172 if test "x$old_eet_file_format" = "xyes"; then
173   AC_DEFINE(EET_OLD_EET_FILE_FORMAT, 1, [support old eet file format])
174 else
175   AC_DEFINE(EET_OLD_EET_FILE_FORMAT, 0, [support old eet file format])
176 fi
177
178 dnl Assert or fail.
179 prefer_assert="no"
180 AC_ARG_ENABLE(assert,
181   AC_HELP_STRING(
182     [--enable-assert],
183     [enable assert, [[default=disabled]]]
184   ),
185   [ prefer_assert=$enableval ]
186 )
187 if test "x$prefer_assert" = "xno"; then
188   DEBUG_CFLAGS="-DNDEBUG"
189 fi
190 AC_SUBST(DEBUG_CFLAGS)
191
192 PKG_CHECK_MODULES(EINA, [eina-0])
193
194 EFL_CHECK_DOXYGEN([enable_doc="yes"], [enable_doc="no"])
195
196 AC_OUTPUT([
197 Makefile
198 eet.pc
199 doc/Makefile
200 doc/eet.c
201 src/Makefile
202 src/lib/Makefile
203 src/bin/Makefile
204 src/tests/Makefile
205 README
206 eet.spec
207 ])
208
209
210 #####################################################################
211 ## Info
212
213 echo
214 echo
215 echo
216 echo "------------------------------------------------------------------------"
217 echo "$PACKAGE_NAME $PACKAGE_VERSION"
218 echo "------------------------------------------------------------------------"
219 echo
220 echo "Configuration Options Summary:"
221 echo
222 echo "  Openssl..............: ${have_openssl}"
223 echo "    Cypher support.....: ${have_cypher}"
224 echo "    Signature..........: ${have_signature}"
225 echo
226 echo "  Documentation........: ${enable_doc}"
227 echo "  Tests................: ${enable_tests}"
228 echo "  Coverage.............: ${enable_coverage}"
229 echo
230 echo "  Old eet file format..: ${old_eet_file_format}"
231 echo
232 echo "  Compilation..........: make"
233 echo
234 echo "  Installation.........: make install"
235 echo
236 echo "    prefix.............: $prefix"
237 echo