# $Id$

PortSystem 1.0
#PortGroup  muniversal 1.0

name		boehmgc-devel
conflicts       boehmgc
version		7.3alpha2
revision	1
categories	devel
license		Permissive
maintainers	nomaintainer
description	Boehm-Demers-Weiser conservative garbage collector
long_description   The Boehm-Demers-Weiser conservative garbage collector \
	           can be used as a garbage collecting replacement for C \
		   malloc or C++ new. It is also used by a number of \
		   programming language implementations that use C as \
		   intermediate code.
set d_name      gc
homepage        http://www.hpl.hp.com/personal/Hans_Boehm/${d_name}/
platforms	darwin
master_sites	${homepage}gc_source/
dist_subdir	boehmgc
distname	${d_name}-${version}

checksums           rmd160  c9d6d7ad2f17e703267ede2e694a58806eb3ac84 \
                    sha256  16b55db3fd40c9bf4bf0d7e3553676f8c2e1fa202bbdc12ad7cef5a462e76198

depends_build       port:pkgconfig \
                    port:libatomic_ops-devel

# libatomic_ops-devel is not universal
universal_variant   no

configure.args  --with-threads=posix \
		--enable-cplusplus

configure.cppflags-append -D_XOPEN_SOURCE=600 -D_DARWIN_C_SOURCE

patchfiles	patch-misc.c.diff

variant redirect description {Redirect malloc and friends to GC routines} {
	configure.args-append  --enable-redirect-malloc
}

platform darwin 8 {
	# Not needed to "force" ucontext.h on Tiger, and it actually
	# forces POSIX sys/mman.h which breaks the build there because
	# Tiger's sys/mman.h doesn't recognize _DARWIN_C_SOURCE
	configure.cppflags-delete -D_XOPEN_SOURCE=600
}

test.run	yes
test.target	check

livecheck.type  regex
livecheck.url   [lindex ${master_sites} 0]
livecheck.regex ${d_name}-?(\[0-9a-z.\]*)${extract.suffix}