diff --git a/sys-devel/clang/clang-3.2.recipe b/sys-devel/clang/clang-3.2.recipe index 9ed169501..b322c72bd 100644 --- a/sys-devel/clang/clang-3.2.recipe +++ b/sys-devel/clang/clang-3.2.recipe @@ -1,39 +1,102 @@ -DESCRIPTION="clang: an llvm front end compiler for C and C++" +SUMMARY="A llvm front end compiler for C and C++" +DESCRIPTION="Clang is an 'LLVM native' C/C++/Objective-C compiler, which + aims to deliver amazingly fast compiles (e.g. about 3x faster than + GCC when compiling Objective-C code in a debug configuration), + extremely useful error and warning messages and to provide a + platform for building great source level tools." + HOMEPAGE="http://www.llvm.org/" -SRC_URI="http://llvm.org/releases/3.2/llvm-3.2.src.tar.gz" -REVISION="1" -STATUS_HAIKU="untested" -DEPEND="groff" +LICENSE="UIUC" +COPYRIGHT="2003-2012 University of Illinois at Urbana-Champaign" + +SRC_URI="http://llvm.org/releases/${portVersion}/llvm-${portVersion}.src.tar.gz" CHECKSUM_MD5="71610289bbc819e3e15fdd562809a2d7" -MESSAGE="This port only builds with gcc4. Use 'setgcc gcc4' before building." +SRC_URI_2="http://llvm.org/releases/${portVersion}/clang-${portVersion}.src.tar.gz" +CHECKSUM_MD5_2="3896ef4334df08563b05d0848ba80582" +REVISION="1" + +ARCHITECTURES="?x86 ?x86_64" +if [ $effectiveTargetArchitecture != x86_gcc2 ]; then + ARCHITECTURES="$ARCHITECTURES x86_gcc2" +fi +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + clang$secondaryArchSuffix = $portVersion + cmd:clang = $portVersion + cmd:clang++ = $portVersion + cmd:c_index_test = $portVersion + lib:libLTO = $portVersion + lib:libclang = $portVersion + lib:libprofile_rt = $portVersion + " + +REQUIRES=" + haiku$secondaryArchSuffix >= $haikuVersion + " + +BUILD_REQUIRES=" + " + +BUILD_PREREQUIRES=" + haiku${secondaryArchSuffix}_devel >= $haikuVersion + cmd:aclocal + cmd:autoconf + cmd:automake + cmd:gcc$secondaryArchSuffix + cmd:groff + cmd:ld$secondaryArchSuffix + cmd:libtoolize + cmd:make + cmd:python + cmd:sed + " + +SOURCE_DIR="llvm-${portVersion}.src" + BUILD() { - if [ ! -L /usr ]; then - ln -s /boot/system/ /usr - fi - cd llvm-3.2.src/tools - wget "http://llvm.org/releases/3.2/clang-3.2.src.tar.gz" - echo "Extracting clang llvm tool..." - tar xzf clang-3.2.src.tar.gz - mv clang-3.2.src clang - cd .. - cp -r /boot/common/data/libtool/config/. autoconf/ - cp -r /boot/common/data/libtool/config/. projects/sample/autoconf/ - ./configure --enable-optimized --prefix=`finddir B_COMMON_DIRECTORY` - make + mkdir -p tools/clang + cp -rd $sourceDir2/clang-${portVersion}.src/* tools/clang/ + #cp -r /boot/system/data/libtool/config/. autoconf/ + #cp -r /boot/system/data/libtool/config/. projects/sample/autoconf/ + + # Fix improper env paths + find . -type f -exec sed -i 's/\/usr\/bin\/env/\/bin\/env/g' "{}" \; + + # Haiku C++ requires rtti in a lot of central system components + # such as Mesa + export REQUIRES_RTTI=1 + + # TODO: clang's build system seems to ignore doc / man / shared dirs? + runConfigure ./configure --enable-optimized + make $jobArgs } INSTALL() { - cd llvm-3.2.src - make install + mkdir -p $developDir + mkdir -p $docDir + + make install-clang + + # devel package + packageEntries devel \ + $developDir } TEST() { - cd llvm-3.2.src make check } -LICENSE="UIUC" -COPYRIGHT="2003-2012 University of Illinois at Urbana-Champaign" + +# ----- devel package ------------------------------------------------------- + +PROVIDES_devel=" + clang${secondaryArchSuffix}_devel = $portVersion + " + +REQUIRES_devel=" + clang$secondaryArchSuffix == $portVersion base + "