Makefile 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. #
  2. # Copyright (C) 2011-2015 OpenWrt.org
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. include $(TOPDIR)/rules.mk
  8. PKG_NAME:=libevent2
  9. PKG_VERSION:=2.1.12
  10. PKG_RELEASE:=1
  11. PKG_SOURCE:=libevent-$(PKG_VERSION)-stable.tar.gz
  12. PKG_SOURCE_URL:=https://github.com/libevent/libevent/releases/download/release-$(PKG_VERSION)-stable
  13. PKG_HASH:=92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb
  14. PKG_BUILD_DIR:=$(BUILD_DIR)/libevent-$(PKG_VERSION)-stable
  15. PKG_MAINTAINER:=Jo-Philipp Wich <[email protected]>
  16. PKG_LICENSE:=BSD-3-Clause
  17. PKG_LICENSE_FILES:=LICENSE
  18. PKG_CPE_ID:=cpe:/a:libevent_project:libevent
  19. PKG_CONFIG_DEPENDS:= \
  20. CONFIG_PACKAGE_libevent2-openssl \
  21. CONFIG_PACKAGE_libevent2-pthreads \
  22. CONFIG_PACKAGE_libevent2-mbedtls
  23. include $(INCLUDE_DIR)/package.mk
  24. include $(INCLUDE_DIR)/cmake.mk
  25. define Package/libevent2/Default
  26. SECTION:=libs
  27. CATEGORY:=Libraries
  28. TITLE:=Event notification
  29. URL:=http://libevent.org
  30. ABI_VERSION:=7
  31. endef
  32. define Package/libevent2/Default/description
  33. The libevent API provides a mechanism to execute a callback function
  34. when a specific event occurs on a file descriptor or after a timeout
  35. has been reached. Furthermore, libevent also support callbacks due
  36. to signals or regular timeouts.
  37. libevent is meant to replace the event loop found in event driven
  38. network servers. An application just needs to call event_dispatch()
  39. and then add or remove events dynamically without having to change
  40. the event loop.
  41. endef
  42. define Package/libevent2
  43. $(call Package/libevent2/Default)
  44. TITLE+= library (version 2.1)
  45. endef
  46. define Package/libevent2/description
  47. $(call Package/libevent2/Default/description)
  48. This package contains the libevent shared library historically
  49. containing both the core & extra libraries.
  50. endef
  51. define Package/libevent2-core
  52. $(call Package/libevent2/Default)
  53. TITLE+= core library (version 2.1)
  54. endef
  55. define Package/libevent2-core/description
  56. $(call Package/libevent2/Default/description)
  57. This package contains the libevent core shared library for the event,
  58. buffer & utility functions.
  59. endef
  60. define Package/libevent2-extra
  61. $(call Package/libevent2/Default)
  62. TITLE+= extra library (version 2.1)
  63. DEPENDS+=+libevent2-core
  64. endef
  65. define Package/libevent2-extra/description
  66. $(call Package/libevent2/Default/description)
  67. This package contains the libevent extra shared library for specific
  68. protocols including HTTP, DNS & RPC.
  69. endef
  70. define Package/libevent2-openssl
  71. $(call Package/libevent2/Default)
  72. TITLE+= OpenSSL library (version 2.1)
  73. DEPENDS+=+libopenssl +libevent2-core
  74. endef
  75. define Package/libevent2-openssl/description
  76. $(call Package/libevent2/Default/description)
  77. This package contains the libevent OpenSSL shared library for encrypted
  78. bufferevents.
  79. endef
  80. define Package/libevent2-pthreads
  81. $(call Package/libevent2/Default)
  82. TITLE+= Pthreads library (version 2.1)
  83. DEPENDS+=+libpthread +libevent2-core
  84. endef
  85. define Package/libevent2-pthreads/description
  86. $(call Package/libevent2/Default/description)
  87. This package contains the libevent Pthreads shared library for
  88. threading & locking.
  89. endef
  90. TARGET_CFLAGS += $(FPIC) -ffunction-sections -fdata-sections -flto
  91. TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed -flto
  92. CMAKE_OPTIONS += \
  93. -DEVENT__DISABLE_BENCHMARK:BOOL=ON \
  94. -DEVENT__DISABLE_DEBUG_MODE:BOOL=ON \
  95. -DEVENT__DISABLE_REGRESS:BOOL=ON \
  96. -DEVENT__DISABLE_SAMPLES:BOOL=ON \
  97. $(if $(CONFIG_PACKAGE_libevent2-openssl),-DEVENT__DISABLE_OPENSSL:BOOL=OFF,-DEVENT__DISABLE_OPENSSL:BOOL=ON) \
  98. $(if $(CONFIG_PACKAGE_libevent2-pthreads),-DEVENT__DISABLE_THREAD_SUPPORT:BOOL=OFF,-DEVENT__DISABLE_THREAD_SUPPORT:BOOL=ON) \
  99. -DEVENT__DISABLE_TESTS:BOOL=ON \
  100. -DBUILD_TESTING:BOOL=OFF
  101. define Build/InstallDev
  102. $(call Build/InstallDev/cmake,$(1))
  103. $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/libevent*.pc
  104. $(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/libevent*.pc
  105. endef
  106. define Package/libevent2/install
  107. $(INSTALL_DIR) $(1)/usr/lib
  108. $(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent-2.1.so.* $(1)/usr/lib/
  109. endef
  110. define Package/libevent2-core/install
  111. $(INSTALL_DIR) $(1)/usr/lib
  112. $(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent_core-2.1.so.* $(1)/usr/lib/
  113. endef
  114. define Package/libevent2-extra/install
  115. $(INSTALL_DIR) $(1)/usr/lib
  116. $(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent_extra-2.1.so.* $(1)/usr/lib/
  117. endef
  118. define Package/libevent2-openssl/install
  119. $(INSTALL_DIR) $(1)/usr/lib
  120. $(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent_openssl-2.1.so.* $(1)/usr/lib/
  121. endef
  122. define Package/libevent2-pthreads/install
  123. $(INSTALL_DIR) $(1)/usr/lib
  124. $(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent_pthreads-2.1.so.* $(1)/usr/lib/
  125. endef
  126. $(eval $(call BuildPackage,libevent2))
  127. $(eval $(call BuildPackage,libevent2-core))
  128. $(eval $(call BuildPackage,libevent2-extra))
  129. $(eval $(call BuildPackage,libevent2-openssl))
  130. $(eval $(call BuildPackage,libevent2-pthreads))