Start work on ICU based regexp searches
[idzebra-moved-to-github.git] / configure.ac
index f8709ed..99a551f 100644 (file)
@@ -1,40 +1,41 @@
 dnl This file is part of the Zebra server.
-dnl   Copyright (C) 1994-2008 Index Data
+dnl   Copyright (C) 1994-2011 Index Data
 dnl
 AC_PREREQ(2.60)
-AC_INIT([idzebra],[2.0.34],[zebra-help@indexdata.dk])
-AC_CONFIG_SRCDIR(configure.ac)
-AC_CONFIG_AUX_DIR(config)
+AC_INIT([idzebra],
+m4_esyscmd([. ./IDMETA; echo $VERSION|tr -d '\n']),
+[zebra-help@indexdata.dk])
+AC_CONFIG_HEADERS([include/config.h])
+AC_CONFIG_SRCDIR([configure.ac])
+AC_CONFIG_AUX_DIR([config])
 AM_INIT_AUTOMAKE([1.9])
 PACKAGE_SUFFIX="-2.0"
 AC_SUBST(PACKAGE_SUFFIX)
 dnl http://www.gnu.org/software/libtool/manual.html#Versioning
 ZEBRALIBS_VERSION_INFO=0:1:0
-AC_SUBST(ZEBRALIBS_VERSION_INFO)
+AC_SUBST([ZEBRALIBS_VERSION_INFO])
 main_zebralib=index/libidzebra${PACKAGE_SUFFIX}.la
 AC_SUBST(main_zebralib)
 dnl ------ Substitutions
-AC_SUBST(TCL_INCLUDE)
-AC_SUBST(TCL_LIB)
-AC_SUBST(READLINE_LIBS)
-AC_SUBST(ZEBRA_CFLAGS)
+AC_SUBST([TCL_INCLUDE])
+AC_SUBST([TCL_LIB])
+AC_SUBST([ZEBRA_CFLAGS])
 dnl
 dnl ------ Checking programs
 AC_PROG_CC
 AC_PROG_CPP
 AM_PROG_LIBTOOL
-AC_DEFINE_UNQUOTED(HOST_TRIPLET,"${host}")
 dnl
 dnl ------ headers
 AC_CHECK_HEADERS([sys/resource.h sys/time.h sys/wait.h sys/utsname.h unistd.h])
 dnl ------ crypt
 AC_CHECK_LIB([crypt],[crypt])
 if test "$ac_cv_lib_crypt_crypt" = "yes"; then
-    AC_CHECK_HEADERS(crypt.h)
+    AC_CHECK_HEADERS([crypt.h])
 fi
 dnl
 dnl ------ YAZ
-YAZ_INIT([server icu],[3.0.17])
+YAZ_INIT([server icu],[3.0.47])
 if test "$YAZVERSION" = "NONE"; then
     AC_MSG_ERROR([YAZ development libraries required])
 fi
@@ -102,33 +103,6 @@ dnl
 dnl ------ various functions
 AC_CHECK_FUNCS(mkstemp atoll)
 dnl
-dnl ------ GNU Readline
-READLINE_SHARED_LIBADD=""
-AC_CHECK_LIB(ncurses, tgetent, [READLINE_SHARED_LIBADD="-lncurses"],
-    AC_CHECK_LIB(termcap, tgetent, [READLINE_SHARED_LIBADD="-ltermcap"])
-)
-READLINE_LIBS=""
-AC_CHECK_LIB(readline, readline, [READLINE_LIBS="$READLINE_LIBS -lreadline $READLINE_SHARED_LIBADD"],,$READLINE_SHARED_LIBADD)
-AC_CHECK_LIB(history, add_history, [READLINE_LIBS="$READLINE_LIBS -lhistory"])
-if test "$ac_cv_lib_readline_readline" = "yes"; then
-    AC_CHECK_HEADERS(readline/readline.h readline/history.h)
-    xLIBS=$LIBS
-    LIBS="$LIBS $READLINE_LIBS"
-    AC_TRY_LINK([
-        #include <stdio.h>
-        #include <readline/readline.h>
-        ],[
-           rl_attempted_completion_over = 0;
-           ],AC_DEFINE(HAVE_READLINE_COMPLETION_OVER))
-    AC_TRY_LINK([
-        #include <stdio.h>
-        #include <readline/readline.h>
-           ],[
-           rl_completion_matches (0, 0);
-           ],AC_DEFINE(HAVE_READLINE_RL_COMPLETION_MATCHES))
-    LIBS=$xLIBS
-fi
-dnl
 dnl ------ iconv
 AC_ARG_WITH(iconv, [  --with-iconv[=DIR]        iconv library in DIR])
 if test "$with_iconv" != "no"; then
