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