summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/ptmalloc/Makefile
diff options
context:
space:
mode:
authorQt by Nokia <qt-info@nokia.com>2011-04-27 12:05:43 +0200
committeraxis <qt-info@nokia.com>2011-04-27 12:05:43 +0200
commit38be0d13830efd2d98281c645c3a60afe05ffece (patch)
tree6ea73f3ec77f7d153333779883e8120f82820abe /src/3rdparty/ptmalloc/Makefile
Initial import from the monolithic Qt.
This is the beginning of revision history for this module. If you want to look at revision history older than this, please refer to the Qt Git wiki for how to use Git history grafting. At the time of writing, this wiki is located here: http://qt.gitorious.org/qt/pages/GitIntroductionWithQt If you have already performed the grafting and you don't see any history beyond this commit, try running "git log" with the "--follow" argument. Branched from the monolithic repo, Qt master branch, at commit 896db169ea224deb96c59ce8af800d019de63f12
Diffstat (limited to 'src/3rdparty/ptmalloc/Makefile')
-rw-r--r--src/3rdparty/ptmalloc/Makefile211
1 files changed, 211 insertions, 0 deletions
diff --git a/src/3rdparty/ptmalloc/Makefile b/src/3rdparty/ptmalloc/Makefile
new file mode 100644
index 0000000000..ae7793cc78
--- /dev/null
+++ b/src/3rdparty/ptmalloc/Makefile
@@ -0,0 +1,211 @@
+# Makefile for ptmalloc, version 3
+# by Wolfram Gloger 1996-1999, 2001-2005, 2006
+
+DIST_FILES0 = ChangeLog malloc-2.8.3.h malloc.c \
+ malloc-private.h ptmalloc3.c \
+ sysdeps \
+ #tst-mallocstate.c tst-mstats.c
+DIST_FILES1 = COPYRIGHT README Makefile \
+ $(DIST_FILES0) \
+ lran2.h t-test.h t-test1.c t-test2.c \
+ tst-independent-alloc.c \
+ #debian
+DIST_FILES2 = $(DIST_FILES1) \
+ m-test1.c \
+ RCS/*,v
+
+TAR_FLAGS = --numeric-owner --exclude "*~" --exclude "debian/tmp*"
+
+#CC = /pkg/gcc-2.95.2-wg/bin/gcc
+CC = gcc
+
+SYS_FLAGS =
+OPT_FLAGS = -g -O2 #-O # -O2
+WARN_FLAGS = -Wall -Wstrict-prototypes
+SH_FLAGS = -shared -fpic
+
+INC_FLAGS = -Isysdeps/generic
+
+# Flags for the test programs
+T_FLAGS = -DUSE_MALLOC=1 -DTEST=1
+
+# Flags for the compilation of malloc.c
+M_FLAGS = -DTHREAD_STATS=1 #-DMALLOC_DEBUG=1 -DDEBUG=1
+
+# Thread flags.
+# See the platform-specific targets below.
+THR_FLAGS = -DUSE_TSD_DATA_HACK -D_REENTRANT
+THR_LIBS = -lpthread
+
+RM = rm -f
+AR = ar
+RANLIB = ranlib
+
+MALLOC_OBJ = ptmalloc3.o malloc.o
+LIB_MALLOC = libptmalloc3.a
+
+T_SUF =
+TESTS = t-test1$(T_SUF) t-test2$(T_SUF) \
+ tst-independent-alloc$(T_SUF)
+ #m-test1$(T_SUF) tst-mallocstate$(T_SUF) tst-mstats$(T_SUF)
+
+CFLAGS = $(SYS_FLAGS) $(OPT_FLAGS) $(WARN_FLAGS) $(THR_FLAGS) $(INC_FLAGS)
+
+.c.o:
+ $(CC) -c $(CFLAGS) $<
+
+all: $(LIB_MALLOC)
+
+ptmalloc3.o: ptmalloc3.c malloc-2.8.3.h
+ $(CC) -c $(CFLAGS) $(M_FLAGS) -DMSPACES=1 $<
+
+malloc.o: malloc.c
+ $(CC) -c $(CFLAGS) $(M_FLAGS) -DONLY_MSPACES -DUSE_LOCKS=0 $<
+
+#malloc-stats.o: malloc-stats.c malloc.h
+# $(CC) -c $(CFLAGS) $(M_FLAGS) $<
+
+libptmalloc3.a: $(MALLOC_OBJ)
+ $(AR) cr $@ $(MALLOC_OBJ)
+ $(RANLIB) $@
+
+libptmalloc3.so: $(MALLOC_OBJ)
+ $(CC) $(SH_FLAGS) $(CFLAGS) $(M_FLAGS) $(MALLOC_OBJ) -o $@
+
+again:
+ $(RM) $(TESTS)
+ $(MAKE) $(TESTS)
+
+clean:
+ $(RM) $(MALLOC_OBJ) libptmalloc3.a libptmalloc3.so $(TESTS) \
+ core core.[0-9]*
+
+m-test1$(T_SUF): m-test1.c $(LIB_MALLOC)
+ $(CC) $(CFLAGS) $(T_FLAGS) m-test1.c $(LIB_MALLOC) $(THR_LIBS) -o $@
+
+t-test1$(T_SUF): t-test1.c t-test.h $(LIB_MALLOC)
+ $(CC) $(CFLAGS) $(T_FLAGS) t-test1.c $(LIB_MALLOC) $(THR_LIBS) -o $@
+
+t-test2$(T_SUF): t-test2.c t-test.h $(LIB_MALLOC)
+ $(CC) $(CFLAGS) $(T_FLAGS) t-test2.c $(LIB_MALLOC) $(THR_LIBS) -o $@
+
+tst-mallocstate$(T_SUF): tst-mallocstate.c $(LIB_MALLOC)
+ $(CC) $(CFLAGS) $(T_FLAGS) tst-mallocstate.c $(LIB_MALLOC) \
+ $(THR_LIBS) -o $@
+
+tst-mstats$(T_SUF): tst-mstats.c $(LIB_MALLOC)
+ $(CC) $(CFLAGS) $(T_FLAGS) tst-mstats.c $(LIB_MALLOC) \
+ $(THR_LIBS) -o $@
+
+tst-independent-alloc$(T_SUF): tst-independent-alloc.c $(LIB_MALLOC)
+ $(CC) $(CFLAGS) $(T_FLAGS) tst-independent-alloc.c $(LIB_MALLOC) \
+ $(THR_LIBS) -o $@
+
+############################################################################
+# Platform-specific targets. The ones ending in `-libc' are provided
+# to enable comparison with the standard malloc implementation from
+# the system's native C library. The option USE_TSD_DATA_HACK is now
+# the default for pthreads systems, as most (Irix 6, Solaris 2) seem
+# to need it. Try with USE_TSD_DATA_HACK undefined only if you're
+# confident that your systems's thread specific data functions do _not_
+# use malloc themselves.
+
+# posix threads with TSD data hack
+posix:
+ $(MAKE) THR_FLAGS='-DUSE_TSD_DATA_HACK -D_REENTRANT' \
+ OPT_FLAGS='$(OPT_FLAGS)' SYS_FLAGS='$(SYS_FLAGS)' CC='$(CC)' \
+ INC_FLAGS='-Isysdeps/pthread -Isysdeps/generic -I.'
+ THR_LIBS=-lpthread
+
+# posix threads with explicit initialization. Known to be needed on HPUX.
+posix-explicit:
+ $(MAKE) THR_FLAGS='-D_REENTRANT -DUSE_TSD_DATA_HACK -DUSE_STARTER=2' \
+ THR_LIBS=-lpthread \
+ OPT_FLAGS='$(OPT_FLAGS)' SYS_FLAGS='$(SYS_FLAGS)' CC='$(CC)' \
+ INC_FLAGS='-Isysdeps/pthread -Isysdeps/generic -I.' \
+ M_FLAGS='$(M_FLAGS)'
+
+# posix threads without TSD data hack -- not known to work
+posix-with-tsd:
+ $(MAKE) THR_FLAGS='-D_REENTRANT' THR_LIBS=-lpthread \
+ INC_FLAGS='-Isysdeps/pthread -Isysdeps/generic -I.' \
+ M_FLAGS='$(M_FLAGS)'
+
+posix-libc:
+ $(MAKE) THR_FLAGS='-D_REENTRANT' THR_LIBS=-lpthread \
+ INC_FLAGS='-Isysdeps/pthread -Isysdeps/generic -I.' \
+ M_FLAGS='$(M_FLAGS)' LIB_MALLOC= T_FLAGS= T_SUF=-libc
+
+linux-pthread:
+ $(MAKE) SYS_FLAGS='-D_GNU_SOURCE=1' \
+ WARN_FLAGS='-Wall -Wstrict-prototypes' \
+ OPT_FLAGS='$(OPT_FLAGS)' THR_FLAGS='-DUSE_TSD_DATA_HACK' \
+ INC_FLAGS='-Isysdeps/pthread -Isysdeps/generic -I.' M_FLAGS='$(M_FLAGS)' \
+ TESTS='$(TESTS)'
+
+linux-shared:
+ $(MAKE) SYS_FLAGS='-D_GNU_SOURCE=1 -fpic' \
+ WARN_FLAGS='-Wall -Wstrict-prototypes' \
+ OPT_FLAGS='$(OPT_FLAGS)' THR_FLAGS='-DUSE_TSD_DATA_HACK' \
+ INC_FLAGS='-Isysdeps/pthread -Isysdeps/generic -I.' M_FLAGS='$(M_FLAGS)' \
+ LIB_MALLOC=libptmalloc3.so
+
+sproc:
+ $(MAKE) THR_FLAGS='' THR_LIBS='' OPT_FLAGS='$(OPT_FLAGS)' CC='$(CC)' \
+ INC_FLAGS='-Isysdeps/sproc -Isysdeps/generic -I.' \
+ M_FLAGS='$(M_FLAGS) -Dmalloc_getpagesize=4096'
+
+sproc-shared:
+ $(MAKE) THR_FLAGS='' THR_LIBS= \
+ SH_FLAGS='-shared -check_registry /usr/lib/so_locations' \
+ INC_FLAGS='-Isysdeps/sproc -Isysdeps/generic -I.' \
+ LIB_MALLOC=libptmalloc3.so M_FLAGS='$(M_FLAGS)'
+
+sproc-libc:
+ $(MAKE) THR_FLAGS='' THR_LIBS= LIB_MALLOC= T_FLAGS= \
+ INC_FLAGS='-Isysdeps/sproc -Isysdeps/generic -I.' \
+ T_SUF=-libc M_FLAGS='$(M_FLAGS)'
+
+solaris:
+ $(MAKE) THR_FLAGS='-D_REENTRANT' OPT_FLAGS='$(OPT_FLAGS)' \
+ INC_FLAGS='-Isysdeps/solaris -Isysdeps/generic -I.' \
+ THR_LIBS=-lthread M_FLAGS='$(M_FLAGS)'
+
+solaris-libc:
+ $(MAKE) THR_FLAGS='-D_REENTRANT' OPT_FLAGS='$(OPT_FLAGS)' \
+ INC_FLAGS='-Isysdeps/solaris -Isysdeps/generic -I.' \
+ THR_LIBS=-lthread LIB_MALLOC= T_FLAGS= T_SUF=-libc M_FLAGS='$(M_FLAGS)'
+
+nothreads:
+ $(MAKE) OPT_FLAGS='$(OPT_FLAGS)' SYS_FLAGS='$(SYS_FLAGS)' \
+ INC_FLAGS='-Isysdeps/generic -I.' \
+ THR_FLAGS='' THR_LIBS='' M_FLAGS='$(M_FLAGS)'
+
+gcc-nothreads:
+ $(MAKE) CC='gcc' WARN_FLAGS='-Wall' OPT_FLAGS='$(OPT_FLAGS)' \
+ INC_FLAGS='-Isysdeps/generic -I.' \
+ SYS_FLAGS='$(SYS_FLAGS)' THR_FLAGS='' THR_LIBS='' M_FLAGS='$(M_FLAGS)'
+
+linux-nothreads:
+ $(MAKE) CC='gcc' WARN_FLAGS='-Wall' OPT_FLAGS='$(OPT_FLAGS)' \
+ INC_FLAGS='-Isysdeps/generic -I.' \
+ SYS_FLAGS='-D_GNU_SOURCE' THR_FLAGS='' THR_LIBS='' M_FLAGS='$(M_FLAGS)'
+
+############################################################################
+
+check: $(TESTS)
+ ./t-test1
+ ./t-test2
+ #./tst-mallocstate || echo "Test mallocstate failed!"
+ #./tst-mstats || echo "Test mstats failed!"
+
+snap:
+ cd ..; tar $(TAR_FLAGS) -c -f - $(DIST_FILES1:%=ptmalloc3/%) | \
+ gzip -9 >ptmalloc3-current.tar.gz
+
+dist:
+ cd ..; tar $(TAR_FLAGS) -c -f - $(DIST_FILES2:%=ptmalloc3/%) | \
+ gzip -9 >ptmalloc3.tar.gz
+
+# dependencies
+ptmalloc3.o: malloc-private.h