0
0
mirror of https://github.com/openwrt/packages.git synced 2025-07-05 07:43:08 +00:00
Files
packages/libs/libjemalloc/Makefile
Philip Prindeville a276d5db43 jemalloc: add package
jemalloc is a general purpose malloc(3) implementation that emphasizes
fragmentation avoidance and scalable concurrency support.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2025-06-11 21:13:39 -06:00

62 lines
1.7 KiB
Makefile

include $(TOPDIR)/rules.mk
PKG_NAME:=jemalloc
PKG_VERSION:=5.3.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/jemalloc/jemalloc/archive/refs/tags/
PKG_SOURCE_URL_FILE:=$(PKG_VERSION).tar.gz
PKG_HASH:=ef6f74fd45e95ee4ef7f9e19ebe5b075ca6b7fbe0140612b2a161abafb7ee179
PKG_FIXUP:=autoreconf
PKG_BUILD_PARALLEL:=1
PKG_LICENSE:=BSD-2-Clause
PKG_LICENSE_FILES:=COPYING
PKG_MAINTAINER:=Philip Prindeville <philipp@redfish-solutions.com>
include $(INCLUDE_DIR)/package.mk
define Package/libjemalloc
SECTION:=libs
CATEGORY:=Libraries
TITLE:=Jemalloc general purpose allocator
URL:=https://github.com/jemalloc/jemalloc
DEPENDS:= +libunwind +libstdcpp
ABI_VERSION:=2
endef
define Package/libjemalloc/Description
Jemalloc is a general purpose malloc(3) implementation that emphasizes
fragmentation avoidance and scalable concurrency support.
endef
CONFIGURE_ARGS += \
--enable-shared \
--disable-static \
--enable-prof \
--enable-prof-libunwind \
--enable-readlinkat
MAKE_FLAGS += enable_doc=0
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/lib/libjemalloc.so* $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/include/jemalloc
$(CP) $(PKG_BUILD_DIR)/include/jemalloc/*.h $(1)/usr/include/jemalloc
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(CP) $(PKG_BUILD_DIR)/jemalloc.pc $(1)/usr/lib/pkgconfig/
endef
define Package/libjemalloc/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/lib/libjemalloc.so.$(ABI_VERSION) $(1)/usr/lib
$(LN) libjemalloc.so.$(ABI_VERSION) $(1)/usr/lib/libjemalloc.so
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/{jemalloc-config,jemalloc.sh,jeprof} $(1)/usr/bin/
endef
$(eval $(call BuildPackage,libjemalloc))