source: main/trunk/greenstone2/configure.in@ 24163

Last change on this file since 24163 was 23801, checked in by ak19, 13 years ago

Added enable/disable-wvware flag to affected configure and Makefiles files in build-src, build-src/packages and top-level GS2, so we can turn off wvware compiling (such as for 64 bit Mac OS Snow Leopard Update 3 machines - MacOS 10.6.3 and over). By default wvware compilation is enabled.

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 13.2 KB
Line 
1dnl Process this file with autoconf to produce a configure script.
2dnl Use autoconf-2.59 or later... it might not work anymore with
3dnl the older 2.1x versions - jrm21 12/2004
4AC_INIT()
5AC_CONFIG_HEADER(config.h)
6
7PACKAGE=gsdl
8VERSION=2.x-svn
9AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
10AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
11AC_SUBST(PACKAGE)
12AC_SUBST(VERSION)
13
14
15dnl
16dnl Set use of fast cgi
17dnl
18USE_FASTCGI=0
19if test USE_FASTCGI = 1; then
20AC_DEFINE(USE_FASTCGI)
21AC_SUBST(USE_FASTCGI)
22fi
23
24dnl
25dnl Set use of langaction
26dnl
27dnl USE_LANGACTION=0
28if test USE_LANGACTION = 1; then
29AC_DEFINE(USE_LANGACTION)
30AC_SUBST(USE_LANGACTION)
31fi
32
33dnl
34dnl Set use of corba
35dnl
36AC_ARG_ENABLE(corba, [ --enable-corba Enable CORBA support], USE_CORBA=$enableval, USE_CORBA=no)
37if test $USE_CORBA = "yes" -o $USE_CORBA = "1" ; then
38 USE_CORBA=1
39 AC_DEFINE(USE_CORBA,[])
40else
41 USE_CORBA=0
42fi
43AC_SUBST(USE_CORBA)
44
45AC_ARG_WITH(micodir, [ --with-micodir Use installed MICO directory], MICO_DIR=$withval, MICO_DIR="default")
46AC_DEFINE_UNQUOTED(MICO_DIR, "$MICO_DIR")
47AC_SUBST(MICO_DIR)
48
49dnl
50dnl Disable all Java compilation
51dnl
52AC_ARG_ENABLE(java, [ --disable-java Disable Java compilation], ENABLE_JAVA=$enableval, ENABLE_JAVA=yes)
53if test $ENABLE_JAVA = "yes" -o $ENABLE_JAVA = "1" ; then
54 ENABLE_JAVA=1
55 if test "x$JAVA_HOME" != "x" ; then
56 echo "Detected JAVA_HOME is set, however this will not be used during compilation"
57 echo "To control the version of 'javac' and 'java' set environment variables JAVAC"
58 echo "and JAVA respectively"
59 export JAVA_HOME=
60 fi
61else
62 ENABLE_JAVA=0
63fi
64AC_SUBST(ENABLE_JAVA)
65
66dnl
67dnl Set use of z39.50
68dnl
69AC_ARG_ENABLE(z3950, [ --enable-z3950 Enable Z39.50 client support], USE_Z3950=$enableval, USE_Z3950=no)
70if test $USE_Z3950 = "yes" -o $USE_Z3950 = "1" ; then
71 USE_Z3950=1
72 AC_DEFINE(USE_Z3950,[])
73else
74 USE_Z3950=0
75fi
76AC_SUBST(USE_Z3950)
77
78dnl
79dnl Set use of yaz - now compiled by default even when z3950 support not required
80dnl
81AC_ARG_ENABLE(yaz, [ --disable-yaz Disable YAZ compilation], USE_YAZ=$enableval, USE_YAZ=yes)
82if test $USE_YAZ = "yes" -o $USE_YAZ = "1" ; then
83 USE_YAZ=1
84 AC_DEFINE(USE_YAZ,[])
85else
86 USE_YAZ=0
87fi
88AC_SUBST(USE_YAZ)
89
90dnl
91dnl Set use of wvware (enabled by default)
92dnl
93AC_ARG_ENABLE(wvware, [ --disable-wvware Disable wvWare compilation], USE_WVWARE=$enableval, USE_WVWARE=yes)
94if test $USE_WVWARE = "yes" -o $USE_WVWARE = "1" ; then
95 USE_WVWARE=1
96 AC_DEFINE(USE_WVWARE,[])
97else
98 USE_WVWARE=0
99fi
100AC_SUBST(USE_WVWARE)
101
102dnl
103dnl Set use of JDBM (enabled by default)
104dnl
105AC_ARG_ENABLE(jdbm, [ --disable-jdbm Disable JDBM compilation], USE_JDBM=$enableval, USE_JDBM=yes)
106if test $ENABLE_JAVA = "1" -a \( $USE_JDBM = "yes" -o $USE_JDBM = "1" \) ; then
107 USE_JDBM=1
108 AC_DEFINE(USE_JDBM,[])
109else
110 USE_JDBM=0
111fi
112AC_SUBST(USE_JDBM)
113
114dnl
115dnl Set use of GDBM (enabled by default)
116dnl
117AC_ARG_ENABLE(gdbm, [ --disable-gdbm Disable GDBM compilation], USE_GDBM=$enableval, USE_GDBM=yes)
118if test $USE_GDBM = "yes" -o $USE_GDBM = "1" ; then
119 USE_GDBM=1
120 AC_DEFINE(USE_GDBM,[])
121else
122 USE_GDBM=0
123fi
124AC_SUBST(USE_GDBM)
125
126dnl
127dnl disable compilation of accent folding stuff for mgpp (and one day mg)
128dnl
129AC_ARG_ENABLE(accentfold, [ --disable-accentfold Disable Accent Folding for MGPP], ENABLE_ACCENTFOLD=$enableval, ENABLE_ACCENTFOLD=yes)
130if test $ENABLE_ACCENTFOLD = "yes" -o $ENABLE_ACCENTFOLD = "1" ; then
131 ENABLE_ACCENTFOLD=1
132 AC_DEFINE(ENABLE_ACCENTFOLD,[])
133else
134 ENABLE_ACCENTFOLD=0
135fi
136AC_SUBST(ENABLE_ACCENTFOLD)
137
138dnl
139dnl Set use of SQLite (enabled by default)
140dnl
141AC_ARG_ENABLE(sqlite, [ --disable-sqlite Disable SQLite support], USE_SQLITE=$enableval, USE_SQLITE=yes)
142if test $USE_SQLITE = "yes" -o $USE_SQLITE = "1" ; then
143 USE_SQLITE=1
144 AC_DEFINE(USE_SQLITE,[])
145else
146 USE_SQLITE=0
147fi
148AC_SUBST(USE_SQLITE)
149
150dnl
151dnl Set use of Apache httpd (disabled by default)
152dnl
153if test -d runtime-src; then
154 AC_ARG_ENABLE(apache-httpd, [ --enable-apache-httpd Enable Apache httpd support], USE_APACHE_HTTPD=$enableval, USE_APACHE_HTTPD=no)
155 if test $USE_APACHE_HTTPD = "yes" -o $USE_APACHE_HTTPD = "1" ; then
156 USE_APACHE_HTTPD=1
157 AC_DEFINE(USE_APACHE_HTTPD,[])
158 else
159 USE_APACHE_HTTPD=0
160 fi
161 AC_SUBST(USE_APACHE_HTTPD)
162fi
163
164dnl
165dnl Set compilation of JNI parts of MG and MGPP indexers (disabled by default, which is GS2's default behaviour)
166dnl
167AC_ARG_ENABLE(jni, [ --enable-jni Enable JNI compilation], ENABLE_JNI=$enableval, ENABLE_JNI=no)
168if test $ENABLE_JAVA = "1" -a \( $ENABLE_JNI = "yes" -o $ENABLE_JNI = "1" \) ; then
169 ENABLE_JNI=1
170 AC_DEFINE(ENABLE_JNI,[])
171else
172 ENABLE_JNI=0
173fi
174AC_SUBST(ENABLE_JNI)
175
176dnl
177dnl Set compilation of MG (enabled by default)
178dnl
179AC_ARG_ENABLE(mg, [ --disable-mg Disable MG compilation], ENABLE_MG=$enableval, ENABLE_MG=yes)
180if test $ENABLE_MG = "yes" -o $ENABLE_MG = "1" ; then
181 ENABLE_MG=1
182 AC_DEFINE(ENABLE_MG,[])
183 else
184 ENABLE_MG=0
185 fi
186AC_SUBST(ENABLE_MG)
187
188
189dnl
190dnl Set compilation of MGPP (enabled by default)
191dnl
192AC_ARG_ENABLE(mgpp, [ --disable-mgpp Disable MGPP compilation], ENABLE_MGPP=$enableval, ENABLE_MGPP=yes)
193if test $ENABLE_MGPP = "yes" -o $ENABLE_MGPP = "1" ; then
194 ENABLE_MGPP=1
195 AC_DEFINE(ENABLE_MGPP,[])
196else
197 ENABLE_MGPP=0
198fi
199AC_SUBST(ENABLE_MGPP)
200
201dnl
202dnl Set compilation of lucene (enabled by default)
203dnl
204AC_ARG_ENABLE(lucene, [ --disable-lucene Disable Lucene compilation], ENABLE_LUCENE=$enableval, ENABLE_LUCENE=yes)
205if test $ENABLE_JAVA = "1" -a \( $ENABLE_LUCENE = "yes" -o $ENABLE_LUCENE = "1" \) ; then
206 ENABLE_LUCENE=1
207 AC_DEFINE(ENABLE_LUCENE,[])
208else
209 ENABLE_LUCENE=0
210fi
211AC_SUBST(ENABLE_LUCENE)
212
213
214dnl Checks for programs.
215LDFLAGS=$LDFLAGS
216AC_SUBST(LDFLAGS)
217dnl only set CFLAGS if not already set in environment
218if test -z "$CFLAGS"; then
219CFLAGS=-O2
220fi
221AC_SUBST(CFLAGS)
222
223
224AC_PROG_CC
225AC_PROG_CXX
226AC_PROG_AWK
227AC_PROG_YACC
228dnl get $target_cpu, $target_vendor, and $target_os
229dnl (as well as host_*)
230AC_CANONICAL_SYSTEM
231dnl do we actually want this? It adds a prefix based on host, system etc
232dnl AC_ARG_PROGRAM
233AC_PROG_INSTALL
234AC_PROG_LN_S
235AC_PROG_MAKE_SET
236AC_PROG_RANLIB
237
238AC_MSG_CHECKING(to see if architecture is 64-bit)
239arch_64bit=no
240case "$host_cpu" in
241x86_64) arch_64bit=yes ;;
242esac
243
244if test "$arch_64bit" = yes; then
245 AC_MSG_RESULT(yes)
246 if test -z "$COMPAT32BITFLAGS" ; then
247 if test "$ENABLE_MG" = "1" -o "$ENABLE_MGPP" = "1" ; then
248 COMPAT32BITFLAGS="-m32"
249 fi
250 fi
251else
252 AC_MSG_RESULT(no)
253 if test -z "$COMPAT32BITFLAGS" ; then
254 COMPAT32BITFLAGS=
255 fi
256fi
257
258export COMPAT32BITFLAGS
259AC_SUBST(COMPAT32BITFLAGS)
260
261
262#moved CORBA MICO directory test to get version of MICO
263if test $USE_CORBA = 1; then
264
265if test $MICO_DIR = "default"; then
266#do something
267MICO_INC="-I packages/mico/mico/include"
268else
269#build the micotest program
270MICO_INC= ""
271if test $MICO_DIR != yes; then
272MICO_INC="-I $MICO_DIR"
273fi
274fi
275
276#get MICO_VER value
277sh -c "$CC -c micotest.cpp -o micotest.o $MICO_INC 2>&1" > /dev/null
278sh -c "$CC -o micotest micotest.o -lstdc++ 2>&1" > /dev/null
279MICO_VER=`./micotest` || MICO_VER=2.3.5
280sh -c "rm micotest"
281sh -c "rm micotest.o"
282
283#do test of MICO_VER
284if test MICO_VER != 0; then
285AC_DEFINE(MICO_VER)
286AC_SUBST(MICO_VER)
287fi
288#end USE_CORBA test
289fi
290
291dnl Checks for typedefs, structures, and compiler characteristics.
292AC_AIX
293AC_ISC_POSIX
294AC_MINIX
295fp_C_PROTOTYPES
296AC_C_CONST
297AC_TYPE_OFF_T
298AC_TYPE_SIZE_T
299AC_HEADER_TIME
300AC_STRUCT_TM
301
302dnl --- This should be in the stdc checking -----------------
303if test "$ac_cv_prog_cc_stdc" = '-Xc'; then
304dnl The Pyramids running SMP_DC.OSx on MIPS r3000 chips with
305dnl /usr/opt/cc3.11/bin/cc treat -Xc as full ANSI mode - no POSIX or
306dnl XOPEN extensions (like popen).
307dnl Unfortunately -D_{XOPEN,POSIX}_SOURCE can't provide all that mg
308dnl needs. So drop back to -Xa
309AC_TRY_COMPILE(
310[#include <stdio.h>
311], [ FILE *rubbish = popen("yes", "r"); ],,
312[CC="`echo $CC | sed 's/-Xc/-Xa/'`" ac_cv_prog_cc_stdc='-Xa'])
313fi
314dnl ----------------------
315
316
317dnl Checks for libraries.
318dnl check for -lg:
319AC_HAVE_LIBRARY(g)
320dnl check for -lm:
321AC_HAVE_LIBRARY(m)
322dnl check for -lcrypt:
323AC_HAVE_LIBRARY(crypt)
324#if test $ENABLE_ACCENTFOLD = 1; then
325#AC_HAVE_LIBRARY(iconv)
326#fi
327
328dnl Checks for header files.
329AC_HEADER_DIRENT
330AC_HEADER_STDC
331AC_CHECK_HEADERS(fcntl.h limits.h sys/time.h unistd.h crypt.h string.h memory.h sys/procfs.h sys/stat.h)
332AC_EGREP_HEADER(fread, stdio.h, AC_DEFINE(HAVE_FREAD_DECL))
333AC_EGREP_HEADER(fgetc, stdio.h, AC_DEFINE(HAVE_FGETC_DECL))
334AC_EGREP_HEADER(pr_brksize, sys/procfs.h, AC_DEFINE(HAVE_PR_BRKSIZE))
335
336dnl Checks for library functions.
337AC_FUNC_ALLOCA
338AC_PROG_GCC_TRADITIONAL
339AC_TYPE_SIGNAL
340AC_FUNC_VPRINTF
341AC_CHECK_FUNCS(ftime select strftime strtol getrusage times mallinfo setbuffer getpagesize strerror)
342AC_REPLACE_FUNCS(ftruncate strstr strcasecmp)
343
344dnl see if gettext is in libc. (try the textdomain() function).
345AC_CHECK_FUNC(textdomain, AC_DEFINE(ENABLE_NLS ,1) )
346
347# *** Custom checking (based on GNU tar configure.in) ***
348# ---------------------------------------------------------------------------
349AC_MSG_CHECKING(for HP-UX needing gmalloc)
350if test "`(uname -s) 2> /dev/null`" = 'HP-UX'; then
351 AC_MSG_RESULT(yes)
352 AC_LIBOBJ([gmalloc])
353 AC_DEFINE(HAVE_VALLOC)
354else
355 AC_MSG_RESULT(no)
356 AC_CHECK_FUNCS(valloc)
357fi
358
359# we cannot generate static libraries under Darwin
360AC_MSG_CHECKING(for Apple MacOS X/Darwin)
361if test "`(uname -s) 2> /dev/null`" = 'Darwin'; then
362 AC_MSG_RESULT(yes)
363 STATIC=""
364else
365 AC_MSG_RESULT(no)
366 STATIC="-static "
367fi
368AC_SUBST(STATIC)
369
370fp_WITH_DMALLOC
371fp_WITH_REGEX
372
373# ---------------------------------------------------------------------------
374if test "$ac_cv_func_alloca" = 'no'; then
375dnl support functions for alloca.c
376 AC_LIBOBJ([xmalloc])
377 AC_LIBOBJ([error])
378fi
379
380
381# ---------------------------------------------------------------------------
382
383dnl
384dnl Switch into C++
385dnl
386AC_LANG_CPLUSPLUS
387
388dnl
389dnl Now check that Perl is actually around, and can be found
390dnl
391AC_MSG_CHECKING(that Perl 5 is available)
392success="no"
393pl_path="$PATH"
394IFS="${IFS= }"; pl_save_ifs="$IFS"; IFS=":"
395for pl_dir in $pl_path; do
396 test -z "$pl_dir" && pl_dir=.
397 if test -x $pl_dir/perl; then
398 success="yes"
399 break
400 fi
401done
402IFS="$pl_save_ifs"
403
404dnl
405dnl Perl actually can be run; now we see if it is version 5 by
406dnl running a sample script (which returns a "clean" version number
407dnl and then tests the result using expr. If perl errors in some
408dnl way (eg. broken Perl executable, missing script), we set a failure
409dnl value ("0") and then proceed as best we can
410dnl
411if test $success = "yes"; then
412try=`perl configtest.pl` || try="0"
413try=`expr $try \> 5.000`
414if test $try = "1"; then
415AC_MSG_RESULT("yes")
416else
417success="no"
418fi
419fi
420
421if test $success = "no"; then
422AC_MSG_RESULT("no")
423AC_MSG_ERROR("Perl 5 not available - cannot install")
424fi
425
426dnl
427dnl Check if the STL library has any known faults;
428dnl In GCC 2.7.2.x series, some STL library headers are missing
429dnl a file called "new" which is referred to by other headers
430dnl (eg. vector/vector.h); if this applies, then all use of the
431dnl STL will cause a compile fail, so we'd better let the user
432dnl know now, before things really go wrong!
433dnl
434success=no
435AC_MSG_CHECKING("whether STL library has known faults")
436
437dnl - first shot, try simple good old vector on its own
438AC_TRY_COMPILE(
439[#include <vector>
440],
441[],
442success=yes,
443)
444
445dnl - try using the .h equivalent
446if test $success = "no"; then
447AC_TRY_COMPILE(
448[#include <vector.h>
449],
450[],
451success="yes",
452)
453fi
454
455dnl - now try for the objectspace headers
456if test $success = "no"; then
457AC_TRY_COMPILE(
458[#include <ospace\\std\\vector>
459],
460[],
461success="yes",
462)
463fi
464
465if test $success = yes; then
466AC_MSG_RESULT("no")
467else
468AC_MSG_RESULT("yes")
469AC_MSG_ERROR("STL Broken - Obtain newer version of GNU C Compiler")
470fi
471
472gsdlos=`uname | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
473# check for running bash under cygwin
474 if test "`echo $gsdlos | sed 's/cygwin//'`" != "$gsdlos" ;
475 then
476 gsdlos=windows
477 fi
478AC_SUBST(gsdlos)
479
480# check for endianness
481AC_C_BIGENDIAN
482# ---------------------------------------------------------------------------
483if test "$ac_cv_func_alloca" = 'no'; then
484dnl support functions for alloca.c
485 AC_LIBOBJ([xmalloc.o])
486 AC_LIBOBJ([error])
487fi
488
489# ---------------------------------------------------------------------------
490
491dnl
492dnl Locate all children of the modules folder
493dnl
494moduleDirs=""
495MODULEDIRS=""
496if test -d modules ; then
497 for x in `find modules -mindepth 1 -maxdepth 2`; do
498 if test -d "$x"; then
499 d="$x/Makefile.in"
500 if test -e "$d"; then
501 dnl echo $d
502 moduleDirs="$moduleDirs $x/Makefile"
503 MODULEDIRS="$MODULEDIRS $x"
504 fi
505 fi
506 done
507 echo "Making $moduleDirs in modules directory"
508 AC_SUBST(MODULEDIRS)
509fi
510
511
512# ---------------------------------------------------------------------------
513dnl for Darwin, as our packages don't (yet) correctly guess our system type.
514dnl not needed any more?
515dnl ac_configure_args="$ac_configure_args --build=$build --target=$target"
516
517# indexers needs a bindir option to get the binaries into the right place
518gsdlprefix=`pwd`
519ac_configure_args="$ac_configure_args --bindir=$gsdlprefix/bin/$gsdlos --libdir=$gsdlprefix/lib/$gsdlos"
520AC_CONFIG_SUBDIRS(common-src)
521AC_CONFIG_SUBDIRS(build-src)
522
523# the list of folders in the src folder
524srclist="common-src/Makefile \
525 build-src/Makefile"
526
527if test -d runtime-src; then
528 AC_CONFIG_SUBDIRS(runtime-src)
529 srclist="$srclist \
530 runtime-src/Makefile"
531fi
532
533AC_OUTPUT(Makefile $srclist $moduleDirs)
534
535
Note: See TracBrowser for help on using the repository browser.