diff options
-rw-r--r-- | CHANGES | 3 | ||||
-rw-r--r-- | RELEASE-NOTES | 1 | ||||
-rw-r--r-- | configure.ac | 33 |
3 files changed, 28 insertions, 9 deletions
@@ -7,6 +7,9 @@ Changelog Daniel Stenberg (21 Oct 2009) +- Attempt to use pkg-config for finding out libssh2 installation details + during configure. + - A patch in bug report #2883177 (http://curl.haxx.se/bug/view.cgi?id=2883177) by Johan van Selst introduced the --crlfile option to curl, which makes curl tell libcurl about a file with CRL (certificate revocation list) data to diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 8d1eb69e0..775b5fa61 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -40,6 +40,7 @@ This release includes the following bugfixes: o double close() on the primary socket with libcurl-NSS o GSS negotiate infinite loop on bad credentials o memory leak in SCP/SFTP connections + o use pkg-config to find out libssh2 installation details in configure This release includes the following known bugs: diff --git a/configure.ac b/configure.ac index dd53b2ed4..1484f0a08 100644 --- a/configure.ac +++ b/configure.ac @@ -1698,22 +1698,37 @@ if test X"$OPT_LIBSSH2" != Xno; then case "$OPT_LIBSSH2" in yes) dnl --with-libssh2 (without path) used - PREFIX_LIBSSH2=/usr/local/lib - LIB_LIBSSH2="$PREFIX_LIBSSH2$libsuff" + CURL_CHECK_PKGCONFIG(libssh2) + + if test "$PKGCONFIG" != "no" ; then + LIB_SSH2=`$PKGCONFIG --libs-only-l libssh2` + LD_SSH2=`$PKGCONFIG --libs-only-L libssh2` + CPP_SSH2=`$PKGCONFIG --cflags-only-I libssh2` + version=`$PKGCONFIG --modversion libssh2` + DIR_SSH2=`echo $LD_SSH2 | $SED -e 's/-L//'` + fi + ;; off) dnl no --with-libssh2 option given, just check default places - PREFIX_LIBSSH2= ;; *) dnl use the given --with-libssh2 spot - PREFIX_LIBSSH2=$OPT_LIBSSH2 - LIB_LIBSSH2="$PREFIX_LIBSSH2/lib$libsuff" - LDFLAGS="$LDFLAGS -L$LIB_LIBSSH2" - CPPFLAGS="$CPPFLAGS -I$PREFIX_LIBSSH2/include" + PREFIX_SSH2=$OPT_LIBSSH2 ;; esac + dnl if given with a prefix, we set -L and -I based on that + if test -n "$PREFIX_SSH2"; then + LD_SSH2=-L${PREFIX_SSH2}/lib + CPP_SSH2=-I${PREFIX_SSH2}/include + DIR_SSH2=${PREFIX_SSH2}/lib + fi + + LDFLAGS="$LDFLAGS $LD_SSH2" + CPPFLAGS="$CPPFLAGS $CPP_SSH2" + LIBS="$LIBS $LIB_SSH2" + AC_CHECK_LIB(ssh2, libssh2_channel_open_ex) AC_CHECK_HEADERS(libssh2.h, @@ -1737,9 +1752,9 @@ if test X"$OPT_LIBSSH2" != Xno; then dnl libssh2_version is a post 1.0 addition AC_CHECK_FUNCS( libssh2_version ) - LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_LIBSSH2" + LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$DIR_SSH2" export LD_LIBRARY_PATH - AC_MSG_NOTICE([Added $LIB_LIBSSH2 to LD_LIBRARY_PATH]) + AC_MSG_NOTICE([Added $DIR_SSH2 to LD_LIBRARY_PATH]) fi else dnl no libssh2, revert back to clean variables |