summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim.muller@collabora.co.uk>2009-12-05 11:25:15 +0000
committerTim-Philipp Müller <tim.muller@collabora.co.uk>2009-12-05 11:25:15 +0000
commit830b21caf29c5ee834259d183d9586c198c737f8 (patch)
tree2a50dc9d997c73d0c1176e1985ecb575f413a43d
parentb9d2a4ab6788cd52782866ab621b5b0840b6226b (diff)
apexsink: clean up and fix configure logic and Makefile.am
Check for openssl and libcrypto using pkg-config and don't build the plugin if those are not available. Also, fix the CFLAGS/LIBS order in Makefile.am and use the detected LIBS instead of hard-coding -lcrypto in the Makefile.am. Should fix #601417.
-rw-r--r--configure.ac134
-rw-r--r--ext/apexsink/Makefile.am7
2 files changed, 17 insertions, 124 deletions
diff --git a/configure.ac b/configure.ac
index 1b9bacb6e..ea65e9f23 100644
--- a/configure.ac
+++ b/configure.ac
@@ -508,129 +508,19 @@ AG_GST_CHECK_FEATURE(AMRWB, [amrwb library], amrwbenc, [
dnl *** apexsink ***
translit(dnm, m, l) AM_CONDITIONAL(USE_APEXSINK, true)
AG_GST_CHECK_FEATURE(APEXSINK, [AirPort Express Wireless sink], apexsink, [
-
- HAVE_APEXSINK="yes"
- # The big search for OpenSSL
- # copied from openssh's configure.ac
- AC_ARG_WITH(ssl-dir,
- [ --with-ssl-dir=PATH Specify path to OpenSSL installation ],
- [
- if test "x$withval" != "xno" ; then
- tryssldir=$withval
- fi
- ]
- )
-
- AC_SEARCH_LIBS(socket, [socket])
- AC_SEARCH_LIBS(gethostbyname, [nsl])
-
- saved_LIBS="$LIBS"
- saved_LDFLAGS="$LDFLAGS"
- saved_CPPFLAGS="$CPPFLAGS"
- if test "x$prefix" != "xNONE" ; then
- tryssldir="$tryssldir $prefix"
- fi
- AC_CACHE_CHECK([for OpenSSL directory], ac_cv_openssldir, [
- for ssldir in $tryssldir "" /usr/local/openssl /usr/lib/openssl /usr/local/ssl /usr/lib/ssl /usr/local /usr/athena /usr/pkg /opt /opt/openssl ; do
- CPPFLAGS="$saved_CPPFLAGS"
- LDFLAGS="$saved_LDFLAGS"
- LIBS="$saved_LIBS -lssl -lcrypto"
-
- # Skip directories if they don't exist
- if test ! -z "$ssldir" -a ! -d "$ssldir" ; then
- continue;
- fi
- if test ! -z "$ssldir" -a "x$ssldir" != "x/usr"; then
- # Try to use $ssldir/lib if it exists, otherwise
- # $ssldir
- if test -d "$ssldir/lib" ; then
- LDFLAGS="-L$ssldir/lib $saved_LDFLAGS"
- if test ! -z "$need_dash_r" ; then
- LDFLAGS="-R$ssldir/lib $LDFLAGS"
- fi
- else
- LDFLAGS="-L$ssldir $saved_LDFLAGS"
- if test ! -z "$need_dash_r" ; then
- LDFLAGS="-R$ssldir $LDFLAGS"
- fi
- fi
- # Try to use $ssldir/include if it exists, otherwise
- # $ssldir
- if test -d "$ssldir/include" ; then
- CPPFLAGS="-I$ssldir/include $saved_CPPFLAGS"
- else
- CPPFLAGS="-I$ssldir $saved_CPPFLAGS"
- fi
- fi
-
- # Basic test to check for compatible version and correct linking
- # *does not* test for RSA - that comes later.
- AC_TRY_COMPILE(
- [
-#include <string.h>
-#include <openssl/rand.h>
-],[
-int main(void)
-{
- char a[2048];
- memset(a, 0, sizeof(a));
- RAND_add(a, sizeof(a), sizeof(a));
- return(RAND_status() <= 0);
-}
- ],
- [
- found_crypto=1
- break;
- ], []
- )
-
- if test ! -z "$found_crypto" ; then
- break;
- fi
- done
-
- if test -z "$found_crypto" ; then
- HAVE_APEXSINK="no"
- fi
- if test -z "$ssldir" ; then
- ssldir="(system)"
- fi
-
- ac_cv_openssldir=$ssldir
+ PKG_CHECK_MODULES(APEXSINK, [ openssl >= 0.9.5 libcrypto ], [
+ HAVE_APEXSINK="yes"
+ saved_LIBS="$LIBS"
+ LIBS=""
+ AC_SEARCH_LIBS(socket, [socket], [ ], [ APEXSINK="no" ])
+ AC_SEARCH_LIBS(gethostbyname, [nsl], [ ], [ APEXSINK="no" ])
+ APEXSINK_LIBS="$APEXSINK_LIBS $LIBS"
+ LIBS="$saved_LIBS"
+ AC_SUBST(APEXSINK_CFLAGS)
+ AC_SUBST(APEXSINK_LIBS)
+ ], [
+ APEXSINK="no"
])
- if (test ! -z "$ac_cv_openssldir" && test "x$ac_cv_openssldir" != "x(system)") ;
- then
- dnl Need to recover ssldir - test above runs in subshell
- ssldir=$ac_cv_openssldir
- if test ! -z "$ssldir" -a "x$ssldir" != "x/usr"; then
- # Try to use $ssldir/lib if it exists, otherwise
- # $ssldir
- if test -d "$ssldir/lib" ; then
- APEXSINK_LIBS="-L$ssldir/lib $LDFLAGS"
- if test ! -z "$need_dash_r" ; then
- APEXSINK_LIBS="-R$ssldir/lib $LDFLAGS"
- fi
- else
- APEXSINK_LDFLAGS="-L$ssldir $LDFLAGS"
- if test ! -z "$need_dash_r" ; then
- APEXSINK_LIBS="-R$ssldir $LDFLAGS"
- fi
- fi
- # Try to use $ssldir/include if it exists, otherwise
- # $ssldir
- if test -d "$ssldir/include" ; then
- APEXSINK_CFLAGS="-I$ssldir/include $CPPFLAGS"
- else
- APEXSINK_CFLAGS="-I$ssldir $CPPFLAGS"
- fi
- fi
- fi
- APEXSINK_LIBS="$APEXSINK_LIBS $LIBS"
- AC_SUBST(APEXSINK_LIBS)
- AC_SUBST(APEXSINK_CFLAGS)
- CPPFLAGS="$saved_CPPFLAGS"
- LDFLAGS="$saved_LDFLAGS"
- LIBS="$saved_LIBS"
])
dnl *** BZ2 ***
diff --git a/ext/apexsink/Makefile.am b/ext/apexsink/Makefile.am
index 3ca692f75..0bd41ca32 100644
--- a/ext/apexsink/Makefile.am
+++ b/ext/apexsink/Makefile.am
@@ -1,8 +1,11 @@
plugin_LTLIBRARIES = libgstapexsink.la
libgstapexsink_la_SOURCES = gstapexplugin.c gstapexraop.c gstapexsink.c
-libgstapexsink_la_CFLAGS = $(APEXSINK_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS)
-libgstapexsink_la_LIBADD = $(APEXSINK_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) -lgstaudio-$(GST_MAJORMINOR) -lgstinterfaces-$(GST_MAJORMINOR) -lcrypto
+libgstapexsink_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) \
+ $(GST_BASE_CFLAGS) $(GST_CFLAGS) $(APEXSINK_CFLAGS)
+libgstapexsink_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) \
+ -lgstaudio-$(GST_MAJORMINOR) -lgstinterfaces-$(GST_MAJORMINOR) \
+ $(GST_BASE_LIBS) $(GST_LIBS) $(APEXSINK_LIBS)
libgstapexsink_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
libgstapexsink_la_LIBTOOLFLAGS = --tag=disable-static