source: trunk/zoo-project/zoo-kernel/configure.ac @ 393

Last change on this file since 393 was 393, checked in by djay, 11 years ago

Remove temporary file created when running service in background. Make compilation of JAVA support works using XCode 4.4.

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