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

Last change on this file since 673 was 673, checked in by djay, 9 years ago

Fixes in configure.ac. Fix in registry creation. Fixes for Data node for WPS version 2.0.0.

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