diff --git a/llvm.changes b/llvm.changes index c2a43c8..7219016 100644 --- a/llvm.changes +++ b/llvm.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Dec 5 13:19:22 UTC 2011 - idoenmez@suse.de + +- Switch to 3-stage bootstrap + ------------------------------------------------------------------- Fri Dec 2 12:22:07 UTC 2011 - idoenmez@suse.de diff --git a/llvm.spec b/llvm.spec index d87af28..375082f 100644 --- a/llvm.spec +++ b/llvm.spec @@ -139,8 +139,8 @@ sed -i s,/lib/LLVMgold.so,/lib64/LLVMgold.so, tools/clang/lib/Driver/Tools.cpp %build TOPLEVEL=$PWD -mkdir stage1 stage2 -cd stage1 +mkdir stage1 stage2 stage3 +pushd stage1 # Idiot cmake doesn't let me select my own optimization level here # hence we use configure, this needed to workaround a gcc 4.5 bug @@ -152,18 +152,31 @@ cd stage1 make %{?_smp_mflags} -cd ../stage2 -# Needed to make clang resource dir working inside build tree -ln -s lib lib64 +popd +pushd stage2 export CC=$TOPLEVEL/stage1/Release/bin/clang export CXX=$TOPLEVEL/stage1/Release/bin/clang++ +cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \ + -DCMAKE_BUILD_TYPE=Release \ + -DLLVM_TARGETS_TO_BUILD=%{_supported_archs} \ + .. +make %{?_smp_mflags} + +popd +pushd stage3 +# Needed to make clang resource dir working inside build tree +ln -s lib lib64 + +export CC=$TOPLEVEL/stage2/Release/bin/clang +export CXX=$TOPLEVEL/stage2/Release/bin/clang++ + cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DCMAKE_BUILD_TYPE=Release \ -DLLVM_ENABLE_ASSERTIONS=FALSE \ -DLLVM_ENABLE_PIC=TRUE \ - -DLLVM_ENABLE_TIMESTAMPS=FALSE \ + -DLLVM_ENABLE_TIMESTAMPS=FALSE \ -DLLVM_TARGETS_TO_BUILD=%{_supported_archs} \ -DCLANG_VENDOR="SUSE Linux" \ %ifarch x86_64 @@ -177,12 +190,12 @@ cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \ make %{?_smp_mflags} %check -cd stage2 +cd stage3 make check make clang-test %install -cd stage2 +cd stage3 %makeinstall cd ..