source: main/trunk/greenstone2/build-src/configure.in@ 24746

Last change on this file since 24746 was 23800, 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 *
File size: 11.1 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
7
8PACKAGE=gsdl
9VERSION=2.x-svn
10AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
11AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
12AC_SUBST(PACKAGE)
13AC_SUBST(VERSION)
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 Set use of z39.50
51dnl
52AC_ARG_ENABLE(z3950, [ --enable-z3950 Enable Z39.50 client support], USE_Z3950=$enableval, USE_Z3950=no)
53if test $USE_Z3950 = "yes" -o $USE_Z3950 = "1" ; then
54 USE_Z3950=1
55 AC_DEFINE(USE_Z3950,[])
56else
57 USE_Z3950=0
58fi
59AC_SUBST(USE_Z3950)
60
61dnl
62dnl Set use of yaz - now compiled by default even when z3950 support not required
63dnl
64AC_ARG_ENABLE(yaz, [ --disable-yaz Disable YAZ compilation], USE_YAZ=$enableval, USE_YAZ=yes)
65if test $USE_YAZ = "yes" -o $USE_YAZ = "1" ; then
66 USE_YAZ=1
67 AC_DEFINE(USE_YAZ,[])
68else
69 USE_YAZ=0
70fi
71AC_SUBST(USE_YAZ)
72
73dnl
74dnl Disable all Java compilation
75dnl
76AC_ARG_ENABLE(java, [ --disable-java Disable Java compilation], ENABLE_JAVA=$enableval, ENABLE_JAVA=yes)
77if test $ENABLE_JAVA = "yes" -o $ENABLE_JAVA = "1" ; then
78 ENABLE_JAVA=1
79 if test "x$JAVA_HOME" != "x" ; then
80 echo "Detected JAVA_HOME is set, however this will not be used during compilation"
81 echo "To control the version of 'javac' and 'java' set environment variables JAVAC"
82 echo "and JAVA respectively"
83 export JAVA_HOME=
84 fi
85else
86 ENABLE_JAVA=0
87fi
88AC_SUBST(ENABLE_JAVA)
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 Checks for programs.
151LDFLAGS=$LDFLAGS
152AC_SUBST(LDFLAGS)
153dnl only set CFLAGS if not already set in environment
154if test -z "$CFLAGS"; then
155CFLAGS=-O2
156fi
157AC_SUBST(CFLAGS)
158
159
160AC_PROG_CC
161AC_PROG_CXX
162if test $ENABLE_JAVA = "1" ; then
163 AC_PROG_JAVAC
164 AC_PROG_JAVA
165fi
166AC_PROG_AWK
167AC_PROG_YACC
168dnl get $target_cpu, $target_vendor, and $target_os
169dnl (as well as host_*)
170AC_CANONICAL_SYSTEM
171dnl do we actually want this? It adds a prefix based on host, system etc
172dnl AC_ARG_PROGRAM
173AC_PROG_INSTALL
174AC_PROG_LN_S
175AC_PROG_MAKE_SET
176AC_PROG_RANLIB
177
178AC_MSG_CHECKING(to see if architecture is 64-bit)
179arch_64bit=no
180case "$host_cpu" in
181x86_64) arch_64bit=yes ;;
182esac
183
184if test "$arch_64bit" = yes; then
185 AC_MSG_RESULT(yes)
186 if test -z "$COMPAT32BITFLAGS" ; then
187 COMPAT32BITFLAGS="-m32"
188 fi
189else
190 AC_MSG_RESULT(no)
191 if test -z "$COMPAT32BITFLAGS" ; then
192 COMPAT32BITFLAGS=
193 fi
194fi
195
196# Only need compat32bitflag if using MG or MGPP
197if test "$ENABLE_MG" = "0" -a "$ENABLE_MGPP" = "0" ; then
198 COMPAT32BITFLAGS=
199fi
200
201export COMPAT32BITFLAGS
202AC_SUBST(COMPAT32BITFLAGS)
203
204
205#moved CORBA MICO directory test to get version of MICO
206if test $USE_CORBA = 1; then
207
208if test $MICO_DIR = "default"; then
209#do something
210MICO_INC="-I packages/mico/mico/include"
211else
212#build the micotest program
213MICO_INC= ""
214if test $MICO_DIR != yes; then
215MICO_INC="-I $MICO_DIR"
216fi
217fi
218
219#get MICO_VER value
220sh -c "$CC -c micotest.cpp -o micotest.o $MICO_INC 2>&1" > /dev/null
221sh -c "$CC -o micotest micotest.o -lstdc++ 2>&1" > /dev/null
222MICO_VER=`./micotest` || MICO_VER=2.3.5
223sh -c "rm micotest"
224sh -c "rm micotest.o"
225
226#do test of MICO_VER
227if test MICO_VER != 0; then
228AC_DEFINE(MICO_VER)
229AC_SUBST(MICO_VER)
230fi
231#end USE_CORBA test
232fi
233
234dnl Checks for typedefs, structures, and compiler characteristics.
235AC_AIX
236AC_ISC_POSIX
237AC_MINIX
238fp_C_PROTOTYPES
239AC_C_CONST
240AC_TYPE_OFF_T
241AC_TYPE_SIZE_T
242AC_HEADER_TIME
243AC_STRUCT_TM
244
245dnl --- This should be in the stdc checking -----------------
246if test "$ac_cv_prog_cc_stdc" = '-Xc'; then
247dnl The Pyramids running SMP_DC.OSx on MIPS r3000 chips with
248dnl /usr/opt/cc3.11/bin/cc treat -Xc as full ANSI mode - no POSIX or
249dnl XOPEN extensions (like popen).
250dnl Unfortunately -D_{XOPEN,POSIX}_SOURCE can't provide all that mg
251dnl needs. So drop back to -Xa
252AC_TRY_COMPILE(
253[#include <stdio.h>
254], [ FILE *rubbish = popen("yes", "r"); ],,
255[CC="`echo $CC | sed 's/-Xc/-Xa/'`" ac_cv_prog_cc_stdc='-Xa'])
256fi
257dnl ----------------------
258
259
260dnl Checks for libraries.
261dnl check for -lg:
262AC_HAVE_LIBRARY(g)
263dnl check for -lm:
264AC_HAVE_LIBRARY(m)
265dnl check for -lcrypt:
266AC_HAVE_LIBRARY(crypt)
267if test $ENABLE_ACCENTFOLD = 1; then
268AC_HAVE_LIBRARY(iconv)
269fi
270
271dnl Checks for header files.
272AC_HEADER_DIRENT
273AC_HEADER_STDC
274AC_CHECK_HEADERS(fcntl.h limits.h sys/time.h unistd.h crypt.h string.h memory.h sys/procfs.h sys/stat.h)
275AC_EGREP_HEADER(fread, stdio.h, AC_DEFINE(HAVE_FREAD_DECL))
276AC_EGREP_HEADER(fgetc, stdio.h, AC_DEFINE(HAVE_FGETC_DECL))
277AC_EGREP_HEADER(pr_brksize, sys/procfs.h, AC_DEFINE(HAVE_PR_BRKSIZE))
278
279dnl Checks for library functions.
280AC_FUNC_ALLOCA
281AC_PROG_GCC_TRADITIONAL
282AC_TYPE_SIGNAL
283AC_FUNC_VPRINTF
284AC_CHECK_FUNCS(ftime select strftime strtol getrusage times mallinfo setbuffer getpagesize strerror)
285AC_REPLACE_FUNCS(ftruncate strstr strcasecmp)
286
287dnl see if gettext is in libc. (try the textdomain() function).
288AC_CHECK_FUNC(textdomain, AC_DEFINE(ENABLE_NLS ,1) )
289
290# *** Custom checking (based on GNU tar configure.in) ***
291# ---------------------------------------------------------------------------
292AC_MSG_CHECKING(for HP-UX needing gmalloc)
293if test "`(uname -s) 2> /dev/null`" = 'HP-UX'; then
294 AC_MSG_RESULT(yes)
295 AC_LIBOBJ([gmalloc])
296 AC_DEFINE(HAVE_VALLOC)
297else
298 AC_MSG_RESULT(no)
299 AC_CHECK_FUNCS(valloc)
300fi
301
302# we cannot generate static libraries under Darwin
303AC_MSG_CHECKING(for Apple MacOS X/Darwin)
304if test "`(uname -s) 2> /dev/null`" = 'Darwin'; then
305 AC_MSG_RESULT(yes)
306 STATIC=""
307else
308 AC_MSG_RESULT(no)
309 STATIC="-static "
310fi
311AC_SUBST(STATIC)
312
313fp_WITH_DMALLOC
314fp_WITH_REGEX
315
316# ---------------------------------------------------------------------------
317if test "$ac_cv_func_alloca" = 'no'; then
318dnl support functions for alloca.c
319 AC_LIBOBJ([xmalloc])
320 AC_LIBOBJ([error])
321fi
322
323
324# ---------------------------------------------------------------------------
325
326dnl
327dnl Switch into C++
328dnl
329AC_LANG_CPLUSPLUS
330
331dnl
332dnl Now check that Perl is actually around, and can be found
333dnl
334AC_MSG_CHECKING(that Perl 5 is available)
335success="no"
336pl_path="$PATH"
337IFS="${IFS= }"; pl_save_ifs="$IFS"; IFS=":"
338for pl_dir in $pl_path; do
339 test -z "$pl_dir" && pl_dir=.
340 if test -x $pl_dir/perl; then
341 success="yes"
342 break
343 fi
344done
345IFS="$pl_save_ifs"
346
347dnl
348dnl Perl actually can be run; now we see if it is version 5 by
349dnl running a sample script (which returns a "clean" version number
350dnl and then tests the result using expr. If perl errors in some
351dnl way (eg. broken Perl executable, missing script), we set a failure
352dnl value ("0") and then proceed as best we can
353dnl
354if test $success = "yes"; then
355try=`perl configtest.pl` || try="0"
356try=`expr $try \> 5.000`
357if test $try = "1"; then
358AC_MSG_RESULT("yes")
359else
360success="no"
361fi
362fi
363
364if test $success = "no"; then
365AC_MSG_RESULT("no")
366AC_MSG_ERROR("Perl 5 not available - cannot install")
367fi
368
369dnl
370dnl Check if the STL library has any known faults;
371dnl In GCC 2.7.2.x series, some STL library headers are missing
372dnl a file called "new" which is referred to by other headers
373dnl (eg. vector/vector.h); if this applies, then all use of the
374dnl STL will cause a compile fail, so we'd better let the user
375dnl know now, before things really go wrong!
376dnl
377success=no
378AC_MSG_CHECKING("whether STL library has known faults")
379
380dnl - first shot, try simple good old vector on its own
381AC_TRY_COMPILE(
382[#include <vector>
383],
384[],
385success=yes,
386)
387
388dnl - try using the .h equivalent
389if test $success = "no"; then
390AC_TRY_COMPILE(
391[#include <vector.h>
392],
393[],
394success="yes",
395)
396fi
397
398dnl - now try for the objectspace headers
399if test $success = "no"; then
400AC_TRY_COMPILE(
401[#include <ospace\\std\\vector>
402],
403[],
404success="yes",
405)
406fi
407
408if test $success = yes; then
409AC_MSG_RESULT("no")
410else
411AC_MSG_RESULT("yes")
412AC_MSG_ERROR("STL Broken - Obtain newer version of GNU C Compiler")
413fi
414
415gsdlos=`uname | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
416# check for running bash under cygwin
417 if test "`echo $gsdlos | sed 's/cygwin//'`" != "$gsdlos" ;
418 then
419 gsdlos=windows
420 fi
421AC_SUBST(gsdlos)
422
423# check for endianness
424AC_C_BIGENDIAN
425# ---------------------------------------------------------------------------
426if test "$ac_cv_func_alloca" = 'no'; then
427dnl support functions for alloca.c
428 AC_LIBOBJ([xmalloc.o])
429 AC_LIBOBJ([error])
430fi
431
432# ---------------------------------------------------------------------------
433
434dnl
435dnl Locate all children of the modules folder
436dnl
437moduleDirs=""
438MODULEDIRS=""
439if test -d modules ; then
440 for x in `find modules -mindepth 1 -maxdepth 2`; do
441 if test -d "$x"; then
442 d="$x/Makefile.in"
443 if test -e "$d"; then
444 dnl echo $d
445 moduleDirs="$moduleDirs $x/Makefile"
446 MODULEDIRS="$MODULEDIRS $x"
447 fi
448 fi
449 done
450 echo "Making $moduleDirs in modules directory"
451 AC_SUBST(MODULEDIRS)
452fi
453
454
455# ---------------------------------------------------------------------------
456AC_CONFIG_SUBDIRS(packages)
457
458# the list of folders in the src folder
459srclist="src/hashfile/Makefile \
460 src/phind/generate/Makefile \
461 src/java/org/nzdl/gsdl/Makefile"
462
463AC_OUTPUT(packages/Makefile Makefile $srclist $moduleDirs)
464
465
Note: See TracBrowser for help on using the repository browser.