# $Id: Portfile 92816 2012-05-07 17:18:18Z jeremyhu@macports.org $

PortSystem 1.0
PortGroup  muniversal 1.0

name		boehmgc
conflicts       boehmgc-devel
version		7.1
revision        2
categories	devel
license		Permissive
maintainers	waqar openmaintainer
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           md5     2ff9924c7249ef7f736ecfe6f08f3f9b \
                    sha1    e84cba5d18f4ea5ed4e5fd3f1dc6a46bc190ff6f \
                    rmd160  9338c1128686395739e3acd9052a651d1dffffb2
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
# XCode 4.3's clang triggers a static assert in 7.2alpha6.  I am forcing
# llvm-gcc for 7.1, which is missing the assert, just to be on the safe side.
if {${configure.compiler} == "clang" && [vercmp ${xcodeversion} 4.3] >= 0} {
    configure.compiler llvm-gcc-4.2
}

test.run	yes
test.target	check

livecheck.type  regex
livecheck.url   [lindex ${master_sites} 0]
livecheck.regex ${d_name}-?(\\d+(?:\\.\\d+)*)${extract.suffix}
