llvm: git recipe: disable rpath, forgot __INTEL__ on x86.

This commit is contained in:
Jerome Duval
2016-03-17 01:46:57 +00:00
parent bf211c4827
commit e5e41c1112
3 changed files with 41 additions and 51 deletions

View File

@@ -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

View File

@@ -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 <kallisti5@unixzen.com>
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 <jerome.duval@gmail.com>
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 <jerome.duval@gmail.com>
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<Target>(Triple) {}
};
+// Haiku Target
@@ -229,42 +229,32 @@ index 040deda..06f44b9 100644
// Minix Target
template<typename Target>
class MinixTargetInfo : public OSTargetInfo<Target> {
@@ -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<X86_32TargetInfo> {
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<X86_32TargetInfo>(Triple) {
}
void getTargetDefines(const LangOptions &Opts,
MacroBuilder &Builder) const override {
- X86_32TargetInfo::getTargetDefines(Opts, Builder);
- Builder.defineMacro("__INTEL__");
+ HaikuTargetInfo<X86_32TargetInfo>::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<X86_32TargetInfo>(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);
}
}

View File

@@ -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 <jerome.duval@gmail.com>
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 <jerome.duval@gmail.com>
Date: Wed, 24 Feb 2016 22:46:03 +0000
Subject: patch cmake build for Haiku.