Import jemalloc-3.6.0 as wip/jemalloc.

jemalloc is a general purpose malloc(3) implementation that emphasizes
fragmentation avoidance and scalable concurrency support.

jemalloc first came into use as the FreeBSD libc allocator in 2005.
In 2010 jemalloc development efforts broadened to include developer support
features such as heap profiling, Valgrind integration, and
extensive monitoring/tuning hooks.
Ongoing development efforts trend toward making jemalloc among the best
allocators for a broad range of demanding applications, and
eliminating/mitigating weaknesses that have practical repercussions
for real world applications.
This commit is contained in:
Jonathan Buschmann 2015-04-30 22:16:52 +00:00 committed by Thomas Klausner
parent cfb5b740e2
commit c36438db1a
7 changed files with 112 additions and 0 deletions

11
jemalloc/DESCR Normal file
View file

@ -0,0 +1,11 @@
jemalloc is a general purpose malloc(3) implementation that emphasizes
fragmentation avoidance and scalable concurrency support.
jemalloc first came into use as the FreeBSD libc allocator in 2005.
In 2010 jemalloc development efforts broadened to include developer support
features such as heap profiling, Valgrind integration, and
extensive monitoring/tuning hooks.
Ongoing development efforts trend toward making jemalloc among the best
allocators for a broad range of demanding applications, and
eliminating/mitigating weaknesses that have practical repercussions
for real world applications.

32
jemalloc/Makefile Normal file
View file

@ -0,0 +1,32 @@
# $NetBSD: Makefile,v 1.1 2015/04/30 22:16:52 jonthn Exp $
DISTNAME= jemalloc-3.6.0
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_GITHUB:=jemalloc/}
GITHUB_PROJECT= jemalloc
HOMEPAGE= http://www.canonware.com/jemalloc/
COMMENT= Library jemalloc is a general purpose malloc(3) implementation
LICENSE= 2-clause-bsd
BUILD_DEPENDS+= libxslt-[0-9]*:../../textproc/libxslt
BUILD_DEPENDS+= docbook-xsl-[0-9]*:../../textproc/docbook-xsl
USE_TOOLS+= autoconf automake aclocal gmake
USE_LANGUAGES= c
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --enable-cc-silence
CONFIGURE_ARGS+= --enable-xmalloc
CONFIGURE_ARGS+= --disable-shared
CONFIGURE_ARGS+= --with-xslroot=${LOCALBASE}/share/xsl/docbook/
USE_TOOLS+= perl:run
REPLACE_PERL= bin/jepprof
BUILD_TARGET= all dist
pre-configure:
cd ${WRKSRC} && ./autogen.sh
cd ${WRKSRC} && mv bin/pprof bin/jepprof
.include "../../mk/bsd.pkg.mk"

10
jemalloc/PLIST Normal file
View file

@ -0,0 +1,10 @@
@comment $NetBSD: PLIST,v 1.1 2015/04/30 22:16:52 jonthn Exp $
bin/jemalloc.sh
bin/jepprof
include/jemalloc/jemalloc.h
lib/libjemalloc.1.dylib
lib/libjemalloc.a
lib/libjemalloc.dylib
lib/libjemalloc_pic.a
man/man3/jemalloc.3
share/doc/jemalloc/jemalloc.html

12
jemalloc/buildlink3.mk Normal file
View file

@ -0,0 +1,12 @@
# $NetBSD: buildlink3.mk,v 1.1 2015/04/30 22:16:52 jonthn Exp $
BUILDLINK_TREE+= jemalloc
.if !defined(JEMALLOC_BUILDLINK3_MK)
JEMALLOC_BUILDLINK3_MK:=
BUILDLINK_API_DEPENDS.jemalloc+= jemalloc>=3.6.0
BUILDLINK_PKGSRCDIR.jemalloc?= ../../wip/jemalloc
.endif # JEMALLOC_BUILDLINK3_MK
BUILDLINK_TREE+= -jemalloc

7
jemalloc/distinfo Normal file
View file

@ -0,0 +1,7 @@
$NetBSD: distinfo,v 1.1 2015/04/30 22:16:52 jonthn Exp $
SHA1 (jemalloc-3.6.0.tar.gz) = e05d850acc71987b2334bae0c4d46f8af915d977
RMD160 (jemalloc-3.6.0.tar.gz) = 816028cbeeda1b4f07e4ee52bc6ea06293f96ae7
Size (jemalloc-3.6.0.tar.gz) = 335634 bytes
SHA1 (patch-Makefile.in) = 9561c85484fb8412bc770b5cf27b5c130fe37d00
SHA1 (patch-configure.ac) = 7249bfe0ac333247df874d28ec92346980545375

View file

@ -0,0 +1,15 @@
$NetBSD: patch-Makefile.in,v 1.1 2015/04/30 22:16:52 jonthn Exp $
Rename pprof to jepprof to avoid conflict with gperftools
--- Makefile.in.orig 2015-04-30 21:14:08.000000000 +0000
+++ Makefile.in
@@ -73,7 +73,7 @@ endif
LIBJEMALLOC := $(LIBPREFIX)jemalloc$(install_suffix)
# Lists of files.
-BINS := $(srcroot)bin/pprof $(objroot)bin/jemalloc.sh
+BINS := $(srcroot)bin/jepprof $(objroot)bin/jemalloc.sh
C_HDRS := $(objroot)include/jemalloc/jemalloc$(install_suffix).h
C_SRCS := $(srcroot)src/jemalloc.c $(srcroot)src/arena.c \
$(srcroot)src/atomic.c $(srcroot)src/base.c $(srcroot)src/bitmap.c \

View file

@ -0,0 +1,25 @@
$NetBSD: patch-configure.ac,v 1.1 2015/04/30 22:16:52 jonthn Exp $
- Fix library id for Darwin
- Test should use only one '='
--- configure.ac.orig 2014-03-31 16:33:19.000000000 +0000
+++ configure.ac
@@ -269,7 +269,7 @@ case "${host}" in
so="dylib"
importlib="${so}"
force_tls="0"
- DSO_LDFLAGS='-shared -Wl,-dylib_install_name,$(@F)'
+ DSO_LDFLAGS='-shared -Wl,-install_name,$(LIBDIR)/$(@F)'
SOREV="${rev}.${so}"
sbrk_deprecated="1"
;;
@@ -869,7 +869,7 @@ fi
dnl Check whether the BSD/SUSv1 sbrk() exists. If not, disable DSS support.
AC_CHECK_FUNC([sbrk], [have_sbrk="1"], [have_sbrk="0"])
if test "x$have_sbrk" = "x1" ; then
- if test "x$sbrk_deprecated" == "x1" ; then
+ if test "x$sbrk_deprecated" = "x1" ; then
AC_MSG_RESULT([Disabling dss allocation because sbrk is deprecated])
enable_dss="0"
else