blob: f791640062a3d6b71c32db2a796b4adbbb3189dc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
include $(TOPDIR)/rules.mk
PKG_NAME:=jemalloc
PKG_VERSION:=5.3.1
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:=7b30f6116f11d736badd48c903cba2b3344a88d62e3a7b892434f870e860b1c0
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))
|