dnl YAZ Toolkit, Index Data 1994-2003
dnl See the file LICENSE for details.
-dnl $Id: configure.in,v 1.110 2003-03-25 09:57:26 adam Exp $
+dnl $Id: configure.in,v 1.118 2003-11-19 14:03:36 adam Exp $
AC_INIT(include/yaz/yaz-version.h)
-AM_INIT_AUTOMAKE(yaz, 2.0.1)
+AM_INIT_AUTOMAKE(yaz, 2.0.5)
+AM_MAINTAINER_MODE
dnl
AC_SUBST(READLINE_LIBS)
AC_SUBST(YAZ_CONF_CFLAGS)
AC_PROG_INSTALL
AM_DISABLE_SHARED
AM_PROG_LIBTOOL
+AC_PATH_PROG(pkgconfig, pkg-config, NONE)
dnl
dnl ----- DOCBOOK DTD
AC_SUBST(DTD_DIR)
fi
AC_CHECK_FUNC(gethostbyname, , AC_CHECK_LIB(nsl, main, [LIBS="$LIBS -lnsl"]))
dnl
-dnl ------ Open SSL
+dnl ------ OpenSSL
openssl=no
AC_ARG_WITH(openssl, [ --with-openssl[=PREFIX] OpenSSL library in PREFIX], [openssl=$withval])
AC_SUBST(SSL_CFLAGS)
SSL_LIBS=""
SSL_DEFS=""
if test "$openssl" != "no"; then
+ sslver=no
xLIBS="$LIBS";
xCFLAGS="$CFLAGS";
if test "$openssl" != "yes"; then
- SSL_CFLAGS="-I$openssl/include -I$openssl/include/openssl"
- SSL_LIBS="-L$openssl/lib"
- CFLAGS="$SSL_CFLAGS $CFLAGS"
- LIBS="$SSL_LIBS $LIBS"
+ if $openssl/bin/pkg-config --exists openssl; then
+ SSL_CFLAGS=`$openssl/bin/pkgconfig --cflags openssl`
+ SSL_LIBS=`$openssl/bin/pkgconfig --libs openssl`
+ sslver=`$openssl/bin/pkgconfig --modversion openssl`
+ else
+ SSL_CFLAGS="-I$openssl/include -I$openssl/include/openssl"
+ SSL_LIBS="-L$openssl/lib"
+ CFLAGS="$SSL_CFLAGS $CFLAGS"
+ LIBS="$SSL_LIBS $LIBS"
+ fi
+ else
+ if $pkgconfig --exists openssl; then
+ SSL_CFLAGS=`$pkgconfig --cflags openssl`
+ SSL_LIBS=`$pkgconfig --libs openssl`
+ sslver=`$pkgconfig --modversion openssl`
+ fi
+ fi
+ if test "$sslver" = "no"; then
+ AC_CHECK_LIB(crypto, main,[SSL_LIBS="$SSL_LIBS -lcrypto"])
+ LIBS="$LIBS $SSL_LIBS"
+ AC_CHECK_LIB(ssl, SSL_new)
+ if test "$ac_cv_lib_ssl_SSL_new" = "yes"; then
+ AC_CHECK_HEADER(openssl/ssl.h,[sslver=yes])
+ fi
+ if test "$sslver" = "yes"; then
+ SSL_LIBS="$SSL_LIBS -lssl"
+ fi
fi
- AC_CHECK_LIB(crypto, main,[SSL_LIBS="$SSL_LIBS -lcrypto"])
- LIBS="$LIBS $SSL_LIBS"
- AC_CHECK_LIB(ssl, SSL_new)
- if test "$ac_cv_lib_ssl_SSL_new" = "yes"; then
- SSL_LIBS="$SSL_LIBS -lssl"
- AC_CHECK_HEADER(openssl/ssl.h,[SSL_DEFS="-DHAVE_OPENSSL_SSL_H=1"; USE_SSL=1])
- else
- SSL_LIBS=""
+ if test "$sslver" != "no"; then
+ SSL_DEFS="-DHAVE_OPENSSL_H=1"
+ USE_SSL=1
fi
+ AC_MSG_CHECKING([for SSL])
+ AC_MSG_RESULT($sslver)
LIBS="$xLIBS"
CFLAGS="$xCFLAGS"
fi
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 <sys/types.h>
- #include <sys/socket.h>
- #ifdef __cplusplus
- extern "C" {
- #endif
- extern int accept(int, struct sockaddr *, socklen_t *);
- #ifdef __cplusplus
- }
- #endif
+#include <sys/types.h>
+#include <sys/socket.h>
+#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 <sys/types.h>
- #include <sys/socket.h>
- #ifdef __cplusplus
- extern "C" {
- #endif
- extern int accept(int, struct sockaddr *, size_t t *);
- #ifdef __cplusplus
- }
- #endif
+#include <sys/types.h>
+#include <sys/socket.h>
+#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_OUTPUT([
Makefile
yaz.spec
+src/Makefile
+test/Makefile
util/Makefile
-odr/Makefile
-z39.50/Makefile
-ill/Makefile
-zutil/Makefile
-comstack/Makefile
-ccl/Makefile
-cql/Makefile
-server/Makefile
include/Makefile
include/yaz/Makefile
-lib/Makefile
client/Makefile
ztest/Makefile
zoom/Makefile
doc/yazhtml.xsl
etc/Makefile
yaz-config
-],[sed s%yaz_echo_source=yes%yaz_echo_source=no%g < yaz-config > lib/yaz-config && chmod +x yaz-config lib/yaz-config])
+],[sed s%yaz_echo_source=yes%yaz_echo_source=no%g < yaz-config > util/yaz-config && chmod +x yaz-config util/yaz-config])