From 708f89314cb7d5ed8c47998e5b434accfc3c8e38 Mon Sep 17 00:00:00 2001 From: Fons Rademakers <Fons.Rademakers@cern.ch> Date: Fri, 9 Jul 2010 17:45:12 +0000 Subject: [PATCH] Add support for third party allocators. To build and link with, e.g. tcmalloc do: ./configure --with-alloc-lib=libtcmalloc or ./configure --with-alloc-libdir=/my/alloc/lib --with-alloc-lib=libtcmalloc Note, as this only changes how root.exe (and apps using root-config --libs) are linked, after configure you need to do: rm bin/root.exe make to link with the new allocator. git-svn-id: http://root.cern.ch/svn/root/trunk@34367 27541ba8-7e3a-0410-8455-c3a389f83636 --- config/Makefile.aix | 3 ++- config/Makefile.aix5 | 3 ++- config/Makefile.aixgcc | 3 ++- config/Makefile.alphacxx6 | 3 ++- config/Makefile.alphagcc | 3 ++- config/Makefile.freebsd4 | 3 ++- config/Makefile.freebsd5 | 3 ++- config/Makefile.freebsd7 | 3 ++- config/Makefile.hpuxacc | 3 ++- config/Makefile.hpuxgcc | 3 ++- config/Makefile.hpuxia64acc | 3 ++- config/Makefile.hurddeb | 3 ++- config/Makefile.in | 3 +++ config/Makefile.linux | 3 ++- config/Makefile.linuxalphagcc | 3 ++- config/Makefile.linuxarm | 3 ++- config/Makefile.linuxhppa | 3 ++- config/Makefile.linuxia64ecc | 3 ++- config/Makefile.linuxia64gcc | 3 ++- config/Makefile.linuxicc | 3 ++- config/Makefile.linuxmips | 3 ++- config/Makefile.linuxmips64 | 3 ++- config/Makefile.linuxppc64gcc | 3 ++- config/Makefile.linuxppcgcc | 3 ++- config/Makefile.linuxx8664gcc | 3 ++- config/Makefile.linuxx8664icc | 3 ++- config/Makefile.lynxos | 3 ++- config/Makefile.macosx | 2 +- config/Makefile.macosx64 | 2 +- config/Makefile.macosxicc | 2 +- config/Makefile.macosxxlc | 2 +- config/Makefile.openbsd | 3 ++- config/Makefile.sgicc | 3 ++- config/Makefile.sgicc64 | 3 ++- config/Makefile.sgin32gcc | 3 ++- config/Makefile.solaris | 3 ++- config/Makefile.solaris64CC5 | 2 +- config/Makefile.solarisCC5 | 2 +- config/Makefile.solarisgcc | 2 +- config/Makefile.win32gcc | 2 +- config/root-config.in | 7 +++++++ configure | 34 ++++++++++++++++++++++++++++++---- 42 files changed, 110 insertions(+), 43 deletions(-) diff --git a/config/Makefile.aix b/config/Makefile.aix index eb7755ac772..a00661460f3 100644 --- a/config/Makefile.aix +++ b/config/Makefile.aix @@ -36,7 +36,8 @@ SOFLAGS = SOEXT = a # System libraries: -SYSLIBS = -lm -lld $(OSTHREADLIBDIR) $(OSTHREADLIB) +SYSLIBS = -lm -lld $(OSTHREADLIBDIR) $(OSTHREADLIB) \ + $(ALLOCLIBDIR) $(ALLOCLIB) XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -lm -lld diff --git a/config/Makefile.aix5 b/config/Makefile.aix5 index 3da2147df7b..bb65d278904 100644 --- a/config/Makefile.aix5 +++ b/config/Makefile.aix5 @@ -39,7 +39,8 @@ SOEXT = a FORCELINK = yes # System libraries: -SYSLIBS = -lm -lld $(OSTHREADLIBDIR) $(OSTHREADLIB) +SYSLIBS = -lm -lld $(OSTHREADLIBDIR) $(OSTHREADLIB) \ + $(ALLOCLIBDIR) $(ALLOCLIB) XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -lm -lld diff --git a/config/Makefile.aixgcc b/config/Makefile.aixgcc index 474bbc287d7..8aca8f44abe 100644 --- a/config/Makefile.aixgcc +++ b/config/Makefile.aixgcc @@ -35,7 +35,8 @@ SOEXT = a FORCELINK = yes # System libraries: -SYSLIBS = -lm -lld $(OSTHREADLIBDIR) $(OSTHREADLIB) +SYSLIBS = -lm -lld $(OSTHREADLIBDIR) $(OSTHREADLIB) \ + $(ALLOCLIBDIR) $(ALLOCLIB) XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -lm -lld diff --git a/config/Makefile.alphacxx6 b/config/Makefile.alphacxx6 index fc091cead60..69a1d90dd03 100644 --- a/config/Makefile.alphacxx6 +++ b/config/Makefile.alphacxx6 @@ -37,7 +37,8 @@ SOFLAGS = -shared -nocxxstd -Wl,-expect_unresolved,*,-msym,-soname, SOEXT = so # System libraries: -SYSLIBS = -lm $(OSTHREADLIBDIR) $(OSTHREADLIB) +SYSLIBS = -lm $(OSTHREADLIBDIR) $(OSTHREADLIB) \ + $(ALLOCLIBDIR) $(ALLOCLIB) XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -lm -ltermcap diff --git a/config/Makefile.alphagcc b/config/Makefile.alphagcc index beaa12880c6..71a83fe0c31 100644 --- a/config/Makefile.alphagcc +++ b/config/Makefile.alphagcc @@ -33,7 +33,8 @@ SOFLAGS = -Wl,-expect_unresolved,* -shared SOEXT = so # System libraries: -SYSLIBS = -lm -ltermcap $(OSTHREADLIBDIR) $(OSTHREADLIB) +SYSLIBS = -lm -ltermcap $(OSTHREADLIBDIR) $(OSTHREADLIB) \ + $(ALLOCLIBDIR) $(ALLOCLIB) XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -lm -ltermcap diff --git a/config/Makefile.freebsd4 b/config/Makefile.freebsd4 index 4f22cff9b00..8d2e4954867 100644 --- a/config/Makefile.freebsd4 +++ b/config/Makefile.freebsd4 @@ -37,7 +37,8 @@ SOFLAGS = -shared -Wl,-x -Wl,-soname, SOEXT = so # System libraries: -SYSLIBS = -lstdc++ -lm $(OSTHREADLIBDIR) $(OSTHREADLIB) +SYSLIBS = -lstdc++ -lm $(OSTHREADLIBDIR) $(OSTHREADLIB) \ + $(ALLOCLIBDIR) $(ALLOCLIB) XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 -lstdc++ CILIBS = -lm -ltermcap -lstdc++ CRYPTLIBS = -lcrypt diff --git a/config/Makefile.freebsd5 b/config/Makefile.freebsd5 index 0dca8202bfa..6a97e1f88f2 100644 --- a/config/Makefile.freebsd5 +++ b/config/Makefile.freebsd5 @@ -32,7 +32,8 @@ SOFLAGS = -shared -Wl,-x -Wl,-soname, SOEXT = so # System libraries: -SYSLIBS = -lstdc++ -lm $(OSTHREADLIBDIR) $(OSTHREADLIB) +SYSLIBS = -lstdc++ -lm $(OSTHREADLIBDIR) $(OSTHREADLIB) \ + $(ALLOCLIBDIR) $(ALLOCLIB) XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 -lstdc++ CILIBS = -lm -ltermcap -lstdc++ CRYPTLIBS = -lcrypt diff --git a/config/Makefile.freebsd7 b/config/Makefile.freebsd7 index 7d145be7fec..a238ba8306e 100644 --- a/config/Makefile.freebsd7 +++ b/config/Makefile.freebsd7 @@ -32,7 +32,8 @@ SOFLAGS = -shared -Wl,-x -Wl,-soname, SOEXT = so # System libraries: -SYSLIBS = -lstdc++ -lm $(OSTHREADLIBDIR) $(OSTHREADLIB) +SYSLIBS = -lstdc++ -lm $(OSTHREADLIBDIR) $(OSTHREADLIB) \ + $(ALLOCLIBDIR) $(ALLOCLIB) XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 -lstdc++ CILIBS = -lm -ltermcap -lstdc++ CRYPTLIBS = -lcrypt diff --git a/config/Makefile.hpuxacc b/config/Makefile.hpuxacc index 58b8a7b0898..e473cb200a5 100644 --- a/config/Makefile.hpuxacc +++ b/config/Makefile.hpuxacc @@ -40,7 +40,8 @@ SOFLAGS = -b -Wl,+vnocompatwarnings SOEXT = sl # System libraries: -SYSLIBS = -lm -ldld $(OSTHREADLIBDIR) $(OSTHREADLIB) +SYSLIBS = -lm -ldld $(OSTHREADLIBDIR) $(OSTHREADLIB) \ + $(ALLOCLIBDIR) $(ALLOCLIB) XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -lm -Wl,-E -ldld -lcurses diff --git a/config/Makefile.hpuxgcc b/config/Makefile.hpuxgcc index 10fb8ab0e83..d4885a88662 100644 --- a/config/Makefile.hpuxgcc +++ b/config/Makefile.hpuxgcc @@ -32,7 +32,8 @@ SOFLAGS = -shared -fPIC SOEXT = sl # System libraries: -SYSLIBS = -lm -ldld $(OSTHREADLIBDIR) $(OSTHREADLIB) +SYSLIBS = -lm -ldld $(OSTHREADLIBDIR) $(OSTHREADLIB) \ + $(ALLOCLIBDIR) $(ALLOCLIB) XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -L/usr/lib -lm -ldld diff --git a/config/Makefile.hpuxia64acc b/config/Makefile.hpuxia64acc index c8d5dff0603..b1b1965c2ed 100644 --- a/config/Makefile.hpuxia64acc +++ b/config/Makefile.hpuxia64acc @@ -41,7 +41,8 @@ SOFLAGS = -b -Wl,+vnocompatwarnings SOEXT = sl # System libraries: -SYSLIBS = -lm -ldld $(OSTHREADLIBDIR) $(OSTHREADLIB) +SYSLIBS = -lm -ldld $(OSTHREADLIBDIR) $(OSTHREADLIB) \ + $(ALLOCLIBDIR) $(ALLOCLIB) XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -lm -Wl,-E -ldld -lcurses diff --git a/config/Makefile.hurddeb b/config/Makefile.hurddeb index 293fe97bd77..4184aa63e04 100644 --- a/config/Makefile.hurddeb +++ b/config/Makefile.hurddeb @@ -32,7 +32,8 @@ SOFLAGS = -shared -Wl,-soname, SOEXT = so # System libraries: -SYSLIBS = -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) -rdynamic +SYSLIBS = -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) \ + $(ALLOCLIBDIR) $(ALLOCLIB) -rdynamic XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -lm -lncurses -ldl -rdynamic CRYPTLIBS = -lcrypt diff --git a/config/Makefile.in b/config/Makefile.in index 5400201c595..5729e5a6e34 100644 --- a/config/Makefile.in +++ b/config/Makefile.in @@ -236,6 +236,9 @@ AFSINCDIR := @afsincdir@ AFSEXTRACFLAGS := @afsextracflags@ AFSSHARED := @afsshared@ +ALLOCLIB := @alloclib@ +ALLOCLIBDIR := @alloclibdir@ + BUILDKRB5 := @buildkrb5@ KRB5LIB := @krb5lib@ KRB5LIBDIR := @krb5libdir@ diff --git a/config/Makefile.linux b/config/Makefile.linux index a701cb868aa..87fb6c328d6 100644 --- a/config/Makefile.linux +++ b/config/Makefile.linux @@ -38,7 +38,8 @@ SOFLAGS = -shared -Wl,-soname, SOEXT = so # System libraries: -SYSLIBS = -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) -rdynamic +SYSLIBS = -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) \ + $(ALLOCLIBDIR) $(ALLOCLIB) -rdynamic XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -lm -ldl -rdynamic CRYPTLIBS = -lcrypt diff --git a/config/Makefile.linuxalphagcc b/config/Makefile.linuxalphagcc index 318ee677bef..9e87536d40f 100644 --- a/config/Makefile.linuxalphagcc +++ b/config/Makefile.linuxalphagcc @@ -34,7 +34,8 @@ SOFLAGS = -shared -Wl,-soname, SOEXT = so # System libraries: -SYSLIBS = -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) -rdynamic +SYSLIBS = -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) \ + $(ALLOCLIBDIR) $(ALLOCLIB) -rdynamic XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -lm -ldl -rdynamic CRYPTLIBS = -lcrypt diff --git a/config/Makefile.linuxarm b/config/Makefile.linuxarm index 6e59b9d74b0..55862207300 100644 --- a/config/Makefile.linuxarm +++ b/config/Makefile.linuxarm @@ -35,7 +35,8 @@ SOFLAGS = -shared -Wl,-soname, SOEXT = so # System libraries: -SYSLIBS = -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) -rdynamic +SYSLIBS = -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) \ + $(ALLOCLIBDIR) $(ALLOCLIB) -rdynamic XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -lm -ldl -rdynamic CRYPTLIBS = -lcrypt diff --git a/config/Makefile.linuxhppa b/config/Makefile.linuxhppa index accd67f140b..e81c25f1d56 100644 --- a/config/Makefile.linuxhppa +++ b/config/Makefile.linuxhppa @@ -38,7 +38,8 @@ SOFLAGS = -shared -Wl,-soname, SOEXT = so # System libraries: -SYSLIBS = -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) -rdynamic +SYSLIBS = -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) \ + $(ALLOCLIBDIR) $(ALLOCLIB) -rdynamic XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -lm -ldl -rdynamic CRYPTLIBS = -lcrypt diff --git a/config/Makefile.linuxia64ecc b/config/Makefile.linuxia64ecc index ebbeea5a173..b10d2f1b5b7 100644 --- a/config/Makefile.linuxia64ecc +++ b/config/Makefile.linuxia64ecc @@ -67,7 +67,8 @@ SOFLAGS = -shared -Wl,-soname, SOEXT = so # System libraries: -SYSLIBS = -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) -rdynamic +SYSLIBS = -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) \ + $(ALLOCLIBDIR) $(ALLOCLIB) -rdynamic XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -lm -ldl -rdynamic CRYPTLIBS = -lcrypt diff --git a/config/Makefile.linuxia64gcc b/config/Makefile.linuxia64gcc index 224b37bf1e8..71cf9f39d64 100644 --- a/config/Makefile.linuxia64gcc +++ b/config/Makefile.linuxia64gcc @@ -34,7 +34,8 @@ SOFLAGS = -shared -Wl,-soname, SOEXT = so # System libraries: -SYSLIBS = -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) -rdynamic +SYSLIBS = -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) \ + $(ALLOCLIBDIR) $(ALLOCLIB) -rdynamic XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -lm -ldl -rdynamic CRYPTLIBS = -lcrypt diff --git a/config/Makefile.linuxicc b/config/Makefile.linuxicc index 6dfe78de56a..c6d362fe68f 100644 --- a/config/Makefile.linuxicc +++ b/config/Makefile.linuxicc @@ -70,7 +70,8 @@ ICC_GE_101 = 110 endif # System libraries: -SYSLIBS = -limf -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) -rdynamic +SYSLIBS = -limf -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) \ + $(ALLOCLIBDIR) $(ALLOCLIB) -rdynamic XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -limf -lm -ldl -rdynamic CRYPTLIBS = -lcrypt diff --git a/config/Makefile.linuxmips b/config/Makefile.linuxmips index 1cdc5f93df1..d7b9ad38594 100644 --- a/config/Makefile.linuxmips +++ b/config/Makefile.linuxmips @@ -41,7 +41,8 @@ SOFLAGS = -shared -Wl,-soname, SOEXT = so # System libraries: -SYSLIBS = -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) -rdynamic +SYSLIBS = -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) \ + $(ALLOCLIBDIR) $(ALLOCLIB) -rdynamic XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -lm -ldl -rdynamic CRYPTLIBS = -lcrypt diff --git a/config/Makefile.linuxmips64 b/config/Makefile.linuxmips64 index 213e9b7777b..83d108e70cb 100644 --- a/config/Makefile.linuxmips64 +++ b/config/Makefile.linuxmips64 @@ -40,7 +40,8 @@ SOFLAGS = -shared -Wl,-soname, SOEXT = so # System libraries: -SYSLIBS = -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) -rdynamic +SYSLIBS = -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) \ + $(ALLOCLIBDIR) $(ALLOCLIB) -rdynamic XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -lm -ldl -rdynamic CRYPTLIBS = -lcrypt diff --git a/config/Makefile.linuxppc64gcc b/config/Makefile.linuxppc64gcc index ca0a3994bf0..bdda25ebe17 100644 --- a/config/Makefile.linuxppc64gcc +++ b/config/Makefile.linuxppc64gcc @@ -36,7 +36,8 @@ SOFLAGS = -shared -Wl,-soname, SOEXT = so # System libraries: -SYSLIBS = -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) +SYSLIBS = -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) \ + $(ALLOCLIBDIR) $(ALLOCLIB) XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 -lSM -lICE CILIBS = -lm -ldl CRYPTLIBS = -lcrypt diff --git a/config/Makefile.linuxppcgcc b/config/Makefile.linuxppcgcc index 3f6541f15d8..d48c07d71e2 100644 --- a/config/Makefile.linuxppcgcc +++ b/config/Makefile.linuxppcgcc @@ -36,7 +36,8 @@ SOFLAGS = -shared -Wl,-soname, SOEXT = so # System libraries: -SYSLIBS = -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) +SYSLIBS = -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) \ + $(ALLOCLIBDIR) $(ALLOCLIB) XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 -lSM -lICE CILIBS = -lm -ldl CRYPTLIBS = -lcrypt diff --git a/config/Makefile.linuxx8664gcc b/config/Makefile.linuxx8664gcc index 17b214658b9..d4fccf0e988 100644 --- a/config/Makefile.linuxx8664gcc +++ b/config/Makefile.linuxx8664gcc @@ -41,7 +41,8 @@ SOFLAGS = -shared -Wl,-soname, SOEXT = so # System libraries: -SYSLIBS = -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) -rdynamic +SYSLIBS = -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) \ + $(ALLOCLIBDIR) $(ALLOCLIB) -rdynamic XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -lm -ldl -rdynamic CRYPTLIBS = -lcrypt diff --git a/config/Makefile.linuxx8664icc b/config/Makefile.linuxx8664icc index 02c61030886..50cf2a31af8 100644 --- a/config/Makefile.linuxx8664icc +++ b/config/Makefile.linuxx8664icc @@ -70,7 +70,8 @@ ICC_GE_101 = 110 endif # System libraries: -SYSLIBS = -limf -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) -rdynamic +SYSLIBS = -limf -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) \ + $(ALLOCLIBDIR) $(ALLOCLIB) -rdynamic XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -limf -lm -ldl -rdynamic CRYPTLIBS = -lcrypt diff --git a/config/Makefile.lynxos b/config/Makefile.lynxos index 3381755e1c1..b1797cca7db 100644 --- a/config/Makefile.lynxos +++ b/config/Makefile.lynxos @@ -34,7 +34,8 @@ SOFLAGS = SOEXT = so # System libraries: -SYSLIBS = -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) +SYSLIBS = -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) \ + $(ALLOCLIBDIR) $(ALLOCLIB) XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -lm -ltermcap -lbsd CRYPTLIBS = -lcrypt diff --git a/config/Makefile.macosx b/config/Makefile.macosx index 5ed852e2fdd..c4bc12f6684 100644 --- a/config/Makefile.macosx +++ b/config/Makefile.macosx @@ -102,7 +102,7 @@ endif # System libraries: SYSLIBS = -lm $(EXTRA_LDFLAGS) $(FINK_LDFLAGS) $(OSTHREADLIBDIR) \ - $(OSTHREADLIB) -ldl + $(OSTHREADLIB) -ldl $(ALLOCLIBDIR) $(ALLOCLIB) XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -lm $(EXTRA_LDFLAGS) $(FINK_LDFLAGS) -ldl diff --git a/config/Makefile.macosx64 b/config/Makefile.macosx64 index acedcb700f1..c5dac08b0d2 100644 --- a/config/Makefile.macosx64 +++ b/config/Makefile.macosx64 @@ -87,7 +87,7 @@ endif # System libraries: SYSLIBS = -lm $(EXTRA_LDFLAGS) $(FINK_LDFLAGS) $(OSTHREADLIBDIR) \ - $(OSTHREADLIB) -ldl + $(OSTHREADLIB) -ldl $(ALLOCLIBDIR) $(ALLOCLIB) XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -lm $(EXTRA_LDFLAGS) $(FINK_LDFLAGS) -ldl diff --git a/config/Makefile.macosxicc b/config/Makefile.macosxicc index f3dd8b0658b..1b76f8be10d 100644 --- a/config/Makefile.macosxicc +++ b/config/Makefile.macosxicc @@ -121,7 +121,7 @@ endif # System libraries: SYSLIBS = -lm $(EXTRA_LDFLAGS) $(OSTHREADLIBDIR) \ - $(OSTHREADLIB) -ldl + $(OSTHREADLIB) -ldl $(ALLOCLIBDIR) $(ALLOCLIB) XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -lm $(EXTRA_LDFLAGS) -ldl diff --git a/config/Makefile.macosxxlc b/config/Makefile.macosxxlc index 2e4ccf2ca05..7368de794c4 100644 --- a/config/Makefile.macosxxlc +++ b/config/Makefile.macosxxlc @@ -62,7 +62,7 @@ SOEXT = dylib # System libraries: SYSLIBS = -lm $(EXTRA_LDFLAGS) $(FINK_LDFLAGS) $(OSTHREADLIBDIR) \ - $(OSTHREADLIB) -ldl + $(OSTHREADLIB) -ldl $(ALLOCLIBDIR) $(ALLOCLIB) XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -lm $(EXTRA_LDFLAGS) $(FINK_LDFLAGS) -ldl diff --git a/config/Makefile.openbsd b/config/Makefile.openbsd index 4a08e34f402..801a255c6fc 100644 --- a/config/Makefile.openbsd +++ b/config/Makefile.openbsd @@ -34,7 +34,8 @@ SOFLAGS = -shared -Wl,-x -Wl,-soname, SOEXT = so # System libraries: -SYSLIBS = -lstdc++ -lm $(OSTHREADLIBDIR) $(OSTHREADLIB) +SYSLIBS = -lstdc++ -lm $(OSTHREADLIBDIR) $(OSTHREADLIB) \ + $(ALLOCLIBDIR) $(ALLOCLIB) X11LIBDIR = -L/usr/X11R6/lib XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 -lstdc++ CILIBS = -lm -ltermcap -lstdc++ diff --git a/config/Makefile.sgicc b/config/Makefile.sgicc index e0d1b8cef4b..4f2a7b42ef6 100644 --- a/config/Makefile.sgicc +++ b/config/Makefile.sgicc @@ -31,7 +31,8 @@ SOFLAGS = -n32 -shared SOEXT = so # System libraries: -SYSLIBS = -lm -lPW -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) +SYSLIBS = -lm -lPW -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) \ + $(ALLOCLIBDIR) $(ALLOCLIB) XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -lm -ltermcap -lbsd -lgen -ldl diff --git a/config/Makefile.sgicc64 b/config/Makefile.sgicc64 index 07177825914..0007bfc284f 100644 --- a/config/Makefile.sgicc64 +++ b/config/Makefile.sgicc64 @@ -35,7 +35,8 @@ SOFLAGS = -shared SOEXT = so # System libraries: -SYSLIBS = -lm -lPW $(OSTHREADLIBDIR) $(OSTHREADLIB) +SYSLIBS = -lm -lPW $(OSTHREADLIBDIR) $(OSTHREADLIB) \ + $(ALLOCLIBDIR) $(ALLOCLIB) XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -lm -ltermcap -lbsd -lgen diff --git a/config/Makefile.sgin32gcc b/config/Makefile.sgin32gcc index 6eaa9e884b3..3ca4c2694ae 100644 --- a/config/Makefile.sgin32gcc +++ b/config/Makefile.sgin32gcc @@ -35,7 +35,8 @@ SOFLAGS = -shared SOEXT = so # System libraries: -SYSLIBS = -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) +SYSLIBS = -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) \ + $(ALLOCLIBDIR) $(ALLOCLIB) XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -L/usr/lib32 -lXext -lX11 CILIBS = -lm -lgen diff --git a/config/Makefile.solaris b/config/Makefile.solaris index 166d47f16fb..72589ee0248 100644 --- a/config/Makefile.solaris +++ b/config/Makefile.solaris @@ -32,7 +32,8 @@ SOFLAGS = -G SOEXT = so # System libraries: -SYSLIBS = -lm -ldl -lnsl -lsocket -lgen $(OSTHREADLIBDIR) $(OSTHREADLIB) +SYSLIBS = -lm -ldl -lnsl -lsocket -lgen $(OSTHREADLIBDIR) $(OSTHREADLIB) \ + $(ALLOCLIBDIR) $(ALLOCLIB) XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -lm -ltermcap -ldl -L/usr/ccs/lib -lgen diff --git a/config/Makefile.solaris64CC5 b/config/Makefile.solaris64CC5 index 341e8041dd6..48a1328fbd3 100644 --- a/config/Makefile.solaris64CC5 +++ b/config/Makefile.solaris64CC5 @@ -53,7 +53,7 @@ SOFLAGS = -G $(CCPTR) SOEXT = so # System libraries: -SYSLIBS = -lm -ldl -lnsl -lsocket -lposix4 +SYSLIBS = -lm -ldl -lnsl -lsocket -lposix4 $(ALLOCLIBDIR) $(ALLOCLIB) XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -lm -ltermcap -ldl diff --git a/config/Makefile.solarisCC5 b/config/Makefile.solarisCC5 index 2e4260813d1..02db099a86d 100644 --- a/config/Makefile.solarisCC5 +++ b/config/Makefile.solarisCC5 @@ -55,7 +55,7 @@ SOFLAGS = -G $(CCPTR) SOEXT = so # System libraries: -SYSLIBS = -lm -ldl -lnsl -lsocket -lposix4 +SYSLIBS = -lm -ldl -lnsl -lsocket -lposix4 $(ALLOCLIBDIR) $(ALLOCLIB) XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -lm -ltermcap -ldl diff --git a/config/Makefile.solarisgcc b/config/Makefile.solarisgcc index 97213219f9d..7f668c3a490 100644 --- a/config/Makefile.solarisgcc +++ b/config/Makefile.solarisgcc @@ -34,7 +34,7 @@ SOEXT = so # System libraries: SYSLIBS = -lm -ldl -L/usr/include/sys -lsocket -lnsl $(OSTHREADLIBDIR) \ - $(OSTHREADLIB) + $(OSTHREADLIB) $(ALLOCLIBDIR) $(ALLOCLIB) XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -lm -ltermcap -ldl -L/usr/ccs/lib -lgen diff --git a/config/Makefile.win32gcc b/config/Makefile.win32gcc index 366e0650541..e5d7c3248bb 100644 --- a/config/Makefile.win32gcc +++ b/config/Makefile.win32gcc @@ -44,7 +44,7 @@ EXEEXT = .exe FORCELINK = yes # System libraries: -SYSLIBS = -lm $(OSTHREADLIBDIR) $(OSTHREADLIB) +SYSLIBS = -lm $(OSTHREADLIBDIR) $(OSTHREADLIB) $(ALLOCLIBDIR) $(ALLOCLIB) XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -lm CRYPTLIBS = -lcrypt diff --git a/config/root-config.in b/config/root-config.in index 2b4f4f37e11..33dbec3757a 100755 --- a/config/root-config.in +++ b/config/root-config.in @@ -463,6 +463,13 @@ win32) ;; esac +# allocator must be last in auxlibs +for f in $features ; do + if test "x$f" = "xalloc" ; then + auxlibs="$auxlibs @alloclibdir@ @alloclib@" + fi +done + ### end of machine and compiler dependent settings ### prefix=@prefix@ diff --git a/configure b/configure index 25299c8d7e1..8ba9d31daf9 100755 --- a/configure +++ b/configure @@ -35,6 +35,7 @@ deprecated_options=" \ options=" \ enable_afs \ enable_alien \ + enable_alloc \ enable_asimage \ enable_astiff \ enable_bonjour \ @@ -128,6 +129,7 @@ for c in $options ; do eval ${c}_explicit="" ; done enable_cling= enable_afs=no +enable_alloc=no enable_gdml=no enable_globus=no enable_explicitlink=no @@ -1233,6 +1235,8 @@ with options, prefix with --with-, enables corresponding support afs-shared AFS support, controls usage of shared linkage AFS libraries {yes/no} alien-incdir AliEn support, location of gapiUI.h alien-libdir AliEn support, location of libapiUI + alloc-libdir Alternative memory allocator support, location of allocator lib + alloc-lib Alternative memory allocator support, allocator lib castor-incdir CASTOR support, location of stager_api.h castor-libdir CASTOR support, location of libshift chirp-incdir Chirp support, location of chirp_client.h @@ -1481,6 +1485,8 @@ if test $# -gt 0 ; then --with-afs-shared=*) afsshared=$optarg ; enable_afs="yes" ;; --with-alien-incdir=*) alienincdir=$optarg ; enable_alien="yes" ;; --with-alien-libdir=*) alienlibdir=$optarg ; enable_alien="yes" ;; + --with-alloc-libdir=*) alloclibdir=$optarg ; enable_alloc="yes" ;; + --with-alloc-lib=*) alloclib=$optarg ; enable_alloc="yes" ;; --with-afterimage-incdir=*) afterimageincdir=$optarg; enable_builtin_afterimage=no ;; --with-afterimage-libdir=*) afterimagelibdir=$optarg; enable_builtin_afterimage=no ;; --with-castor-incdir=*) castorincdir=$optarg ; enable_castor="yes" ;; @@ -1547,9 +1553,6 @@ if test $# -gt 0 ; then --with-sapdb-libdir=*) sapdblibdir=$optarg ; enable_sapdb="yes" ;; --with-rfio-incdir=*) shiftincdir=$optarg ; enable_rfio="yes" ;; --with-rfio-libdir=*) shiftlibdir=$optarg ; enable_rfio="yes" ;; - # leave --with-shift-* for backward compatibility, use --with-rfio-* instead - --with-shift-incdir=*) shiftincdir=$optarg ; enable_rfio="yes" ;; - --with-shift-libdir=*) shiftlibdir=$optarg ; enable_rfio="yes" ;; --with-srp=*) srpdir=$optarg ; enable_srp="yes" ;; --with-srp-incdir=*) srpincdir=$optarg ; enable_srp="yes" ;; --with-srp-libdir=*) srplibdir=$optarg ; enable_srp="yes" ;; @@ -2276,6 +2279,25 @@ if test "x$platform" = "xwin32"; then glewlibs=lib/libGLEW.lib fi +###################################################################### +# +### echo %%% Alternative Memory Allocator Support - Third party libraries +# +if test ! "x$enable_alloc" = "xno"; then + # Check for alternative memory allocator + check_library "$alloclib" "$enable_shared" "$alloclibdir" \ + /usr/lib /usr/local/lib + alloclib=$found_lib + alloclibdir=$found_dir + + if test "x$alloclib" = "x"; then + alloclibdir="" + enable_alloc="no" + fi +fi +check_explicit "$enable_alloc" "$enable_alloc_explicit" \ + "Explicitly required allocator dependencies not fulfilled" + ###################################################################### # ### echo %%% MySQL Support - Third party libraries @@ -5571,13 +5593,15 @@ fi message "Writing $MAKEOUT" sed -e "s|@aclocaldir@|$aclocaldir|" \ -e "s|@afslib@|$afslib|" \ - -e "s|@afslibdir@|$afslibdirs|" \ + -e "s|@afslibdir@|$afslibdirs|" \ -e "s|@afsincdir@|$afsincdir|" \ -e "s|@afsextracflags@|$afsextracflags|" \ -e "s|@afsshared@|$afsshared|" \ -e "s|@alienincdir@|$alienincdir|" \ -e "s|@alienlib@|$alienlib|" \ -e "s|@alienlibdir@|$alienlibdir|" \ + -e "s|@alloclibdir@|$alloclibdir|" \ + -e "s|@alloclib@|$alloclib|" \ -e "s|@architecture@|$arch|" \ -e "s|@asextralib@|$asextralib|" \ -e "s|@asextralibdir@|$asextralibdir|" \ @@ -5972,6 +5996,8 @@ sed -e "s|@architecture@|$arch|" \ -e "s|@dicttype@|$dicttype|" \ -e "s|@zliblib@|$zliblib|" \ -e "s|@pythonvers@|$pythonvers|" \ + -e "s|@alloclibdir@|$alloclibdir|" \ + -e "s|@alloclib@|$alloclib|" \ -e "s|@altcc@|$altcc|" \ -e "s|@altcxx@|$altcxx|" \ -e "s|@altf77@|$altf772|" \ -- GitLab