source: trunk/zoo-kernel/configure.ac @ 29

Last change on this file since 29 was 29, checked in by david, 10 years ago

-modification compilation support python, possibilité de compiler sans le support python

File size: 11.9 KB
Line 
1AC_PREREQ([2.63])
2AC_INIT([ZOO Kernel], [0.0.1], [bugs@zoo-project.org])
3#AM_INIT_AUTOMAKE
4#AC_CONFIG_HEADERS([config.h])
5
6# Checks for programs.
7AC_PROG_YACC
8AC_PROG_CC
9AC_PROG_LEX
10AC_PROG_CXX
11AC_PROG_SED
12
13# Checks for libraries.
14AC_CHECK_LIB([cgic], [cgiMain])
15AC_CHECK_LIB([curl], [curl_easy_init curl_easy_setopt curl_easy_cleanup curl_easy_perform])
16AC_CHECK_LIB([dl], [dlopen dlsym dlerror dlclose])
17AC_CHECK_LIB([fl], [main])
18AC_CHECK_LIB([pthread], [main])
19AC_CHECK_LIB([fcgi], [main])
20AC_CHECK_LIB([ssl], [main])
21
22# Checks for header files.
23AC_FUNC_ALLOCA
24AC_CHECK_HEADERS([fcntl.h inttypes.h libintl.h malloc.h stddef.h stdlib.h string.h unistd.h])
25
26# Checks for typedefs, structures, and compiler characteristics.
27AC_HEADER_STDBOOL
28AC_TYPE_INT16_T
29AC_TYPE_INT32_T
30AC_TYPE_INT8_T
31AC_TYPE_PID_T
32AC_TYPE_SIZE_T
33AC_TYPE_UINT16_T
34AC_TYPE_UINT32_T
35AC_TYPE_UINT8_T
36
37# Checks for library functions.
38AC_FUNC_FORK
39AC_FUNC_MALLOC
40AC_FUNC_REALLOC
41AC_CHECK_FUNCS([dup2 getcwd memset setenv strdup strstr])
42
43#============================================================================
44# Detect if gdal is installed
45#============================================================================
46
47AC_ARG_WITH([gdal-config],
48        [AS_HELP_STRING([--with-gdal-config=FILE], [specify an alternative gdal-config file])],
49        [GDAL_CONFIG="$withval"], [GDAL_CONFIG=""])
50if test -z $GDAL_CONFIG;
51then
52        AC_PATH_PROG([GDAL_CONFIG], [gdal-config])
53        if test -z $GDAL_CONFIG;
54        then
55                AC_MSG_ERROR([could not find gdal-config from libgdal within the current path. You may need to try re-running configure with a --with-gdal-config parameter.])
56        fi
57       
58else
59        if test -f $GDAL_CONFIG; then
60                AC_MSG_RESULT([Using user-specified gdal-config file: $GDAL_CONFIG])
61        else
62                AC_MSG_ERROR([the user-specified gdal-config file $GDAL_CONFIG does not exist])
63        fi
64fi
65
66GDAL_CFLAGS="`$GDAL_CONFIG --cflags`"
67GDAL_LIBS="`$GDAL_CONFIG --libs`"
68
69AC_SUBST([GDAL_CFLAGS])
70AC_SUBST([GDAL_LIBS])
71
72
73
74
75# ===========================================================================
76# Detect if libxml2 is installed
77# ===========================================================================
78
79AC_ARG_WITH([xml2config],
80        [AS_HELP_STRING([--with-xml2config=FILE], [specify an alternative xml2-config file])],
81        [XML2CONFIG="$withval"], [XML2CONFIG=""])
82
83if test "x$XML2CONFIG" = "x"; then
84        # XML2CONFIG was not specified, so search within the current path
85        AC_PATH_PROG([XML2CONFIG], [xml2-config])
86
87        # If we couldn't find xml2-config, display a warning
88        if test "x$XML2CONFIG" = "x"; then
89                AC_MSG_ERROR([could not find xml2-config from libxml2 within the current path. You may need to try re-running configure with a --with-xml2config parameter.])
90        fi
91else
92        # XML2CONFIG was specified; display a message to the user
93        if test "x$XML2CONFIG" = "xyes"; then
94                AC_MSG_ERROR([you must specify a parameter to --with-xml2config, e.g. --with-xml2config=/path/to/xml2-config])
95        else
96                if test -f $XML2CONFIG; then
97                        AC_MSG_RESULT([Using user-specified xml2-config file: $XML2CONFIG])
98                else
99                        AC_MSG_ERROR([the user-specified xml2-config file $XML2CONFIG does not exist])
100                fi     
101        fi
102fi
103
104
105# Extract the linker and include flags
106XML2_LDFLAGS=`$XML2CONFIG --libs`
107XML2_CPPFLAGS=`$XML2CONFIG --cflags`
108
109# Check headers file
110CPPFLAGS_SAVE="$CPPFLAGS"
111CPPFLAGS="$XML2_CPPFLAGS"
112AC_CHECK_HEADERS([libxml/tree.h libxml/parser.h libxml/xpath.h libxml/xpathInternals.h],
113                 [], [AC_MSG_ERROR([could not find headers include related to libxml2])])
114
115# Ensure we can link against libxml2
116LIBS_SAVE="$LIBS"
117LIBS="$XML2_LDFLAGS"
118AC_CHECK_LIB([xml2], [xmlInitParser], [], [AC_MSG_ERROR([could not find libxml2])], [])
119
120AC_SUBST([XML2_CPPFLAGS])
121AC_SUBST([XML2_LDFLAGS])
122
123
124
125
126# ===========================================================================
127# Detect if python is installed
128# ===========================================================================
129
130
131
132
133AC_ARG_WITH([python],
134        [AS_HELP_STRING([--with-python=PATH], [To enabled python support or specify an alternative directory for python installation,  disabled by default])],
135        [PYTHON_PATH="$withval"; PYTHON_ENABLED="-DUSE_PYTHON"], [PYTHON_ENABLED=""])
136
137
138if test -z "$PYTHON_ENABLED"
139then
140        PYTHON_FILE=""
141else
142        PYTHONCONFIG="$PYTHON_PATH/bin/python-config"
143        PYTHON_FILE="service_internal_python.o"
144        if test  "$PYTHON_PATH" = "yes"
145        then
146                # PHP was not specified, so search within the current path
147                AC_PATH_PROG([PYTHONCONFIG], [python-config])
148        else
149                PYTHONCONFIG="$PYTHON_PATH/bin/python-config"
150        fi
151
152        # Extract the linker and include flags
153        PYTHON_LDFLAGS=`$PYTHONCONFIG --ldflags`
154        PYTHON_CPPFLAGS=`$PYTHONCONFIG --cflags`
155
156        # Check headers file
157        CPPFLAGS_SAVE="$CPPFLAGS"
158        CPPFLAGS="$PYTHON_CPPFLAGS"
159        AC_CHECK_HEADERS([Python.h],
160                 [], [AC_MSG_ERROR([could not find headers include related to libpython])])
161
162        # Ensure we can link against libphp
163        LIBS_SAVE="$LIBS"
164        LIBS="$PYTHON_LDFLAGS"
165        PY_LIB=`$PYTHONCONFIG --libs | sed -e 's/^.*\(python2\..\)$/\1/'`
166        AC_CHECK_LIB([$PY_LIB], [PyObject_CallObject], [], [AC_MSG_ERROR([could not find libpython])], [])
167        AC_SUBST([PYTHON_CPPFLAGS])
168        AC_SUBST([PYTHON_LDFLAGS])
169fi
170
171AC_SUBST([PYTHON_ENABLED])
172AC_SUBST([PYTHON_FILE])
173
174# ===========================================================================
175# Detect if php is installed
176# ===========================================================================
177
178
179
180
181AC_ARG_WITH([php],
182        [AS_HELP_STRING([--with-php=PATH], [To enabled php support or specify an alternative directory for php installation,  disabled by default])],
183        [PHP_PATH="$withval"; PHP_ENABLED="-DUSE_PHP"], [PHP_ENABLED=""])
184
185
186if test -z "$PHP_ENABLED"
187then
188        PHP_FILE=""
189else
190        PHPCONFIG="$PHP_PATH/bin/php-config"
191        PHP_FILE="service_internal_php.o"
192        if test  "$PHP_PATH" = "yes"
193        then
194                # PHP was not specified, so search within the current path
195                AC_PATH_PROG([PHPCONFIG], [php-config])
196        else
197                PHPCONFIG="$PHP_PATH/bin/php-config"
198        fi
199
200        # Extract the linker and include flags
201        PHP_LDFLAGS="-L/`$PHPCONFIG --prefix`/lib -lphp5"
202        PHP_CPPFLAGS=`$PHPCONFIG --includes`
203
204        # Check headers file
205        CPPFLAGS_SAVE="$CPPFLAGS"
206        CPPFLAGS="$PHP_CPPFLAGS"
207        AC_CHECK_HEADERS([sapi/embed/php_embed.h],
208                 [], [AC_MSG_ERROR([could not find headers include related to libphp])])
209
210        # Ensure we can link against libphp
211        LIBS_SAVE="$LIBS"
212        LIBS="$PHP_LDFLAGS"
213        # Shouldn't we get php here rather than php5 :) ??
214        AC_CHECK_LIB([php5], [call_user_function], [], [AC_MSG_ERROR([could not find libphp])], [])
215        AC_SUBST([PHP_CPPFLAGS])
216        AC_SUBST([PHP_LDFLAGS])
217fi
218
219AC_SUBST([PHP_ENABLED])
220AC_SUBST([PHP_FILE])
221
222
223# ===========================================================================
224# Detect if perl is installed
225# ===========================================================================
226
227
228AC_ARG_WITH([perl],
229        [AS_HELP_STRING([--with-perl=PATH], [To enabled perl support or specify an alternative directory for perl installation,  disabled by default])],
230        [PERL_PATH="$withval"; PERL_ENABLED="-DUSE_PERL"], [PERL_ENABLED=""])
231
232
233if test -z "$PERL_ENABLED"
234then
235        PERL_FILE=""
236else
237        PERLCONFIG="$PERL_PATH/bin/perl"
238        PHP_FILE="service_internal_perl.o"
239        if test  "$PERL_PATH" = "yes"
240        then
241                # PHP was not specified, so search within the current path
242                AC_PATH_PROG([PERLCONFIG], [perl])
243        else
244                PERLCONFIG="$PERL_PATH/bin/perl"
245        fi
246
247        # Extract the linker and include flags
248        PERL_LDFLAGS=`$PERLCONFIG -MExtUtils::Embed -e ldopts`
249        PERL_CPPFLAGS=`$PERLCONFIG -MExtUtils::Embed -e ccopts`
250
251        # Check headers file
252        CPPFLAGS_SAVE="$CPPFLAGS"
253        CPPFLAGS="$PERL_CPPFLAGS"
254        AC_CHECK_HEADERS([EXTERN.h],
255                 [], [AC_MSG_ERROR([could not find headers include related to libperl])])
256
257        AC_SUBST([PERL_CPPFLAGS])
258        AC_SUBST([PERL_LDFLAGS])
259fi
260
261AC_SUBST([PERL_ENABLED])
262AC_SUBST([PERL_FILE])
263
264# ===========================================================================
265# Detect if java is installed
266# ===========================================================================
267
268
269
270AC_ARG_WITH([java],
271        [AS_HELP_STRING([--with-java=PATH], [specify an alternative directory for java installation or --with-java=no to disabled java support])],
272        [JDKHOME="$withval"], [JDKHOME=""])
273
274
275if test "$JDKHOME" != "no";
276then
277        JAVA_ENABLED="-DUSE_JAVA"
278        JAVA_FILE="service_internal_java.o"
279        if test "x$JDKHOME" = "x";
280        then
281                # JAVA was not specified, so search within the current path
282                #AC_PATH_PROG([JAVACONFIG], [java])
283
284                # If we couldn't find java-config, display a warning
285                if test "x$JDKHOME" = "x";
286                then
287                        AC_MSG_ERROR([could not find java installation path within the current path. You may need to try re-running configure with a --with-java parameter.])
288                fi
289        else
290                # JAVA was specified; display a message to the user
291                if test "x$JDKHOME" = "xyes";
292                then
293                        AC_MSG_ERROR([you must specify a parameter to --with-java, e.g. --with-java=/path/to/java])
294                else
295                        if test -f $JDKHOME/include/jni.h;
296                        then
297                                AC_MSG_RESULT([Using specific java install dir : $JDKHOME])
298                        else
299                                AC_MSG_ERROR([the specific java install dir $DKHOME does not exist])
300                        fi     
301                fi
302        fi
303        # Extract the linker and include flags
304        if test -d "$JDKHOME/jre/lib/i386";
305        then
306                JAVA_LDFLAGS="-L$JDKHOME/jre/lib/i386/server/ -ljvm -lpthread"
307                JAVA_CPPFLAGS="-I$JDKHOME/include -I$JDKHOME/include/linux"
308        else
309                JAVA_LDFLAGS="-L$JDKHOME/jre/lib/amd64/server/ -ljvm -lpthread"
310                JAVA_CPPFLAGS="-I$JDKHOME/include -I$JDKHOME/include/linux"
311        fi
312
313        # Check headers file (second time we check that in fact)
314        CPPFLAGS_SAVE="$CPPFLAGS"
315        CPPFLAGS="$JAVA_CPPFLAGS"
316        AC_CHECK_HEADERS([jni.h],
317                         [], [AC_MSG_ERROR([could not find headers include related to libjava])])
318
319        # Ensure we can link against libjava
320        LIBS_SAVE="$LIBS"
321        LIBS="$JAVA_LDFLAGS"
322        # Shouldn't we get java here rather than java5 :) ??
323        AC_CHECK_LIB([jvm], [JNI_CreateJavaVM], [], [AC_MSG_ERROR([could not find libjava])], [])
324        #AC_CHECK_LIB([jvm], [main], [], [AC_MSG_ERROR([could not find libjava])], [])
325
326        AC_SUBST([JAVA_CPPFLAGS])
327        AC_SUBST([JAVA_LDFLAGS])
328else
329        JAVA_ENABLED=""
330        JAVA_FILE=""
331fi
332
333AC_SUBST([JAVA_ENABLED])
334AC_SUBST([JAVA_FILE])
335
336
337
338
339
340# ===========================================================================
341# Detect if spidermonkey is installed
342# ===========================================================================
343
344AC_ARG_WITH([js],
345        [AS_HELP_STRING([--with-js=PATH], [specify --with-js to enabled js support or --with-js=path-to-js js support is disabled by default ])],
346        [JSHOME="$withval"], [JSHOME=""])
347
348JS_ENABLED=""
349JS_FILE=""
350
351
352if test "$JSHOME" = "yes"
353then
354        JS_ENABLED="-DUSE_JS"
355        JS_FILE="service_internal_js.o"
356
357        #on teste si on est sous debian like
358        if test -f "/usr/bin/dpkg"
359        then
360                if test -n "`dpkg -l | grep libmozjs-dev`"
361                then
362                        JS_CPPFLAGS="-I/usr/include/mozjs/"
363                        JS_LDFLAGS="-L/usr/lib -lmozjs -lm"
364                        JS_LIB="mozjs"
365                else
366                        AC_MSG_ERROR([You must install libmozjs-dev or specify your custom install of libjs])
367                fi
368        else
369                JS_LIB="js"
370        fi
371       
372        CPPFLAGS_SAVE="$CPPFLAGS"
373        CPPFLAGS="$JS_CPPFLAGS"
374        #AC_CHECK_HEADERS([jsapi.h],
375        #                [], [AC_MSG_ERROR([could not find headers include related to libjs])])
376
377        # Ensure we can link against libjs
378        LIBS_SAVE="$LIBS"
379        LIBS="$JS_LDFLAGS"
380
381        AC_CHECK_LIB([$JS_LIB], [JS_CallFunctionName], [], [AC_MSG_ERROR([could not find $JS_LIB])], [])
382
383        AC_SUBST([JS_CPPFLAGS])
384        AC_SUBST([JS_LDFLAGS])
385
386
387else if test  "$JSHOME" != ""
388        then
389                JS_ENABLED="-DUSE_JS"
390                JS_FILE="service_internal_js.o"
391                JS_CPPFLAGS="-I$JSHOME/include/js"
392                JS_LDFLAGS="-L$JSHOME/lib -ljs -lm"
393                JS_LIB="js"
394
395                CPPFLAGS_SAVE="$CPPFLAGS"
396                CPPFLAGS="$JS_CPPFLAGS"
397                #AC_CHECK_HEADERS([jsapi.h],
398                #                [], [AC_MSG_ERROR([could not find headers include related to libjs])])
399
400                # Ensure we can link against libjs
401                LIBS_SAVE="$LIBS"
402                LIBS="$JS_LDFLAGS"
403
404                AC_CHECK_LIB([$JS_LIB], [JS_CallFunctionName], [], [AC_MSG_ERROR([could not find $JS_LIB])], [])
405
406                AC_SUBST([JS_CPPFLAGS])
407                AC_SUBST([JS_LDFLAGS])
408        fi
409fi
410AC_SUBST([JS_ENABLED])
411AC_SUBST([JS_FILE])
412
413
414
415
416
417
418AC_CONFIG_FILES([Makefile])
419AC_OUTPUT
Note: See TracBrowser for help on using the repository browser.

Search

ZOO Sponsors

http://www.zoo-project.org/trac/chrome/site/img/geolabs-logo.pnghttp://www.zoo-project.org/trac/chrome/site/img/neogeo-logo.png http://www.zoo-project.org/trac/chrome/site/img/apptech-logo.png http://www.zoo-project.org/trac/chrome/site/img/3liz-logo.png http://www.zoo-project.org/trac/chrome/site/img/gateway-logo.png

Become a sponsor !

Knowledge partners

http://www.zoo-project.org/trac/chrome/site/img/ocu-logo.png http://www.zoo-project.org/trac/chrome/site/img/gucas-logo.png http://www.zoo-project.org/trac/chrome/site/img/polimi-logo.png http://www.zoo-project.org/trac/chrome/site/img/fem-logo.png http://www.zoo-project.org/trac/chrome/site/img/supsi-logo.png http://www.zoo-project.org/trac/chrome/site/img/cumtb-logo.png

Become a knowledge partner

Related links

http://zoo-project.org/img/ogclogo.png http://zoo-project.org/img/osgeologo.png