On Unix, zebra/z'mbol uses automake.
[idzebra-moved-to-github.git] / configure.in
1 dnl Zebra, Index Data Aps, 1994-2000
2 dnl $Id: configure.in,v 1.18 2000-04-05 09:49:35 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(ODEFS)
42 AC_SUBST(DEFS)
43 AC_SUBST(TCL_INCLUDE)
44 AC_SUBST(TCL_LIB)
45 AC_SUBST(YAZLIB)
46 AC_SUBST(YAZINC)
47 AC_SUBST(PROGPREFIX)
48 dnl
49 dnl ------ Checking programs
50 AC_PROG_CC
51 AC_PROG_CPP
52 AC_PROG_INSTALL
53 AC_PROG_RANLIB
54 dnl
55 dnl ------ Look for Yaz
56 dnl See if user specified location of yaz-config; otherwise
57 dnl use ../yaz if is a directory (internal development); otherwise
58 dnl use yaz-config found in PATH.
59 yazconfig=NONE
60 yazpath=NONE
61 AC_ARG_WITH(yazconfig, [  --with-yazconfig=DIR    yaz-config in DIR (example /home/yaz-1.5)], [yazpath=$withval])
62 if test "x$yazpath" != "xNONE"; then
63         yazconfig=$yazpath/yaz-config
64 else
65         for i in ../yaz* ../yaz; do
66                 if test -d $i; then
67                         if test -r $i/yaz-config; then
68                                 yazconfig=$i/yaz-config
69                         fi
70                 fi
71         done
72         if test "x$yazconfig" = "xNONE"; then
73                 AC_PATH_PROG(yazconfig, yaz-config, NONE)
74         fi
75 fi
76 AC_MSG_CHECKING(for YAZ)
77 if test -r $yazconfig; then
78         . $yazconfig
79         AC_MSG_RESULT($yazconfig)
80 else
81         AC_MSG_RESULT(Not found)
82 fi
83 dnl
84 dnl ------ Threads
85 AC_ARG_ENABLE(threads, [  --disable-threads       disable threads],[enable_threads=$enableval],[enable_threads=yes])
86 if test "$enable_threads" = "yes"; then
87         AC_CHECK_LIB(pthread,main)
88         AC_MSG_CHECKING(for working POSIX Threads)
89         AC_TRY_LINK([#include <pthread.h>
90         int func(void *p) { return 0; }
91         ],[
92         pthread_t pthread_id;
93         int r = pthread_create (&pthread_id, 0, func, 0);],
94                 thread_ok=yes,thread_ok=no)
95         if test "$thread_ok" = "yes"; then
96                 AC_MSG_RESULT(yes)
97                 AC_DEFINE(HAVE_PTHREAD_H)
98                 AC_DEFINE(_REENTRANT)
99         else
100                 AC_MSG_RESULT(no)
101         fi
102 fi
103 dnl
104 dnl ------ Look for Tcl
105 dnl See if user has specified location of tclConfig.sh; otherwise
106 dnl see if tclConfig.sh exists in same prefix lcoation as tclsh; otherwise
107 dnl disable Tcl.
108 TCL_LIB=""
109 TCL_INCLUDE=""
110 tclconfig=NONE
111 AC_ARG_WITH(tclconfig, [  --with-tclconfig=DIR    tclConfig.sh in DIR], [tclconfig=$withval])
112 if test "x$tclconfig" = xNONE; then
113         saveprefix=${prefix}
114         AC_PREFIX_PROGRAM(tclsh)
115         tclconfig=${prefix}/lib
116         prefix=${saveprefix}
117 fi
118 AC_MSG_CHECKING(for Tcl)
119 if test -r ${tclconfig}/tclConfig.sh; then
120         . ${tclconfig}/tclConfig.sh
121         if test -r ${tclconfig}/../generic/tcl.h; then
122                 TCL_INCLUDE=-I${tclconfig}/../generic
123                 TCL_LIB="$TCL_BUILD_LIB_SPEC $TCL_LIBS"
124         else
125                 TCL_INCLUDE=-I${TCL_PREFIX}/include
126                 TCL_LIB="$TCL_LIB_SPEC $TCL_LIBS"
127         fi
128         SHLIB_CFLAGS=$TCL_SHLIB_CFLAGS
129         SHLIB_LD=$TCL_SHLIB_LD
130         SHLIB_SUFFIX=$TCL_SHLIB_SUFFIX
131         SHLIB_VERSION=$TCL_SHLIB_VERSION
132         AC_MSG_RESULT($TCL_VERSION)
133         ODEFS="-DHAVE_TCL_H=1"
134 else
135         AC_MSG_RESULT(Not found)
136         ODEFS="-DHAVE_TCL_H=0"
137 fi
138 dnl
139 dnl ------ times
140 AC_CHECK_HEADERS(sys/times.h)
141 dnl
142 dnl ------- BZIP2
143 AC_CHECK_LIB(bz2,bzCompressInit)
144 if test "$ac_cv_lib_bz2_bzCompressInit" = "yes"; then
145         AC_CHECK_HEADERS(bzlib.h)
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   isams/Makefile
161   isamc/Makefile
162   isam/Makefile
163   rset/Makefile
164   recctrl/Makefile
165   index/Makefile
166   include/Makefile
167   tab/Makefile
168   test/Makefile test/gils/Makefile test/usmarc/Makefile
169 ])