51752fa14b
libevent2's cmake use absolute path, then cmake cannot find it when cross compiling: ``` -- Found libevent include directory: /builder/staging_dir/target-mips_24kc_musl/usr/include -- Found libevent component: /builder/staging_dir/target-mips_24kc_musl/usr/lib/libevent_core.so -- Found libevent component: /builder/staging_dir/target-mips_24kc_musl/usr/lib/libevent_extra.so -- Found libevent component: /builder/staging_dir/target-mips_24kc_musl/usr/lib/libevent_openssl.so -- Found libevent 2.1.12 in /builder/staging_dir/target-mips_24kc_musl/usr CMake Error at /builder/staging_dir/target-mips_24kc_musl/usr/lib/cmake/libevent/LibeventTargets-shared.cmake:102 (message): The imported target "libevent::core" references the file "/usr/lib/libevent_core-2.1.so.7.0.1" but this file does not exist. Possible reasons include: * The file was deleted, renamed, or moved to another location. * An install or uninstall procedure did not complete successfully. * The installation package was faulty and contained "/builder/staging_dir/target-mips_24kc_musl/usr/lib/cmake/libevent/LibeventTargets-shared.cmake" but not all the files it references. Call Stack (most recent call first): /builder/staging_dir/target-mips_24kc_musl/usr/lib/cmake/libevent/LibeventConfig.cmake:168 (include) CMakeLists.txt:34 (find_package) ``` This patch make cmake use relative imported path, so it can find libevent. Signed-off-by: Liu Dongmiao <liudongmiao@gmail.com>
166 lines
4.8 KiB
Makefile
166 lines
4.8 KiB
Makefile
#
|
|
# Copyright (C) 2011-2015 OpenWrt.org
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=libevent2
|
|
PKG_VERSION:=2.1.12
|
|
PKG_RELEASE:=2
|
|
|
|
PKG_SOURCE:=libevent-$(PKG_VERSION)-stable.tar.gz
|
|
PKG_SOURCE_URL:=https://github.com/libevent/libevent/releases/download/release-$(PKG_VERSION)-stable
|
|
PKG_HASH:=92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb
|
|
PKG_BUILD_DIR:=$(BUILD_DIR)/libevent-$(PKG_VERSION)-stable
|
|
|
|
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
|
|
PKG_LICENSE:=BSD-3-Clause
|
|
PKG_LICENSE_FILES:=LICENSE
|
|
PKG_CPE_ID:=cpe:/a:libevent_project:libevent
|
|
|
|
PKG_CONFIG_DEPENDS:= \
|
|
CONFIG_PACKAGE_libevent2-openssl \
|
|
CONFIG_PACKAGE_libevent2-pthreads \
|
|
CONFIG_PACKAGE_libevent2-mbedtls
|
|
|
|
PKG_BUILD_FLAGS:=gc-sections lto
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
include $(INCLUDE_DIR)/cmake.mk
|
|
|
|
define Package/libevent2/Default
|
|
SECTION:=libs
|
|
CATEGORY:=Libraries
|
|
TITLE:=Event notification
|
|
URL:=http://libevent.org
|
|
ABI_VERSION:=7
|
|
endef
|
|
|
|
define Package/libevent2/Default/description
|
|
The libevent API provides a mechanism to execute a callback function
|
|
when a specific event occurs on a file descriptor or after a timeout
|
|
has been reached. Furthermore, libevent also support callbacks due
|
|
to signals or regular timeouts.
|
|
|
|
libevent is meant to replace the event loop found in event driven
|
|
network servers. An application just needs to call event_dispatch()
|
|
and then add or remove events dynamically without having to change
|
|
the event loop.
|
|
endef
|
|
|
|
define Package/libevent2
|
|
$(call Package/libevent2/Default)
|
|
TITLE+= library (version 2.1)
|
|
endef
|
|
|
|
define Package/libevent2/description
|
|
$(call Package/libevent2/Default/description)
|
|
|
|
This package contains the libevent shared library historically
|
|
containing both the core & extra libraries.
|
|
endef
|
|
|
|
define Package/libevent2-core
|
|
$(call Package/libevent2/Default)
|
|
TITLE+= core library (version 2.1)
|
|
endef
|
|
|
|
define Package/libevent2-core/description
|
|
$(call Package/libevent2/Default/description)
|
|
|
|
This package contains the libevent core shared library for the event,
|
|
buffer & utility functions.
|
|
endef
|
|
|
|
define Package/libevent2-extra
|
|
$(call Package/libevent2/Default)
|
|
TITLE+= extra library (version 2.1)
|
|
DEPENDS+=+libevent2-core
|
|
endef
|
|
|
|
define Package/libevent2-extra/description
|
|
$(call Package/libevent2/Default/description)
|
|
|
|
This package contains the libevent extra shared library for specific
|
|
protocols including HTTP, DNS & RPC.
|
|
endef
|
|
|
|
define Package/libevent2-openssl
|
|
$(call Package/libevent2/Default)
|
|
TITLE+= OpenSSL library (version 2.1)
|
|
DEPENDS+=+libopenssl +libevent2-core
|
|
endef
|
|
|
|
define Package/libevent2-openssl/description
|
|
$(call Package/libevent2/Default/description)
|
|
|
|
This package contains the libevent OpenSSL shared library for encrypted
|
|
bufferevents.
|
|
endef
|
|
|
|
define Package/libevent2-pthreads
|
|
$(call Package/libevent2/Default)
|
|
TITLE+= Pthreads library (version 2.1)
|
|
DEPENDS+=+libpthread +libevent2-core
|
|
endef
|
|
|
|
define Package/libevent2-pthreads/description
|
|
$(call Package/libevent2/Default/description)
|
|
|
|
This package contains the libevent Pthreads shared library for
|
|
threading & locking.
|
|
endef
|
|
|
|
TARGET_CFLAGS += $(FPIC)
|
|
TARGET_LDFLAGS += -Wl,--as-needed
|
|
|
|
CMAKE_OPTIONS += \
|
|
-DEVENT__DISABLE_BENCHMARK:BOOL=ON \
|
|
-DEVENT__DISABLE_DEBUG_MODE:BOOL=ON \
|
|
-DEVENT__DISABLE_REGRESS:BOOL=ON \
|
|
-DEVENT__DISABLE_SAMPLES:BOOL=ON \
|
|
$(if $(CONFIG_PACKAGE_libevent2-openssl),-DEVENT__DISABLE_OPENSSL:BOOL=OFF,-DEVENT__DISABLE_OPENSSL:BOOL=ON) \
|
|
$(if $(CONFIG_PACKAGE_libevent2-pthreads),-DEVENT__DISABLE_THREAD_SUPPORT:BOOL=OFF,-DEVENT__DISABLE_THREAD_SUPPORT:BOOL=ON) \
|
|
-DEVENT__DISABLE_TESTS:BOOL=ON \
|
|
-DBUILD_TESTING:BOOL=OFF
|
|
|
|
define Build/InstallDev
|
|
$(call Build/InstallDev/cmake,$(1))
|
|
$(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/libevent*.pc
|
|
$(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/libevent*.pc
|
|
endef
|
|
|
|
define Package/libevent2/install
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent-2.1.so.* $(1)/usr/lib/
|
|
endef
|
|
|
|
define Package/libevent2-core/install
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent_core-2.1.so.* $(1)/usr/lib/
|
|
endef
|
|
|
|
define Package/libevent2-extra/install
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent_extra-2.1.so.* $(1)/usr/lib/
|
|
endef
|
|
|
|
define Package/libevent2-openssl/install
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent_openssl-2.1.so.* $(1)/usr/lib/
|
|
endef
|
|
|
|
define Package/libevent2-pthreads/install
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent_pthreads-2.1.so.* $(1)/usr/lib/
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,libevent2))
|
|
$(eval $(call BuildPackage,libevent2-core))
|
|
$(eval $(call BuildPackage,libevent2-extra))
|
|
$(eval $(call BuildPackage,libevent2-openssl))
|
|
$(eval $(call BuildPackage,libevent2-pthreads))
|