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

Last change on this file since 789 was 784, checked in by djay, 10 years ago

Give the capability to store the main.cfg file in sysconfdir and the services in servicePath if defined in the [main] section.

File size: 29.7 KB
RevLine 
[551]1AC_INIT([ZOO Kernel], [1.5.0], [bugs@zoo-project.org])
[1]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.
[673]11AC_CHECK_LIB([curl], [curl_easy_init,curl_easy_setopt,curl_easy_cleanup,curl_easy_perform])
12AC_CHECK_LIB([dl], [dlopen,dlsym,dlerror,dlclose])
[675]13AC_CHECK_LIB([crypto], [EVP_DigestInit,EVP_md5,EVP_DigestUpdate,BIO_f_base64,BIO_new])
14AC_CHECK_LIB([uuid], [uuid_generate_time])
[1]15
[673]16DEFAULT_LIBS="$LIBS"
17AC_SUBST([DEFAULT_LIBS])
18
19
[1]20# Checks for header files.
21AC_FUNC_ALLOCA
22AC_CHECK_HEADERS([fcntl.h inttypes.h libintl.h malloc.h stddef.h stdlib.h string.h unistd.h])
23
24# Checks for typedefs, structures, and compiler characteristics.
25AC_HEADER_STDBOOL
26AC_TYPE_INT16_T
27AC_TYPE_INT32_T
28AC_TYPE_INT8_T
29AC_TYPE_PID_T
30AC_TYPE_SIZE_T
31AC_TYPE_UINT16_T
32AC_TYPE_UINT32_T
33AC_TYPE_UINT8_T
34
35# Checks for library functions.
36AC_FUNC_FORK
37AC_FUNC_MALLOC
38AC_FUNC_REALLOC
39AC_CHECK_FUNCS([dup2 getcwd memset setenv strdup strstr])
40
41#============================================================================
[753]42# Detect if openssl is available
43#============================================================================
44
45AC_ARG_WITH([openssl],
46    [AS_HELP_STRING([--with-openssl=PATH], [Specifies an alternative location for the openssl library])],
47    [OPENSSL_DIR="$withval"], [OPENSSL_DIR="/usr/"])
48OPENSSL_CFLAGS="-I$OPENSSL_DIR/include"
49OPENSSL_LDFLAGS="-lcrypto -L$OPENSSL_DIR/lib -lssl"
50CPPFLAGS_SAVE="$CPPFLAGS"
51CPPFLAGS="$OPENSSL_CFLAGS"
52LIBS_SAVE="$LIBS"
53LIBS="$OPENSSL_LDFLAGS"
54AC_CHECK_HEADERS([openssl/md5.h openssl/hmac.h openssl/evp.h openssl/bio.h openssl/buffer.h],
55                        [], [AC_MSG_ERROR([could not find header file $i related to openssl])])
56AC_CHECK_LIB(crypto, BIO_f_base64,
57                        [], [AC_MSG_ERROR([could not find $i function in openssl library])])
58AC_SUBST([OPENSSL_CFLAGS])
59AC_SUBST([OPENSSL_LDFLAGS])
60
61#============================================================================
[466]62# Detect if run on debian / ubuntu
63#============================================================================
64if test -f "/usr/bin/dpkg"
65then
66        DEB_DEF=-DDEB
67fi
68AC_SUBST([DEB_DEF])
69
[784]70AC_ARG_WITH([etc-dir],
71    [AS_HELP_STRING([--with-etc-dir=PATH], [Specifies an alternative path to store the main.cfg file ( default: ZOO-Kernel location) ])],
72    [ETC_DEF="#define ETC_DIR \\\"${sysconfdir}\\\""], [ETC_DEF=""])
73AC_SUBST([ETC_DEF])
74
[518]75AC_ARG_WITH([cgi-dir],
[652]76    [AS_HELP_STRING([--with-cgi-dir=PATH], [Specifies an alternative cgi directory path ( default: /usr/lib/cgi-bin) ])],
[518]77    [CGI_DIR="$withval"], [CGI_DIR="/usr/lib/cgi-bin"])
78AC_SUBST([CGI_DIR])
79
[652]80AC_ARG_WITH([db-backend],
81    [AS_HELP_STRING([--with-db-backend], [Relies on a database for storing status messages and response files ])],
82    [RELY_ON_DB="-DRELY_ON_DB"], [RELY_ON_DB=""])
83AC_SUBST([RELY_ON_DB])
[640]84
[652]85
[634]86# ===========================================================================
[640]87# Detect if libyaml is available
88# ===========================================================================
89
90AC_ARG_WITH([yaml],
[652]91        [AS_HELP_STRING([--with-yaml=PATH], [Specifies an alternative location for the yaml library])],
[640]92        [YAMLPATH="$withval"], [YAMLPATH=""])
93
94if test -z "$YAMLPATH"
95then
96        YAML_LDFLAGS=""
97        YAML_CPPFLAGS=""
98        YAML_FILE=""
99        YAML_FILE1=""
100else
101
102        # Extract the linker and include flags
103        YAML_LDFLAGS="-L$YAMLPATH/lib -lyaml"
104        YAML_CPPFLAGS="-I$YAMLPATH/include -DYAML"
105        YAML_FILE="service_yaml.o"
106        YAML_FILE1="zcfg2yaml"
107       
108        # Check headers file
109        CPPFLAGS_SAVE="$CPPFLAGS"
110        CPPFLAGS="$YAML_CPPFLAGS"
111        LIBS_SAVE="$LIBS"
112        LIBS="$YAML_LDFLAGS"
113        AC_CHECK_LIB([yaml], [yaml_parser_initialize,yaml_parser_set_input_file,yaml_parser_scan])
114        AC_CHECK_HEADERS([yaml.h],
115                 [], [AC_MSG_ERROR([could not find headers include related to YAML])])
116        LIBS="$LIBS_SAVE"
117fi
118AC_SUBST([YAML_CPPFLAGS])
119AC_SUBST([YAML_LDFLAGS])
120AC_SUBST([YAML_FILE])
121AC_SUBST([YAML_FILE1])
122
123# ===========================================================================
124# Detect if fastcgi is available
125# ===========================================================================
126
127AC_ARG_WITH([fastcgi],
[652]128        [AS_HELP_STRING([--with-fastcgi=PATH], [Specifies an alternative location for the fastcgi library])],
[640]129        [FCGIPATH="$withval"], [FCGIPATH="/usr"])
130
131# Extract the linker and include flags
[740]132FCGI_LDFLAGS="-L$FCGIPATH/lib -lfcgi"
[640]133FCGI_CPPFLAGS="-I$FCGIPATH/include"
134
135# Check headers file
136CPPFLAGS_SAVE="$CPPFLAGS"
137CPPFLAGS="$FCGI_CPPFLAGS"
138LIBS_SAVE="$LIBS"
139LIBS="$FCGI_LDFLAGS"
140AC_CHECK_LIB([fcgi], [main])
141AC_CHECK_HEADERS([fcgi_stdio.h],
142                 [], [AC_MSG_ERROR([could not find headers include related to fastcgi])])
143LIBS="$LIBS_SAVE"
144AC_SUBST([FCGI_CPPFLAGS])
145AC_SUBST([FCGI_LDFLAGS])
146
147# ===========================================================================
148# Detect if libxml2 is installed
149# ===========================================================================
150
151AC_ARG_WITH([xml2config],
[652]152        [AS_HELP_STRING([--with-xml2config=FILE], [Specifies an alternative xml2-config file])],
[640]153        [XML2CONFIG="$withval"], [XML2CONFIG=""])
154
155if test "x$XML2CONFIG" = "x"; then
156        # XML2CONFIG was not specified, so search within the current path
157        AC_PATH_PROG([XML2CONFIG], [xml2-config])
158
159        # If we couldn't find xml2-config, display a warning
160        if test "x$XML2CONFIG" = "x"; then
161                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.])
162        fi
163else
164        # XML2CONFIG was specified; display a message to the user
165        if test "x$XML2CONFIG" = "xyes"; then
[652]166                AC_MSG_ERROR([you must Specifies a parameter to --with-xml2config, e.g. --with-xml2config=/path/to/xml2-config])
[640]167        else
168                if test -f $XML2CONFIG; then
169                        AC_MSG_RESULT([Using user-specified xml2-config file: $XML2CONFIG])
170                else
171                        AC_MSG_ERROR([the user-specified xml2-config file $XML2CONFIG does not exist])
172                fi     
173        fi
174fi
175
176# Extract the linker and include flags
177XML2_LDFLAGS=`$XML2CONFIG --libs`
178XML2_CPPFLAGS=`$XML2CONFIG --cflags`
179
180# Check headers file
181CPPFLAGS_SAVE="$CPPFLAGS"
182CPPFLAGS="$XML2_CPPFLAGS"
183AC_CHECK_HEADERS([libxml/tree.h libxml/parser.h libxml/xpath.h libxml/xpathInternals.h],
184                 [], [AC_MSG_ERROR([could not find headers include related to libxml2])])
185
186# Ensure we can link against libxml2
187LIBS_SAVE="$LIBS"
188LIBS="$XML2_LDFLAGS"
189AC_CHECK_LIB([xml2], [xmlInitParser], [], [AC_MSG_ERROR([could not find libxml2])], [])
190
191AC_SUBST([XML2_CPPFLAGS])
192AC_SUBST([XML2_LDFLAGS])
193LIBS="$LIBS_SAVE"
194
195
196# ===========================================================================
197# Detect if libxslt is installed
198# ===========================================================================
199
200AC_ARG_WITH([xsltconfig],
[652]201        [AS_HELP_STRING([--with-xsltconfig=FILE], [Specifies an alternative xslt-config file])],
[640]202        [XSLTCONFIG="$withval"], [XSLTCONFIG=""])
203
204if test "x$XSLTCONFIG" = "x"; then
205        # XSLTCONFIG was not specified, so search within the current path
206        AC_PATH_PROG([XSLTCONFIG], [xslt-config])
207
208        # If we couldn't find xslt-config, display a warning
209        if test "x$XSLTCONFIG" = "x"; then
210                AC_MSG_ERROR([could not find xslt-config from libxslt within the current path. You may need to try re-running configure with a --with-xtltconfig parameter.])
211        fi
212else
213        # XSLTCONFIG was specified; display a message to the user
214        if test "x$XSLTCONFIG" = "xyes"; then
[652]215                AC_MSG_ERROR([you must Specifies a parameter to --with-xsltconfig, e.g. --with-xsltconfig=/path/to/xslt-config])
[640]216        else
217                if test -f $XSLTCONFIG; then
218                        AC_MSG_RESULT([Using user-specified xslt-config file: $XSLTCONFIG])
219                else
220                        AC_MSG_ERROR([the user-specified xslt-config file $XSLTCONFIG does not exist])
221                fi     
222        fi
223fi
224
225# Extract the linker and include flags
226XSLT_LDFLAGS=`$XSLTCONFIG --libs`
227XSLT_CPPFLAGS=`$XSLTCONFIG --cflags`
228
229# Check headers file
230CPPFLAGS_SAVE="$CPPFLAGS"
231CPPFLAGS="$XSLT_CPPFLAGS"
232AC_CHECK_HEADERS([libxslt/xslt.h libxslt/xsltInternals.h libxslt/transform.h libxslt/xsltutils.h],
233                 [], [AC_MSG_ERROR([could not find headers include related to libxlst])])
234
235AC_SUBST([XSLT_CPPFLAGS])
236AC_SUBST([XSLT_LDFLAGS])
237
238#============================================================================
239# Detect if gdal is installed
240#============================================================================
241
242AC_ARG_WITH([gdal-config],
[652]243        [AS_HELP_STRING([--with-gdal-config=FILE], [Specifies an alternative gdal-config file])],
[640]244        [GDAL_CONFIG="$withval"], [GDAL_CONFIG=""])
245if test -z $GDAL_CONFIG;
246then
247        AC_PATH_PROG([GDAL_CONFIG], [gdal-config])
248        if test -z $GDAL_CONFIG;
249        then
250                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.])
251        fi
252       
253else
254        if test -f $GDAL_CONFIG; then
255                AC_MSG_RESULT([Using user-specified gdal-config file: $GDAL_CONFIG])
256        else
257                AC_MSG_ERROR([the user-specified gdal-config file $GDAL_CONFIG does not exist])
258        fi
259fi
260
261GDAL_CFLAGS="`$GDAL_CONFIG --cflags`"
262GDAL_LIBS="`$GDAL_CONFIG --libs`"
263
264AC_SUBST([GDAL_CFLAGS])
265AC_SUBST([GDAL_LIBS])
266
267# ===========================================================================
268# Detect if proj is installed
269# ===========================================================================
270
271AC_ARG_WITH([proj],
[652]272        [AS_HELP_STRING([--with-proj=PATH], [Specifies an alternative location for PROJ4 setup])],
[640]273        [PROJPATH="$withval"], [PROJPATH=""])
274
275# Extract the linker and include flags
276PROJ_LDFLAGS="-L$PROJPATH/lib"
277PROJ_CPPFLAGS="-I$PROJPATH/include"
278
279# Check headers file
280CPPFLAGS_SAVE="$CPPFLAGS"
281CPPFLAGS="$PROJ_CPPFLAGS"
282AC_CHECK_HEADERS([proj_api.h],
283                 [], [AC_MSG_ERROR([could not find headers include related to PROJ4])])
284
285AC_SUBST([PROJ_CPPFLAGS])
286AC_SUBST([PROJ_LDFLAGS])
287
288# ===========================================================================
289# Detect if libgeos is installed
290# ===========================================================================
291
292AC_ARG_WITH([geosconfig],
[652]293        [AS_HELP_STRING([--with-geosconfig=FILE], [Specifies an alternative geos-config file])],
[640]294        [GEOSCONFIG="$withval"], [GEOSCONFIG=""])
295
296if test "x$GEOSCONFIG" = "x"; then
297        # GEOSCONFIG was not specified, so search within the current path
298        AC_PATH_PROG([GEOSCONFIG], [geos-config])
299
300        # If we couldn't find geos-config, display a warning
301        if test "x$GEOSCONFIG" = "x"; then
302                AC_MSG_WARN([could not find geos-config from libgeos within the current path. You may need to try re-running configure with a --with-geosconfig parameter.])
303        fi
304else
305        # GEOSCONFIG was specified; display a message to the user
306        if test "x$GEOSCONFIG" = "xyes"; then
[652]307                AC_MSG_WARN([you must Specifies a parameter to --with-geosconfig, e.g. --with-geosconfig=/path/to/geos-config])
[640]308        else
309                if test -f $GEOSCONFIG; then
310                        AC_MSG_RESULT([Using user-specified geos-config file: $GEOSCONFIG])
311                else
312                        AC_MSG_ERROR([the user-specified geos-config file $GEOSCONFIG does not exist])
313                fi     
314        fi
315fi
316
317GEOS_LDFLAGS=`$GEOSCONFIG --libs`
318GEOS_CPPFLAGS=`$GEOSCONFIG --cflags`
319
320# Check headers file
321CPPFLAGS_SAVE="$CPPFLAGS"
322CPPFLAGS="$GEOS_CPPFLAGS"
323AC_CHECK_HEADERS([geos_c.h],
324                 [], [AC_MSG_WARN([could not find headers include related to libgeos])])
325
326AC_SUBST([GEOS_CPPFLAGS])
327AC_SUBST([GEOS_LDFLAGS])
328
329
330# ===========================================================================
331# Detect if cgal is installed
332# ===========================================================================
333
334AC_ARG_WITH([cgal],
[652]335        [AS_HELP_STRING([--with-cgal=PATH], [Specifies an alternative location for CGAL setup])],
[640]336        [CGALPATH="$withval"], [CGALPATH="/usr"])
337
338
339# Check headers file
340CPPFLAGS_SAVE="$CPPFLAGS"
[775]341CGAL_CPPFLAGS="-I$CGALPATH/include"
[640]342CPPFLAGS="$CGAL_CPPFLAGS"
343AC_CHECK_HEADERS([CGAL/Delaunay_triangulation_2.h],
344         [], [AC_MSG_WARN([could not find headers include related to libCGAL])])
345
346# Extract the linker and include flags
347CGAL_LDFLAGS="-L$CGALPATH/lib"
348CGAL_CPPFLAGS="-I$CGALPATH/include"
349
350
351AC_SUBST([CGAL_CPPFLAGS])
352AC_SUBST([CGAL_LDFLAGS])
353#============================================================================
354# Detect if mapserver is installed
355#============================================================================
356
357AC_ARG_WITH([mapserver],
[652]358       [AS_HELP_STRING([--with-mapserver=PATH], [Specifies the path for MapServer compiled source tree])],
[640]359       [MS_SRC_PATH="$withval"], [MS_SRC_PATH=""])
360
[753]361AC_ARG_WITH([ms-version],
362       [AS_HELP_STRING([--with-ms-version=VERSION], [Specifies the MapServer version to build against])],
363       [MS_VERSION="$withval"], [MS_VERSION=""])
364
[640]365if test -z $MS_SRC_PATH;
366then
367        MS_CPPFLAGS=""
368        MS_LDFLAGS=""
369else
370       if test "x$MS_SRC_PATH" = "xmacos";
371       then
372               MS_LDFLAGS="/Library/Frameworks/MapServer.framework//Versions/6.0/MapServer -lintl"
373               MS_CPPFLAGS="-DUSE_MS `/Library/Frameworks/MapServer.framework/Programs/mapserver-config --includes` -I/Library/Frameworks/MapServer.framework/Versions/Current/Headers/ -I../mapserver "
374               AC_MSG_WARN([Please make sure that ../mapserver exists and contains MapServer source tree])
375               AC_MSG_RESULT([Using MacOS X Framework for MapServer])
376       else
[753]377        if test "x$MS_VERSION" = "x7";
378        then
379                MS_LDFLAGS="-L$MS_SRC_PATH/lib -lmapserver"
380                MS_CPPFLAGS="-DUSE_MS -I$MS_SRC_PATH/include/mapserver "
381                AC_MSG_RESULT([Using user-specified MapServer src path: $MS_SRC_PATH])
382        else
[640]383               if test -d $MS_SRC_PATH; then
384                       MS_LDFLAGS="-L$MS_SRC_PATH -lmapserver `$MS_SRC_PATH/mapserver-config --libs`"
385                       MS_CPPFLAGS="-DUSE_MS `$MS_SRC_PATH/mapserver-config --includes` `$MS_SRC_PATH/mapserver-config --cflags` -I$MS_SRC_PATH "
386               
387                       AC_MSG_RESULT([Using user-specified MapServer src path: $MS_SRC_PATH])
388               else
389                       AC_MSG_ERROR([the user-specified mapserver-config file $MS_SRC_PATH does not exist])
390               fi
[753]391        fi
[640]392       fi
393       MS_FILE="service_internal_ms.o"
394fi
395
396MS_CFLAGS="$MS_CPPFLAGS"
397MS_LIBS="$MS_LDFLAGS"
398
399AC_SUBST([MS_CFLAGS])
400AC_SUBST([MS_LIBS])
401AC_SUBST([MS_FILE])
402
403# ===========================================================================
[634]404# Detect if python is installed
405# ===========================================================================
[1]406
[634]407AC_ARG_WITH([python],
[652]408        [AS_HELP_STRING([--with-python=PATH], [To enable python support or Specifies an alternative directory for python installation,  disabled by default])],
[634]409        [PYTHON_PATH="$withval"; PYTHON_ENABLED="-DUSE_PYTHON"], [PYTHON_ENABLED=""])
410
411AC_ARG_WITH([pyvers],
412        [AS_HELP_STRING([--with-pyvers=NUM], [To use a specific python version])],
413        [PYTHON_VERS="$withval"], [PYTHON_VERS=""])
414
415
416if test -z "$PYTHON_ENABLED"
[1]417then
[634]418        PYTHON_FILE=""
419else
420        PYTHONCONFIG="$PYTHON_PATH/bin/python${PYTHON_VERS}-config"
421        PYTHON_FILE="service_internal_python.o"
422        if test  "$PYTHON_PATH" = "yes"
[1]423        then
[634]424                # PHP was not specified, so search within the current path
425                PYTHONCFG_PATH=`which python${PYTHON_VERS}-config`
426                if test -z "${PYTHONCFG_PATH}" ; then
427                AC_PATH_PROG([PYTHONCONFIG], [python-config-${PYTHON_VERS}])
428                else
429                AC_PATH_PROG([PYTHONCONFIG], [python${PYTHON_VERS}-config])
430                fi
431        else
432                PYTHONCONFIG="$PYTHON_PATH/bin/python${PYTHON_VERS}-config"
[1]433        fi
[634]434
435        # Extract the linker and include flags
436        PYTHON_LDFLAGS=`$PYTHONCONFIG --ldflags`
437        PYTHON_CPPFLAGS=`$PYTHONCONFIG --includes`
438
439        # Check headers file
440        CPPFLAGS_SAVE="$CPPFLAGS"
441        CPPFLAGS="$PYTHON_CPPFLAGS"
442        AC_CHECK_HEADERS([Python.h],
443                 [], [AC_MSG_ERROR([could not find headers include related to libpython])])
444
445        # Ensure we can link against libphp
446        LIBS_SAVE="$LIBS"
447        LIBS="$PYTHON_LDFLAGS"
[740]448        PY_LIB=`$PYTHONCONFIG --libs | sed \
449                              -e 's/.*\(python[[0-9]]\.[[0-9]]\).*/\1/'`
[634]450        AC_CHECK_LIB([$PY_LIB], [PyObject_CallObject], [], [AC_MSG_ERROR([could not find libpython])], [])
[640]451        LIBS="$LIBS_SAVE"
[634]452fi
453
[740]454AC_SUBST([PYTHON_CPPFLAGS])
455AC_SUBST([PYTHON_LDFLAGS])
[634]456AC_SUBST([PYTHON_ENABLED])
457AC_SUBST([PYTHON_FILE])
458
459# ===========================================================================
460# Detect if spidermonkey is installed
461# ===========================================================================
462
463AC_ARG_WITH([js],
[652]464        [AS_HELP_STRING([--with-js=PATH], [Specifies --with-js=path-to-js to enable js support, specify --with-js on linux debian like, js support is disabled by default ])],
[634]465        [JSHOME="$withval";JS_ENABLED="-DUSE_JS"], [JS_ENABLED=""])
466
467if test -z "$JS_ENABLED"
468then
469        JS_FILE=""
470else
471        JS_FILE="service_internal_js.o"
472        if test "$JSHOME" = "yes"
473        then
474
475                #on teste si on est sous debian like
476                if test -f "/usr/bin/dpkg"
477                then
478                        if test -n "`dpkg -l | grep libmozjs185-dev`"
479                        then
480                                JS_CPPFLAGS="-I/usr/include/js/"
481                                JS_LDFLAGS="-L/usr/lib -lmozjs185 -lm"
482                                JS_LIB="mozjs185"
483                        else
484                                XUL_VERSION="`dpkg -l | grep xulrunner | grep dev | head -1| awk '{print $3;}' | cut -d'+' -f1`"
485                                if test -n "$XUL_VERSION"
486                                then
487                                        JS_CPPFLAGS="-I/usr/include/xulrunner-$XUL_VERSION"
488                                        JS_LDFLAGS="-L/usr/lib/xulrunner-$XUL_VERSION -lmozjs -lm"
489                                        JS_LIB="mozjs"
490                                else
491                                        AC_MSG_ERROR([You must install libmozjs185-dev or xulrunner-dev ])
492                                fi
493                        fi
494                else
495                        AC_MSG_ERROR([You must  specify your custom install of libmozjs185])
496                fi
497        else
498                JS_CPPFLAGS="-I$JSHOME/include/js/"
499                JS_LDFLAGS="-L$JSHOME/lib -lmozjs185 -lm"
500                JS_LIB="mozjs185"
501
502        fi
503        CPPFLAGS_SAVE="$CPPFLAGS"
504        CPPFLAGS="$JS_CPPFLAGS"
[640]505        AC_LANG_PUSH([C++])
506        AC_CHECK_HEADERS([jsapi.h],
507                        [], [AC_MSG_ERROR([could not find headers include related to libjs])])
[634]508
[640]509        AC_LANG_POP([C++])
[634]510        LIBS_SAVE="$LIBS"
511        LIBS="$JS_LDFLAGS"
512
513        AC_CHECK_LIB([$JS_LIB], [JS_CompileFile,JS_CallFunctionName], [], [AC_MSG_ERROR([could not find $JS_LIB])], [])
[640]514        LIBS="$LIBS_SAVE"
515       
[634]516        AC_SUBST([JS_CPPFLAGS])
517        AC_SUBST([JS_LDFLAGS])
518fi
519
520AC_SUBST([JS_ENABLED])
521AC_SUBST([JS_FILE])
522
523# ===========================================================================
524# Detect if php is installed
525# ===========================================================================
526
527AC_ARG_WITH([php],
528        [AS_HELP_STRING([--with-php=PATH], [To enable php support or specify an alternative directory for php installation,  disabled by default])],
529        [PHP_PATH="$withval"; PHP_ENABLED="-DUSE_PHP"], [PHP_ENABLED=""])
530
531
532if test -z "$PHP_ENABLED"
533then
534        PHP_FILE=""
[1]535else
[634]536        PHPCONFIG="$PHP_PATH/bin/php-config"
537        PHP_FILE="service_internal_php.o"
538        if test  "$PHP_PATH" = "yes"
539        then
540                # PHP was not specified, so search within the current path
541                AC_PATH_PROG([PHPCONFIG], [php-config])
[1]542        else
[634]543                PHPCONFIG="$PHP_PATH/bin/php-config"
[1]544        fi
[634]545
546        # Extract the linker and include flags
547        PHP_LDFLAGS="-L/`$PHPCONFIG --prefix`/lib -lphp5"
548        PHP_CPPFLAGS=`$PHPCONFIG --includes`
549
550        # Check headers file
551        CPPFLAGS_SAVE="$CPPFLAGS"
552        CPPFLAGS="$PHP_CPPFLAGS"
553        AC_CHECK_HEADERS([sapi/embed/php_embed.h],
554                 [], [AC_MSG_ERROR([could not find headers include related to libphp])])
555
556        # Ensure we can link against libphp
557        LIBS_SAVE="$LIBS"
558        LIBS="$PHP_LDFLAGS"
559        # Shouldn't we get php here rather than php5 :) ??
560        AC_CHECK_LIB([php5], [call_user_function], [], [AC_MSG_ERROR([could not find libphp])], [])
[640]561        LIBS="$LIBS_SAVE"
[634]562        AC_SUBST([PHP_CPPFLAGS])
563        AC_SUBST([PHP_LDFLAGS])
[1]564fi
565
[634]566AC_SUBST([PHP_ENABLED])
567AC_SUBST([PHP_FILE])
[1]568
[634]569# ===========================================================================
570# Detect if java is installed
571# ===========================================================================
[1]572
[634]573AC_ARG_WITH([java],
574        [AS_HELP_STRING([--with-java=PATH], [To enable java support, specify a JDK_HOME,  disabled by default])],
575        [JDKHOME="$withval"; JAVA_ENABLED="-DUSE_JAVA"], [JAVA_ENABLED=""])
576
577if test -z "$JAVA_ENABLED"
578then
579        JAVA_FILE=""
580else
581        JAVA_FILE="service_internal_java.o"
582        if test "x$JDKHOME" = "x";
583        then
584                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.])
585        fi      # JAVA was specified; display a message to the user
586        if test "x$JDKHOME" = "xyes";
587        then
588                AC_MSG_ERROR([you must specify a parameter to --with-java, e.g. --with-java=/path/to/java])
589        fi
590
591        # Extract the linker and include flags
592        if test "x$JDKHOME" = "xmacos";
593        then
594                JAVA_LDFLAGS="-framework JavaVM"
[767]595                for i in `ls /Applications/Xcode.app/Contents/Developer//Platforms/MacOSX.platform/Developer/SDKs/`; do
596                    JAVA_CPPFLAGS="-I/Applications/Xcode.app/Contents/Developer//Platforms/MacOSX.platform/Developer/SDKs/$i/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers/"
597                done
[634]598        else
599                if test -d "$JDKHOME/jre/lib/i386";
600                then
601                        JAVA_LDFLAGS="-L$JDKHOME/jre/lib/i386/server/ -ljvm -lpthread"
602                        JAVA_CPPFLAGS="-I$JDKHOME/include -I$JDKHOME/include/linux"
603                else
[767]604                        if test -d "$JDKHOME/jre/lib/amd64"; then
605                           JAVA_LDFLAGS="-L$JDKHOME/jre/lib/amd64/server/ -ljvm -lpthread"
606                           JAVA_CPPFLAGS="-I$JDKHOME/include -I$JDKHOME/include/linux"
607                        else
608                           JAVA_LDFLAGS="-L$JDKHOME/jre/lib/server/ -ljvm -lpthread"
609                           JAVA_CPPFLAGS="-I$JDKHOME/include/ -I$JDKHOME/include/darwin"
610                        fi
[634]611                fi
612        fi
613
[767]614        AC_LANG([C++])
615        echo $JAVA_CPPFLAGS
[634]616        # Check headers file (second time we check that in fact)
617        CPPFLAGS_SAVE="$CPPFLAGS"
618        CPPFLAGS="$JAVA_CPPFLAGS"
619        AC_CHECK_HEADERS([jni.h],
620                         [], [AC_MSG_ERROR([could not find jni.h file])])
[767]621        CPPFLAGS="$CPPFLAGS_SAVE"
[634]622        # Ensure we can link against libjava
623        LIBS_SAVE="$LIBS"
624        LIBS="$JAVA_LDFLAGS"
625        if test "x$JDKHOME" != "xmacos";
626        then
627                AC_CHECK_LIB([jvm], [JNI_CreateJavaVM], [], [AC_MSG_ERROR([could not find libjvm])], [])
628        fi
[640]629        LIBS="$LIBS_SAVE"
[634]630
631        AC_SUBST([JAVA_CPPFLAGS])
632        AC_SUBST([JAVA_LDFLAGS])
633fi
634
635AC_SUBST([JAVA_ENABLED])
636AC_SUBST([JAVA_FILE])
637
[1]638# ===========================================================================
[634]639# Detect if ruby is installed
640# ===========================================================================
641AC_ARG_WITH([ruby],
642        [AS_HELP_STRING([--with-ruby=PATH], [To enable ruby support or specify an alternative directory for ruby installation,  disabled by default])],
643        [RUBY_PATH="$withval"; RUBY_ENABLED="-DUSE_RUBY"], [RUBY_ENABLED=""])
644
645AC_ARG_WITH([rvers],
646        [AS_HELP_STRING([--with-rvers=NUM], [To use a specific ruby version])],
647        [RUBY_VERS="$withval"], [RUBY_VERS=""])
648
649
650if test -z "$RUBY_ENABLED"
651then
652        RUBY_FILE=""
653else
654        RUBY_FILE="service_internal_ruby.o"
655
656        # Extract the linker and include flags
657        RUBY_LDFLAGS="-lruby"
658        RUBY_CPPFLAGS="-I$RUBY_PATH -I$RUBY_PATH/x86_64-darwin13.0/ -DZRUBY_VERSION=$RUBY_VERS"
659
660        # Check headers file
661        CPPFLAGS_SAVE="$CPPFLAGS"
662        CPPFLAGS="$RUBY_CPPFLAGS"
663        AC_CHECK_HEADERS([ruby.h],
664                 [], [AC_MSG_ERROR([could not find headers include related to libruby])])
665
666        # Ensure we can link against libphp
667        LIBS_SAVE="$LIBS"
668        LIBS="$RUBY_LDFLAGS"
669        # AC_CHECK_LIB([lruby], [PyObject_CallObject], [], [AC_MSG_ERROR([could not find libpython])], [])
[640]670        LIBS="$LIBS_SAVE"
[634]671        AC_SUBST([RUBY_CPPFLAGS])
672        AC_SUBST([RUBY_LDFLAGS])
673fi
674
675AC_SUBST([RUBY_ENABLED])
676AC_SUBST([RUBY_FILE])
677
678# ===========================================================================
679# Detect if perl is installed
680# ===========================================================================
681
682AC_ARG_WITH([perl],
683        [AS_HELP_STRING([--with-perl=PATH], [To enable perl support or specify an alternative directory for perl installation,  disabled by default])],
684        [PERL_PATH="$withval"; PERL_ENABLED="-DUSE_PERL"], [PERL_ENABLED=""])
685
686
687if test -z "$PERL_ENABLED"
688then
689        PERL_FILE=""
690else
691        PERL_FILE="service_internal_perl.o"
692        if test  "$PERL_PATH" = "yes"
693        then
694                # Perl was not specified, so search within the current path
695                AC_PATH_PROG([PERLCONFIG], [perl])
696        else
697                PERLCONFIG="$PERL_PATH/bin/perl"
698        fi
699
700        # Extract the linker and include flags
701        PERL_LDFLAGS=`$PERLCONFIG -MExtUtils::Embed -e ldopts`
702        PERL_CPPFLAGS=`$PERLCONFIG -MExtUtils::Embed -e ccopts`
703
704        # Check headers file
705        CPPFLAGS_SAVE="$CPPFLAGS"
706        CPPFLAGS="$PERL_CPPFLAGS"
707        AC_CHECK_HEADERS([EXTERN.h],
708                 [], [AC_MSG_ERROR([could not find headers include related to libperl])])
709
710        AC_SUBST([PERL_CPPFLAGS])
711        AC_SUBST([PERL_LDFLAGS])
712fi
713
714AC_SUBST([PERL_ENABLED])
715AC_SUBST([PERL_FILE])
716
717# ===========================================================================
[550]718# Detect if otb is available
719# ===========================================================================
720
[555]721AC_ARG_WITH([itk],
[652]722        [AS_HELP_STRING([--with-itk=PATH], [Specifies an alternative location for the itk library])],
[555]723        [ITKPATH="$withval"], [ITKPATH=""])
724
725AC_ARG_WITH([itk-version],
[652]726        [AS_HELP_STRING([--with-itk-version=VERSION], [Specifies an alternative version for the itk library])],
[555]727        [ITKVERS="$withval"], [ITKVERS=""])
728
[550]729AC_ARG_WITH([otb],
[652]730        [AS_HELP_STRING([--with-otb=PATH], [Specifies an alternative location for the otb library])],
[550]731        [OTBPATH="$withval"], [OTBPATH=""])
732
[775]733AC_ARG_WITH([otb-version],
734        [AS_HELP_STRING([--with-otb-version=PATH], [Specifies an alternative location for the otb library])],
735        [OTBVERS="$withval"], [OTBVERS=""])
736
[550]737if test -z "$OTBPATH"
738then
739        OTB_LDFLAGS=""
740        OTB_CPPFLAGS=""
741        OTB_FILE=""
742        OTB_ENABLED=""
743else
[637]744        if test -z "$ITKVERS"
745        then
746                ITKVERS="4.5"
747        fi
[550]748        OTB_ENABLED="-DUSE_OTB"
[775]749        if test -a "${OTBPATH}/include/OTB-${OTBVERS}" ; then
750                OTB_RPATH="$OTBPATH/include/OTB-${OTBVERS}/"
751                OTB_CPPFLAGS="-I${OTB_RPATH}ApplicationEngine -I$OTB_RPATH/Common -I$ITKPATH/include/ITK-$ITKVERS -I$OTB_RPATH/Utilities/ITK -I$OTB_RPATH/ -I$OTB_RPATH/IO -I$OTB_RPATH/UtilitiesAdapters/OssimAdapters -I$OTB_RPATH/UtilitiesAdapters/CurlAdapters -I$OTB_RPATH/Utilities/BGL -I$OTB_RPATH/UtilitiesAdapters/ITKPendingPatches -I$OTB_RPATH/Utilities/otbconfigfile $GDAL_CFLAGS"
752                OTB_LDFLAGS="-L/usr/lib/x86_64-linux-gnu/ -lOTBImageIO-$OTBVERS -lOTBCommon-$OTBVERS -lOTBApplicationEngine-$OTBVERS -L$ITKPATH/lib -lITKBiasCorrection-$ITKVERS -lITKCommon-$ITKVERS -lITKIOImageBase-$ITKVERS -lITKKLMRegionGrowing-$ITKVERS -lITKLabelMap-$ITKVERS -lITKMesh-$ITKVERS -lITKMetaIO-$ITKVERS -lITKOptimizers-$ITKVERS -lITKPath-$ITKVERS -lITKPolynomials-$ITKVERS -lITKQuadEdgeMesh-$ITKVERS -lITKSpatialObjects-$ITKVERS -lITKStatistics-$ITKVERS -lITKVNLInstantiation-$ITKVERS -lITKWatersheds-$ITKVERS -litkNetlibSlatec-$ITKVERS -litksys-$ITKVERS -litkv3p_lsqr-$ITKVERS -litkv3p_netlib-$ITKVERS -litkvcl-$ITKVERS -litkvnl-$ITKVERS -litkvnl_algo-$ITKVERS "
753        else
754                OTB_CPPFLAGS="-I$OTBPATH/include/otb/ApplicationEngine -I$OTBPATH/include/otb/Common -I$ITKPATH/include/ITK-$ITKVERS -I$OTBPATH/include/otb/Utilities/ITK -I$OTBPATH/include/otb/ -I$OTBPATH/include/otb/IO -I$OTBPATH/include/otb/UtilitiesAdapters/OssimAdapters -I$OTBPATH/include/otb/UtilitiesAdapters/CurlAdapters -I$OTBPATH/include/otb/Utilities/BGL -I$OTBPATH/include/otb/UtilitiesAdapters/ITKPendingPatches -I$OTBPATH/include/otb/Utilities/otbconfigfile $GDAL_CFLAGS"
755                OTB_LDFLAGS="-L$OTBPATH/lib/otb -lOTBIO -lOTBCommon -lOTBApplicationEngine -L$ITKPATH/lib -lITKBiasCorrection-$ITKVERS -lITKCommon-$ITKVERS -lITKIOImageBase-$ITKVERS -lITKKLMRegionGrowing-$ITKVERS -lITKLabelMap-$ITKVERS -lITKMesh-$ITKVERS -lITKMetaIO-$ITKVERS -lITKOptimizers-$ITKVERS -lITKPath-$ITKVERS -lITKPolynomials-$ITKVERS -lITKQuadEdgeMesh-$ITKVERS -lITKSpatialObjects-$ITKVERS -lITKStatistics-$ITKVERS -lITKVNLInstantiation-$ITKVERS -lITKWatersheds-$ITKVERS -litkNetlibSlatec-$ITKVERS -litksys-$ITKVERS -litkdouble-conversion-$ITKVERS -litkv3p_lsqr-$ITKVERS -litkv3p_netlib-$ITKVERS -litkvcl-$ITKVERS -litkvnl-$ITKVERS -litkvnl_algo-$ITKVERS -litkzlib-$ITKVERS"
756
757        fi
[559]758        OTB_FILE="otbZooWatcher.o service_internal_otb.o"
[550]759       
760        AC_LANG_PUSH([C++])
761        # Check headers file
762        CPPFLAGS_SAVE="$CPPFLAGS"
763        CPPFLAGS="$OTB_CPPFLAGS"
764        LDFLAGS_SAVE="$LDFLAGS"
[640]765        LIBS="$LIBS_SAVE $OTB_LDFLAGS"
[775]766        echo $OTB_CPPFLAGS
767        #AC_CHECK_HEADERS([otbWrapperApplication.h otbWrapperInputImageListParameter.h otbWrapperApplicationRegistry.h],
768        #               [], [AC_MSG_ERROR([could not find header file $i related to OTB])])
[640]769        LDFLAGS_SAVE="$LDFLAGS"
770        LDFLAGS="$OTB_LDFLAGS"
[775]771        echo $OTB_LDFLAGS
[640]772        AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include "otbWrapperApplication.h"],[std::vector<std::string> list = otb::Wrapwper::ApplicationRegistry::GetAvailableApplication();]])],
773                [AC_MSG_RESULT([checking for GetAvailableApplication... yes])],[AC_MSG_ERROR([checking for GetAvailableApplication... failed])])
774        LDFLAGS="$LDFLAGS_SAVE"
[775]775        AC_LANG_POP([C++])
776        AC_LANG(C++)
[640]777                       
[550]778fi
779AC_SUBST([OTB_CPPFLAGS])
780AC_SUBST([OTB_LDFLAGS])
781AC_SUBST([OTB_FILE])
782AC_SUBST([OTB_ENABLED])
783
784# ===========================================================================
[634]785# Detect if saga-gis is available
786# ===========================================================================
787
788AC_ARG_WITH([wx-config],
[652]789        [AS_HELP_STRING([--with-wx-config=PATH], [Specifies an alternative path for the wx-config tool])],
[634]790        [WXCFG="$withval"], [WXCFG=""])
791
792AC_ARG_WITH([saga],
[652]793        [AS_HELP_STRING([--with-saga=PATH], [Specifies an alternative location for the SAGA-GIS library])],
[634]794        [SAGAPATH="$withval"], [SAGAPATH=""])
795
796if test -z "$SAGAPATH"
797then
798        SAGA_LDFLAGS=""
799        SAGA_CPPFLAGS=""
800        SAGA_FILE=""
801        SAGA_ENABLED=""
802else
803        if test -z "$WXCFG" ; then
804           WXCFG="$(which wx-config)"
805        fi
806        if test "`$WXCFG --list | grep unicode`" == "" ; then
807           AC_MSG_ERROR(SAGA requires a unicode build of wxGTK)
808        fi
809        WX_ISSUE="-D_WX_WXCRTVARARG_H_"
810        SAGA_DEFS="-D_SAGA_LINUX -D_TYPEDEF_BYTE -D_TYPEDEF_WORD -DMODULE_LIBRARY_PATH=\\\"$SAGAPATH/lib/saga\\\""
811        SAGA_CPPFLAGS=" -fPIC -I$SAGAPATH/include/saga/saga_core/saga_api/ `$WXCFG --unicode=yes --static=no --cxxflags` -D_SAGA_UNICODE $SAGA_DEFS $WX_ISSUE"
812        SAGA_LDFLAGS="-fPIC `$WXCFG --unicode=yes --static=no --libs` -lsaga_api"
813        SAGA_ENABLED="-DUSE_SAGA"
814        SAGA_FILE="service_internal_saga.o"
815       
816        AC_LANG_PUSH([C++])
817        # Check headers file
818        CPPFLAGS_SAVE="$CPPFLAGS"
819        CPPFLAGS="$SAGA_CPPFLAGS"
820        LIBS_SAVE="$LIBS"
821        LIBS="$SAGA_LDFLAGS"
822        AC_CHECK_HEADERS([module_library.h],
823                        [], [AC_MSG_ERROR([could not find header file $i related to SAGA-GIS])])
[640]824        AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include "module_library.h"],[SG_Get_Module_Library_Manager();]])],
825                [AC_MSG_RESULT([checking for SG_Get_Module_Library_Manager... yes])],[AC_MSG_ERROR([checking for SG_Get_Module_Library_Manager... failed])])
826        LIBS="$LIBS_SAVE"
[634]827        AC_LANG_POP([C++])
828fi
829AC_SUBST([SAGA_CPPFLAGS])
830AC_SUBST([SAGA_LDFLAGS])
831AC_SUBST([SAGA_FILE])
832AC_SUBST([SAGA_ENABLED])
833
[1]834AC_CONFIG_FILES([Makefile])
[284]835AC_CONFIG_FILES([ZOOMakefile.opts])
[1]836AC_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