[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Using autoconf-lib-link outside gettext
From: |
Hrvoje Niksic |
Subject: |
Re: Using autoconf-lib-link outside gettext |
Date: |
Fri, 24 Jun 2005 17:09:27 +0200 |
User-agent: |
Gnus/5.1007 (Gnus v5.10.7) XEmacs/21.4.17 (Jumbo Shrimp, linux) |
Thanks *a lot* for your support. Thanks to you Wget's CVS (ok,
subversion) code is now rid of Libtool and has switched to
AC_LIB_HAVE_LINKFLAGS for detection of OpenSSL libraries. It now
looks like this:
dnl Check for OpenSSL
if test x"$with_ssl" != x"no"
then
dnl As of this writing (OpenSSL 0.9.6), the libcrypto shared library
dnl doesn't record its dependency on libdl, so we need to make sure
dnl -ldl ends up in LIBS on systems that have it. Most OSes use
dnl dlopen(), but HP-UX uses dnl shl_load().
AC_CHECK_LIB(dl, dlopen, [], [
AC_CHECK_LIB(dl, shl_load)
])
dnl Now actually check for -lssl
AC_LIB_HAVE_LINKFLAGS([ssl], [crypto], [
#include <openssl/ssl.h>
#include <openssl/x509.h>
#include <openssl/err.h>
#include <openssl/rand.h>
#include <openssl/des.h>
#include <openssl/md4.h>
#include <openssl/md5.h>
], [SSL_library_init ()])
if test x"$LIBSSL" != x
then
AC_MSG_NOTICE([compiling in support for SSL])
AC_DEFINE([HAVE_SSL], 1,
[Define if SSL support should be compiled in.])
SSL_OBJ='openssl.o'
fi
fi
AC_SUBST(SSL_OBJ)
That may seem hairy, but compared to 200 lines of old code and the
complexity incurred by using Libtool (which is now removed), the above
is a breeze!
If we add more than one so detected library, we might need an option
to provide a generic include and library path for systems who put
third-party software in a specific location. I'm aware that
AC_LIB_HAVE_LINKFLAGS searches for $prefix, but that won't work when
Wget's prefix is different from the prefix of the libraries.
In other words, instead of saying:
./configure --prefix=$HOME \
--with-libssl-prefix=/opt/gnu \
--with-libz-prefix=/opt/gnu \
--with-libexpat-prefix=/opt/gnu \
--with-librecord-prefix=/opt/gnu \
...
I'd like the user to be able to say:
./configure --prefix=$HOME --site-stuff=/opt/gnu
(Except it'd use a name better than `--site-stuff'.) Does that make
sense? Or am I missing a way to achieve this with current
infrastructure?
> If you want to test for the presence of the library at the same time as
> you locate it, use the macro
> AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
> It searches for libname and the libraries corresponding to explicit and
> implicit dependencies, together with the specified include files and
> the ability to compile and link the specified testcode.
What about running an example code? For example, GCC on Solaris
implicitly uses -L/usr/local/lib, but not -R/usr/local/lib, producing
executables that simply don't run. (At least not without setting
LD_LIBRARY_PATH, which is not a desirable quality.) Will
AC_LIB_HAVE_LINKFLAGS trip on that problem?
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: Using autoconf-lib-link outside gettext,
Hrvoje Niksic <=