source: main/trunk/greenstone2/common-src/configure.in@ 31960

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

Strip test added

  • Property svn:executable set to *
File size: 12.0 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(src/lib/text_t.h)
5AC_CONFIG_HEADER(config.h)
6
7
8
9
10PACKAGE=gsdl
11VERSION=2.x-svn
12AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
13AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
14AC_SUBST(PACKAGE)
15AC_SUBST(VERSION)
16
17dnl
18dnl Set use of fast cgi
19dnl
20USE_FASTCGI=0
21if test USE_FASTCGI = 1; then
22AC_DEFINE(USE_FASTCGI)
23AC_SUBST(USE_FASTCGI)
24fi
25
26dnl
27dnl Set use of langaction
28dnl
29dnl USE_LANGACTION=0
30if test USE_LANGACTION = 1; then
31AC_DEFINE(USE_LANGACTION)
32AC_SUBST(USE_LANGACTION)
33fi
34
35dnl
36dnl Set use of corba
37dnl
38AC_ARG_ENABLE(corba, [ --enable-corba Enable CORBA support], USE_CORBA=$enableval, USE_CORBA=no)
39if test $USE_CORBA = "yes" -o $USE_CORBA = "1" ; then
40 USE_CORBA=1
41 AC_DEFINE(USE_CORBA,[])
42else
43 USE_CORBA=0
44fi
45AC_SUBST(USE_CORBA)
46
47AC_ARG_WITH(micodir, [ --with-micodir Use installed MICO directory], MICO_DIR=$withval, MICO_DIR="default")
48AC_DEFINE_UNQUOTED(MICO_DIR, "$MICO_DIR")
49AC_SUBST(MICO_DIR)
50
51dnl
52dnl Set use of z39.50
53dnl
54AC_ARG_ENABLE(z3950, [ --enable-z3950 Enable Z39.50 client support], USE_Z3950=$enableval, USE_Z3950=no)
55if test $USE_Z3950 = "yes" -o $USE_Z3950 = "1" ; then
56 USE_Z3950=1
57 AC_DEFINE(USE_Z3950,[])
58else
59 USE_Z3950=0
60fi
61AC_SUBST(USE_Z3950)
62
63dnl
64dnl Set use of yaz - now compiled by default even when z3950 support not required
65dnl
66AC_ARG_ENABLE(yaz, [ --disable-yaz Disable YAZ compilation], USE_YAZ=$enableval, USE_YAZ=yes)
67if test $USE_YAZ = "yes" -o $USE_YAZ = "1" ; then
68 USE_YAZ=1
69 AC_DEFINE(USE_YAZ,[])
70else
71 USE_YAZ=0
72fi
73AC_SUBST(USE_YAZ)
74
75dnl
76dnl Disable all Java compilation
77dnl
78AC_ARG_ENABLE(java, [ --disable-java Disable Java compilation], ENABLE_JAVA=$enableval, ENABLE_JAVA=yes)
79if test $ENABLE_JAVA = "yes" -o $ENABLE_JAVA = "1" ; then
80 ENABLE_JAVA=1
81 if test "x$JAVA_HOME" != "x" ; then
82 echo "Detected JAVA_HOME is set, however this will not be used during compilation"
83 echo "To control the version of 'javac' and 'java' set environment variables JAVAC"
84 echo "and JAVA respectively"
85 export JAVA_HOME=
86 fi
87else
88 ENABLE_JAVA=0
89fi
90AC_SUBST(ENABLE_JAVA)
91
92dnl
93dnl Set use of JDBM (enabled by default)
94dnl
95AC_ARG_ENABLE(jdbm, [ --disable-jdbm Disable JDBM compilation], USE_JDBM=$enableval, USE_JDBM=yes)
96if test $ENABLE_JAVA = "1" -a \( $USE_JDBM = "yes" -o $USE_JDBM = "1" \) ; then
97 USE_JDBM=1
98 AC_DEFINE(USE_JDBM,[])
99else
100 USE_JDBM=0
101fi
102AC_SUBST(USE_JDBM)
103
104dnl
105dnl Set use of GDBM (enabled by default)
106dnl
107AC_ARG_ENABLE(gdbm, [ --disable-gdbm Disable GDBM compilation], USE_GDBM=$enableval, USE_GDBM=yes)
108if test $USE_GDBM = "yes" -o $USE_GDBM = "1" ; then
109 USE_GDBM=1
110 AC_DEFINE(USE_GDBM,[])
111else
112 USE_GDBM=0
113fi
114AC_SUBST(USE_GDBM)
115
116dnl
117dnl disable compilation of accent folding stuff for mgpp (and one day mg)
118dnl
119AC_ARG_ENABLE(accentfold, [ --disable-accentfold Disable Accent Folding for MGPP], ENABLE_ACCENTFOLD=$enableval, ENABLE_ACCENTFOLD=yes)
120if test $ENABLE_ACCENTFOLD = "yes" -o $ENABLE_ACCENTFOLD = "1" ; then
121 ENABLE_ACCENTFOLD=1
122 AC_DEFINE(ENABLE_ACCENTFOLD,[])
123else
124 ENABLE_ACCENTFOLD=0
125fi
126AC_SUBST(ENABLE_ACCENTFOLD)
127
128
129dnl
130dnl Set use of SQLite (enabled by default)
131dnl
132AC_ARG_ENABLE(sqlite, [ --disable-sqlite Disable SQLite support], USE_SQLITE=$enableval, USE_SQLITE=yes)
133if test $USE_SQLITE = "yes" -o $USE_SQLITE = "1" ; then
134 USE_SQLITE=1
135 AC_DEFINE(USE_SQLITE,[])
136else
137 USE_SQLITE=0
138fi
139AC_SUBST(USE_SQLITE)
140
141dnl
142dnl Set compilation of JNI parts of MG and MGPP indexers (disabled by default, which is GS2's default behaviour)
143dnl
144AC_ARG_ENABLE(jni, [ --enable-jni Enable JNI compilation], ENABLE_JNI=$enableval, ENABLE_JNI=no)
145if test $ENABLE_JAVA = "1" -a \( $ENABLE_JNI = "yes" -o $ENABLE_JNI = "1" \) ; then
146 ENABLE_JNI=1
147 AC_DEFINE(ENABLE_JNI,[])
148else
149 ENABLE_JNI=0
150fi
151AC_SUBST(ENABLE_JNI)
152
153dnl
154dnl Set compilation of MG (enabled by default)
155dnl
156AC_ARG_ENABLE(mg, [ --disable-mg Disable MG compilation], ENABLE_MG=$enableval, ENABLE_MG=yes)
157if test $ENABLE_MG = "yes" -o $ENABLE_MG = "1" ; then
158 ENABLE_MG=1
159 AC_DEFINE(ENABLE_MG,[])
160else
161 ENABLE_MG=0
162fi
163AC_SUBST(ENABLE_MG)
164
165dnl
166dnl Set compilation of MGPP (enabled by default)
167dnl
168AC_ARG_ENABLE(mgpp, [ --disable-mgpp Disable MGPP compilation], ENABLE_MGPP=$enableval, ENABLE_MGPP=yes)
169if test $ENABLE_MGPP = "yes" -o $ENABLE_MGPP = "1" ; then
170 ENABLE_MGPP=1
171 AC_DEFINE(ENABLE_MGPP,[])
172else
173 ENABLE_MGPP=0
174fi
175AC_SUBST(ENABLE_MGPP)
176
177dnl
178dnl Set compilation of lucene (enabled by default)
179dnl
180AC_ARG_ENABLE(lucene, [ --disable-lucene Disable Lucene compilation], ENABLE_LUCENE=$enableval, ENABLE_LUCENE=yes)
181if test $ENABLE_JAVA = "1" -a \( $ENABLE_LUCENE = "yes" -o $ENABLE_LUCENE = "1" \) ; then
182 ENABLE_LUCENE=1
183 AC_DEFINE(ENABLE_LUCENE,[])
184else
185 ENABLE_LUCENE=0
186fi
187AC_SUBST(ENABLE_LUCENE)
188
189
190dnl Checks for programs.
191LDFLAGS=$LDFLAGS
192AC_SUBST(LDFLAGS)
193dnl only set CFLAGS if not already set in environment
194if test -z "$CFLAGS"; then
195CFLAGS=-O2
196fi
197AC_SUBST(CFLAGS)
198
199
200AC_PROG_CC
201AC_PROG_CXX
202if test $ENABLE_JAVA = "1" ; then
203 AC_PROG_JAVA
204 AC_PROG_JAVAC
205fi
206AC_PROG_AWK
207AC_PROG_YACC
208dnl get $target_cpu, $target_vendor, and $target_os
209dnl (as well as host_*)
210AC_CANONICAL_SYSTEM
211dnl do we actually want this? It adds a prefix based on host, system etc
212dnl AC_ARG_PROGRAM
213AC_PROG_INSTALL
214AC_PROG_LN_S
215AC_PROG_MAKE_SET
216AC_PROG_RANLIB
217AC_CHECK_TOOL([STRIP],[strip])
218
219AC_MSG_CHECKING(to see if architecture is 64-bit)
220arch_64bit=no
221case "$host_cpu" in
222x86_64) arch_64bit=yes ;;
223esac
224
225if test "$arch_64bit" = yes; then
226 AC_MSG_RESULT(yes)
227 if test -z "$ARCH_DEP_FLAGS" ; then
228 ARCH_DEP_FLAGS="-fPIC"
229 gsdlarch='64'
230 fi
231else
232 AC_MSG_RESULT(no)
233 if test -z "$ARCH_DEP_FLAGS" ; then
234 ARCH_DEP_FLAGS=
235 gsdlarch='32'
236 fi
237fi
238
239export ARCH_DEP_FLAGS
240AC_SUBST(ARCH_DEP_FLAGS)
241
242
243#moved CORBA MICO directory test to get version of MICO
244if test $USE_CORBA = 1; then
245
246if test $MICO_DIR = "default"; then
247#do something
248MICO_INC="-I packages/mico/mico/include"
249else
250#build the micotest program
251MICO_INC= ""
252if test $MICO_DIR != yes; then
253MICO_INC="-I $MICO_DIR"
254fi
255fi
256
257#get MICO_VER value
258sh -c "$CC -c micotest.cpp -o micotest.o $MICO_INC 2>&1" > /dev/null
259sh -c "$CC -o micotest micotest.o -lstdc++ 2>&1" > /dev/null
260MICO_VER=`./micotest` || MICO_VER=2.3.5
261sh -c "rm micotest"
262sh -c "rm micotest.o"
263
264#do test of MICO_VER
265if test MICO_VER != 0; then
266AC_DEFINE(MICO_VER)
267AC_SUBST(MICO_VER)
268fi
269#end USE_CORBA test
270fi
271
272dnl Checks for typedefs, structures, and compiler characteristics.
273AC_AIX
274AC_ISC_POSIX
275AC_MINIX
276fp_C_PROTOTYPES
277AC_C_CONST
278AC_TYPE_OFF_T
279AC_TYPE_SIZE_T
280AC_HEADER_TIME
281AC_STRUCT_TM
282
283dnl --- This should be in the stdc checking -----------------
284if test "$ac_cv_prog_cc_stdc" = '-Xc'; then
285dnl The Pyramids running SMP_DC.OSx on MIPS r3000 chips with
286dnl /usr/opt/cc3.11/bin/cc treat -Xc as full ANSI mode - no POSIX or
287dnl XOPEN extensions (like popen).
288dnl Unfortunately -D_{XOPEN,POSIX}_SOURCE can't provide all that mg
289dnl needs. So drop back to -Xa
290AC_TRY_COMPILE(
291[#include <stdio.h>
292], [ FILE *rubbish = popen("yes", "r"); ],,
293[CC="`echo $CC | sed 's/-Xc/-Xa/'`" ac_cv_prog_cc_stdc='-Xa'])
294fi
295dnl ----------------------
296
297
298dnl Checks for libraries.
299dnl check for -lg:
300AC_HAVE_LIBRARY(g)
301dnl check for -lm:
302AC_HAVE_LIBRARY(m)
303dnl check for -lcrypt:
304AC_HAVE_LIBRARY(crypt)
305#if test $ENABLE_ACCENTFOLD = 1; then
306#AC_HAVE_LIBRARY(iconv)
307#fi
308
309dnl Checks for header files.
310AC_HEADER_DIRENT
311AC_HEADER_STDC
312AC_CHECK_HEADERS(fcntl.h limits.h sys/time.h unistd.h crypt.h string.h memory.h sys/procfs.h sys/stat.h)
313AC_EGREP_HEADER(fread, stdio.h, AC_DEFINE(HAVE_FREAD_DECL))
314AC_EGREP_HEADER(fgetc, stdio.h, AC_DEFINE(HAVE_FGETC_DECL))
315AC_EGREP_HEADER(pr_brksize, sys/procfs.h, AC_DEFINE(HAVE_PR_BRKSIZE))
316
317dnl Checks for library functions.
318AC_FUNC_ALLOCA
319AC_PROG_GCC_TRADITIONAL
320AC_TYPE_SIGNAL
321AC_FUNC_VPRINTF
322AC_CHECK_FUNCS(ftime select strftime strtol getrusage times mallinfo setbuffer getpagesize strerror)
323AC_REPLACE_FUNCS(ftruncate strstr strcasecmp)
324
325dnl see if gettext is in libc. (try the textdomain() function).
326AC_CHECK_FUNC(textdomain, AC_DEFINE(ENABLE_NLS ,1) )
327
328# *** Custom checking (based on GNU tar configure.in) ***
329# ---------------------------------------------------------------------------
330AC_MSG_CHECKING(for HP-UX needing gmalloc)
331if test "`(uname -s) 2> /dev/null`" = 'HP-UX'; then
332 AC_MSG_RESULT(yes)
333 AC_LIBOBJ([gmalloc])
334 AC_DEFINE(HAVE_VALLOC)
335else
336 AC_MSG_RESULT(no)
337 AC_CHECK_FUNCS(valloc)
338fi
339
340# we cannot generate static libraries under Darwin
341AC_MSG_CHECKING(for Apple MacOS X/Darwin)
342if test "`(uname -s) 2> /dev/null`" = 'Darwin'; then
343 AC_MSG_RESULT(yes)
344 STATIC=""
345else
346 AC_MSG_RESULT(no)
347 STATIC="-static "
348fi
349AC_SUBST(STATIC)
350
351fp_WITH_DMALLOC
352fp_WITH_REGEX
353
354# ---------------------------------------------------------------------------
355if test "$ac_cv_func_alloca" = 'no'; then
356dnl support functions for alloca.c
357 AC_LIBOBJ([xmalloc])
358 AC_LIBOBJ([error])
359fi
360
361
362# ---------------------------------------------------------------------------
363
364dnl
365dnl Switch into C++
366dnl
367AC_LANG_CPLUSPLUS
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
421if test "x$crossOS" != "x" ; then
422 gsdlos=$crossOS
423 gsdlarch=""
424fi
425AC_SUBST(gsdlos)
426
427# Make gsdlarch empty if the OS bit value (32 or 64) is not used in naming
428# directories already or if common-src is compiled up on its own.
429# E.g. 32/64 bit won't be used in the SVN version if only bin/linux exists.
430if test ! -d "../bin/$gsdlos$gsdlarch" -o ! -f "../setup.bash" ; then
431 gsdlarch=""
432fi
433AC_SUBST(gsdlarch)
434
435# check for endianness
436AC_C_BIGENDIAN
437# ---------------------------------------------------------------------------
438if test "$ac_cv_func_alloca" = 'no'; then
439dnl support functions for alloca.c
440 AC_LIBOBJ([xmalloc.o])
441 AC_LIBOBJ([error])
442fi
443
444# ---------------------------------------------------------------------------
445
446
447dnl
448dnl Locate all children of the modules folder
449dnl
450moduleDirs=""
451MODULEDIRS=""
452if test -d modules ; then
453 for x in `find modules -mindepth 1 -maxdepth 2`; do
454 if test -d "$x"; then
455 d="$x/Makefile.in"
456 if test -e "$d"; then
457 dnl echo $d
458 moduleDirs="$moduleDirs $x/Makefile"
459 MODULEDIRS="$MODULEDIRS $x"
460 fi
461 fi
462 done
463 echo "Making $moduleDirs in modules directory"
464 AC_SUBST(MODULEDIRS)
465fi
466
467
468# ---------------------------------------------------------------------------
469
470AC_CONFIG_SUBDIRS(packages)
471
472commonsrcprefix=`pwd`
473ac_configure_args="$ac_configure_args --with-libiconv-prefix=$commonsrcprefix/packages/iconv"
474AC_CONFIG_SUBDIRS(indexers)
475
476# the list of folders in the src folder
477srclist="cgi-bin/Makefile \
478 src/lib/Makefile \
479 src/gdbmedit/db2txt/Makefile \
480 src/gdbmedit/txt2db/Makefile \
481 src/gdbmedit/gdbmget/Makefile \
482 src/gdbmedit/gdbmset/Makefile \
483 src/gdbmedit/gdbmkeys/Makefile \
484 src/gdbmedit/gdbmdel/Makefile \
485 src/getpw/Makefile \
486 src/jdbmedit/Makefile"
487
488AC_OUTPUT(packages/Makefile Makefile $srclist $moduleDirs)
489
490
Note: See TracBrowser for help on using the repository browser.