82 lines
3.1 KiB
Diff
82 lines
3.1 KiB
Diff
From a6c35dbab5a2a75c176e031122ee64152e50e5d3 Mon Sep 17 00:00:00 2001
|
|
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
Date: Thu, 1 Jan 2015 12:23:43 +0100
|
|
Subject: [PATCH] Switch to use pkg-config to detect libevent and openssl
|
|
|
|
Switching to pkg-config fixes a number of problems when detecting the
|
|
libraries. For example the detection of libpthread was failing,
|
|
because libevent_threads was added to LIBS before libevent itself,
|
|
causing the libpthread test to fail due to missing symbols. pkg-config
|
|
is anyway nowadays the preferred way for detecting libraries. It also
|
|
has the benefit of working properly in static library situations.
|
|
|
|
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
---
|
|
configure.ac | 36 ++++++++++++------------------------
|
|
1 file changed, 12 insertions(+), 24 deletions(-)
|
|
|
|
diff --git a/configure.ac b/configure.ac
|
|
index d4109ce..fc1cadc 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -27,35 +27,20 @@ AC_FUNC_MALLOC
|
|
AC_FUNC_REALLOC
|
|
AC_CHECK_FUNCS([memset socket strstr])
|
|
|
|
-AC_CHECK_HEADERS([event2/thread.h], [
|
|
- LIBS="-levent_pthreads ${LIBS}"
|
|
- ], [
|
|
- echo "libevent_pthreads required, failing"
|
|
- exit -1
|
|
- ])
|
|
-AC_CHECK_LIB(pthread, pthread_create, [LIBS="-lpthread ${LIBS}"], [
|
|
+AC_CHECK_LIB(pthread, pthread_create, [PTHREAD_LIBS="-lpthread"], [
|
|
echo "pthreads required, failing"
|
|
exit -1
|
|
])
|
|
-AC_CHECK_LIB(event, event_base_dispatch, [], [
|
|
- echo "libevent required, failing"
|
|
- exit -1
|
|
- ])
|
|
+
|
|
+PKG_CHECK_MODULES([EVENT], [libevent])
|
|
+PKG_CHECK_MODULES([EVENT_PTHREAD], [libevent_pthreads])
|
|
|
|
AS_IF([test "x$with_ssl" != "xno"],
|
|
[
|
|
- AC_CHECK_LIB([ssl], [SSL_CTX_new],
|
|
- [
|
|
- LIBS="-lssl ${LIBS}"
|
|
- AC_CHECK_LIB([event_openssl], [bufferevent_openssl_socket_new], [
|
|
- LIBS="-levent_openssl ${LIBS}"
|
|
- have_ssl=yes
|
|
- ], [have_ssl=no])
|
|
- ],
|
|
- [have_ssl=no])
|
|
- ],
|
|
- [have_ssl=no])
|
|
-
|
|
+ PKG_CHECK_MODULES([SSL], [openssl], [have_ssl=yes], [have_ssl=no])
|
|
+ AS_IF([test "x${have_ssl}" = "xyes"],
|
|
+ [PKG_CHECK_MODULES([EVENT_OPENSSL], [libevent_openssl], [have_ssl=yes], [have_ssl=no])])])
|
|
+
|
|
AS_IF([test "x$have_ssl" = "xyes"],
|
|
[
|
|
AC_DEFINE([WEBSOCK_HAVE_SSL], [1], [Define if building SSL support])
|
|
@@ -63,8 +48,11 @@ AS_IF([test "x$have_ssl" = "xyes"],
|
|
[AS_IF([test "x$with_ssl" = "xyes"],
|
|
[AC_MSG_ERROR([SSL support requested but not found])
|
|
])])
|
|
-
|
|
+
|
|
AM_CONDITIONAL([HAVE_SSL], [test "x$have_ssl" = "xyes"])
|
|
+
|
|
+LIBS="${EVENT_LIBS} ${EVENT_PTHREAD_LIBS} ${PTHREAD_LIBS} ${SSL_LIBS} ${EVENT_OPENSSL_LIBS}"
|
|
+
|
|
AC_DEFINE_UNQUOTED([WEBSOCK_PACKAGE_VERSION], ["$PACKAGE_VERSION"], [libwebsock version])
|
|
AC_DEFINE_UNQUOTED([WEBSOCK_PACKAGE_STRING], ["$PACKAGE_STRING"], [libwebsock package string])
|
|
AC_DEFINE_UNQUOTED([WEBSOCK_PACKAGE_NAME], ["$PACKAGE_NAME"], [libwebsock package name])
|
|
--
|
|
2.1.0
|
|
|