@@ -144,7 +118,7 @@ if test "$with_iconv" != "no"; then
            ],[
            iconv_t t = iconv_open("", "");
            ],[
-           AC_DEFINE(HAVE_ICONV_H)
+           AC_DEFINE([HAVE_ICONV_H],[1],[Whether iconv.h is defined])
            AC_MSG_RESULT(yes)
            ],[
            LIBS="$LIBS -liconv"
@@ -153,7 +127,7 @@ if test "$with_iconv" != "no"; then
                    ],[
                    iconv_t t = iconv_open("", "");
                    ],[
-                   AC_DEFINE(HAVE_ICONV_H)
+                   AC_DEFINE([HAVE_ICONV_H],[1])
                    AC_MSG_RESULT(yes)
                    ],[
                    LIBS="$oldLIBS"
@@ -174,14 +148,19 @@ else
     fi
 fi
 dnl
+dnl ------- zlib
+AC_CHECK_LIB([z],[compress2])
+if test "$ac_cv_lib_z_compress2" = "yes"; then
+    AC_CHECK_HEADERS([zlib.h])
+fi
 dnl ------ -lm
-AC_CHECK_LIB(m,sqrt)
+AC_CHECK_LIB([m], [sqrt])
 dnl ------ -ldl
-AC_CHECK_LIB(dl,dlopen)
+AC_CHECK_LIB([dl], [dlopen])
 dnl
 dnl ------ EXPAT
 expat=yes
-AC_SUBST(EXPAT_LIBS)
+AC_SUBST([EXPAT_LIBS])
 AC_ARG_WITH(expat,   [  --with-expat[=DIR]        EXPAT library in DIR],[expat=$withval])
 if test "$expat" != "no"; then
     xLIBS="$LIBS";
@@ -209,13 +188,13 @@ else
     ZINT_VALUE=0
 fi 
 ZEBRA_CFLAGS="-DZEBRA_ZINT=${ZINT_VALUE}"
-AC_DEFINE_UNQUOTED(ZEBRA_ZINT,${ZINT_VALUE})
+AC_DEFINE_UNQUOTED([ZEBRA_ZINT],${ZINT_VALUE},[Whehter zint is long long])
 dnl ------ Modules
-AC_SUBST(SHARED_MODULE_LA)
+AC_SUBST([SHARED_MODULE_LA])
 SHARED_MODULE_LA=""
-AC_SUBST(STATIC_MODULE_OBJ)
+AC_SUBST([STATIC_MODULE_OBJ])
 STATIC_MODULE_OBJ=""
-AC_SUBST(STATIC_MODULE_LADD)
+AC_SUBST([STATIC_MODULE_LADD])
 STATIC_MODULE_LADD=""
 AC_DEFUN([ZEBRA_MODULE],[
        AC_ARG_ENABLE(mod-$1,[$3],[myen=$enableval],[myen=$2])
@@ -249,15 +228,19 @@ AC_DEFUN([ZEBRA_MODULE],[
        fi
        ])
 
-AC_DEFINE(IDZEBRA_STATIC_GRS_SGML)
+AC_DEFINE([IDZEBRA_STATIC_GRS_SGML],[1],[Whether module grs.sgml is static])
+AC_DEFINE([IDZEBRA_STATIC_TEXT],[0],[Whether module text is static])
 ZEBRA_MODULE(text,shared,    [  --enable-mod-text       Text filter])
+AC_DEFINE([IDZEBRA_STATIC_GRS_REGX],[0],[Whether module grs.regx is static])
 ZEBRA_MODULE(grs-regx,shared,[  --enable-mod-grs-regx   REGX/TCL filter])
+AC_DEFINE([IDZEBRA_STATIC_GRS_MARC],[0],[Whether module grs.marc is static])
 ZEBRA_MODULE(grs-marc,shared,[  --enable-mod-grs-marc   MARC filter])
 if test "$ac_cv_header_expat_h" = "yes"; then
     def="shared"
 else
     def="disabled"
 fi
+AC_DEFINE([IDZEBRA_STATIC_GRS_XML],[0],[Whether module grs.xml is static])
 ZEBRA_MODULE(grs-xml,[$def], [  --enable-mod-grs-xml    XML filter (Expat based)])
 oldCPPFLAGS="$CPPFLAGS"
 CPPFLAGS="$CPPFLAGS $YAZINC"
@@ -281,8 +264,11 @@ AC_PREPROC_IFELSE(
    [def="shared"],
    [def="disabled"])
 CPPFLAGS=$oldCPPFLAGS
+AC_DEFINE([IDZEBRA_STATIC_DOM],[0],[Whether module dom is static])
 ZEBRA_MODULE(dom,[$def],   [  --enable-mod-dom        XML/XSLT filter (Requires libxslt)])
+AC_DEFINE([IDZEBRA_STATIC_ALVIS],[0],[Whether module alvis is static])
 ZEBRA_MODULE(alvis,[$def], [  --enable-mod-alvis      ALVIS filter (Requires libxslt)])
+AC_DEFINE([IDZEBRA_STATIC_SAFARI],[0],[Whether module safari is static])
 ZEBRA_MODULE(safari,shared,[  --enable-mod-safari     Safari filter (DBC)])
 
 dnl ------ ANSI C Header files
@@ -290,8 +276,8 @@ AC_STDC_HEADERS
 if test "$ac_cv_header_stdc" = "no"; then
     AC_MSG_WARN([Your system does not seem to support ANSI C])
 fi
-AC_SUBST(IDZEBRA_SRC_ROOT)
-AC_SUBST(IDZEBRA_BUILD_ROOT)
+AC_SUBST([IDZEBRA_SRC_ROOT])
+AC_SUBST([IDZEBRA_BUILD_ROOT])
 IDZEBRA_SRC_ROOT=`cd ${srcdir}; pwd`
 IDZEBRA_BUILD_ROOT=`pwd`
 dnl
@@ -334,7 +320,6 @@ AC_OUTPUT([
   test/rusmarc/Makefile test/cddb/Makefile test/malxml/Makefile 
   test/mbox/Makefile
   test/config/Makefile
-  test/xelm/Makefile
   test/dmoz/Makefile test/zsh/Makefile
   test/marcxml/Makefile test/charmap/Makefile test/codec/Makefile
   test/espec/Makefile
@@ -345,9 +330,9 @@ AC_OUTPUT([
   examples/marcxml/Makefile 
   examples/oai-pmh/Makefile
   examples/zthes/Makefile
-  idzebra.spec
   idzebra-config-2.0
   Doxyfile
+  win/version.nsi
   include/idzebra/version.h
 ],[sed s%echo_source=yes%echo_source=no%g < idzebra-config-2.0 > util/idzebra-config-2.0 && chmod +x idzebra-config-2.0 util/idzebra-config-2.0])