root/main/trunk/greenstone2/common-src/configure.in @ 32221

Revision 26808, 12.0 KB (checked in by davidb, 7 years ago)

Strip test added

  • Property svn:executable set to *
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 browser.