source: main/trunk/greenstone2/configure.in@ 24961

Last change on this file since 24961 was 24958, checked in by ak19, 12 years ago

First commit to do with Greenstone's support for RSS. Committing Dr Bainbridge's code which was already working for windows. This has now been tested on Linux, where it can be got to work with changes to zextra.dm and base.dm and if the rss-items.rdf file generated by the update to BasePlugout is moved to the index folder). The next set of commits will make the way rssaction.cpp accesses the rss-items.rdf file independent of where the GS server is located, with changes to the protocol class.

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 13.5 KB
RevLine 
[552]1dnl Process this file with autoconf to produce a configure script.
[8758]2dnl Use autoconf-2.59 or later... it might not work anymore with
3dnl the older 2.1x versions - jrm21 12/2004
[16563]4AC_INIT()
[684]5AC_CONFIG_HEADER(config.h)
[552]6
[554]7PACKAGE=gsdl
[23356]8VERSION=2.x-svn
[552]9AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
10AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
11AC_SUBST(PACKAGE)
12AC_SUBST(VERSION)
[567]13
[18483]14
[1860]15dnl
16dnl Set use of fast cgi
17dnl
[566]18USE_FASTCGI=0
19if test USE_FASTCGI = 1; then
20AC_DEFINE(USE_FASTCGI)
21AC_SUBST(USE_FASTCGI)
22fi
[552]23
[1860]24dnl
[3631]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
[1860]34dnl Set use of corba
35dnl
[21446]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
[2051]43AC_SUBST(USE_CORBA)
[1860]44
[21330]45AC_ARG_WITH(micodir, [ --with-micodir Use installed MICO directory], MICO_DIR=$withval, MICO_DIR="default")
[2296]46AC_DEFINE_UNQUOTED(MICO_DIR, "$MICO_DIR")
[2051]47AC_SUBST(MICO_DIR)
[1860]48
[1938]49dnl
[23356]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
[1938]67dnl Set use of z39.50
68dnl
[21446]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
[1938]76AC_SUBST(USE_Z3950)
77
[2279]78dnl
[12492]79dnl Set use of yaz - now compiled by default even when z3950 support not required
80dnl
[21446]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
[12492]88AC_SUBST(USE_YAZ)
89
[22058]90dnl
[23801]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
[22058]103dnl Set use of JDBM (enabled by default)
104dnl
[23356]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
[22058]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
[23356]117AC_ARG_ENABLE(gdbm, [ --disable-gdbm Disable GDBM compilation], USE_GDBM=$enableval, USE_GDBM=yes)
[22058]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
[12922]126dnl
127dnl disable compilation of accent folding stuff for mgpp (and one day mg)
128dnl
[21446]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
[12922]136AC_SUBST(ENABLE_ACCENTFOLD)
137
[15901]138dnl
[16288]139dnl Set use of SQLite (enabled by default)
[15901]140dnl
[21446]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
[15901]148AC_SUBST(USE_SQLITE)
149
[18483]150dnl
[24958]151dnl Set use of RSS (enabled by default)
152dnl
153AC_ARG_ENABLE(rss, [ --disable-rss Disable RSS support], USE_RSS=$enableval, USE_RSS=yes)
154if test $USE_RSS = "yes" -o $USE_RSS = "1" ; then
155 USE_RSS=1
156 AC_DEFINE(USE_RSS,[])
157else
158 USE_RSS=0
159fi
160AC_SUBST(USE_RSS)
161
162
163dnl
[20853]164dnl Set use of Apache httpd (disabled by default)
[18483]165dnl
[21377]166if test -d runtime-src; then
[23356]167 AC_ARG_ENABLE(apache-httpd, [ --enable-apache-httpd Enable Apache httpd support], USE_APACHE_HTTPD=$enableval, USE_APACHE_HTTPD=no)
[21446]168 if test $USE_APACHE_HTTPD = "yes" -o $USE_APACHE_HTTPD = "1" ; then
169 USE_APACHE_HTTPD=1
170 AC_DEFINE(USE_APACHE_HTTPD,[])
171 else
172 USE_APACHE_HTTPD=0
173 fi
[21377]174 AC_SUBST(USE_APACHE_HTTPD)
175fi
[18483]176
[21366]177dnl
178dnl Set compilation of JNI parts of MG and MGPP indexers (disabled by default, which is GS2's default behaviour)
179dnl
[23356]180AC_ARG_ENABLE(jni, [ --enable-jni Enable JNI compilation], ENABLE_JNI=$enableval, ENABLE_JNI=no)
181if test $ENABLE_JAVA = "1" -a \( $ENABLE_JNI = "yes" -o $ENABLE_JNI = "1" \) ; then
[21366]182 ENABLE_JNI=1
183 AC_DEFINE(ENABLE_JNI,[])
184else
185 ENABLE_JNI=0
186fi
187AC_SUBST(ENABLE_JNI)
[18483]188
[21330]189dnl
190dnl Set compilation of MG (enabled by default)
191dnl
[23356]192AC_ARG_ENABLE(mg, [ --disable-mg Disable MG compilation], ENABLE_MG=$enableval, ENABLE_MG=yes)
[21330]193if test $ENABLE_MG = "yes" -o $ENABLE_MG = "1" ; then
194 ENABLE_MG=1
195 AC_DEFINE(ENABLE_MG,[])
196 else
197 ENABLE_MG=0
198 fi
199AC_SUBST(ENABLE_MG)
200
201
202dnl
203dnl Set compilation of MGPP (enabled by default)
204dnl
[23356]205AC_ARG_ENABLE(mgpp, [ --disable-mgpp Disable MGPP compilation], ENABLE_MGPP=$enableval, ENABLE_MGPP=yes)
[21330]206if test $ENABLE_MGPP = "yes" -o $ENABLE_MGPP = "1" ; then
207 ENABLE_MGPP=1
208 AC_DEFINE(ENABLE_MGPP,[])
209else
210 ENABLE_MGPP=0
211fi
212AC_SUBST(ENABLE_MGPP)
213
214dnl
215dnl Set compilation of lucene (enabled by default)
216dnl
217AC_ARG_ENABLE(lucene, [ --disable-lucene Disable Lucene compilation], ENABLE_LUCENE=$enableval, ENABLE_LUCENE=yes)
[23356]218if test $ENABLE_JAVA = "1" -a \( $ENABLE_LUCENE = "yes" -o $ENABLE_LUCENE = "1" \) ; then
[21330]219 ENABLE_LUCENE=1
[21446]220 AC_DEFINE(ENABLE_LUCENE,[])
[21330]221else
222 ENABLE_LUCENE=0
223fi
224AC_SUBST(ENABLE_LUCENE)
225
226
[552]227dnl Checks for programs.
[14169]228LDFLAGS=$LDFLAGS
[15551]229AC_SUBST(LDFLAGS)
[1722]230dnl only set CFLAGS if not already set in environment
231if test -z "$CFLAGS"; then
[794]232CFLAGS=-O2
[1722]233fi
[575]234AC_SUBST(CFLAGS)
235
[15551]236
[552]237AC_PROG_CC
238AC_PROG_CXX
[684]239AC_PROG_AWK
240AC_PROG_YACC
[2279]241dnl get $target_cpu, $target_vendor, and $target_os
242dnl (as well as host_*)
243AC_CANONICAL_SYSTEM
244dnl do we actually want this? It adds a prefix based on host, system etc
245dnl AC_ARG_PROGRAM
[703]246AC_PROG_INSTALL
[552]247AC_PROG_LN_S
248AC_PROG_MAKE_SET
249AC_PROG_RANLIB
250
[15551]251AC_MSG_CHECKING(to see if architecture is 64-bit)
252arch_64bit=no
253case "$host_cpu" in
254x86_64) arch_64bit=yes ;;
255esac
256
257if test "$arch_64bit" = yes; then
258 AC_MSG_RESULT(yes)
259 if test -z "$COMPAT32BITFLAGS" ; then
[22378]260 if test "$ENABLE_MG" = "1" -o "$ENABLE_MGPP" = "1" ; then
261 COMPAT32BITFLAGS="-m32"
262 fi
[15551]263 fi
264else
265 AC_MSG_RESULT(no)
266 if test -z "$COMPAT32BITFLAGS" ; then
267 COMPAT32BITFLAGS=
268 fi
269fi
[21432]270
[15551]271export COMPAT32BITFLAGS
272AC_SUBST(COMPAT32BITFLAGS)
273
274
[2173]275#moved CORBA MICO directory test to get version of MICO
276if test $USE_CORBA = 1; then
277
[2213]278if test $MICO_DIR = "default"; then
[2173]279#do something
280MICO_INC="-I packages/mico/mico/include"
281else
282#build the micotest program
283MICO_INC= ""
284if test $MICO_DIR != yes; then
285MICO_INC="-I $MICO_DIR"
286fi
287fi
288
289#get MICO_VER value
290sh -c "$CC -c micotest.cpp -o micotest.o $MICO_INC 2>&1" > /dev/null
291sh -c "$CC -o micotest micotest.o -lstdc++ 2>&1" > /dev/null
[2214]292MICO_VER=`./micotest` || MICO_VER=2.3.5
[2173]293sh -c "rm micotest"
294sh -c "rm micotest.o"
295
296#do test of MICO_VER
297if test MICO_VER != 0; then
298AC_DEFINE(MICO_VER)
299AC_SUBST(MICO_VER)
300fi
301#end USE_CORBA test
302fi
303
[684]304dnl Checks for typedefs, structures, and compiler characteristics.
305AC_AIX
306AC_ISC_POSIX
307AC_MINIX
308fp_C_PROTOTYPES
309AC_C_CONST
310AC_TYPE_OFF_T
311AC_TYPE_SIZE_T
312AC_HEADER_TIME
313AC_STRUCT_TM
314
315dnl --- This should be in the stdc checking -----------------
316if test "$ac_cv_prog_cc_stdc" = '-Xc'; then
317dnl The Pyramids running SMP_DC.OSx on MIPS r3000 chips with
318dnl /usr/opt/cc3.11/bin/cc treat -Xc as full ANSI mode - no POSIX or
319dnl XOPEN extensions (like popen).
320dnl Unfortunately -D_{XOPEN,POSIX}_SOURCE can't provide all that mg
321dnl needs. So drop back to -Xa
322AC_TRY_COMPILE(
323[#include <stdio.h>
324], [ FILE *rubbish = popen("yes", "r"); ],,
325[CC="`echo $CC | sed 's/-Xc/-Xa/'`" ac_cv_prog_cc_stdc='-Xa'])
326fi
327dnl ----------------------
328
329
[552]330dnl Checks for libraries.
[8756]331dnl check for -lg:
332AC_HAVE_LIBRARY(g)
333dnl check for -lm:
334AC_HAVE_LIBRARY(m)
335dnl check for -lcrypt:
336AC_HAVE_LIBRARY(crypt)
[20842]337#if test $ENABLE_ACCENTFOLD = 1; then
338#AC_HAVE_LIBRARY(iconv)
339#fi
[552]340
341dnl Checks for header files.
[684]342AC_HEADER_DIRENT
[552]343AC_HEADER_STDC
[10181]344AC_CHECK_HEADERS(fcntl.h limits.h sys/time.h unistd.h crypt.h string.h memory.h sys/procfs.h sys/stat.h)
[684]345AC_EGREP_HEADER(fread, stdio.h, AC_DEFINE(HAVE_FREAD_DECL))
346AC_EGREP_HEADER(fgetc, stdio.h, AC_DEFINE(HAVE_FGETC_DECL))
347AC_EGREP_HEADER(pr_brksize, sys/procfs.h, AC_DEFINE(HAVE_PR_BRKSIZE))
[552]348
[684]349dnl Checks for library functions.
350AC_FUNC_ALLOCA
351AC_PROG_GCC_TRADITIONAL
352AC_TYPE_SIGNAL
353AC_FUNC_VPRINTF
[786]354AC_CHECK_FUNCS(ftime select strftime strtol getrusage times mallinfo setbuffer getpagesize strerror)
[684]355AC_REPLACE_FUNCS(ftruncate strstr strcasecmp)
[552]356
[3705]357dnl see if gettext is in libc. (try the textdomain() function).
[8202]358AC_CHECK_FUNC(textdomain, AC_DEFINE(ENABLE_NLS ,1) )
[552]359
[684]360# *** Custom checking (based on GNU tar configure.in) ***
361# ---------------------------------------------------------------------------
362AC_MSG_CHECKING(for HP-UX needing gmalloc)
363if test "`(uname -s) 2> /dev/null`" = 'HP-UX'; then
364 AC_MSG_RESULT(yes)
[8756]365 AC_LIBOBJ([gmalloc])
[684]366 AC_DEFINE(HAVE_VALLOC)
367else
368 AC_MSG_RESULT(no)
369 AC_CHECK_FUNCS(valloc)
370fi
371
[8183]372# we cannot generate static libraries under Darwin
373AC_MSG_CHECKING(for Apple MacOS X/Darwin)
374if test "`(uname -s) 2> /dev/null`" = 'Darwin'; then
375 AC_MSG_RESULT(yes)
[8199]376 STATIC=""
[8183]377else
378 AC_MSG_RESULT(no)
[8199]379 STATIC="-static "
[8183]380fi
381AC_SUBST(STATIC)
382
[684]383fp_WITH_DMALLOC
384fp_WITH_REGEX
385
386# ---------------------------------------------------------------------------
387if test "$ac_cv_func_alloca" = 'no'; then
388dnl support functions for alloca.c
[8756]389 AC_LIBOBJ([xmalloc])
390 AC_LIBOBJ([error])
[684]391fi
392
393
394# ---------------------------------------------------------------------------
395
[552]396dnl
[684]397dnl Switch into C++
398dnl
399AC_LANG_CPLUSPLUS
400
401dnl
402dnl Now check that Perl is actually around, and can be found
403dnl
[2279]404AC_MSG_CHECKING(that Perl 5 is available)
[684]405success="no"
406pl_path="$PATH"
407IFS="${IFS= }"; pl_save_ifs="$IFS"; IFS=":"
408for pl_dir in $pl_path; do
409 test -z "$pl_dir" && pl_dir=.
410 if test -x $pl_dir/perl; then
411 success="yes"
412 break
413 fi
414done
415IFS="$pl_save_ifs"
416
417dnl
418dnl Perl actually can be run; now we see if it is version 5 by
419dnl running a sample script (which returns a "clean" version number
420dnl and then tests the result using expr. If perl errors in some
421dnl way (eg. broken Perl executable, missing script), we set a failure
422dnl value ("0") and then proceed as best we can
423dnl
424if test $success = "yes"; then
425try=`perl configtest.pl` || try="0"
426try=`expr $try \> 5.000`
427if test $try = "1"; then
428AC_MSG_RESULT("yes")
429else
430success="no"
431fi
432fi
433
434if test $success = "no"; then
435AC_MSG_RESULT("no")
436AC_MSG_ERROR("Perl 5 not available - cannot install")
437fi
438
439dnl
[552]440dnl Check if the STL library has any known faults;
441dnl In GCC 2.7.2.x series, some STL library headers are missing
442dnl a file called "new" which is referred to by other headers
443dnl (eg. vector/vector.h); if this applies, then all use of the
444dnl STL will cause a compile fail, so we'd better let the user
445dnl know now, before things really go wrong!
446dnl
447success=no
448AC_MSG_CHECKING("whether STL library has known faults")
449
450dnl - first shot, try simple good old vector on its own
451AC_TRY_COMPILE(
452[#include <vector>
453],
454[],
455success=yes,
456)
457
458dnl - try using the .h equivalent
459if test $success = "no"; then
460AC_TRY_COMPILE(
461[#include <vector.h>
462],
463[],
464success="yes",
465)
466fi
467
468dnl - now try for the objectspace headers
469if test $success = "no"; then
470AC_TRY_COMPILE(
471[#include <ospace\\std\\vector>
472],
473[],
474success="yes",
475)
476fi
477
478if test $success = yes; then
479AC_MSG_RESULT("no")
480else
481AC_MSG_RESULT("yes")
[684]482AC_MSG_ERROR("STL Broken - Obtain newer version of GNU C Compiler")
[552]483fi
484
[2950]485gsdlos=`uname | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
[2951]486# check for running bash under cygwin
487 if test "`echo $gsdlos | sed 's/cygwin//'`" != "$gsdlos" ;
488 then
489 gsdlos=windows
490 fi
[557]491AC_SUBST(gsdlos)
492
[10856]493# check for endianness
494AC_C_BIGENDIAN
[684]495# ---------------------------------------------------------------------------
496if test "$ac_cv_func_alloca" = 'no'; then
497dnl support functions for alloca.c
[8756]498 AC_LIBOBJ([xmalloc.o])
499 AC_LIBOBJ([error])
[684]500fi
[552]501
[3062]502# ---------------------------------------------------------------------------
[552]503
[3062]504dnl
505dnl Locate all children of the modules folder
506dnl
507moduleDirs=""
508MODULEDIRS=""
[16619]509if test -d modules ; then
[15300]510 for x in `find modules -mindepth 1 -maxdepth 2`; do
511 if test -d "$x"; then
512 d="$x/Makefile.in"
513 if test -e "$d"; then
514 dnl echo $d
515 moduleDirs="$moduleDirs $x/Makefile"
516 MODULEDIRS="$MODULEDIRS $x"
517 fi
[3062]518 fi
[15300]519 done
520 echo "Making $moduleDirs in modules directory"
521 AC_SUBST(MODULEDIRS)
522fi
[3062]523
[15300]524
[684]525# ---------------------------------------------------------------------------
[2279]526dnl for Darwin, as our packages don't (yet) correctly guess our system type.
[8202]527dnl not needed any more?
528dnl ac_configure_args="$ac_configure_args --build=$build --target=$target"
[1668]529
[13777]530# indexers needs a bindir option to get the binaries into the right place
531gsdlprefix=`pwd`
[19264]532ac_configure_args="$ac_configure_args --bindir=$gsdlprefix/bin/$gsdlos --libdir=$gsdlprefix/lib/$gsdlos"
[21377]533AC_CONFIG_SUBDIRS(common-src)
534AC_CONFIG_SUBDIRS(build-src)
[13777]535
[3062]536# the list of folders in the src folder
[16572]537srclist="common-src/Makefile \
[21377]538 build-src/Makefile"
539
540if test -d runtime-src; then
541 AC_CONFIG_SUBDIRS(runtime-src)
542 srclist="$srclist \
[16572]543 runtime-src/Makefile"
[21377]544fi
[3062]545
[16561]546AC_OUTPUT(Makefile $srclist $moduleDirs)
[684]547
548
Note: See TracBrowser for help on using the repository browser.