diff --git a/sys-devel/llvm/llvm-3.9.0~git.recipe b/sys-devel/llvm/llvm-3.9.0~git.recipe index 2141a4a06..e6b598928 100644 --- a/sys-devel/llvm/llvm-3.9.0~git.recipe +++ b/sys-devel/llvm/llvm-3.9.0~git.recipe @@ -32,18 +32,18 @@ HOMEPAGE="http://www.llvm.org/" COPYRIGHT="2003-2014 University of Illinois at Urbana-Champaign" LICENSE="UIUC" REVISION="1" -llvmSrcGitRev="59e23fa2118403e3fb6adb5e72aa07b5efaad996" -clangSrcGitRev="de5983bfd6a6c846d628b069271b60554ffd33a6" -clangToolsExtraSrcGitRev="b9f987ace4ed5bbcbfd85932de83c2970c328968" +llvmSrcGitRev="2f3a50599195827ffa43496dea722a8d9b0192ef" +clangSrcGitRev="dc4b244bbdddbabdcdc66306a5fbb12470cbf4d8" +clangToolsExtraSrcGitRev="b0ef8495f2f94f22838cdfbfb093d2639d24415f" SOURCE_URI="https://github.com/llvm-mirror/llvm/archive/$llvmSrcGitRev.tar.gz" SOURCE_URI_2="https://github.com/llvm-mirror/clang/archive/$clangSrcGitRev.tar.gz" SOURCE_URI_3="https://github.com/llvm-mirror/clang-tools-extra/archive/$clangToolsExtraSrcGitRev.tar.gz" SOURCE_FILENAME="llvm-${llvmSrcGitRev}.tar.gz" SOURCE_FILENAME_2="clang-${clangSrcGitRev}.tar.gz" SOURCE_FILENAME_3="clang-tools-extra-${clangToolsExtraSrcGitRev}.tar.gz" -CHECKSUM_SHA256="845445420c831add3f505a52d6d05bd52222f402db99fc4f6d4e4710acce81c6" -CHECKSUM_SHA256_2="e5a036d1dcb4bcdb5e4eb2969462022f90fde93af6d7d627b834df3e34cc36a3" -CHECKSUM_SHA256_3="47ba0b76638bc958f39465391bc6f1286fb9ca3afb50fec90e7f3de10c5b2979" +CHECKSUM_SHA256="e3b046c192a4abd8c86b0c172abb16d5c0a14d73f3d0db2e0f55eef4513e3e18" +CHECKSUM_SHA256_2="3b3dead2ae16fe991e2ace6cc2319d639b55c43713dda2ff202222b79507234e" +CHECKSUM_SHA256_3="294342b22e44f010f27cc9f40847edacf8cc9c0aaef44941985fcf603ab70d6f" SOURCE_DIR="llvm-$llvmSrcGitRev" SOURCE_DIR_2="clang-$clangSrcGitRev" SOURCE_DIR_3="clang-tools-extra-$clangToolsExtraSrcGitRev" @@ -325,8 +325,8 @@ BUILD() # Haiku C++ requires rtti in a lot of central system components # such as Mesa cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$prefix \ - -DLLVM_ENABLE_RTTI=ON \ - -DLLVM_ENABLE_THREADS=NO \ + -DCMAKE_SKIP_RPATH=YES \ + -DLLVM_ENABLE_RTTI=ON -DLLVM_ENABLE_THREADS=NO \ .. make $jobArgs PROJ_datadir=$dataDir PROJ_docsdir=$docDir \ PROJ_mandir=$manDir PROJ_includedir=$includeDir PROJ_libdir=$libDir diff --git a/sys-devel/llvm/patches/clang-3.9.0~git.patchset b/sys-devel/llvm/patches/clang-3.9.0~git.patchset index 62633845a..15e961cef 100644 --- a/sys-devel/llvm/patches/clang-3.9.0~git.patchset +++ b/sys-devel/llvm/patches/clang-3.9.0~git.patchset @@ -1,4 +1,4 @@ -From a95867c961e4ddd017fd08bf9d7d373647788f28 Mon Sep 17 00:00:00 2001 +From 5eb8c8faa1d9dcac9603fd913814414c78fa396a Mon Sep 17 00:00:00 2001 From: Alexander von Gluck IV Date: Sun, 1 Feb 2015 15:13:57 +0000 Subject: haiku: fix header search paths @@ -88,7 +88,7 @@ index 26bab0d..6066d2b 100644 2.2.2 -From 11f78732cda7f42cd7568b3cb96f779fcc1a9d06 Mon Sep 17 00:00:00 2001 +From 1c51da209727bcb3e867220a5b7f504991bc2ea3 Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Tue, 22 Dec 2015 22:07:06 +0000 Subject: don't include c++ headers in C include search paths. @@ -96,10 +96,10 @@ Subject: don't include c++ headers in C include search paths. * define a Haiku toolchain, and add c++ headers path. diff --git a/lib/Driver/Driver.cpp b/lib/Driver/Driver.cpp -index 6a85dab..a67f0ea 100644 +index 75dcfc9..27c8592 100644 --- a/lib/Driver/Driver.cpp +++ b/lib/Driver/Driver.cpp -@@ -2256,6 +2256,9 @@ const ToolChain &Driver::getToolChain(const ArgList &Args, +@@ -2375,6 +2375,9 @@ const ToolChain &Driver::getToolChain(const ArgList &Args, ToolChain *&TC = ToolChains[Target.str()]; if (!TC) { switch (Target.getOS()) { @@ -110,10 +110,10 @@ index 6a85dab..a67f0ea 100644 TC = new toolchains::CloudABI(*this, Target, Args); break; diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp -index a0fad02..4e90be5 100644 +index 8be0684..a627b2e 100644 --- a/lib/Driver/ToolChains.cpp +++ b/lib/Driver/ToolChains.cpp -@@ -3006,6 +3006,34 @@ SanitizerMask CloudABI::getSupportedSanitizers() const { +@@ -2987,6 +2987,34 @@ SanitizerMask CloudABI::getSupportedSanitizers() const { return Res; } @@ -149,10 +149,10 @@ index a0fad02..4e90be5 100644 OpenBSD::OpenBSD(const Driver &D, const llvm::Triple &Triple, diff --git a/lib/Driver/ToolChains.h b/lib/Driver/ToolChains.h -index b956ac9..2b1bca7 100644 +index 458fd03..60752dd 100644 --- a/lib/Driver/ToolChains.h +++ b/lib/Driver/ToolChains.h -@@ -675,6 +675,18 @@ private: +@@ -677,6 +677,18 @@ private: void findGccLibDir(); }; @@ -188,18 +188,18 @@ index 6066d2b..d8f0881 100644 2.2.2 -From 27e0b4297cf3496970f9d4c6e6247f486234f49c Mon Sep 17 00:00:00 2001 +From 9d98b78a888b3304aa35c74a3856f08c01d08e83 Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Thu, 14 Jan 2016 19:19:14 +0000 Subject: add Haiku target info for x86_64 diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp -index 040deda..06f44b9 100644 +index 797d052..32023d9 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp -@@ -373,6 +373,30 @@ public: - } +@@ -365,6 +365,30 @@ public: + : OSTargetInfo(Triple) {} }; +// Haiku Target @@ -229,42 +229,32 @@ index 040deda..06f44b9 100644 // Minix Target template class MinixTargetInfo : public OSTargetInfo { -@@ -3953,25 +3977,6 @@ public: - } +@@ -3946,20 +3970,15 @@ public: }; --// x86-32 Haiku target + // x86-32 Haiku target -class HaikuX86_32TargetInfo : public X86_32TargetInfo { --public: ++class HaikuX86_32TargetInfo : public HaikuTargetInfo { + public: - HaikuX86_32TargetInfo(const llvm::Triple &Triple) : X86_32TargetInfo(Triple) { - SizeType = UnsignedLong; - IntPtrType = SignedLong; - PtrDiffType = SignedLong; - ProcessIDType = SignedLong; -- this->UserLabelPrefix = ""; - this->TLSSupported = false; -- } -- void getTargetDefines(const LangOptions &Opts, -- MacroBuilder &Builder) const override { ++ HaikuX86_32TargetInfo(const llvm::Triple &Triple) ++ : HaikuTargetInfo(Triple) { + } + void getTargetDefines(const LangOptions &Opts, + MacroBuilder &Builder) const override { - X86_32TargetInfo::getTargetDefines(Opts, Builder); -- Builder.defineMacro("__INTEL__"); ++ HaikuTargetInfo::getTargetDefines(Opts, Builder); + Builder.defineMacro("__INTEL__"); - Builder.defineMacro("__HAIKU__"); -- } --}; -- - // X86-32 MCU target - class MCUX86_32TargetInfo : public X86_32TargetInfo { - public: -@@ -7950,7 +7955,7 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple) { - } - } - case llvm::Triple::Haiku: -- return new HaikuX86_32TargetInfo(Triple); -+ return new HaikuTargetInfo(Triple); - case llvm::Triple::RTEMS: - return new RTEMSX86_32TargetInfo(Triple); - case llvm::Triple::NaCl: -@@ -8001,6 +8006,8 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple) { + } + }; + +@@ -8040,6 +8059,8 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple) { return new MicrosoftX86_64TargetInfo(Triple); } } diff --git a/sys-devel/llvm/patches/llvm-3.9.0~git.patchset b/sys-devel/llvm/patches/llvm-3.9.0~git.patchset index 6c390d20d..0900912d8 100644 --- a/sys-devel/llvm/patches/llvm-3.9.0~git.patchset +++ b/sys-devel/llvm/patches/llvm-3.9.0~git.patchset @@ -1,4 +1,4 @@ -From d8813c1b36c55dec62521370c6b0ee9067d44a96 Mon Sep 17 00:00:00 2001 +From 6c8c8cde94c030bc0f7bf7676a9bf54a2f796568 Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Wed, 20 Jan 2016 21:13:28 +0000 Subject: llvm-config: use /develop/headers instead of /include @@ -6,10 +6,10 @@ Subject: llvm-config: use /develop/headers instead of /include * don't provide obj-root and src-root. diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp -index e5b1210..e3a619e 100644 +index 94d426b..2942242 100644 --- a/tools/llvm-config/llvm-config.cpp +++ b/tools/llvm-config/llvm-config.cpp -@@ -345,7 +345,11 @@ int main(int argc, char **argv) { +@@ -327,7 +327,11 @@ int main(int argc, char **argv) { ("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include"); } else { ActivePrefix = CurrentExecPrefix; @@ -21,8 +21,8 @@ index e5b1210..e3a619e 100644 ActiveBinDir = ActivePrefix + "/bin"; ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX; ActiveIncludeOption = "-I" + ActiveIncludeDir; -@@ -561,10 +565,16 @@ int main(int argc, char **argv) { - OS << LLVM_HAS_RTTI << '\n'; +@@ -537,10 +541,16 @@ int main(int argc, char **argv) { + OS << LLVM_HAS_GLOBAL_ISEL << '\n'; } else if (Arg == "--shared-mode") { PrintSharedMode = true; - } else if (Arg == "--obj-root") { @@ -46,7 +46,7 @@ index e5b1210..e3a619e 100644 2.2.2 -From 174d1ca28fa3d47dde73057dfa3b7effd3fa5746 Mon Sep 17 00:00:00 2001 +From 82ccde12b1df252bb78a905a6e0d674c1ab878c8 Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Wed, 24 Feb 2016 22:46:03 +0000 Subject: patch cmake build for Haiku.