• Skip to sidebar navigation
  • Skip to content

Bitbucket

  • More
    ProjectsRepositories
  • Help
    • Online help
    • Learn Git
    • Welcome to Bitbucket
    • Keyboard shortcuts
  • Log In
Alexander Dahl
  1. Alexander Dahl

buildroot

Public
Actions
  • Clone
  • Compare

Learn more about cloning repositories

You have read-only access

Navigation
  • Source
  • Commits
  • Branches
  • All Branches Graph
  • Forks
  1. Alexander Dahl
  2. buildroot

Source

buildroot/package/libwebsock/0001-Switch-to-use-pkg-config-to-detect-libevent-and-open.patch
Gregory DymarekGregory Dymarek committed a569dfc9db312 Dec 2014
Raw file
Source viewDiff to previous
xxxxxxxxxx
 
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
​
  • Git repository management for enterprise teams powered by Atlassian Bitbucket
  • Atlassian Bitbucket v6.7.2
  • Documentation
  • Request a feature
  • About
  • Contact Atlassian
Atlassian

Everything looks good. We'll let you know here if there's anything you should know about.