2015-01-23 09:55:58 +08:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
usage() {
|
|
|
|
cat <<EOF
|
|
|
|
Usage:
|
|
|
|
@BINDIR@/jemalloc-config <option>
|
|
|
|
Options:
|
|
|
|
--help | -h : Print usage.
|
|
|
|
--version : Print jemalloc version.
|
|
|
|
--revision : Print shared library revision number.
|
|
|
|
--config : Print configure options used to build jemalloc.
|
|
|
|
--prefix : Print installation directory prefix.
|
|
|
|
--bindir : Print binary installation directory.
|
|
|
|
--datadir : Print data installation directory.
|
|
|
|
--includedir : Print include installation directory.
|
|
|
|
--libdir : Print library installation directory.
|
|
|
|
--mandir : Print manual page installation directory.
|
|
|
|
--cc : Print compiler used to build jemalloc.
|
|
|
|
--cflags : Print compiler flags used to build jemalloc.
|
|
|
|
--cppflags : Print preprocessor flags used to build jemalloc.
|
jemalloc cpp new/delete bindings
Adds cpp bindings for jemalloc, along with necessary autoconf settings.
This is mostly to add sized deallocation support, which can't be added
from C directly. Sized deallocation is ~10% microbench improvement.
* Import ax_cxx_compile_stdcxx.m4 from the autoconf repo, seems like the
easiest way to get c++14 detection.
* Adds various other changes, like CXXFLAGS, to configure.ac.
* Adds new rules to Makefile.in for src/jemalloc-cpp.cpp, and a basic
unittest.
* Both new and delete are overridden, to ensure jemalloc is used for
both.
* TODO future enhancement of avoiding extra PLT thunks for new and
delete - sdallocx and malloc are publicly exported jemalloc symbols,
using an alias would link them directly. Unfortunately, was having
trouble getting it to play nice with jemalloc's namespace support.
Testing:
Tested gcc 4.8, gcc 5, gcc 5.2, clang 4.0. Only gcc >= 5 has sized
deallocation support, verified that the rest build correctly.
Tested mac osx and Centos.
Tested --with-jemalloc-prefix and --without-export.
This resolves #202.
2016-10-24 06:56:30 +08:00
|
|
|
--cxxflags : Print C++ compiler flags used to build jemalloc.
|
2015-01-23 09:55:58 +08:00
|
|
|
--ldflags : Print library flags used to build jemalloc.
|
|
|
|
--libs : Print libraries jemalloc was linked against.
|
|
|
|
EOF
|
|
|
|
}
|
|
|
|
|
|
|
|
prefix="@prefix@"
|
|
|
|
exec_prefix="@exec_prefix@"
|
|
|
|
|
|
|
|
case "$1" in
|
|
|
|
--help | -h)
|
|
|
|
usage
|
|
|
|
exit 0
|
|
|
|
;;
|
|
|
|
--version)
|
|
|
|
echo "@jemalloc_version@"
|
|
|
|
;;
|
|
|
|
--revision)
|
|
|
|
echo "@rev@"
|
|
|
|
;;
|
|
|
|
--config)
|
|
|
|
echo "@CONFIG@"
|
|
|
|
;;
|
|
|
|
--prefix)
|
|
|
|
echo "@PREFIX@"
|
|
|
|
;;
|
|
|
|
--bindir)
|
|
|
|
echo "@BINDIR@"
|
|
|
|
;;
|
|
|
|
--datadir)
|
|
|
|
echo "@DATADIR@"
|
|
|
|
;;
|
|
|
|
--includedir)
|
|
|
|
echo "@INCLUDEDIR@"
|
|
|
|
;;
|
|
|
|
--libdir)
|
|
|
|
echo "@LIBDIR@"
|
|
|
|
;;
|
|
|
|
--mandir)
|
|
|
|
echo "@MANDIR@"
|
|
|
|
;;
|
|
|
|
--cc)
|
|
|
|
echo "@CC@"
|
|
|
|
;;
|
|
|
|
--cflags)
|
|
|
|
echo "@CFLAGS@"
|
|
|
|
;;
|
|
|
|
--cppflags)
|
|
|
|
echo "@CPPFLAGS@"
|
|
|
|
;;
|
jemalloc cpp new/delete bindings
Adds cpp bindings for jemalloc, along with necessary autoconf settings.
This is mostly to add sized deallocation support, which can't be added
from C directly. Sized deallocation is ~10% microbench improvement.
* Import ax_cxx_compile_stdcxx.m4 from the autoconf repo, seems like the
easiest way to get c++14 detection.
* Adds various other changes, like CXXFLAGS, to configure.ac.
* Adds new rules to Makefile.in for src/jemalloc-cpp.cpp, and a basic
unittest.
* Both new and delete are overridden, to ensure jemalloc is used for
both.
* TODO future enhancement of avoiding extra PLT thunks for new and
delete - sdallocx and malloc are publicly exported jemalloc symbols,
using an alias would link them directly. Unfortunately, was having
trouble getting it to play nice with jemalloc's namespace support.
Testing:
Tested gcc 4.8, gcc 5, gcc 5.2, clang 4.0. Only gcc >= 5 has sized
deallocation support, verified that the rest build correctly.
Tested mac osx and Centos.
Tested --with-jemalloc-prefix and --without-export.
This resolves #202.
2016-10-24 06:56:30 +08:00
|
|
|
--cxxflags)
|
|
|
|
echo "@CXXFLAGS@"
|
|
|
|
;;
|
2015-01-23 09:55:58 +08:00
|
|
|
--ldflags)
|
|
|
|
echo "@LDFLAGS@ @EXTRA_LDFLAGS@"
|
|
|
|
;;
|
|
|
|
--libs)
|
|
|
|
echo "@LIBS@"
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
usage
|
|
|
|
exit 1
|
|
|
|
esac
|