X-Git-Url: http://git.indexdata.com/?p=idzebra-moved-to-github.git;a=blobdiff_plain;f=configure.ac;h=96e75f6d7b698536b15cf4b15d782ab777cf905d;hp=9d3f17eb3d1df53f69d73082284dd14c3361b544;hb=b0e96fd39e829ed6efb70a27999986fab11301f6;hpb=3042550d9340f8f9e3058702240e2cd376aa33fa diff --git a/configure.ac b/configure.ac index 9d3f17e..96e75f6 100644 --- a/configure.ac +++ b/configure.ac @@ -1,11 +1,18 @@ dnl Zebra, Index Data ApS, 1995-2006 -dnl $Id: configure.ac,v 1.5 2006-05-10 14:13:45 adam Exp $ +dnl $Id: configure.ac,v 1.29 2006-09-22 12:44:01 adam Exp $ dnl AC_PREREQ(2.59) -AC_INIT([idzebra],[1.4.0],[adam@indexdata.dk]) +AC_INIT([idzebra],[2.0.2],[adam@indexdata.dk]) AC_CONFIG_SRCDIR(configure.ac) AC_CONFIG_AUX_DIR(config) AM_INIT_AUTOMAKE([1.8]) +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) +main_zebralib=index/libidzebra${PACKAGE_SUFFIX}.la +AC_SUBST(main_zebralib) dnl ------ Substitutions AC_SUBST(TCL_INCLUDE) AC_SUBST(TCL_LIB) @@ -14,7 +21,6 @@ dnl dnl ------ Checking programs AC_PROG_CC AC_PROG_CPP -AM_DISABLE_SHARED AM_PROG_LIBTOOL dnl dnl ------ headers @@ -22,19 +28,22 @@ AC_CHECK_HEADERS(sys/resource.h sys/times.h sys/time.h sys/wait.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 ------ threads AC_ARG_ENABLE(threads, [ --disable-threads disable threads],[enable_threads=$enableval],[enable_threads=yes]) if test "$enable_threads" = "yes"; then - yazflag=threads + yazflag=threads else - yazflag="" + yazflag="" fi dnl dnl ------ YAZ -YAZ_INIT($yazflag,2.1.9) +YAZ_INIT($yazflag,2.1.20) +if test "$YAZVERSION" = "NONE"; then + AC_MSG_ERROR([YAZ development libraries required]) +fi YAZ_DOC dnl ----- libXSLT AC_SUBST(XSLT_LIBS) @@ -42,30 +51,30 @@ AC_SUBST(XSLT_CFLAGS) xsltdir=yes AC_ARG_WITH(xslt,[[ --with-xslt[=PREFIX] use libxslt in PREFIX]],xsltdir=$withval) if test "$xsltdir" = "yes"; then - for d in /usr /usr/local; do - if test -x $d/bin/xslt-config; then - xsltdir=$d - fi - done + for d in /usr /usr/local; do + if test -x $d/bin/xslt-config; then + xsltdir=$d + fi + done fi if test "$xsltdir" != "no"; then - AC_MSG_CHECKING(for libXSLT) - - if test -x $xsltdir/bin/xslt-config; then - XSLT_VER=`$xsltdir/bin/xslt-config --version` - AC_MSG_RESULT($XSLT_VER) - have_xslt_version=`echo "$XSLT_VER" | awk 'BEGIN { FS = "."; } { printf "%d", ([$]1 * 1000 + [$]2) * 1000 + [$]3;}'` - if test $have_xslt_version -lt 1001011; then - AC_MSG_WARN([libXSLT too old. Use 1.1.11 or later.]) - XSLT_VER="" - else - XSLT_LIBS=`$xsltdir/bin/xslt-config --libs` - XSLT_CFLAGS=`$xsltdir/bin/xslt-config --cflags` - AC_DEFINE(HAVE_XSLT) - fi + AC_MSG_CHECKING(for libXSLT) + + if test -x $xsltdir/bin/xslt-config; then + XSLT_VER=`$xsltdir/bin/xslt-config --version` + AC_MSG_RESULT($XSLT_VER) + have_xslt_version=`echo "$XSLT_VER" | awk 'BEGIN { FS = "."; } { printf "%d", ([$]1 * 1000 + [$]2) * 1000 + [$]3;}'` + if test $have_xslt_version -lt 1001011; then + AC_MSG_WARN([libXSLT too old. Use 1.1.11 or later.]) + XSLT_VER="" else - AC_MSG_RESULT(Not found) + XSLT_LIBS=`$xsltdir/bin/xslt-config --libs` + XSLT_CFLAGS=`$xsltdir/bin/xslt-config --cflags` + AC_DEFINE(HAVE_XSLT) fi + else + AC_MSG_RESULT(Not found) + fi fi dnl ------ Look for Tcl dnl See if user has specified location of tclConfig.sh; otherwise @@ -76,127 +85,126 @@ TCL_INCLUDE="" tclconfig=NONE AC_ARG_WITH(tclconfig, [ --with-tclconfig=DIR tclConfig.sh in DIR], [tclconfig=$withval]) if test "x$tclconfig" = xNONE; then - saveprefix=${prefix} - AC_PREFIX_PROGRAM(tclsh) - tclconfig=${prefix}/lib - prefix=${saveprefix} - if test ! -r ${tclconfig}/tclConfig.sh; then - # Not found, try search for Tcl on Debian systems. - for d in /usr/lib/tcl*; do - if test -f $d/tclConfig.sh; then - tclconfig=$d - fi - done - fi + saveprefix=${prefix} + AC_PREFIX_PROGRAM(tclsh) + tclconfig=${prefix}/lib + prefix=${saveprefix} + if test ! -r ${tclconfig}/tclConfig.sh; then + # Not found, try search for Tcl on Debian systems. + for d in /usr/lib/tcl*; do + if test -f $d/tclConfig.sh; then + tclconfig=$d + fi + done + fi fi AC_MSG_CHECKING(for Tcl) if test -r ${tclconfig}/tclConfig.sh; then - . ${tclconfig}/tclConfig.sh - if test -r ${tclconfig}/../generic/tcl.h; then - TCL_INCLUDE=-I${tclconfig}/../generic - TCL_LIB="$TCL_BUILD_LIB_SPEC $TCL_LIBS" - elif test -d ${TCL_PREFIX}/include/tcl${TCL_VERSION}; then - TCL_INCLUDE=-I${TCL_PREFIX}/include/tcl${TCL_VERSION} - TCL_LIB="$TCL_LIB_SPEC $TCL_LIBS" - else - TCL_INCLUDE=-I${TCL_PREFIX}/include - TCL_LIB="$TCL_LIB_SPEC $TCL_LIBS" - fi - TCL_LIB=`echo $TCL_LIB|sed 's%-L/usr/lib%%g'` - SHLIB_CFLAGS=$TCL_SHLIB_CFLAGS - SHLIB_LD=$TCL_SHLIB_LD - SHLIB_SUFFIX=$TCL_SHLIB_SUFFIX - SHLIB_VERSION=$TCL_SHLIB_VERSION - AC_MSG_RESULT($TCL_VERSION) - AC_DEFINE(HAVE_TCL_H,1) - - # The Mac OSX -framework causes problems with Libtool - # and dependancy libs.. so apply Tcl libs everywhere - # bug #461 - case $host in + . ${tclconfig}/tclConfig.sh + if test -r ${tclconfig}/../generic/tcl.h; then + TCL_INCLUDE=-I${tclconfig}/../generic + TCL_LIB="$TCL_BUILD_LIB_SPEC $TCL_LIBS" + elif test -d ${TCL_PREFIX}/include/tcl${TCL_VERSION}; then + TCL_INCLUDE=-I${TCL_PREFIX}/include/tcl${TCL_VERSION} + TCL_LIB="$TCL_LIB_SPEC $TCL_LIBS" + else + TCL_INCLUDE=-I${TCL_PREFIX}/include + TCL_LIB="$TCL_LIB_SPEC $TCL_LIBS" + fi + TCL_LIB=`echo $TCL_LIB|sed 's%-L/usr/lib%%g'` + SHLIB_CFLAGS=$TCL_SHLIB_CFLAGS + SHLIB_LD=$TCL_SHLIB_LD + SHLIB_SUFFIX=$TCL_SHLIB_SUFFIX + SHLIB_VERSION=$TCL_SHLIB_VERSION + AC_MSG_RESULT($TCL_VERSION) + AC_DEFINE(HAVE_TCL_H,1) + + # The Mac OSX -framework causes problems with Libtool + # and dependancy libs.. so apply Tcl libs everywhere bug #461 + case $host in *-*-darwin*) - LIBS="$LIBS $TCL_LIB"; - ;; - esac - + LIBS="$LIBS $TCL_LIB"; + ;; + esac + else - AC_MSG_RESULT(Not found) - AC_DEFINE(HAVE_TCL_H,0) + AC_MSG_RESULT(Not found) + AC_DEFINE(HAVE_TCL_H,0) fi dnl -dnl ------ mkstemp +dnl ------ various functions AC_CHECK_FUNCS(mkstemp) 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"]) + 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([ + AC_CHECK_HEADERS(readline/readline.h readline/history.h) + xLIBS=$LIBS + LIBS="$LIBS $READLINE_LIBS" + AC_TRY_LINK([ #include #include ],[ - rl_attempted_completion_over = 0; - ],AC_DEFINE(HAVE_READLINE_COMPLETION_OVER)) - AC_TRY_LINK([ + rl_attempted_completion_over = 0; + ],AC_DEFINE(HAVE_READLINE_COMPLETION_OVER)) + AC_TRY_LINK([ #include #include - ],[ - rl_completion_matches (0, 0); - ],AC_DEFINE(HAVE_READLINE_RL_COMPLETION_MATCHES)) - LIBS=$xLIBS + ],[ + 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 - AC_MSG_CHECKING(for iconv) - oldLIBS="$LIBS" - oldCPPFLAGS="${CPPFLAGS}" - if test "$with_iconv" != "yes" -a "$with_iconv" != ""; then - LIBS="$LIBS -L${with_iconv}/lib" - CPPFLAGS="${CPPFLAGS} -I${with_iconv}/include" - fi - AC_TRY_LINK([ + AC_MSG_CHECKING(for iconv) + oldLIBS="$LIBS" + oldCPPFLAGS="${CPPFLAGS}" + if test "$with_iconv" != "yes" -a "$with_iconv" != ""; then + LIBS="$LIBS -L${with_iconv}/lib" + CPPFLAGS="${CPPFLAGS} -I${with_iconv}/include" + fi + AC_TRY_LINK([ #include - ],[ - iconv_t t = iconv_open("", ""); - ],[ - AC_DEFINE(HAVE_ICONV_H) - AC_MSG_RESULT(yes) - ],[ - LIBS="$LIBS -liconv" - AC_TRY_LINK([ + ],[ + iconv_t t = iconv_open("", ""); + ],[ + AC_DEFINE(HAVE_ICONV_H) + AC_MSG_RESULT(yes) + ],[ + LIBS="$LIBS -liconv" + AC_TRY_LINK([ #include - ],[ - iconv_t t = iconv_open("", ""); - ],[ - AC_DEFINE(HAVE_ICONV_H) - AC_MSG_RESULT(yes) - ],[ - LIBS="$oldLIBS" - CPPFLAGS="$oldCPPFLAGS" - AC_MSG_RESULT(no) - ]) - ]) + ],[ + iconv_t t = iconv_open("", ""); + ],[ + AC_DEFINE(HAVE_ICONV_H) + AC_MSG_RESULT(yes) + ],[ + LIBS="$oldLIBS" + CPPFLAGS="$oldCPPFLAGS" + AC_MSG_RESULT(no) + ]) + ]) fi dnl dnl ------- BZIP2 AC_CHECK_LIB(bz2,bzCompressInit) if test "$ac_cv_lib_bz2_bzCompressInit" = "yes"; then - AC_CHECK_HEADERS(bzlib.h) + AC_CHECK_HEADERS(bzlib.h) else - AC_CHECK_LIB(bz2,BZ2_bzCompressInit) - if test "$ac_cv_lib_bz2_BZ2_bzCompressInit" = "yes"; then - AC_CHECK_HEADERS(bzlib.h) - fi + AC_CHECK_LIB(bz2,BZ2_bzCompressInit) + if test "$ac_cv_lib_bz2_BZ2_bzCompressInit" = "yes"; then + AC_CHECK_HEADERS(bzlib.h) + fi fi dnl dnl ------ -lm @@ -209,20 +217,20 @@ expat=yes AC_SUBST(EXPAT_LIBS) AC_ARG_WITH(expat, [ --with-expat[=DIR] EXPAT library in DIR],[expat=$withval]) if test "$expat" != "no"; then - xLIBS="$LIBS"; - xCFLAGS="$CFLAGS"; - if test "$expat" != "yes"; then - EXPAT_CFLAGS="-I$expat/include" - EXPAT_LIBS="-L$expat/lib" - CFLAGS="$EXPAT_CFLAGS $CFLAGS" - LIBS="$EXPAT_LIBS $LIBS" - fi - AC_CHECK_LIB(expat,XML_ParserCreate,[EXPAT_LIBS="$EXPAT_LIBS -lexpat"]) - if test "$ac_cv_lib_expat_XML_ParserCreate" = "yes"; then + xLIBS="$LIBS"; + xCFLAGS="$CFLAGS"; + if test "$expat" != "yes"; then + EXPAT_CFLAGS="-I$expat/include" + EXPAT_LIBS="-L$expat/lib" + CFLAGS="$EXPAT_CFLAGS $CFLAGS" + LIBS="$EXPAT_LIBS $LIBS" + fi + AC_CHECK_LIB(expat,XML_ParserCreate,[EXPAT_LIBS="$EXPAT_LIBS -lexpat"]) + if test "$ac_cv_lib_expat_XML_ParserCreate" = "yes"; then AC_CHECK_HEADERS(expat.h) - fi - LIBS="$xLIBS" - CFLAGS="$xCFLAGS" + fi + LIBS="$xLIBS" + CFLAGS="$xCFLAGS" fi dnl dnl ------- 64 bit files @@ -243,9 +251,8 @@ int main(int argc, char **argv) if (sizeof(off_t) != 8) exit (1); o = 2000000000; - sprintf (tmp_str, "%Ld", o+o+o); - if (strcmp (tmp_str, "6000000000")) - exit (1); + if ((o+o+o) / 3 != o) + exit(1); fd = creat ("config.tmp", 0644); if (fd < 0) exit (1); @@ -260,10 +267,10 @@ int main(int argc, char **argv) } ],bits=64,bits=32,bits=32) if test "$bits" = "64"; then - AC_DEFINE(_FILE_OFFSET_BITS,64) - AC_MSG_RESULT(yes) + AC_DEFINE(_FILE_OFFSET_BITS,64) + AC_MSG_RESULT(yes) else - AC_MSG_RESULT(no) + AC_MSG_RESULT(no) fi AC_CHECK_SIZEOF([off_t]) AC_CHECK_SIZEOF([long long]) @@ -282,52 +289,52 @@ AC_DEFUN([ZEBRA_MODULE],[ myen="shared" fi if test "$enable_shared" != "yes"; then - if test "$myen" = "shared"; then - myen="static" - fi + if test "$myen" = "shared"; then + myen="static" + fi fi m=`echo $1|tr .- __` - if test "$myen" = "shared"; then - AC_MSG_RESULT([shared]) - SHARED_MODULE_LA="${SHARED_MODULE_LA} mod-$1.la" - elif test "$myen" = "static" -o "$myen" = "yes"; then - AC_MSG_RESULT([static]) - STATIC_MODULE_OBJ="${STATIC_MODULE_OBJ} \$(mod_${m}_la_OBJECTS)" - STATIC_MODULE_LADD="${STATIC_MODULE_LADD} \$(mod_${m}_la_LADD)" - modcpp=`echo $1|tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_` - AC_DEFINE_UNQUOTED([IDZEBRA_STATIC_$modcpp]) - elif test "$myen" = "no"; then - AC_MSG_RESULT([disabled]) + if test "$myen" = "no" -o "$myen" = "disabled"; then + AC_MSG_RESULT([disabled]) + elif test "$2" = "disabled"; then + AC_MSG_RESULT([disabled]) + AC_MSG_ERROR([Cannot enable mod-$1 because of missing libs (XML, etc)]) + elif test "$myen" = "shared"; then + AC_MSG_RESULT([shared]) + SHARED_MODULE_LA="${SHARED_MODULE_LA} mod-$1.la" + elif test "$myen" = "static"; then + AC_MSG_RESULT([static]) + STATIC_MODULE_OBJ="${STATIC_MODULE_OBJ} \$(mod_${m}_la_OBJECTS)" + STATIC_MODULE_LADD="${STATIC_MODULE_LADD} \$(mod_${m}_la_LADD)" + modcpp=`echo $1|tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_` + AC_DEFINE_UNQUOTED([IDZEBRA_STATIC_$modcpp]) else - AC_MSG_RESULT([$myen]) - AC_MSG_ERROR([invalid --enable-mod-$1 value. Use on,off,static or shared]) + AC_MSG_RESULT([$myen]) + AC_MSG_ERROR([invalid --enable-mod-$1 value. Use on,off,static or shared]) fi -]) + ]) ZEBRA_MODULE(text,static, [ --enable-mod-text Text filter]) ZEBRA_MODULE(grs-sgml,static,[ --enable-mod-grs-sgml Simple SGML/XML filter]) ZEBRA_MODULE(grs-regx,shared,[ --enable-mod-grs-regx REGX/TCL filter]) ZEBRA_MODULE(grs-marc,shared,[ --enable-mod-grs-marc MARC filter]) -ZEBRA_MODULE(grs-csv,shared, [ --enable-mod-grs-csv CSV filter]) -ZEBRA_MODULE(grs-danbib,shared,[ --enable-mod-grs-danbib DanBib filter (DBC)]) ZEBRA_MODULE(safari,shared, [ --enable-mod-safari Safari filter (DBC)]) if test "$ac_cv_header_expat_h" = "yes"; then - def="shared" + def="shared" else - def="no" + def="disabled" fi ZEBRA_MODULE(grs-xml,[$def], [ --enable-mod-grs-xml XML filter (Expat based)]) if test "$XSLT_VER"; then - def="shared" + def="shared" else - def="no" + def="disabled" fi -ZEBRA_MODULE(xslt,[$def], [ --enable-mod-xslt XSLT filter]) -ZEBRA_MODULE(alvis,[$def], [ --enable-mod-alvis ALVIS filter]) +ZEBRA_MODULE(alvis,[$def], [ --enable-mod-alvis ALVIS filter (Requires libxslt)]) dnl ------ ANSI C Header files AC_STDC_HEADERS if test "$ac_cv_header_stdc" = "no"; then - AC_MSG_WARN(Your system doesn't seem to support ANSI C) + AC_MSG_WARN(Your system doesn't seem to support ANSI C) fi AC_SUBST(IDZEBRA_SRC_ROOT) AC_SUBST(IDZEBRA_BUILD_ROOT) @@ -345,17 +352,13 @@ AC_OUTPUT([ isamc/Makefile rset/Makefile data1/Makefile - recctrl/Makefile index/Makefile include/Makefile include/idzebra/Makefile tab/Makefile doc/Makefile - doc/zebra.xml + doc/local.ent doc/common/Makefile - doc/common/html.dsl - doc/common/html.xsl doc/common/print.dsl - doc/common/tkl.xsl test/Makefile test/gils/Makefile test/usmarc/Makefile test/api/Makefile test/xslt/Makefile test/xpath/Makefile @@ -368,39 +371,20 @@ AC_OUTPUT([ test/espec/Makefile test/filters/Makefile examples/Makefile examples/gils/Makefile examples/zthes/Makefile - examples/marc21/Makefile examples/alvis-oai/Makefile + examples/marc21/Makefile examples/marcxml/Makefile + examples/alvis-oai/Makefile idzebra.spec - idzebra-config + idzebra-config-2.0 Doxyfile -],[sed s%idzebra_echo_source=yes%idzebra_echo_source=no%g < idzebra-config > util/idzebra-config && chmod +x idzebra-config util/idzebra-config]) - - -echo \ ' -Build and install binaries with the usual - make - make check - make install - -Build distribution tarball with - make dist - -Verify distribution tarball with - make distcheck - -Or just build the Debian packages without configuring - dpkg-buildpackage -rfakeroot -' - -if test -z "$YAZLIB"; then - echo "YAZ was not found. Use --with-yaz=DIR to specify location." - test -f /etc/debian_version && echo "Debian package libyaz-dev is required." -fi +],[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]) echo \ "------------------------------------------------------------------------ -Configuration: + ZEBRA Package: ${PACKAGE} + ZEBRA Version: ${VERSION} Source code location: ${srcdir} + C Preprocessor: ${CPP} C Preprocessor flags: ${CPPFLAGS} C Compiler: ${CC} C Compiler flags: ${CFLAGS} @@ -409,5 +393,17 @@ Configuration: Host System Type: ${host} Install path: ${prefix} Automake: ${AUTOMAKE} + Archiver: ${AR} + Ranlib: ${RANLIB} + YAZ Version: ${YAZVERSION} + YAZ Include: ${YAZINC} + YAZ La Lib: ${YAZLALIB} + YAZ Lib: ${YAZLIB} + Bugreport: ${PACKAGE_BUGREPORT} ------------------------------------------------------------------------" +dnl Local Variables: +dnl mode:shell-script +dnl sh-indentation:2 +dnl sh-basic-offset: 4 +dnl End: