From ba1c8ffb28b52f69e23cd1b199c6f235a3c1631d Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Tue, 28 Mar 2006 16:36:35 +0000 Subject: [PATCH] Move to automake1.8/1.9 --- buildconf.sh | 16 ++- configure.ac | 387 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ configure.in | 386 --------------------------------------------------------- 3 files changed, 400 insertions(+), 389 deletions(-) create mode 100644 configure.ac delete mode 100644 configure.in diff --git a/buildconf.sh b/buildconf.sh index 8dbf874..a852e29 100755 --- a/buildconf.sh +++ b/buildconf.sh @@ -1,10 +1,20 @@ #!/bin/sh -# $Id: buildconf.sh,v 1.24 2006-03-20 09:38:13 mike Exp $ +# $Id: buildconf.sh,v 1.25 2006-03-28 16:36:35 adam Exp $ + +if automake --version|head -1 |grep '1\.[4-7]'; then + echo "automake 1.4-1.7 is active. You should use automake 1.8 or later" + if test -f /etc/debian_version; then + echo " sudo apt-get install automake1.9" + echo " sudo update-alternatives --config automake" + fi + exit 1 +fi + set -x -aclocal -I . +# I am tired of underquoted warnings for Tcl macros +aclocal -I . 2>&1 | grep -v aclocal/tcl.m4 libtoolize --automake --force automake --add-missing -automake --add-missing autoconf set - if [ -f config.cache ]; then diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..8681a94 --- /dev/null +++ b/configure.ac @@ -0,0 +1,387 @@ +dnl YAZ Toolkit, Index Data 1994-2006 +dnl See the file LICENSE for details. +dnl $Id: configure.ac,v 1.1 2006-03-28 16:36:35 adam Exp $ +AC_PREREQ(2.57) +AC_INIT(yaz,2.1.15,adam.indexdata.dk) +AC_CONFIG_SRCDIR(configure.ac) +AM_INIT_AUTOMAKE(1.8) +dnl +AC_SUBST(READLINE_LIBS) +AC_SUBST(YAZ_CONF_CFLAGS) +dnl ------ Checking programs +AC_PROG_CC +AC_PROG_CPP +AC_CHECK_PROGS(YACC, 'bison -y') +test -z "$YACC" && AC_MSG_WARN([GNU bison not found]) +AC_PROG_INSTALL +AM_DISABLE_SHARED +AM_PROG_LIBTOOL +AC_PATH_PROG(pkgconfigpath, pkg-config, NONE) +dnl +YAZ_DOC +dnl +dnl +dnl ------ Headers +AC_CHECK_HEADERS(dirent.h fnmatch.h wchar.h locale.h langinfo.h pwd.h sys/select.h sys/socket.h sys/stat.h sys/time.h sys/types.h sys/un.h sys/wait.h unistd.h) +AC_HEADER_STDC +if test "$ac_cv_header_stdc" = "no"; then + AC_MSG_WARN(Your system doesn't seem to support ANSI C) +fi +dnl ----- Types +AC_CHECK_TYPES([long long]) +dnl +dnl ----- Sockets +checkBoth=0 +AC_CHECK_FUNC(connect) +if test "$ac_cv_func_connect" = "no"; then + AC_CHECK_LIB(socket, main, LIBS="$LIBS -lsocket", checkBoth=1) +fi +if test "$checkBoth" = "1"; then + oldLibs=$LIBS + LIBS="$LIBS -lsocket -lnsl" + AC_CHECK_FUNC(accept, , [LIBS=$oldLibs]) +fi +AC_CHECK_FUNC(gethostbyname, ,[AC_CHECK_LIB(nsl, main, [LIBS="$LIBS -lnsl"])]) +dnl +dnl ------ OpenSSL +AC_SUBST(SSL_CFLAGS) +openssl=no +AC_ARG_WITH(openssl, [ --with-openssl[=PREFIX] OpenSSL library in PREFIX], [openssl=$withval]) +SSL_CFLAGS="" +SSL_LIBPATH="" +if test "$openssl" != "no"; then + sslver=no + if test "$openssl" != "yes"; then + if test -x $openssl/bin/pkg-config; then + if $openssl/bin/pkg-config --exists openssl; then + SSL_CFLAGS=`$openssl/bin/pkg-config --cflags openssl` + LIBS="$LIBS `$openssl/bin/pkg-config --libs openssl`" + sslver=`$openssl/bin/pkg-config --modversion openssl` + fi + fi + if test "$sslver" = "no"; then + SSL_CFLAGS="-I$openssl/include -I$openssl/include/openssl" + SSL_LIBPATH="-L$openssl/lib" + fi + else + if test "$pkgconfigpath" != "NONE"; then + if $pkgconfigpath --exists openssl; then + SSL_CFLAGS=`$pkgconfigpath --cflags openssl` + LIBS="$LIBS `$pkgconfigpath --libs openssl`" + sslver=`$pkgconfigpath --modversion openssl` + fi + fi + if test "$sslver" = "no"; then + SSL_CFLAGS="-I/usr/include/openssl" + fi + fi + if test "$sslver" = "no"; then + xLIBS="$LIBS"; + xCPPFLAGS="$CPPFLAGS"; + CPPFLAGS="$CPPFLAGS $SSL_CFLAGS $SSL_LIBPATH" + AC_CHECK_LIB(crypto, main) + AC_CHECK_LIB(ssl, SSL_new) + if test "$ac_cv_lib_ssl_SSL_new" = "yes"; then + AC_CHECK_HEADER(openssl/ssl.h,[sslver=yes]) + LIBS="$SSL_LIBPATH $LIBS" + fi + if test "$sslver" != "yes"; then + LIBS="$xLIBS" + fi + CPPFLAGS="$xCPPFLAGS" + fi + AC_MSG_CHECKING([for SSL]) + if test "$sslver" != "no"; then + SSL_CFLAGS="-DHAVE_OPENSSL_SSL_H=1 $SSL_CFLAGS" + AC_MSG_RESULT([$sslver]) + else + SSL_CFLAGS="" + AC_MSG_RESULT([None]) + AC_MSG_ERROR([OpenSSL development libraries missing]) + fi +fi +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 + #include + ],[ + 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 +fi +dnl ------ iconv +AC_ARG_WITH(iconv, [ --with-iconv[=PREFIX] iconv library in PREFIX]) +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([ + #include + ],[ + 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) + ]) + ]) +fi +dnl ------ various functions +AC_CHECK_FUNCS(vsnprintf gettimeofday poll strerror_r localtime_r usleep fopen64) +case $host in +*-*-darwin*) + trypoll="no"; + ;; +*) + trypoll="yes"; + ;; +esac + +if test "$ac_cv_func_poll" = "yes" -a "$trypoll" = "yes"; then + AC_CHECK_HEADERS(sys/poll.h) +fi +dnl ------ socklen_t +dnl We check for socklen_t by making prototypes with the +dnl various types. First socklen_t, then size_t, finally int. +dnl If the prototype succeeds, we're probably safe. +dnl That works if accept is not preprocessor defined (such sa AIX) +AC_MSG_CHECKING([for socklen_t]) +AC_CACHE_VAL(ac_cv_check_socklen_t,[ac_cv_check_socklen_t='' + AC_TRY_COMPILE([ +#include +#include +#ifdef __cplusplus +extern "C" { +#endif +#define try 1 +#ifdef AIX +#if AIX >= 51 +#define try 0 +#endif +#endif +#if try +extern int accept(int, struct sockaddr *, socklen_t *); +#endif +#ifdef __cplusplus +} +#endif + ],,[ac_cv_check_socklen_t=socklen_t],[ + AC_TRY_COMPILE([ +#include +#include +#ifdef __cplusplus +extern "C" { +#endif +#define try 1 +#ifdef AIX +#if AIX >= 42 +#define try 0 +#endif +#endif +#if try +extern int accept(int, struct sockaddr *, size_t t *); +#endif +#ifdef __cplusplus +} +#endif + ],,[ac_cv_check_socklen_t=size_t],[ac_cv_check_socklen_t=int]) + ]) +]) +AC_MSG_RESULT($ac_cv_check_socklen_t) +AC_DEFINE_UNQUOTED(YAZ_SOCKLEN_T,$ac_cv_check_socklen_t) +AC_DEFINE(YAZ_USE_NEW_LOG) +dnl +dnl ------ tcpd +AC_ARG_ENABLE(tcpd,[ --enable-tcpd[=PREFIX] enable TCP wrapper for server if available]) +if test "$enable_tcpd" -a "$enable_tcpd" != "no"; then + oldLibs=$LIBS + oldCPPFLAGS=$CPPFLAGS + if test "$enable_tcpd" != "yes"; then + LIBS="$LIBS -L$enable_tcpd/lib" + CPPFLAGS="$CPPFLAGS -I$enable_tcpd/include" + fi + AC_MSG_CHECKING(for working tcpd.h) + LIBS="$LIBS -lwrap -lnsl" + AC_TRY_LINK([#include +#include + int allow_severity = LOG_INFO; + int deny_severity = LOG_WARNING;], + [struct request_info request_info; int i; + i = hosts_access(&request_info);], + tcpd_ok=1, tcpd_ok=0) + if test "$tcpd_ok" = "0"; then + AC_MSG_RESULT(no) + AC_MSG_ERROR([tcpd development libraries missing]) + LIBS=$oldLibs + CPPFLAGS=$oldCPPFLAGS + else + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_TCPD_H) + fi +fi +dnl +AC_SUBST(THREAD_CFLAGS) +HAVETHREADS=0 +THREAD_CFLAGS="" +LIBTHREAD="" +dnl +dnl ------ GNU threads +AC_ARG_ENABLE(pth, [ --enable-pth enable GNU threads],[enable_pth=$enableval],[enable_pth=no]) +AC_SUBST(LIBPTH) +if test "$enable_pth" = "yes"; then + OLIBS=$LIBS + AC_CHECK_LIB(pth,main) + if test "$ac_cv_lib_pth_main" = "yes"; then + AC_CHECK_HEADERS(pth.h) + if test "$ac_cv_header_pth_h" = "yes"; then + LIBTHREAD="-lpth" + THREAD_CFLAGS="-DYAZ_GNU_THREADS=1" + HAVETHREADS=1 + fi + fi + LIBS="$OLIBS $LIBTHREAD" +fi +dnl +dnl ------ POSIX Threads +AC_ARG_ENABLE(threads, [ --disable-threads disable POSIX threads],[enable_threads=$enableval],[enable_threads=yes]) +if test "$enable_threads" = "yes" -a "$HAVETHREADS" = "0"; then + OLIBS=$LIBS + OCC=$CC + AC_CHECK_LIB(pthread,main) + AC_MSG_CHECKING(for working POSIX Threads) + AC_TRY_LINK([#include + void *func(void *p) { return 0; } + ],[ + pthread_t pthread_id; + pthread_create (&pthread_id, 0, func, 0);], + thread_ok=yes,thread_ok=no) + if test "$thread_ok" = "yes"; then + AC_MSG_RESULT(yes) + LIBTHREAD="-lpthread" + THREAD_CFLAGS="-DYAZ_POSIX_THREADS=1 -D_REENTRANT" + HAVETHREADS=1 + else + CC="$CC -pthread" + AC_TRY_LINK([#include + void *func(void *p) { return 0; } + ],[ + pthread_t pthread_id; + pthread_create (&pthread_id, 0, func, 0);], + thread_ok=yes,thread_ok=no) + if test "$thread_ok" = "yes"; then + AC_MSG_RESULT([yes,BSD]) + THREAD_CFLAGS="-pthread -DYAZ_POSIX_THREADS=1 -D_REENTRANT" + LIBTHREAD="-pthread" + HAVETHREADS=1 + fi + fi + if test "$thread_ok" = "no"; then + AC_MSG_RESULT(no) + fi + CC=$OCC + LIBS="$OLIBS $LIBTHREAD" +fi +dnl +dnl ----- libXML2 +AC_SUBST(XML2_LIBS) +AC_SUBST(XML2_CFLAGS) +xml2dir=default +AC_ARG_WITH(xml2, [ --with-xml2[=PREFIX] use libxml2 in PREFIX],[xml2dir=$withval]) +if test "$xml2dir" = "yes" -o "$xml2dir" = "default"; then + for d in /usr /usr/local; do + if test -x $d/bin/xml2-config; then + xml2dir=$d + fi + done +fi +if test "$xml2dir" != "no"; then + AC_MSG_CHECKING(for libXML2) + if test -x $xml2dir/bin/xml2-config; then + XML2_LIBS=`$xml2dir/bin/xml2-config --libs` + LIBS="$XML2_LIBS $LIBS" + XML2_CFLAGS=`$xml2dir/bin/xml2-config --cflags` + XML2_VER=`$xml2dir/bin/xml2-config --version` + AC_MSG_RESULT($XML2_VER) + AC_DEFINE(HAVE_XML2) + else + AC_MSG_RESULT([Not found]) + if test "$xml2dir" = "default"; then + AC_MSG_WARN([Libxml2 development libraries not found.]) + AC_MSG_WARN([YAZ will NOT support SRW/SRU.]) + else + AC_MSG_ERROR([libXML2 development libraries not found.]) + fi + fi +fi +dnl +dnl ------ Memory debugging +AC_ARG_ENABLE(memdebug, [ --enable-memdebug enable memory debugging],[enable_memdebug=$enableval],[enable_memdebug=none]) +if test "$enable_memdebug" = "yes"; then + AC_DEFINE(TRACE_XMALLOC,2) +elif test "$enable_memdebug" = "no"; then + AC_DEFINE(TRACE_XMALLOC,0) +fi +dnl +dnl ------ Using this for "in-source" yaz-config +AC_SUBST(YAZ_SRC_ROOT) +AC_SUBST(YAZ_BUILD_ROOT) +YAZ_SRC_ROOT=`cd ${srcdir}; pwd` +YAZ_BUILD_ROOT=`pwd` +dnl +dnl ------ Makefiles +dnl +AC_OUTPUT([ +Makefile +yaz.spec +src/Makefile +test/Makefile +util/Makefile +include/Makefile +include/yaz/Makefile +client/Makefile +ztest/Makefile +zoom/Makefile +doc/Makefile +doc/yaz.xml +doc/yazhtml.dsl +doc/yazprint.dsl +doc/tkl.xsl +doc/yazhtml.xsl +etc/Makefile +yaz-config +Doxyfile +],[sed s%yaz_echo_source=yes%yaz_echo_source=no%g < yaz-config > util/yaz-config && chmod +x yaz-config util/yaz-config]) diff --git a/configure.in b/configure.in deleted file mode 100644 index 5b585ab..0000000 --- a/configure.in +++ /dev/null @@ -1,386 +0,0 @@ -dnl YAZ Toolkit, Index Data 1994-2006 -dnl See the file LICENSE for details. -dnl $Id: configure.in,v 1.193 2006-03-16 08:36:29 adam Exp $ -AC_INIT(include/yaz/yaz-version.h) -AM_INIT_AUTOMAKE(yaz, 2.1.15) -AM_MAINTAINER_MODE -dnl -AC_SUBST(READLINE_LIBS) -AC_SUBST(YAZ_CONF_CFLAGS) -dnl ------ Checking programs -AC_PROG_CC -AC_PROG_CPP -AC_CHECK_PROGS(YACC, 'bison -y') -test -z "$YACC" && AC_MSG_WARN([GNU bison not found]) -AC_PROG_INSTALL -AM_DISABLE_SHARED -AM_PROG_LIBTOOL -AC_PATH_PROG(pkgconfigpath, pkg-config, NONE) -dnl -YAZ_DOC -dnl -dnl -dnl ------ Headers -AC_CHECK_HEADERS(dirent.h fnmatch.h wchar.h locale.h langinfo.h pwd.h sys/select.h sys/socket.h sys/stat.h sys/time.h sys/types.h sys/un.h sys/wait.h unistd.h) -AC_HEADER_STDC -if test "$ac_cv_header_stdc" = "no"; then - AC_MSG_WARN(Your system doesn't seem to support ANSI C) -fi -dnl ----- Types -AC_CHECK_TYPES([long long]) -dnl -dnl ----- Sockets -checkBoth=0 -AC_CHECK_FUNC(connect) -if test "$ac_cv_func_connect" = "no"; then - AC_CHECK_LIB(socket, main, LIBS="$LIBS -lsocket", checkBoth=1) -fi -if test "$checkBoth" = "1"; then - oldLibs=$LIBS - LIBS="$LIBS -lsocket -lnsl" - AC_CHECK_FUNC(accept, , [LIBS=$oldLibs]) -fi -AC_CHECK_FUNC(gethostbyname, ,[AC_CHECK_LIB(nsl, main, [LIBS="$LIBS -lnsl"])]) -dnl -dnl ------ OpenSSL -AC_SUBST(SSL_CFLAGS) -openssl=no -AC_ARG_WITH(openssl, [ --with-openssl[=PREFIX] OpenSSL library in PREFIX], [openssl=$withval]) -SSL_CFLAGS="" -SSL_LIBPATH="" -if test "$openssl" != "no"; then - sslver=no - if test "$openssl" != "yes"; then - if test -x $openssl/bin/pkg-config; then - if $openssl/bin/pkg-config --exists openssl; then - SSL_CFLAGS=`$openssl/bin/pkg-config --cflags openssl` - LIBS="$LIBS `$openssl/bin/pkg-config --libs openssl`" - sslver=`$openssl/bin/pkg-config --modversion openssl` - fi - fi - if test "$sslver" = "no"; then - SSL_CFLAGS="-I$openssl/include -I$openssl/include/openssl" - SSL_LIBPATH="-L$openssl/lib" - fi - else - if test "$pkgconfigpath" != "NONE"; then - if $pkgconfigpath --exists openssl; then - SSL_CFLAGS=`$pkgconfigpath --cflags openssl` - LIBS="$LIBS `$pkgconfigpath --libs openssl`" - sslver=`$pkgconfigpath --modversion openssl` - fi - fi - if test "$sslver" = "no"; then - SSL_CFLAGS="-I/usr/include/openssl" - fi - fi - if test "$sslver" = "no"; then - xLIBS="$LIBS"; - xCPPFLAGS="$CPPFLAGS"; - CPPFLAGS="$CPPFLAGS $SSL_CFLAGS $SSL_LIBPATH" - AC_CHECK_LIB(crypto, main) - AC_CHECK_LIB(ssl, SSL_new) - if test "$ac_cv_lib_ssl_SSL_new" = "yes"; then - AC_CHECK_HEADER(openssl/ssl.h,[sslver=yes]) - LIBS="$SSL_LIBPATH $LIBS" - fi - if test "$sslver" != "yes"; then - LIBS="$xLIBS" - fi - CPPFLAGS="$xCPPFLAGS" - fi - AC_MSG_CHECKING([for SSL]) - if test "$sslver" != "no"; then - SSL_CFLAGS="-DHAVE_OPENSSL_SSL_H=1 $SSL_CFLAGS" - AC_MSG_RESULT([$sslver]) - else - SSL_CFLAGS="" - AC_MSG_RESULT([None]) - AC_MSG_ERROR([OpenSSL development libraries missing]) - fi -fi -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 - #include - ],[ - 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 -fi -dnl ------ iconv -AC_ARG_WITH(iconv, [ --with-iconv[=PREFIX] iconv library in PREFIX]) -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([ - #include - ],[ - 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) - ]) - ]) -fi -dnl ------ various functions -AC_CHECK_FUNCS(vsnprintf gettimeofday poll strerror_r localtime_r usleep fopen64) -case $host in -*-*-darwin*) - trypoll="no"; - ;; -*) - trypoll="yes"; - ;; -esac - -if test "$ac_cv_func_poll" = "yes" -a "$trypoll" = "yes"; then - AC_CHECK_HEADERS(sys/poll.h) -fi -dnl ------ socklen_t -dnl We check for socklen_t by making prototypes with the -dnl various types. First socklen_t, then size_t, finally int. -dnl If the prototype succeeds, we're probably safe. -dnl That works if accept is not preprocessor defined (such sa AIX) -AC_MSG_CHECKING([for socklen_t]) -AC_CACHE_VAL(ac_cv_check_socklen_t,[ac_cv_check_socklen_t='' - AC_TRY_COMPILE([ -#include -#include -#ifdef __cplusplus -extern "C" { -#endif -#define try 1 -#ifdef AIX -#if AIX >= 51 -#define try 0 -#endif -#endif -#if try -extern int accept(int, struct sockaddr *, socklen_t *); -#endif -#ifdef __cplusplus -} -#endif - ],,[ac_cv_check_socklen_t=socklen_t],[ - AC_TRY_COMPILE([ -#include -#include -#ifdef __cplusplus -extern "C" { -#endif -#define try 1 -#ifdef AIX -#if AIX >= 42 -#define try 0 -#endif -#endif -#if try -extern int accept(int, struct sockaddr *, size_t t *); -#endif -#ifdef __cplusplus -} -#endif - ],,[ac_cv_check_socklen_t=size_t],[ac_cv_check_socklen_t=int]) - ]) -]) -AC_MSG_RESULT($ac_cv_check_socklen_t) -AC_DEFINE_UNQUOTED(YAZ_SOCKLEN_T,$ac_cv_check_socklen_t) -AC_DEFINE(YAZ_USE_NEW_LOG) -dnl -dnl ------ tcpd -AC_ARG_ENABLE(tcpd,[ --enable-tcpd[=PREFIX] enable TCP wrapper for server if available]) -if test "$enable_tcpd" -a "$enable_tcpd" != "no"; then - oldLibs=$LIBS - oldCPPFLAGS=$CPPFLAGS - if test "$enable_tcpd" != "yes"; then - LIBS="$LIBS -L$enable_tcpd/lib" - CPPFLAGS="$CPPFLAGS -I$enable_tcpd/include" - fi - AC_MSG_CHECKING(for working tcpd.h) - LIBS="$LIBS -lwrap -lnsl" - AC_TRY_LINK([#include -#include - int allow_severity = LOG_INFO; - int deny_severity = LOG_WARNING;], - [struct request_info request_info; int i; - i = hosts_access(&request_info);], - tcpd_ok=1, tcpd_ok=0) - if test "$tcpd_ok" = "0"; then - AC_MSG_RESULT(no) - AC_MSG_ERROR([tcpd development libraries missing]) - LIBS=$oldLibs - CPPFLAGS=$oldCPPFLAGS - else - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_TCPD_H) - fi -fi -dnl -AC_SUBST(THREAD_CFLAGS) -HAVETHREADS=0 -THREAD_CFLAGS="" -LIBTHREAD="" -dnl -dnl ------ GNU threads -AC_ARG_ENABLE(pth, [ --enable-pth enable GNU threads],[enable_pth=$enableval],[enable_pth=no]) -AC_SUBST(LIBPTH) -if test "$enable_pth" = "yes"; then - OLIBS=$LIBS - AC_CHECK_LIB(pth,main) - if test "$ac_cv_lib_pth_main" = "yes"; then - AC_CHECK_HEADERS(pth.h) - if test "$ac_cv_header_pth_h" = "yes"; then - LIBTHREAD="-lpth" - THREAD_CFLAGS="-DYAZ_GNU_THREADS=1" - HAVETHREADS=1 - fi - fi - LIBS="$OLIBS $LIBTHREAD" -fi -dnl -dnl ------ POSIX Threads -AC_ARG_ENABLE(threads, [ --disable-threads disable POSIX threads],[enable_threads=$enableval],[enable_threads=yes]) -if test "$enable_threads" = "yes" -a "$HAVETHREADS" = "0"; then - OLIBS=$LIBS - OCC=$CC - AC_CHECK_LIB(pthread,main) - AC_MSG_CHECKING(for working POSIX Threads) - AC_TRY_LINK([#include - void *func(void *p) { return 0; } - ],[ - pthread_t pthread_id; - pthread_create (&pthread_id, 0, func, 0);], - thread_ok=yes,thread_ok=no) - if test "$thread_ok" = "yes"; then - AC_MSG_RESULT(yes) - LIBTHREAD="-lpthread" - THREAD_CFLAGS="-DYAZ_POSIX_THREADS=1 -D_REENTRANT" - HAVETHREADS=1 - else - CC="$CC -pthread" - AC_TRY_LINK([#include - void *func(void *p) { return 0; } - ],[ - pthread_t pthread_id; - pthread_create (&pthread_id, 0, func, 0);], - thread_ok=yes,thread_ok=no) - if test "$thread_ok" = "yes"; then - AC_MSG_RESULT([yes,BSD]) - THREAD_CFLAGS="-pthread -DYAZ_POSIX_THREADS=1 -D_REENTRANT" - LIBTHREAD="-pthread" - HAVETHREADS=1 - fi - fi - if test "$thread_ok" = "no"; then - AC_MSG_RESULT(no) - fi - CC=$OCC - LIBS="$OLIBS $LIBTHREAD" -fi -dnl -dnl ----- libXML2 -AC_SUBST(XML2_LIBS) -AC_SUBST(XML2_CFLAGS) -xml2dir=default -AC_ARG_WITH(xml2, [ --with-xml2[=PREFIX] use libxml2 in PREFIX],[xml2dir=$withval]) -if test "$xml2dir" = "yes" -o "$xml2dir" = "default"; then - for d in /usr /usr/local; do - if test -x $d/bin/xml2-config; then - xml2dir=$d - fi - done -fi -if test "$xml2dir" != "no"; then - AC_MSG_CHECKING(for libXML2) - if test -x $xml2dir/bin/xml2-config; then - XML2_LIBS=`$xml2dir/bin/xml2-config --libs` - LIBS="$XML2_LIBS $LIBS" - XML2_CFLAGS=`$xml2dir/bin/xml2-config --cflags` - XML2_VER=`$xml2dir/bin/xml2-config --version` - AC_MSG_RESULT($XML2_VER) - AC_DEFINE(HAVE_XML2) - else - AC_MSG_RESULT([Not found]) - if test "$xml2dir" = "default"; then - AC_MSG_WARN([Libxml2 development libraries not found.]) - AC_MSG_WARN([YAZ will NOT support SRW/SRU.]) - else - AC_MSG_ERROR([libXML2 development libraries not found.]) - fi - fi -fi -dnl -dnl ------ Memory debugging -AC_ARG_ENABLE(memdebug, [ --enable-memdebug enable memory debugging],[enable_memdebug=$enableval],[enable_memdebug=none]) -if test "$enable_memdebug" = "yes"; then - AC_DEFINE(TRACE_XMALLOC,2) -elif test "$enable_memdebug" = "no"; then - AC_DEFINE(TRACE_XMALLOC,0) -fi -dnl -dnl ------ Using this for "in-source" yaz-config -AC_SUBST(YAZ_SRC_ROOT) -AC_SUBST(YAZ_BUILD_ROOT) -YAZ_SRC_ROOT=`cd ${srcdir}; pwd` -YAZ_BUILD_ROOT=`pwd` -dnl -dnl ------ Makefiles -dnl -AC_OUTPUT([ -Makefile -yaz.spec -src/Makefile -test/Makefile -util/Makefile -include/Makefile -include/yaz/Makefile -client/Makefile -ztest/Makefile -zoom/Makefile -doc/Makefile -doc/yaz.xml -doc/yazhtml.dsl -doc/yazprint.dsl -doc/tkl.xsl -doc/yazhtml.xsl -etc/Makefile -yaz-config -Doxyfile -],[sed s%yaz_echo_source=yes%yaz_echo_source=no%g < yaz-config > util/yaz-config && chmod +x yaz-config util/yaz-config]) -- 1.7.10.4