SUMMARY="Modular and reuseable compiler and toolchain technologies." 
DESCRIPTION="
LLVM is a collection of modular and reuseable compiler and and toolchain \
technologies.
"
HOMEPAGE="http://www.llvm.org/"
LICENSE="UIUC"
COPYRIGHT="2003-2012 University of Illinois at Urbana-Champaign"
SRC_URI="http://llvm.org/releases/${portVersion}/llvm-${portVersion}.src.tar.gz"
CHECKSUM_SHA256="25a5612d692c48481b9b397e2b55f4870e447966d66c96d655241702d44a2628"
REVISION="1"
ARCHITECTURES="x86 x86_64"
if [ $effectiveTargetArchitecture != x86_gcc2 ]; then
	ARCHITECTURES="$ARCHITECTURES x86_gcc2"
fi
SECONDARY_ARCHITECTURES="x86"

PROVIDES="
	llvm$secondaryArchSuffix = $portVersion
	cmd:bugpoint
	cmd:llc
	cmd:lli
	cmd:lli_child_target
	cmd:llvm_ar
	cmd:llvm_as
	cmd:llvm_bcanalyzer
	cmd:llvm_config
	cmd:llvm_cov
	cmd:llvm_diff
	cmd:llvm_dis
	cmd:llvm_dwarfdump
	cmd:llvm_extract
	cmd:llvm_link
	cmd:llvm_mc
	cmd:llvm_mcmarkup
	cmd:llvm_nm
	cmd:llvm_objdump
	cmd:llvm_ranlib
	cmd:llvm_readobj
	cmd:llvm_rtdyld
	cmd:llvm_size
	cmd:llvm_stress
	cmd:llvm_symbolizer
	cmd:llvm_tblgen
	cmd:macho_dump
	cmd:opt
	"

REQUIRES="
	haiku$secondaryArchSuffix >= $haikuVersion
	lib:libstdc++$secondaryArchSuffix
	"

BUILD_REQUIRES="
	"

BUILD_PREREQUIRES="
	haiku${secondaryArchSuffix}_devel >= $haikuVersion
	cmd:aclocal
	cmd:autoconf
	cmd:automake
	cmd:find
	cmd:gcc$secondaryArchSuffix
	cmd:ld$secondaryArchSuffix
	cmd:libtoolize
	cmd:make
	cmd:python
	cmd:sed
	"

PATCHES="llvm-${portVersion}.patchset"

PATCH()
{
	find . -type f -exec sed -i 's/\/usr\/bin\/env/\/bin\/env/g' "{}" \;
}

BUILD()
{
	# Haiku C++ requires rtti in a lot of central system components
	# such as Mesa
	export REQUIRES_RTTI=1
	runConfigure ./configure --enable-optimized 
	make $jobArgs
}

INSTALL()
{
	make install
}

TEST()
{
	make check
}
