# $Id: Portfile 92815 2012-05-07 17:14:24Z jeremyhu@macports.org $

PortSystem 1.0
PortGroup  muniversal 1.0

name		boehmgc-devel
conflicts       boehmgc
version		7.2alpha6
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/
distname	${d_name}-${version}
checksums           sha1    190fe36d73bc00205a50d01d31664e525ca70389 \
                    rmd160  a634c94992b8cc1fb6ba3a9ae1c7a5e83deb9823 \
                    sha256  ebf425b254773d565e1690287641ed177716a78e952c96fec917edbc64535c16
configure.args  --with-threads=posix \
		--enable-cplusplus

configure.cppflags-append -D_XOPEN_SOURCE=600 -D_DARWIN_C_SOURCE

variant redirect {
	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
}

# This is now fixed in upstream svn and should be in the next release
patchfiles asm.patch

# <rdar://problem/11394446>, regression in 4.3
if {${configure.compiler} == "clang" && [vercmp ${xcodeversion} 4.3] >= 0} {
    configure.compiler llvm-gcc-4.2
}

test.run	yes
test.target	check
