From: Harlan Stenn Date: Sat, 16 Jun 2012 03:45:09 +0000 (+0000) Subject: Improvements to sntp/m4/ntp_openssl.m4 X-Git-Tag: NTP_4_2_7P283~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0872743a4e9c38838644cd0800b5f13f4e639fa3;p=thirdparty%2Fntp.git Improvements to sntp/m4/ntp_openssl.m4 bk: 4fdc0145YNELYJR1z8nYq4RJR7KQ5A --- diff --git a/ChangeLog b/ChangeLog index d4d2cd13d..b92fffb4f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,5 @@ +* In sntp/m4/ntp_openssl.m4, Support multiple package names for the + crypto library. Add legacy support for -Wl,-rpath. (4.2.7p282) 2012/06/15 Released by Harlan Stenn * tickadj may need to be linked with PTHREAD_LIBS. (4.2.7p281) 2012/06/14 Released by Harlan Stenn diff --git a/sntp/m4/ntp_openssl.m4 b/sntp/m4/ntp_openssl.m4 index c88fc0433..9d9189ce9 100644 --- a/sntp/m4/ntp_openssl.m4 +++ b/sntp/m4/ntp_openssl.m4 @@ -33,7 +33,7 @@ AC_ARG_WITH( [crypto], [AS_HELP_STRING( [--with-crypto], - [+ =openssl] + [+ =openssl,libcrypto] )] ) AC_ARG_WITH( @@ -59,33 +59,48 @@ AC_ARG_WITH( ) ntp_openssl=no ntp_openssl_from_pkg_config=no -with_crypto=${with_crypto:-yes} +with_crypto=${with_crypto:-openssl,libcrypto} case "$with_crypto" in - openssl) - with_crypto=yes + yes) + with_crypto=openssl,libcrypto esac case "$with_crypto:${PKG_CONFIG:+notempty}:${with_openssl_libdir-notgiven}:${with_openssl_incdir-notgiven}" in - yes:notempty:notgiven:notgiven) - if $PKG_CONFIG --exists openssl ; then - CPPFLAGS_NTP="$CPPFLAGS_NTP `$PKG_CONFIG --cflags-only-I openssl`" - CFLAGS_NTP="$CFLAGS_NTP `$PKG_CONFIG --cflags-only-other openssl`" - LDADD_NTP="$LDADD_NTP `$PKG_CONFIG --libs-only-L openssl`" - LDADD_NTP="$LDADD_NTP `$PKG_CONFIG --libs-only-l openssl`" - LDFLAGS_NTP="$LDFLAGS_NTP `$PKG_CONFIG --libs-only-other openssl`" - VER_SUFFIX=o - ntp_openssl=yes - ntp_openssl_from_pkg_config=yes - fi + no:*) ;; + *:notempty:notgiven:notgiven) + for pkg in `echo $with_crypto | sed -e 's/,/ /'`; do + AC_MSG_CHECKING([pkg-config for $pkg]) + if $PKG_CONFIG --exists $pkg ; then + CPPFLAGS_NTP="$CPPFLAGS_NTP `$PKG_CONFIG --cflags-only-I $pkg`" + CFLAGS_NTP="$CFLAGS_NTP `$PKG_CONFIG --cflags-only-other $pkg`" + LDADD_NTP="$LDADD_NTP `$PKG_CONFIG --libs-only-L $pkg`" + LDADD_NTP="$LDADD_NTP `$PKG_CONFIG --libs-only-l $pkg`" + LDFLAGS_NTP="$LDFLAGS_NTP `$PKG_CONFIG --libs-only-other $pkg`" + VER_SUFFIX=o + ntp_openssl=yes + ntp_openssl_from_pkg_config=yes + AC_MSG_RESULT([yes]) + + break + fi + AC_MSG_RESULT([no]) + done esac case "$with_crypto:$ntp_openssl" in - yes:no) + no:*) ;; + *:no) need_dash_r= + need_dash_Wlrpath= case "${with_rpath-notgiven}" in yes) + # Lame - what to do if we need -Wl... but not -R? need_dash_r=1 ;; notgiven) case "$host" in + *-*-linux*) + # This may really only be true for gcc + need_dash_Wlrpath=1 + ;; *-*-netbsd*) need_dash_r=1 ;; @@ -195,6 +210,10 @@ case "$with_crypto:$ntp_openssl" in 1) LDFLAGS_NTP="$LDFLAGS_NTP -R$openssl_libdir" esac + case "$need_dash_Wlrpath" in + 1) + LDFLAGS_NTP="$LDFLAGS_NTP -Wl,-rpath,$openssl_libdir" + esac ;; esac LDADD_NTP="$LDADD_NTP -lcrypto"