mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-22 19:50:05 +02:00
clang: Initial 3.2 port
* TODO: clang seems to install a lot of stuff where it shouldn't (ignoring manDir, docDir, etc) * Marking build arch as ? for now until above is solved
This commit is contained in:
@@ -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
|
||||
"
|
||||
|
||||
Reference in New Issue
Block a user