pkgsrc/devel/boehm-gc/Makefile

53 lines
1.2 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.67 2010/06/02 19:59:52 wiz Exp $
Update to 7.1. Extract from ChangeLog: * doc/gcinterface.html: Improve C++ interface documentation. * allchblk.c (GC_allochblk): Check for overflow during size rounding. * malloc.c: (free replacement) Fix caller address space check. * finalize.c (GC_grow_table): Dereference table in null-check. * allchblk.c (add_to_fl): disable assertions with USE_MUNMAP, and refine assertions to handle huge unmergable blocks. * allchblk.c (GC_enough_large_bytes_left): No longer take parameters; return free list index bound. (GC_merge_unmapped): Don't access nexthdr until after null test. (Fixes bug in 1/29/08 check-in.) (GC_allochblk): Calculate when splitting is allowable only once here, not when considering each block. (GC_allchblk_nth): Accept new may_split parameter. Avoid some redundant tests for exact size matches. * alloc.c (GC_should_collect): Cache min_bytes_allocd. (GC_maybe_gc): Make locking assertion testable. * mark_rts.c: Fix indentation. * pthread_stop_world.c: Replace old GC_err_printf1 reference. * misc.c (GC_init_inner): Assert !GC_need_to_lock only when defined. (GC_call_with_stack_base): Add GC_API. * os_dep.c (GC_get_stack_base): Add GC_API. * win32_threads.c: (GC_register_my_thread, GC_unregister_my_thread): Add GC_API. * include/gc.h: Add GC_API annotations. * include/private/gc_locks.h: Define UNCOND_LOCK etc. also for PCR. * include/private/gc_priv.h, mark_rts.c, typd_mlc.c: Add GC_push_typed_structures() to push GC_ext_descriptors. * allchblk.c (GC_merge_unmapped, GC_freehblk): Refuse to create blocks large enough that their size, when interpreted as a signed value, would be negative. * include/private/gc_priv.h: Update MAX_ROOT_SETS and LOG_PHT_ENTRIES to handle larger heaps. * allchblk.c, alloc.c, include/private/gc_priv.h: Track GC_bytes_dropped and use in GC triggering decisions. * alloc.c (min_bytes_allocd): Weight atomic blocks less. * alloc.c (GC_add_to_heap): Call GC_install_header(p) AFTER adjusting p. * alloc.c: Define GC_version instead of in version.h. * version.h: Remove. * include/gc_version.h: Move most of version.h here. * include/gc.h, doc/README.macros: Add GC_NO_THREAD_REDIRECTS, GC_NO_THREAD_DECLS, don't test explicitly for GC_SOLARIS_THREADS. * alloc.c: Deal correctly with address wrapping for GC_greatest_plausible_heap_addr and GC_least_plausible_heap_addr. * finalize.c, include/gc.h (GC_register_disappearing_link, GC_register_finalizer_inner): Improve out-of-memory handling. * dyn_load.c (GC_dyld_image_add): Remove ifdef clause and use the macro GC_GETSECTBYNAME instead. * include/private/gc_priv.h: Define GC_GETSECTBYNAME according to the architecture (Darwin). * thread_local_alloc.c (GC_malloc_atomic, GC_gcj_malloc): Pass granules, not bytes, to GC_FAST_MALLOC_GRANS. * include/gc.h: Never include gc_local_alloc.h. * malloc.c: Update GC_large_allocd_bytes on explicit deallocation. * allchblk.c: Sanity check GC_max_large_allocd_bytes. * include/extra/gc.h, include/extra/gc_cpp.h: New. * include/include.am: Install gc.h and gc_cpp.h in $(prefix)/include again. * dbg_mlc.c: Use random() on all glibc systems. * mach_dep.c (GC_with_callee_saves_pushed): Don't use getcontext() on HURD. Add comment. * pthread_stop_world.c (GC_suspend_handler, GC_stop_init): Accomodate systems without SA_SIGINFO. * alloc.c, backgraph.c, headers.c, include/private/gc_priv.h: Maintain GC_our_memory and GC_n_memory. * dbg_mlc.c (GC_print_smashed_obj): Improve message. (GC_print_all_smashed_proc): Pass client object address instead of base. * dyn_load.c (sort_heap_sects): New. (GC_register_map_entries): Register sections that are contiguous and merged with our heap. * malloc.c, os_dep.c (GC_text_mapping): Check for just base name of libraries. * malloc.c (calloc): Check for special callers even with USE_PROC_FOR_LIBRARIES. Move assertion. Add rudimentary malloc/free tracing. * misc.c: No longer call GC_init_lib_bounds explicitly. * thread_local_alloc.c (GC_malloc, GC_malloc_atomic): Always initialize on demand. * alloc.c (GC_stopped_mark): Call GC_add_current_malloc_heap() while world is still running. * os_dep.c (GC_is_heap_base): Don't call GC_add_current_malloc_heap() with world stopped. * include/gc.h (GC_INIT for cygwin): Always call GC_add_roots. * misc.c (GC_init/GC_init_inner): Perform all work in GC_init_inner.
2008-05-21 15:47:25 +02:00
DISTNAME= gc-7.1
PKGNAME= ${DISTNAME:S/gc/boehm-gc/}
PKGREVISION= 4
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++
2004-01-06 00:20:29 +01:00
PKG_INSTALLATION_TYPES= overwrite pkgviews
2006-11-05 18:49:33 +01:00
PKG_DESTDIR_SUPPORT= user-destdir
2004-01-06 00:20:29 +01:00
USE_TOOLS+= gmake
2004-12-07 00:00:23 +01:00
USE_LANGUAGES= c c++
USE_LIBTOOL= YES
GNU_CONFIGURE= YES
2004-12-07 00:00:23 +01:00
CONFIGURE_ARGS+= --enable-cplusplus
CONFIGURE_ARGS+= --datadir=${PREFIX}/share/doc
2006-01-03 23:15:22 +01:00
INSTALLATION_DIRS= ${PKGMANDIR}/man3
1998-11-13 00:03:39 +01:00
MAKE_ENV+= COPTS=${CFLAGS:M*:Q}
2006-04-14 20:14:34 +02:00
TEST_TARGET= check
2000-03-16 12:59:16 +01:00
.include "../../mk/bsd.prefs.mk"
.if !empty(EXTRACT_USING:Mpax)
2000-03-16 12:59:16 +01:00
EXTRACT_ELEMENTS= -u
.endif
.if ${MACHINE_ARCH} == "mipsel"
CFLAGS+= -D__MIPSEL__
.endif
.if ${OPSYS} == "Darwin" && empty(OS_VERSION:M[1-9].*)
CFLAGS+= -D_XOPEN_SOURCE
.endif
.include "options.mk"
post-install:
2006-11-05 18:49:33 +01:00
${INSTALL_MAN} ${WRKSRC}/doc/gc.man ${DESTDIR}${PREFIX}/${PKGMANDIR}/man3/gc.3
do-test:
2006-06-06 19:33:28 +02:00
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"