llvm: disable rpath, forgot __INTEL__ on x86.

This commit is contained in:
Jerome Duval
2016-03-16 06:15:50 +00:00
parent 44b7fdc352
commit bf211c4827
3 changed files with 52 additions and 60 deletions

View File

@@ -31,7 +31,7 @@ other than the ones listed above.
HOMEPAGE="http://www.llvm.org/"
COPYRIGHT="2003-2014 University of Illinois at Urbana-Champaign"
LICENSE="UIUC"
REVISION="1"
REVISION="2"
SOURCE_URI="http://llvm.org/releases/${portVersion}/llvm-${portVersion}.src.tar.xz"
SOURCE_URI_2="http://llvm.org/releases/${portVersion}/cfe-${portVersion}.src.tar.xz"
SOURCE_URI_3="http://llvm.org/releases/${portVersion}/clang-tools-extra-${portVersion}.src.tar.xz"
@@ -44,8 +44,8 @@ SOURCE_DIR_3="clang-tools-extra-${portVersion}.src"
PATCHES="llvm-${portVersion}.patchset"
PATCHES_2="clang-${portVersion}.patchset"
ARCHITECTURES="!x86_gcc2 ?x86 x86_64"
SECONDARY_ARCHITECTURES="?x86"
ARCHITECTURES="!x86_gcc2 x86 x86_64"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
llvm$secondaryArchSuffix = $portVersion
@@ -319,8 +319,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 3d89411dbc475a5135e4470d0dac2ff430f00034 Mon Sep 17 00:00:00 2001
From 65ee8527e8cf8d9b9f1868aa9933027eed73ea15 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
@@ -12,7 +12,7 @@ index 26bab0d..6066d2b 100644
+++ b/lib/Frontend/InitHeaderSearch.cpp
@@ -267,38 +267,41 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple,
}
case llvm::Triple::Haiku:
- AddPath("/boot/common/include", System, false);
- AddPath("/boot/develop/headers/os", System, false);
@@ -84,11 +84,11 @@ index 26bab0d..6066d2b 100644
break;
case llvm::Triple::RTEMS:
break;
--
2.2.2
--
2.7.0
From 51e141320e9e337978a551068ad84aaeb64a718b Mon Sep 17 00:00:00 2001
From 42991b0fe8f1c57eb774b39bb0e9a8f33998a0ee Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Sun, 1 Feb 2015 15:15:45 +0000
Subject: libclang: add soname when building on Haiku.
@@ -100,18 +100,18 @@ index 84914e0..b9a6b74 100644
+++ b/tools/libclang/Makefile
@@ -35,7 +35,7 @@ USEDLIBS = clangIndex.a clangARCMigrate.a \
include $(CLANG_LEVEL)/Makefile
# Add soname to the library.
-ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD GNU GNU/kFreeBSD))
+ifeq ($(HOST_OS), $(filter $(HOST_OS), Linux FreeBSD GNU GNU/kFreeBSD Haiku))
LLVMLibsOptions += -Wl,-soname,lib$(LIBRARYNAME)$(SHLIBEXT)
endif
--
2.2.2
--
2.7.0
From b5749ce304a1490838e31c7e5df5fdd6f41572c3 Mon Sep 17 00:00:00 2001
From c6495beaecdc85d3d87128964bfcbe94de996ea8 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.
@@ -133,13 +133,13 @@ index 1e0a48d..f31b274 100644
TC = new toolchains::CloudABI(*this, Target, Args);
break;
diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp
index beede2e..f6ca5c4 100644
index 99c7b8e..5e95668 100644
--- a/lib/Driver/ToolChains.cpp
+++ b/lib/Driver/ToolChains.cpp
@@ -2971,6 +2971,34 @@ Tool *CloudABI::buildLinker() const {
return new tools::cloudabi::Linker(*this);
}
+/// Haiku - Haiku tool chain which can call as(1) and ld(1) directly.
+
+Haiku::Haiku(const Driver &D, const llvm::Triple& Triple, const ArgList &Args)
@@ -169,16 +169,16 @@ index beede2e..f6ca5c4 100644
+}
+
/// OpenBSD - OpenBSD tool chain which can call as(1) and ld(1) directly.
OpenBSD::OpenBSD(const Driver &D, const llvm::Triple &Triple,
diff --git a/lib/Driver/ToolChains.h b/lib/Driver/ToolChains.h
index b6fd426..906353b 100644
index f940e58..7b7125e 100644
--- a/lib/Driver/ToolChains.h
+++ b/lib/Driver/ToolChains.h
@@ -667,6 +667,18 @@ private:
void findGccLibDir();
};
+class LLVM_LIBRARY_VISIBILITY Haiku : public Generic_ELF {
+public:
+ Haiku(const Driver &D, const llvm::Triple &Triple,
@@ -207,24 +207,24 @@ index 6066d2b..d8f0881 100644
AddPath("/boot/system/develop/headers/3rdparty", System, false);
AddPath("/boot/system/develop/headers/bsd", System, false);
AddPath("/boot/system/develop/headers/glibc", System, false);
--
2.2.2
--
2.7.0
From f3310e0a11fa3a030e79a5c5e509bff1fb297523 Mon Sep 17 00:00:00 2001
From dbc718a980b634d358968b0b0339876c9febd684 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 1bc6c51..8160b8c 100644
index af8aea0..e2c2031 100644
--- a/lib/Basic/Targets.cpp
+++ b/lib/Basic/Targets.cpp
@@ -373,6 +373,30 @@ public:
}
};
+// Haiku Target
+template<typename Target>
+class HaikuTargetInfo : public OSTargetInfo<Target> {
@@ -252,13 +252,13 @@ index 1bc6c51..8160b8c 100644
// Minix Target
template<typename Target>
class MinixTargetInfo : public OSTargetInfo<Target> {
@@ -3874,25 +3898,6 @@ public:
}
@@ -3875,21 +3899,16 @@ 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;
@@ -266,28 +266,20 @@ index 1bc6c51..8160b8c 100644
- 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:
@@ -7846,7 +7851,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:
@@ -7897,6 +7902,8 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple) {
}
};
@@ -7903,6 +7922,8 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple) {
return new MicrosoftX86_64TargetInfo(Triple);
}
}
@@ -296,6 +288,6 @@ index 1bc6c51..8160b8c 100644
case llvm::Triple::NaCl:
return new NaClTargetInfo<X86_64TargetInfo>(Triple);
case llvm::Triple::PS4:
--
2.2.2
--
2.7.0

