source: main/branches/64_bit_Greenstone/greenstone2/common-src/configure.in@ 23508

Last change on this file since 23508 was 23508, checked in by sjm84, 13 years ago

Committing 64 bit changes into the branch

  • Property svn:executable set to *
File size: 11.3 KB
RevLine 
[16566]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
[23356]11VERSION=2.x-svn
[16566]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
[21446]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
[16566]45AC_SUBST(USE_CORBA)
46
[21440]47AC_ARG_WITH(micodir, [ --with-micodir Use installed MICO directory], MICO_DIR=$withval, MICO_DIR="default")
[16566]48AC_DEFINE_UNQUOTED(MICO_DIR, "$MICO_DIR")
49AC_SUBST(MICO_DIR)
50
51dnl
52dnl Set use of z39.50
53dnl
[21446]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
[16566]61AC_SUBST(USE_Z3950)
62
63dnl
64dnl Set use of yaz - now compiled by default even when z3950 support not required
65dnl
[21446]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
[16566]73AC_SUBST(USE_YAZ)
74
[22058]75dnl
[23356]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
[22058]93dnl Set use of JDBM (enabled by default)
94dnl
95AC_ARG_ENABLE(jdbm, [ --disable-jdbm Disable JDBM compilation], USE_JDBM=$enableval, USE_JDBM=yes)
[23356]96if test $ENABLE_JAVA = "1" -a \( $USE_JDBM = "yes" -o $USE_JDBM = "1" \) ; then
[22058]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
[16566]116dnl
117dnl disable compilation of accent folding stuff for mgpp (and one day mg)
118dnl
[21446]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
[16566]126AC_SUBST(ENABLE_ACCENTFOLD)
127
[21409]128
129dnl
[16566]130dnl Set use of SQLite (enabled by default)
131dnl
[21446]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
[16566]139AC_SUBST(USE_SQLITE)
140
[21327]141dnl
[21365]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)
[23356]145if test $ENABLE_JAVA = "1" -a \( $ENABLE_JNI = "yes" -o $ENABLE_JNI = "1" \) ; then
[21365]146 ENABLE_JNI=1
147 AC_DEFINE(ENABLE_JNI,[])
148else
149 ENABLE_JNI=0
150fi
151AC_SUBST(ENABLE_JNI)
152
153dnl
[21327]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)
[23356]181if test $ENABLE_JAVA = "1" -a \( $ENABLE_LUCENE = "yes" -o $ENABLE_LUCENE = "1" \) ; then
[21327]182 ENABLE_LUCENE=1
183 AC_DEFINE(ENABLE_LUCENE,[])
184else
185 ENABLE_LUCENE=0
186fi
187AC_SUBST(ENABLE_LUCENE)
188
189
[16566]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
[23356]202if test $ENABLE_JAVA = "1" ; then
203 AC_PROG_JAVA
204 AC_PROG_JAVAC
205fi
[16566]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
217
[23508]218dnl AC_MSG_CHECKING(to see if architecture is 64-bit)
219dnl arch_64bit=no
220dnl case "$host_cpu" in
221dnl x86_64) arch_64bit=yes ;;
222dnl esac
[16566]223
224#moved CORBA MICO directory test to get version of MICO
225if test $USE_CORBA = 1; then
226
227if test $MICO_DIR = "default"; then
228#do something
229MICO_INC="-I packages/mico/mico/include"
230else
231#build the micotest program
232MICO_INC= ""
233if test $MICO_DIR != yes; then
234MICO_INC="-I $MICO_DIR"
235fi
236fi
237
238#get MICO_VER value
239sh -c "$CC -c micotest.cpp -o micotest.o $MICO_INC 2>&1" > /dev/null
240sh -c "$CC -o micotest micotest.o -lstdc++ 2>&1" > /dev/null
241MICO_VER=`./micotest` || MICO_VER=2.3.5
242sh -c "rm micotest"
243sh -c "rm micotest.o"
244
245#do test of MICO_VER
246if test MICO_VER != 0; then
247AC_DEFINE(MICO_VER)
248AC_SUBST(MICO_VER)
249fi
250#end USE_CORBA test
251fi
252
253dnl Checks for typedefs, structures, and compiler characteristics.
254AC_AIX
255AC_ISC_POSIX
256AC_MINIX
257fp_C_PROTOTYPES
258AC_C_CONST
259AC_TYPE_OFF_T
260AC_TYPE_SIZE_T
261AC_HEADER_TIME
262AC_STRUCT_TM
263
264dnl --- This should be in the stdc checking -----------------
265if test "$ac_cv_prog_cc_stdc" = '-Xc'; then
266dnl The Pyramids running SMP_DC.OSx on MIPS r3000 chips with
267dnl /usr/opt/cc3.11/bin/cc treat -Xc as full ANSI mode - no POSIX or
268dnl XOPEN extensions (like popen).
269dnl Unfortunately -D_{XOPEN,POSIX}_SOURCE can't provide all that mg
270dnl needs. So drop back to -Xa
271AC_TRY_COMPILE(
272[#include <stdio.h>
273], [ FILE *rubbish = popen("yes", "r"); ],,
274[CC="`echo $CC | sed 's/-Xc/-Xa/'`" ac_cv_prog_cc_stdc='-Xa'])
275fi
276dnl ----------------------
277
278
279dnl Checks for libraries.
280dnl check for -lg:
281AC_HAVE_LIBRARY(g)
282dnl check for -lm:
283AC_HAVE_LIBRARY(m)
284dnl check for -lcrypt:
285AC_HAVE_LIBRARY(crypt)
[20846]286#if test $ENABLE_ACCENTFOLD = 1; then
287#AC_HAVE_LIBRARY(iconv)
288#fi
[16566]289
290dnl Checks for header files.
291AC_HEADER_DIRENT
292AC_HEADER_STDC
293AC_CHECK_HEADERS(fcntl.h limits.h sys/time.h unistd.h crypt.h string.h memory.h sys/procfs.h sys/stat.h)
294AC_EGREP_HEADER(fread, stdio.h, AC_DEFINE(HAVE_FREAD_DECL))
295AC_EGREP_HEADER(fgetc, stdio.h, AC_DEFINE(HAVE_FGETC_DECL))
296AC_EGREP_HEADER(pr_brksize, sys/procfs.h, AC_DEFINE(HAVE_PR_BRKSIZE))
297
298dnl Checks for library functions.
299AC_FUNC_ALLOCA
300AC_PROG_GCC_TRADITIONAL
301AC_TYPE_SIGNAL
302AC_FUNC_VPRINTF
303AC_CHECK_FUNCS(ftime select strftime strtol getrusage times mallinfo setbuffer getpagesize strerror)
304AC_REPLACE_FUNCS(ftruncate strstr strcasecmp)
305
306dnl see if gettext is in libc. (try the textdomain() function).
307AC_CHECK_FUNC(textdomain, AC_DEFINE(ENABLE_NLS ,1) )
308
309# *** Custom checking (based on GNU tar configure.in) ***
310# ---------------------------------------------------------------------------
311AC_MSG_CHECKING(for HP-UX needing gmalloc)
312if test "`(uname -s) 2> /dev/null`" = 'HP-UX'; then
313 AC_MSG_RESULT(yes)
314 AC_LIBOBJ([gmalloc])
315 AC_DEFINE(HAVE_VALLOC)
316else
317 AC_MSG_RESULT(no)
318 AC_CHECK_FUNCS(valloc)
319fi
320
321# we cannot generate static libraries under Darwin
322AC_MSG_CHECKING(for Apple MacOS X/Darwin)
323if test "`(uname -s) 2> /dev/null`" = 'Darwin'; then
324 AC_MSG_RESULT(yes)
325 STATIC=""
326else
327 AC_MSG_RESULT(no)
328 STATIC="-static "
329fi
330AC_SUBST(STATIC)
331
332fp_WITH_DMALLOC
333fp_WITH_REGEX
334
335# ---------------------------------------------------------------------------
336if test "$ac_cv_func_alloca" = 'no'; then
337dnl support functions for alloca.c
338 AC_LIBOBJ([xmalloc])
339 AC_LIBOBJ([error])
340fi
341
342
343# ---------------------------------------------------------------------------
344
345dnl
346dnl Switch into C++
347dnl
348AC_LANG_CPLUSPLUS
349
350dnl
351dnl Check if the STL library has any known faults;
352dnl In GCC 2.7.2.x series, some STL library headers are missing
353dnl a file called "new" which is referred to by other headers
354dnl (eg. vector/vector.h); if this applies, then all use of the
355dnl STL will cause a compile fail, so we'd better let the user
356dnl know now, before things really go wrong!
357dnl
358success=no
359AC_MSG_CHECKING("whether STL library has known faults")
360
361dnl - first shot, try simple good old vector on its own
362AC_TRY_COMPILE(
363[#include <vector>
364],
365[],
366success=yes,
367)
368
369dnl - try using the .h equivalent
370if test $success = "no"; then
371AC_TRY_COMPILE(
372[#include <vector.h>
373],
374[],
375success="yes",
376)
377fi
378
379dnl - now try for the objectspace headers
380if test $success = "no"; then
381AC_TRY_COMPILE(
382[#include <ospace\\std\\vector>
383],
384[],
385success="yes",
386)
387fi
388
389if test $success = yes; then
390AC_MSG_RESULT("no")
391else
392AC_MSG_RESULT("yes")
393AC_MSG_ERROR("STL Broken - Obtain newer version of GNU C Compiler")
394fi
395
396gsdlos=`uname | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
397# check for running bash under cygwin
398 if test "`echo $gsdlos | sed 's/cygwin//'`" != "$gsdlos" ;
399 then
400 gsdlos=windows
401 fi
402AC_SUBST(gsdlos)
403
404# check for endianness
405AC_C_BIGENDIAN
406# ---------------------------------------------------------------------------
407if test "$ac_cv_func_alloca" = 'no'; then
408dnl support functions for alloca.c
409 AC_LIBOBJ([xmalloc.o])
410 AC_LIBOBJ([error])
411fi
412
413# ---------------------------------------------------------------------------
414
415
416dnl
417dnl Locate all children of the modules folder
418dnl
419moduleDirs=""
420MODULEDIRS=""
[16593]421if test -d modules ; then
[16566]422 for x in `find modules -mindepth 1 -maxdepth 2`; do
423 if test -d "$x"; then
424 d="$x/Makefile.in"
425 if test -e "$d"; then
426 dnl echo $d
427 moduleDirs="$moduleDirs $x/Makefile"
428 MODULEDIRS="$MODULEDIRS $x"
429 fi
430 fi
431 done
432 echo "Making $moduleDirs in modules directory"
433 AC_SUBST(MODULEDIRS)
434fi
435
436
437# ---------------------------------------------------------------------------
438
[20832]439AC_CONFIG_SUBDIRS(packages)
[16566]440
[20832]441commonsrcprefix=`pwd`
442ac_configure_args="$ac_configure_args --with-libiconv-prefix=$commonsrcprefix/packages/iconv"
443AC_CONFIG_SUBDIRS(indexers)
444
[16566]445# the list of folders in the src folder
446srclist="src/lib/Makefile \
447 src/gdbmedit/db2txt/Makefile \
448 src/gdbmedit/txt2db/Makefile \
449 src/gdbmedit/gdbmget/Makefile \
450 src/gdbmedit/gdbmset/Makefile \
[23356]451 src/gdbmedit/gdbmkeys/Makefile \
452 src/gdbmedit/gdbmdel/Makefile \
453 src/getpw/Makefile \
454 src/jdbmedit/Makefile"
[16566]455
456AC_OUTPUT(packages/Makefile Makefile $srclist $moduleDirs)
457
458
Note: See TracBrowser for help on using the repository browser.