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