6f82b864fe47ae4e65d4f0213d9c9739a9dad085
[idzebra-moved-to-github.git] / configure.in
1 dnl Zebra, Index Data Aps, 1994-2000
2 dnl $Id: configure.in,v 1.29 2001-10-15 19:53:43 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 else
12         AC_MSG_RESULT([Zebra])
13         PROGPREFIX=zebra
14         AC_DEFINE(ZMBOL,0)
15         AM_INIT_AUTOMAKE(zebra,1.1)
16         if test ! -r ${srcdir}/isam; then
17                 mkdir ${srcdir}/isam
18         fi
19         touch ${srcdir}/isam/Makefile.in
20         if test ! -r ${srcdir}/isamc; then
21                 mkdir ${srcdir}/isamc
22         fi
23         touch ${srcdir}/isamc/Makefile.in
24         if test ! -r ${srcdir}/isamb; then
25                 mkdir ${srcdir}/isamb
26         fi
27         touch ${srcdir}/isamb/Makefile.in
28 fi
29 AM_CONDITIONAL(ISZMBOL,test $PACKAGE = zmbol)
30 dnl ------ Substitutions
31 AC_SUBST(DEFS)
32 AC_SUBST(TCL_INCLUDE)
33 AC_SUBST(TCL_LIB)
34 AC_SUBST(PROGPREFIX)
35 dnl
36 dnl ------ Checking programs
37 AC_PROG_CC
38 AC_PROG_CPP
39 AC_PROG_INSTALL
40 AC_PROG_RANLIB
41
42 YAZ_INIT(threads)
43 dnl
44 dnl ------ Look for Tcl
45 dnl See if user has specified location of tclConfig.sh; otherwise
46 dnl see if tclConfig.sh exists in same prefix lcoation as tclsh; otherwise
47 dnl disable Tcl.
48 TCL_LIB=""
49 TCL_INCLUDE=""
50 tclconfig=NONE
51 AC_ARG_WITH(tclconfig, [  --with-tclconfig=DIR    tclConfig.sh in DIR], [tclconfig=$withval])
52 if test "x$tclconfig" = xNONE; then
53         saveprefix=${prefix}
54         AC_PREFIX_PROGRAM(tclsh)
55         tclconfig=${prefix}/lib
56         prefix=${saveprefix}
57 fi
58 AC_MSG_CHECKING(for Tcl)
59 if test -r ${tclconfig}/tclConfig.sh; then
60         . ${tclconfig}/tclConfig.sh
61         if test -r ${tclconfig}/../generic/tcl.h; then
62                 TCL_INCLUDE=-I${tclconfig}/../generic
63                 TCL_LIB="$TCL_BUILD_LIB_SPEC $TCL_LIBS"
64         else
65                 TCL_INCLUDE=-I${TCL_PREFIX}/include
66                 TCL_LIB="$TCL_LIB_SPEC $TCL_LIBS"
67         fi
68         SHLIB_CFLAGS=$TCL_SHLIB_CFLAGS
69         SHLIB_LD=$TCL_SHLIB_LD
70         SHLIB_SUFFIX=$TCL_SHLIB_SUFFIX
71         SHLIB_VERSION=$TCL_SHLIB_VERSION
72         AC_MSG_RESULT($TCL_VERSION)
73         AC_DEFINE(HAVE_TCL_H,1)
74 else
75         AC_MSG_RESULT(Not found)
76         AC_DEFINE(HAVE_TCL_H,0)
77 fi
78 dnl
79 dnl ------ times
80 AC_CHECK_HEADERS(sys/times.h)
81 dnl
82 dnl ------- BZIP2
83 AC_CHECK_LIB(bz2,bzCompressInit)
84 if test "$ac_cv_lib_bz2_bzCompressInit" = "yes"; then
85         AC_CHECK_HEADERS(bzlib.h)
86 else
87         AC_CHECK_LIB(bz2,BZ2_bzCompressInit)
88         if test "$ac_cv_lib_bz2_BZ2_bzCompressInit" = "yes"; then
89                 AC_CHECK_HEADERS(bzlib.h)
90         fi
91 fi
92 dnl ------- 64 bit files
93 AC_MSG_CHECKING(for LFS)
94 AC_TRY_RUN([#define _FILE_OFFSET_BITS 64
95 #include <sys/types.h>
96 #include <unistd.h>
97 #include <string.h>
98 #include <stdio.h>
99 #include <fcntl.h>
100 #include <errno.h>
101 int main(int argc, char **argv)
102 {
103         off_t o;
104         char tmp_str[32];
105         int fd;
106         struct flock area;
107         if (sizeof(off_t) != 8) 
108                 exit (1);
109         o = 2000000000;
110         sprintf (tmp_str, "%Ld", o+o+o);
111         if (strcmp (tmp_str, "6000000000"))
112                 exit (1);
113         fd = creat ("config.tmp", 0644);
114         if (fd < 0)
115                 exit (1);
116         area.l_type = F_WRLCK;
117         area.l_whence = SEEK_SET;
118         area.l_len = area.l_start = 0L;
119         if (fcntl(fd, F_SETLKW, &area))
120                 exit (1);
121         close (fd);
122         unlink ("config.tmp");
123         exit (0);
124 }
125 ],bits=64,bits=32,bits=32)
126 if test "$bits" = "64"; then
127         AC_DEFINE(_FILE_OFFSET_BITS,64)
128         AC_MSG_RESULT(yes)
129 else
130         AC_MSG_RESULT(no)
131 fi
132 dnl
133 dnl ------ ANSI C Header files
134 AC_STDC_HEADERS
135 if test "$ac_cv_header_stdc" = "no"; then
136         AC_MSG_WARN(Your system doesn't seem to support ANSI C)
137 fi
138 dnl ------ Create Makefiles
139 AC_OUTPUT([
140   Makefile
141   util/Makefile
142   bfile/Makefile
143   dfa/Makefile
144   dict/Makefile
145   isamb/Makefile
146   isams/Makefile
147   isamc/Makefile
148   isam/Makefile
149   rset/Makefile
150   recctrl/Makefile
151   index/Makefile
152   include/Makefile
153   tab/Makefile
154   doc/Makefile
155   test/Makefile test/gils/Makefile test/usmarc/Makefile
156 ])