141eb08c3d
Changes relative to 6.8 include, in no particular order: - Change C code to require at least C89. Clean up code in various other respects. - Win64 port. - Always count how much live data there is in the heap. Add more robust heap expansion heuristic which relies on this. - Remove old-style Solaris threads support and some other obsolete platform support. - Restructure mark code, hopefully resulting in some performance improvements. - Change the GC code to traffic mostly in either bytes or allocation granules, not words, internally. - Provide for fast inline allocation that requires less frequent client recompilations. (Needs more testing.) - Removed SILENT configuration macro and PRINTSTATS and GATHERSTATS macros. Control is now via GC_PRINT_STATS and GC_PRINT_VERBOSE_STATS encironment variables. - Thread local allocation is now performed without needing to call special allocation functions. The configuration macro THREAD_LOCAL_ALLOC continues to determine whether this is supported. - Thread local allocation is supported on more platforms. - Win32 threads code was rewritten and is hopefully more sane. - Allocation routines now decide whether to lock dynamically, based on whether a second thread has been created. - Mostly untested support for a compiler write barrier. - Use libatomic_ops for atomic operations. - Limited support for malloc redirection with Linux threads (& NPTL ). - Various bug fixes and some new platform support.
55 lines
1.3 KiB
Makefile
55 lines
1.3 KiB
Makefile
# $NetBSD: Makefile,v 1.59 2007/07/07 15:21:07 wiz Exp $
|
|
|
|
DISTNAME= gc-7.0
|
|
PKGNAME= ${DISTNAME:S/gc/boehm-gc/}
|
|
CATEGORIES= devel
|
|
MASTER_SITES= http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/
|
|
|
|
MAINTAINER= recht@NetBSD.org
|
|
HOMEPAGE= http://www.hpl.hp.com/personal/Hans_Boehm/gc/
|
|
COMMENT= Garbage collection and memory leak detection for C and C++
|
|
|
|
PKG_INSTALLATION_TYPES= overwrite pkgviews
|
|
PKG_DESTDIR_SUPPORT= user-destdir
|
|
|
|
USE_TOOLS+= gmake
|
|
USE_LANGUAGES= c c++
|
|
USE_LIBTOOL= YES
|
|
GNU_CONFIGURE= YES
|
|
CONFIGURE_ARGS+= --enable-cplusplus
|
|
INSTALLATION_DIRS= ${PKGMANDIR}/man3
|
|
|
|
MAKE_ENV+= COPTS=${CFLAGS:M*:Q}
|
|
|
|
TEST_TARGET= check
|
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
|
|
.if ${OPSYS} != "Darwin"
|
|
CONFIGURE_ARGS+= --disable-threads
|
|
.endif
|
|
|
|
.if !empty(EXTRACT_USING:Mpax)
|
|
EXTRACT_ELEMENTS= -u
|
|
.endif
|
|
|
|
.if ${MACHINE_ARCH} == "mipsel"
|
|
CFLAGS+= -D__MIPSEL__
|
|
.endif
|
|
|
|
post-extract:
|
|
${MV} ${WRKSRC}/doc/gc.man ${WRKSRC}/doc/gc.man.in
|
|
|
|
pre-build:
|
|
${SED} -e "s|@PREFIX@|${PREFIX}|g" \
|
|
${WRKSRC}/doc/gc.man.in > ${WRKSRC}/doc/gc.man
|
|
|
|
post-install:
|
|
${INSTALL_MAN} ${WRKSRC}/doc/gc.man ${DESTDIR}${PREFIX}/${PKGMANDIR}/man3/gc.3
|
|
|
|
do-test:
|
|
cd ${WRKSRC} && \
|
|
${RM} -f gctest && ${MAKE_PROGRAM} gctest && ./gctest && \
|
|
${RM} -f test_cpp && ${MAKE_PROGRAM} test_cpp && ./test_cpp 10
|
|
|
|
.include "../../mk/bsd.pkg.mk"
|