View File

@@ -1,4 +1,4 @@
From 6b8f3f7b0e6b369968bcf9308cff89eed89065a2 Mon Sep 17 00:00:00 2001
From d6ee5488845a252d380cd25890136de7b54a7ce0 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
@@ -18,10 +18,10 @@ index 8f4bf3c..8114f9b 100644
#else
#if !defined(BYTE_ORDER) && !defined(LLVM_ON_WIN32)
--
2.2.2
2.7.0
From eaacb667d69e2cb0595041283bbfd95952028fde Mon Sep 17 00:00:00 2001
From 8974eea683319522bb0e0dafeb409224c2d00768 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Sun, 18 May 2014 12:41:16 +0200
Subject: libLTO: add soname when building on Haiku.
@@ -43,10 +43,10 @@ index 530c05a..ffa76d2 100644
# Special hack to allow libLTO to have an offset version number.
ifdef LLVM_LTO_VERSION_OFFSET
--
2.2.2
2.7.0
From 7947f9897c36c3980262fb21e4e69e73e9d8dd8f Mon Sep 17 00:00:00 2001
From 89aaec4cfcfd3f0f8bbc15fc81bae45b1c74b00b 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
@@ -91,10 +91,10 @@ index 80f6279..8275aac 100644
usage();
}
--
2.2.2
2.7.0
From 20d0593975bcacf8f9cf20fb299bf3d946e68077 Mon Sep 17 00:00:00 2001
From 4e245f44390a3b549b535892d06777e9e4f1009f Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Sun, 31 Jan 2016 10:23:24 +0000
Subject: patch cmake build for Haiku.
@@ -358,5 +358,5 @@ index 75b3e89..db5c555 100644
endif( NOT MSVC )
--
2.2.2
2.7.0