aboutsummaryrefslogtreecommitdiff
path: root/libraries/libhoard
diff options
context:
space:
mode:
authorHeinz Wiesinger <pprkut@liwjatan.at>2012-12-16 17:42:56 -0500
committerdsomero <xgizzmo@slackbuilds.org>2012-12-23 09:16:23 -0500
commitd98d8dbd531e84c6fd671d854c5cc44be4b6b427 (patch)
tree9ce57cafa070397dd2466b3deec82a676505ea68 /libraries/libhoard
parentb0f228b5fb56406c76945faa0aae8f115d37ad77 (diff)
libraries/libhoard: Added (A memory allocator)
Signed-off-by: dsomero <xgizzmo@slackbuilds.org>
Diffstat (limited to 'libraries/libhoard')
-rw-r--r--libraries/libhoard/README5
-rw-r--r--libraries/libhoard/gnuwrapper.cpp.patch25
-rw-r--r--libraries/libhoard/libhoard.SlackBuild92
-rw-r--r--libraries/libhoard/libhoard.info10
-rw-r--r--libraries/libhoard/slack-desc19
5 files changed, 151 insertions, 0 deletions
diff --git a/libraries/libhoard/README b/libraries/libhoard/README
new file mode 100644
index 000000000000..724118f25813
--- /dev/null
+++ b/libraries/libhoard/README
@@ -0,0 +1,5 @@
+The Hoard memory allocator is a fast, scalable, and memory-efficient
+memory allocator. It runs on a variety of platforms, including Linux,
+Solaris, and Windows. Hoard is a drop-in replacement for malloc()
+that can dramatically improve application performance, especially for
+multithreaded programs running on multiprocessors.
diff --git a/libraries/libhoard/gnuwrapper.cpp.patch b/libraries/libhoard/gnuwrapper.cpp.patch
new file mode 100644
index 000000000000..f5b733805cb9
--- /dev/null
+++ b/libraries/libhoard/gnuwrapper.cpp.patch
@@ -0,0 +1,25 @@
+From 96378f7975ffae9d8b789daf14daf4bdc937195a Mon Sep 17 00:00:00 2001
+From: "William J. Bowman" <wjb@williamjbowman.com>
+Date: Thu, 26 Jul 2012 12:37:55 -0400
+Subject: [PATCH] Edit to fix declaration mismatch.
+
+---
+ heaplayers/wrappers/gnuwrapper.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/heaplayers/wrappers/gnuwrapper.cpp b/heaplayers/wrappers/gnuwrapper.cpp
+index f1c4aee..1fff480 100644
+--- a/heaplayers/wrappers/gnuwrapper.cpp
++++ b/heaplayers/wrappers/gnuwrapper.cpp
+@@ -65,7 +65,7 @@ extern "C" {
+ static void * (*old_realloc_hook)(void *ptr, size_t size, const void *caller);
+ static void * (*old_memalign_hook)(size_t alignment, size_t size, const void *caller);
+
+- void (* __malloc_initialize_hook) (void) = my_init_hook;
++ void (* volatile __malloc_initialize_hook) (void) = my_init_hook;
+
+ static void my_init_hook (void) {
+ // Store the old hooks.
+--
+1.7.11.3
+
diff --git a/libraries/libhoard/libhoard.SlackBuild b/libraries/libhoard/libhoard.SlackBuild
new file mode 100644
index 000000000000..393c0fdbef63
--- /dev/null
+++ b/libraries/libhoard/libhoard.SlackBuild
@@ -0,0 +1,92 @@
+#!/bin/sh
+
+# Slackware build script for libhoard
+
+# Copyright 2012 Heinz Wiesinger, Amsterdam, The Netherlands
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PRGNAM=libhoard
+VERSION=3.9
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+ TARGET="x86"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+ TARGET="x86"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+ TARGET="x86-64"
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf emeryberger-Hoard-d065953
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd emeryberger-Hoard-d065953
+chown -R root:root .
+chmod -R u+w,go+r-w,a-s .
+
+# Fix issue with newer glibc
+patch -d src -p1 -i $CWD/gnuwrapper.cpp.patch
+
+# sanify CFLAGS
+sed -i "s/ -march=pentium4//g" src/Makefile
+sed -i "s/ -march=nocona//g" src/Makefile
+sed -i "s/-O3/$SLKCFLAGS/g" src/Makefile
+
+cd src
+ make linux-gcc-$TARGET
+
+ mkdir -p $PKG/usr/lib$LIBDIRSUFFIX
+ install -m 755 libhoard.so $PKG/usr/lib$LIBDIRSUFFIX
+cd -
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a AUTHORS COPYING NEWS README THANKS doc \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/libraries/libhoard/libhoard.info b/libraries/libhoard/libhoard.info
new file mode 100644
index 000000000000..a10cb10f665d
--- /dev/null
+++ b/libraries/libhoard/libhoard.info
@@ -0,0 +1,10 @@
+PRGNAM="libhoard"
+VERSION="3.9"
+HOMEPAGE="http://www.hoard.org/"
+DOWNLOAD="http://www.cs.umass.edu/~emery/hoard/hoard-3.9/libhoard-3.9.tar.gz"
+MD5SUM="a5d1b17508528b8f374924742c72c2e3"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Heinz Wiesinger"
+EMAIL="pprkut@liwjatan.at"
diff --git a/libraries/libhoard/slack-desc b/libraries/libhoard/slack-desc
new file mode 100644
index 000000000000..1d862b0d57ec
--- /dev/null
+++ b/libraries/libhoard/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libhoard: libhoard (A memory allocator)
+libhoard:
+libhoard: The Hoard memory allocator is a fast, scalable, and memory-efficient
+libhoard: memory allocator. It runs on a variety of platforms, including Linux,
+libhoard: Solaris, and Windows. Hoard is a drop-in replacement for malloc()
+libhoard: that can dramatically improve application performance, especially for
+libhoard: multithreaded programs running on multiprocessors.
+libhoard:
+libhoard: Homepage: http://www.hoard.org/
+libhoard:
+libhoard: