Using YAZ_INIT for autoconf. Added template code for isamb.
[idzebra-moved-to-github.git] / configure.in
1 dnl Zebra, Index Data Aps, 1994-2000
2 dnl $Id: configure.in,v 1.23 2000-10-11 12:31:27 adam Exp $
3 dnl
4 AC_INIT(include/zebraver.h)
5 AC_MSG_CHECKING(for package)
6 if test -r ${srcdir}/LICENSE.zmbol; then
7         AC_MSG_RESULT([Z'mbol])
8         PROGPREFIX=zmbol
9         AC_DEFINE(ZMBOL,1)
10         AM_INIT_AUTOMAKE(zmbol,1.1)
11         SUBLIBS="../rset/librset.a \
12  ../dict/libdict.a \
13  ../isamb/libisamb.a \
14  ../isams/libisams.a \
15  ../isam/libisam.a \
16  ../isamc/libisamc.a \
17  ../recctrl/librecctrl.a \
18  ../bfile/libbfile.a \
19  ../dfa/libdfa.a \
20  ../util/libutil.a"
21 else
22         AC_MSG_RESULT([Zebra])
23         PROGPREFIX=zebra
24         AC_DEFINE(ZMBOL,0)
25         AM_INIT_AUTOMAKE(zebra,1.1)
26         SUBLIBS="../rset/librset.a ../dict/libdict.a ../isams/libisams.a \
27         ../recctrl/librecctrl.a  \
28         ../bfile/libbfile.a ../dfa/libdfa.a \
29         ../util/libutil.a"
30         if test ! -r ${srcdir}/isam; then
31                 mkdir ${srcdir}/isam
32                 touch ${srcdir}/isam/Makefile.in
33         fi
34         if test ! -r ${srcdir}/isamc; then
35                 mkdir ${srcdir}/isamc
36                 touch ${srcdir}/isamc/Makefile.in
37         fi
38         if test ! -r ${srcdir}/isamb; then
39                 mkdir ${srcdir}/isamb
40                 touch ${srcdir}/isamb/Makefile.in
41         fi
42 fi
43 AM_CONDITIONAL(ISZMBOL,test $PACKAGE = zmbol)
44 dnl ------ Substitutions
45 AC_SUBST(SUBLIBS)
46 AC_SUBST(DEFS)
47 AC_SUBST(TCL_INCLUDE)
48 AC_SUBST(TCL_LIB)
49 AC_SUBST(PROGPREFIX)
50 dnl
51 dnl ------ Checking programs
52 AC_PROG_CC
53 AC_PROG_CPP
54 AC_PROG_INSTALL
55 AC_PROG_RANLIB
56
57 YAZ_INIT
58
59 dnl ------ Threads
60 AC_ARG_ENABLE(threads, [  --disable-threads       disable threads],[enable_threads=$enableval],[enable_threads=yes])
61 if test "$enable_threads" = "yes"; then
62         AC_CHECK_LIB(pthread,main)
63         AC_MSG_CHECKING(for working POSIX Threads)
64         AC_TRY_LINK([#include <pthread.h>
65         int func(void *p) { return 0; }
66         ],[
67         pthread_t pthread_id;
68         int r = pthread_create (&pthread_id, 0, func, 0);],
69                 thread_ok=yes,thread_ok=no)
70         if test "$thread_ok" = "yes"; then
71                 AC_MSG_RESULT(yes)
72                 AC_DEFINE(HAVE_PTHREAD_H)
73                 AC_DEFINE(_REENTRANT)
74         else
75                 AC_MSG_RESULT(no)
76         fi
77 fi
78 dnl
79 dnl ------ Look for Tcl
80 dnl See if user has specified location of tclConfig.sh; otherwise
81 dnl see if tclConfig.sh exists in same prefix lcoation as tclsh; otherwise
82 dnl disable Tcl.
83 TCL_LIB=""
84 TCL_INCLUDE=""
85 tclconfig=NONE
86 AC_ARG_WITH(tclconfig, [  --with-tclconfig=DIR    tclConfig.sh in DIR], [tclconfig=$withval])
87 if test "x$tclconfig" = xNONE; then
88         saveprefix=${prefix}
89         AC_PREFIX_PROGRAM(tclsh)
90         tclconfig=${prefix}/lib
91         prefix=${saveprefix}
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         else
100                 TCL_INCLUDE=-I${TCL_PREFIX}/include
101                 TCL_LIB="$TCL_LIB_SPEC $TCL_LIBS"
102         fi
103         SHLIB_CFLAGS=$TCL_SHLIB_CFLAGS
104         SHLIB_LD=$TCL_SHLIB_LD
105         SHLIB_SUFFIX=$TCL_SHLIB_SUFFIX
106         SHLIB_VERSION=$TCL_SHLIB_VERSION
107         AC_MSG_RESULT($TCL_VERSION)
108         AC_DEFINE(HAVE_TCL_H,1)
109 else
110         AC_MSG_RESULT(Not found)
111         AC_DEFINE(HAVE_TCL_H,0)
112 fi
113 dnl
114 dnl ------ times
115 AC_CHECK_HEADERS(sys/times.h)
116 dnl
117 dnl ------- BZIP2
118 AC_CHECK_LIB(bz2,bzCompressInit)
119 if test "$ac_cv_lib_bz2_bzCompressInit" = "yes"; then
120         AC_CHECK_HEADERS(bzlib.h)
121 fi
122 dnl ------- 64 bit files
123 AC_MSG_CHECKING(for LFS)
124 AC_TRY_RUN([#define _FILE_OFFSET_BITS 64
125 #include <unistd.h>
126 #include <string.h>
127 #include <stdio.h>
128 int main(int argc, char **argv)
129 {
130         off_t o;
131         char tmp_str[32];
132         if (sizeof(off_t) == 8) {
133                 o = 2000000000;
134                 sprintf (tmp_str, "%Ld", o+o+o);
135                 if (!strcmp (tmp_str, "6000000000"))
136                         exit (0);
137         }
138         exit (1);
139 }
140 ],bits=64,bits=32,bits=32)
141 if test "$bits" = "64"; then
142         AC_DEFINE(_FILE_OFFSET_BITS,64)
143         AC_MSG_RESULT(yes)
144 else
145         AC_MSG_RESULT(no)
146 fi
147 dnl
148 dnl ------ ANSI C Header files
149 AC_STDC_HEADERS
150 if test "$ac_cv_header_stdc" = "no"; then
151         AC_MSG_WARN(Your system doesn't seem to support ANSI C)
152 fi
153 dnl ------ Create Makefiles
154 AC_OUTPUT([
155   Makefile
156   util/Makefile
157   bfile/Makefile
158   dfa/Makefile
159   dict/Makefile
160   isamb/Makefile
161   isams/Makefile
162   isamc/Makefile
163   isam/Makefile
164   rset/Makefile
165   recctrl/Makefile
166   index/Makefile
167   include/Makefile
168   tab/Makefile
169   doc/Makefile
170   test/Makefile test/gils/Makefile test/usmarc/Makefile
171 ])