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

Last change on this file since 26809 was 26809, checked in by davidb, 11 years ago

Strip test added

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