mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-23 12:10:06 +02:00
llvm: disable rpath, forgot __INTEL__ on x86.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user