root/main/trunk/greenstone2/runtime-src/configure.in @ 24958

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