Zebra uses own XML reader (was part of YAZ before)
[idzebra-moved-to-github.git] / configure.in
1 dnl Zebra, Index Data Aps, 1995-2002
2 dnl $Id: configure.in,v 1.42 2002-08-28 12:47:09 adam Exp $
3 dnl
4 AC_INIT(include/zebraver.h)
5 AM_INIT_AUTOMAKE(zebra,1.3.1)
6 dnl ------ Substitutions
7 AC_SUBST(TCL_INCLUDE)
8 AC_SUBST(TCL_LIB)
9 dnl
10 dnl ------ Checking programs
11 AC_PROG_CC
12 AC_PROG_CPP
13 AC_PROG_INSTALL
14 AC_PROG_RANLIB
15 dnl
16 dnl ----- DOCBOOK DTD
17 AC_SUBST(DTD_DIR)
18 AC_ARG_WITH(dtd, [  --with-dtd[=DIR]        Use docbookx.dtd in DIR],
19 [
20    if test -f "$withval/docbookx.dtd"; then
21       DTD_DIR=$withval
22    fi
23 ],[
24    AC_MSG_CHECKING(for docbookx.dtd)
25    for d in /usr/share/sgml/docbook/dtd/xml/4.1.2 \
26          /usr/share/sgml/docbook/xml-dtd-4.1.2 \
27          /usr/share/sgml/docbook/dtd/xml/4.0 \
28             /usr/lib/sgml/dtd/docbook-xml 
29    do
30      if test -f $d/docbookx.dtd; then
31        AC_MSG_RESULT($d)
32        DTD_DIR=$d
33        break
34      fi
35    done
36    if test -z "$DTD_DIR"; then
37       AC_MSG_RESULT(Not found)
38    fi
39 ])
40 AC_SUBST(DSSSL_DIR)
41 AC_ARG_WITH(dsssl,[  --with-dsssl[=DIR]      Use DSSSL in DIR/{html,print}/docbook.dsl],
42 [
43    if test -f "$withval/html/docbook.dsl"; then
44       DSSSL_DIR=$withval
45    fi
46 ],[
47    AC_MSG_CHECKING(for docbook.dsl)
48    for d in /usr/share/sgml/docbook/stylesheet/dsssl/modular \
49             /usr/share/sgml/docbook/dsssl-stylesheets-1.64 \
50             /usr/lib/sgml/stylesheet/dsssl/docbook/nwalsh 
51    do
52      if test -f $d/html/docbook.dsl; then
53        AC_MSG_RESULT($d)
54        DSSSL_DIR=$d
55        break
56      fi
57    done
58    if test -z "$DSSSL_DIR"; then
59       AC_MSG_RESULT(Not found)
60    fi
61 ])
62 dnl
63 AC_ARG_ENABLE(threads, [  --disable-threads       disable threads],[enable_threads=$enableval],[enable_threads=yes])
64 if test "$enable_threads" = "yes"; then
65         yazflag=threads
66 else
67         yazflag=""
68 fi
69 YAZ_INIT($yazflag)
70
71 dnl ------ Look for Tcl
72 dnl See if user has specified location of tclConfig.sh; otherwise
73 dnl see if tclConfig.sh exists in same prefix lcoation as tclsh; otherwise
74 dnl disable Tcl.
75 TCL_LIB=""
76 TCL_INCLUDE=""
77 tclconfig=NONE
78 AC_ARG_WITH(tclconfig, [  --with-tclconfig=DIR    tclConfig.sh in DIR], [tclconfig=$withval])
79 if test "x$tclconfig" = xNONE; then
80         saveprefix=${prefix}
81         AC_PREFIX_PROGRAM(tclsh)
82         tclconfig=${prefix}/lib
83         prefix=${saveprefix}
84         if test ! -r ${tclconfig}/tclConfig.sh; then
85                 # Not found, try search for Tcl on Debian systems.
86                 for d in /usr/lib/tcl*; do
87                         if test -d $d; then
88                                 tclconfig=$d
89                         fi
90                 done
91         fi
92 fi
93 AC_MSG_CHECKING(for Tcl)
94 if test -r ${tclconfig}/tclConfig.sh; then
95         . ${tclconfig}/tclConfig.sh
96         if test -r ${tclconfig}/../generic/tcl.h; then
97                 TCL_INCLUDE=-I${tclconfig}/../generic
98                 TCL_LIB="$TCL_BUILD_LIB_SPEC $TCL_LIBS"
99         elif test -d ${TCL_PREFIX}/include/tcl${TCL_VERSION}; then
100                 TCL_INCLUDE=-I${TCL_PREFIX}/include/tcl${TCL_VERSION}
101                 TCL_LIB="$TCL_LIB_SPEC $TCL_LIBS"
102         else
103                 TCL_INCLUDE=-I${TCL_PREFIX}/include
104                 TCL_LIB="$TCL_LIB_SPEC $TCL_LIBS"
105         fi
106         SHLIB_CFLAGS=$TCL_SHLIB_CFLAGS
107         SHLIB_LD=$TCL_SHLIB_LD
108         SHLIB_SUFFIX=$TCL_SHLIB_SUFFIX
109         SHLIB_VERSION=$TCL_SHLIB_VERSION
110         AC_MSG_RESULT($TCL_VERSION)
111         AC_DEFINE(HAVE_TCL_H,1)
112 else
113         AC_MSG_RESULT(Not found)
114         AC_DEFINE(HAVE_TCL_H,0)
115 fi
116 dnl
117 dnl ------ times
118 AC_CHECK_HEADERS(sys/times.h iconv.h)
119 dnl ------ mkstemp
120 AC_CHECK_FUNCS(mkstemp)
121 dnl
122 dnl ------- BZIP2
123 AC_CHECK_LIB(bz2,bzCompressInit)
124 if test "$ac_cv_lib_bz2_bzCompressInit" = "yes"; then
125         AC_CHECK_HEADERS(bzlib.h)
126 else
127         AC_CHECK_LIB(bz2,BZ2_bzCompressInit)
128         if test "$ac_cv_lib_bz2_BZ2_bzCompressInit" = "yes"; then
129                 AC_CHECK_HEADERS(bzlib.h)
130         fi
131 fi
132 dnl
133 dnl ------ EXPAT
134 expat=yes
135 AC_ARG_WITH(expat,   [  --with-expat[=DIR]      EXPAT library in DIR],[expat=$withval])
136 if test "$expat" != "no"; then
137         xLIBS="$LIBS";
138         xCFLAGS="$CFLAGS";
139         if test "$expat" != "yes"; then
140                 EXPAT_CFLAGS="-I$expat/include"
141                 EXPAT_LIBS="-L$expat/lib"
142                 CFLAGS="$EXPAT_CFLAGS $CFLAGS"
143                 LIBS="$EXPAT_LIBS $LIBS"
144         fi
145         AC_CHECK_LIB(expat,XML_ParserCreate,[LIBS="$LIBS -lexpat"])
146         if test "$ac_cv_lib_expat_XML_ParserCreate" = "yes"; then
147                 AC_CHECK_HEADERS(expat.h)
148         else
149                 LIBS="$xLIBS"
150                 CFLAGS="$xCFLAGS"
151         fi
152 fi
153 dnl ------- 64 bit files
154 AC_MSG_CHECKING(for LFS)
155 AC_TRY_RUN([#define _FILE_OFFSET_BITS 64
156 #include <sys/types.h>
157 #include <unistd.h>
158 #include <string.h>
159 #include <stdio.h>
160 #include <fcntl.h>
161 #include <errno.h>
162 int main(int argc, char **argv)
163 {
164         off_t o;
165         char tmp_str[32];
166         int fd;
167         struct flock area;
168         if (sizeof(off_t) != 8) 
169                 exit (1);
170         o = 2000000000;
171         sprintf (tmp_str, "%Ld", o+o+o);
172         if (strcmp (tmp_str, "6000000000"))
173                 exit (1);
174         fd = creat ("config.tmp", 0644);
175         if (fd < 0)
176                 exit (1);
177         area.l_type = F_WRLCK;
178         area.l_whence = SEEK_SET;
179         area.l_len = area.l_start = 0L;
180         if (fcntl(fd, F_SETLKW, &area))
181                 exit (1);
182         close (fd);
183         unlink ("config.tmp");
184         exit (0);
185 }
186 ],bits=64,bits=32,bits=32)
187 if test "$bits" = "64"; then
188         AC_DEFINE(_FILE_OFFSET_BITS,64)
189         AC_MSG_RESULT(yes)
190 else
191         AC_MSG_RESULT(no)
192 fi
193 dnl
194 dnl ------ ANSI C Header files
195 AC_STDC_HEADERS
196 if test "$ac_cv_header_stdc" = "no"; then
197         AC_MSG_WARN(Your system doesn't seem to support ANSI C)
198 fi
199 dnl ------ Create Makefiles
200 AC_OUTPUT([
201   Makefile
202   util/Makefile
203   bfile/Makefile
204   dfa/Makefile
205   dict/Makefile
206   isamb/Makefile
207   isams/Makefile
208   isamc/Makefile
209   isam/Makefile
210   rset/Makefile
211   recctrl/Makefile
212   index/Makefile
213   include/Makefile
214   tab/Makefile
215   doc/Makefile
216   doc/zebra.xml
217   doc/zebrahtml.dsl
218   doc/zebraprint.dsl
219   doc/zebraphp.dsl
220   test/Makefile test/gils/Makefile test/usmarc/Makefile test/api/Makefile
221   test/dmoz/Makefile
222 ])