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