llvm: update git recipe.

* llvm patch upstreamed.
This commit is contained in:
Jerome Duval
2016-02-27 13:51:01 +00:00
parent 2f8cffd7e8
commit 90ff8d2b79
3 changed files with 26 additions and 92 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="79c213f615de77eb4b72279e2e3f654a977462ab"
clangSrcGitRev="1f64ddbc4c5d1036b68ec896765a7535537ded85"
clangToolsExtraSrcGitRev="a66cd9b490807894b8176309607f15c92e52d1eb"
llvmSrcGitRev="59e23fa2118403e3fb6adb5e72aa07b5efaad996"
clangSrcGitRev="de5983bfd6a6c846d628b069271b60554ffd33a6"
clangToolsExtraSrcGitRev="b9f987ace4ed5bbcbfd85932de83c2970c328968"
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="7d4e4c1e9180dd4d85ba650fac2f3835a6b04a6a061d45fd03df730a9b8fc954"
CHECKSUM_SHA256_2="9853dd85e4322de5429c75cd9d560cc0c2e76141a9fed34715da45b6eac1ca26"
CHECKSUM_SHA256_3="c2f27f9c23f3992c903ea195f47d07ce7d8fad59812656289d8ddcd1ae82f24f"
CHECKSUM_SHA256="845445420c831add3f505a52d6d05bd52222f402db99fc4f6d4e4710acce81c6"
CHECKSUM_SHA256_2="e5a036d1dcb4bcdb5e4eb2969462022f90fde93af6d7d627b834df3e34cc36a3"
CHECKSUM_SHA256_3="47ba0b76638bc958f39465391bc6f1286fb9ca3afb50fec90e7f3de10c5b2979"
SOURCE_DIR="llvm-$llvmSrcGitRev"
SOURCE_DIR_2="clang-$clangSrcGitRev"
SOURCE_DIR_3="clang-tools-extra-$clangToolsExtraSrcGitRev"
@@ -356,10 +356,9 @@ INSTALL()
mv $prefix/libexec/* $binDir/
mv $prefix/share/man/* $manDir/
mv $prefix/share/clang $dataDir/
mv $prefix/share/llvm $dataDir/
mv $prefix/share/scan-build $dataDir/
mv $prefix/share/scan-view $dataDir/
rmdir $prefix/include $prefix/libexec $prefix/share/man
rmdir $prefix/include $prefix/libexec $prefix/share/man $prefix/share
sed -i 's|/libexec/|/bin/|' $binDir/scan-build
sed -i 's|/share/|/data/|' $binDir/scan-build $binDir/scan-view

View File

@@ -1,4 +1,4 @@
From 70b3ba03bcb82e0fd4e4220a2a085ac1a93c5927 Mon Sep 17 00:00:00 2001
From a95867c961e4ddd017fd08bf9d7d373647788f28 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 ebe103791980578644ada1df702424e9ed75b752 Mon Sep 17 00:00:00 2001
From 11f78732cda7f42cd7568b3cb96f779fcc1a9d06 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 22eed5c..c53a341 100644
index 6a85dab..a67f0ea 100644
--- a/lib/Driver/Driver.cpp
+++ b/lib/Driver/Driver.cpp
@@ -2260,6 +2260,9 @@ const ToolChain &Driver::getToolChain(const ArgList &Args,
@@ -2256,6 +2256,9 @@ const ToolChain &Driver::getToolChain(const ArgList &Args,
ToolChain *&TC = ToolChains[Target.str()];
if (!TC) {
switch (Target.getOS()) {
@@ -110,11 +110,11 @@ index 22eed5c..c53a341 100644
TC = new toolchains::CloudABI(*this, Target, Args);
break;
diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp
index 45cd8bd..2bf12f5 100644
index a0fad02..4e90be5 100644
--- a/lib/Driver/ToolChains.cpp
+++ b/lib/Driver/ToolChains.cpp
@@ -2980,6 +2980,34 @@ Tool *CloudABI::buildLinker() const {
return new tools::cloudabi::Linker(*this);
@@ -3006,6 +3006,34 @@ SanitizerMask CloudABI::getSupportedSanitizers() const {
return Res;
}
+/// Haiku - Haiku tool chain which can call as(1) and ld(1) directly.
@@ -149,10 +149,10 @@ index 45cd8bd..2bf12f5 100644
OpenBSD::OpenBSD(const Driver &D, const llvm::Triple &Triple,
diff --git a/lib/Driver/ToolChains.h b/lib/Driver/ToolChains.h
index a5f5473..cce2406 100644
index b956ac9..2b1bca7 100644
--- a/lib/Driver/ToolChains.h
+++ b/lib/Driver/ToolChains.h
@@ -670,6 +670,18 @@ private:
@@ -675,6 +675,18 @@ private:
void findGccLibDir();
};
@@ -188,14 +188,14 @@ index 6066d2b..d8f0881 100644
2.2.2
From 6098ac112772786f873ef6961c8337318ffe7161 Mon Sep 17 00:00:00 2001
From 27e0b4297cf3496970f9d4c6e6247f486234f49c 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 d75aa3e..6ff5ada 100644
index 040deda..06f44b9 100644
--- a/lib/Basic/Targets.cpp
+++ b/lib/Basic/Targets.cpp
@@ -373,6 +373,30 @@ public:
@@ -229,7 +229,7 @@ index d75aa3e..6ff5ada 100644
// Minix Target
template<typename Target>
class MinixTargetInfo : public OSTargetInfo<Target> {
@@ -3874,25 +3898,6 @@ public:
@@ -3953,25 +3977,6 @@ public:
}
};
@@ -255,7 +255,7 @@ index d75aa3e..6ff5ada 100644
// X86-32 MCU target
class MCUX86_32TargetInfo : public X86_32TargetInfo {
public:
@@ -7847,7 +7852,7 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple) {
@@ -7950,7 +7955,7 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple) {
}
}
case llvm::Triple::Haiku:
@@ -264,7 +264,7 @@ index d75aa3e..6ff5ada 100644
case llvm::Triple::RTEMS:
return new RTEMSX86_32TargetInfo(Triple);
case llvm::Triple::NaCl:
@@ -7898,6 +7903,8 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple) {
@@ -8001,6 +8006,8 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple) {
return new MicrosoftX86_64TargetInfo(Triple);
}
}

View File

@@ -1,27 +1,4 @@
From d9f04cdab6049f71a19297d9bc7809de1280e719 Mon Sep 17 00:00:00 2001
From: Alexander von Gluck IV <kallisti5@unixzen.com>
Date: Wed, 22 Jan 2014 05:04:31 +0000
Subject: haiku: fix Host.h for endian.h
diff --git a/include/llvm/Support/Host.h b/include/llvm/Support/Host.h
index 8f4bf3c..8114f9b 100644
--- a/include/llvm/Support/Host.h
+++ b/include/llvm/Support/Host.h
@@ -16,7 +16,7 @@
#include "llvm/ADT/StringMap.h"
-#if defined(__linux__) || defined(__GNU__)
+#if defined(__linux__) || defined(__GNU__) || defined(__HAIKU__)
#include <endian.h>
#else
#if !defined(BYTE_ORDER) && !defined(LLVM_ON_WIN32)
--
2.2.2
From bacf1280de8603511ade3075d011125c1c436486 Mon Sep 17 00:00:00 2001
From d8813c1b36c55dec62521370c6b0ee9067d44a96 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
@@ -29,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 b9c2293..c652035 100644
index e5b1210..e3a619e 100644
--- a/tools/llvm-config/llvm-config.cpp
+++ b/tools/llvm-config/llvm-config.cpp
@@ -333,7 +333,11 @@ int main(int argc, char **argv) {
@@ -345,7 +345,11 @@ int main(int argc, char **argv) {
("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include");
} else {
ActivePrefix = CurrentExecPrefix;
@@ -44,7 +21,7 @@ index b9c2293..c652035 100644
ActiveBinDir = ActivePrefix + "/bin";
ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX;
ActiveIncludeOption = "-I" + ActiveIncludeDir;
@@ -532,10 +536,16 @@ int main(int argc, char **argv) {
@@ -561,10 +565,16 @@ int main(int argc, char **argv) {
OS << LLVM_HAS_RTTI << '\n';
} else if (Arg == "--shared-mode") {
PrintSharedMode = true;
@@ -69,39 +46,12 @@ index b9c2293..c652035 100644
2.2.2
From dfcbff3516ed229607bf8428fd21f05308ec8f9c Mon Sep 17 00:00:00 2001
From 174d1ca28fa3d47dde73057dfa3b7effd3fa5746 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.
diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake
index f699211..c5be442 100755
--- a/cmake/config-ix.cmake
+++ b/cmake/config-ix.cmake
@@ -13,7 +13,7 @@ include(TestBigEndian)
include(HandleLLVMStdlib)
-if( UNIX AND NOT BEOS )
+if( UNIX AND NOT (BEOS OR HAIKU) )
# Used by check_symbol_exists:
set(CMAKE_REQUIRED_LIBRARIES m)
endif()
diff --git a/cmake/config.guess b/cmake/config.guess
index b209a1a..8bf4226 100644
--- a/cmake/config.guess
+++ b/cmake/config.guess
@@ -1203,6 +1203,9 @@ EOF
BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
echo i586-pc-haiku
exit ;;
+ x86_64:Haiku:*:*) # Haiku running on x86_64.
+ echo x86_64-unknown-haiku
+ exit ;;
SX-4:SUPER-UX:*:*)
echo sx4-nec-superux${UNAME_RELEASE}
exit ;;
diff --git a/cmake/modules/CheckAtomic.cmake b/cmake/modules/CheckAtomic.cmake
index 551de6a..d43fd7b 100644
--- a/cmake/modules/CheckAtomic.cmake
@@ -115,21 +65,6 @@ index 551de6a..d43fd7b 100644
endif()
endif()
endif()
diff --git a/lib/Support/CMakeLists.txt b/lib/Support/CMakeLists.txt
index 75b3e89..db5c555 100644
--- a/lib/Support/CMakeLists.txt
+++ b/lib/Support/CMakeLists.txt
@@ -24,7 +24,9 @@ if( NOT MSVC )
if ( LLVM_ENABLE_ZLIB AND HAVE_LIBZ )
set(system_libs ${system_libs} z)
endif()
- set(system_libs ${system_libs} m)
+ if( UNIX AND NOT (BEOS OR HAIKU) )
+ set(system_libs ${system_libs} m)
+ endif()
endif( MINGW )
endif( NOT MSVC )
--
2.2.2