0
0
Fork 0
haikuports/sys-devel/llvm/patches/llvm-12.0.0.patchset

180 lines
6.2 KiB
Plaintext

From e40bf3e0bb6fdb433e40c29b271874672deaec9b 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
* 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 1a2f045..ee0cd89 100644
--- a/tools/llvm-config/llvm-config.cpp
+++ b/tools/llvm-config/llvm-config.cpp
@@ -357,11 +357,16 @@ int main(int argc, char **argv) {
("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include");
} else {
ActivePrefix = CurrentExecPrefix;
+#ifdef __HAIKU__
+ ActiveIncludeDir = ActivePrefix + "/develop/headers";
+ ActiveLibDir = ActivePrefix + "/develop/lib" + LLVM_LIBDIR_SUFFIX;
+#else
ActiveIncludeDir = ActivePrefix + "/include";
+ ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX;
+#endif
SmallString<256> path(StringRef(LLVM_TOOLS_INSTALL_DIR));
sys::fs::make_absolute(ActivePrefix, path);
ActiveBinDir = std::string(path.str());
- ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX;
ActiveCMakeDir = ActiveLibDir + "/cmake/llvm";
ActiveIncludeOption = "-I" + ActiveIncludeDir;
}
@@ -581,10 +586,16 @@ int main(int argc, char **argv) {
OS << (LLVM_HAS_RTTI ? "YES" : "NO") << '\n';
} else if (Arg == "--shared-mode") {
PrintSharedMode = true;
- } else if (Arg == "--obj-root") {
- OS << ActivePrefix << '\n';
- } else if (Arg == "--src-root") {
- OS << LLVM_SRC_ROOT << '\n';
+ } else if (Arg == "--obj-root" || Arg == "--src-root") {
+ if (IsInDevelopmentTree) {
+ if (Arg == "--obj-root")
+ OS << ActivePrefix << '\n';
+ else
+ OS << LLVM_SRC_ROOT << '\n';
+ } else {
+ llvm::errs() << "llvm-config: sources not installed\n";
+ exit(1);
+ }
} else if (Arg == "--ignore-libllvm") {
LinkDyLib = false;
LinkMode = BuiltSharedLibs ? LinkModeShared : LinkModeAuto;
--
2.30.0
From 5a8e421ca5809e39b4380b8f8818eb93c9355be3 Mon Sep 17 00:00:00 2001
From: Calvin Hill <calvin@hakobaito.co.uk>
Date: Sun, 9 Sep 2018 16:11:42 +0100
Subject: import header dir suffix patch from 3dEyes.
diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
index ee0cd89..87a23c4 100644
--- a/tools/llvm-config/llvm-config.cpp
+++ b/tools/llvm-config/llvm-config.cpp
@@ -358,7 +358,7 @@ int main(int argc, char **argv) {
} else {
ActivePrefix = CurrentExecPrefix;
#ifdef __HAIKU__
- ActiveIncludeDir = ActivePrefix + "/develop/headers";
+ ActiveIncludeDir = ActivePrefix + "/develop/headers" + LLVM_LIBDIR_SUFFIX;
ActiveLibDir = ActivePrefix + "/develop/lib" + LLVM_LIBDIR_SUFFIX;
#else
ActiveIncludeDir = ActivePrefix + "/include";
--
2.30.0
From f8619ab6eda979fc9c1b64a56ada345da378cd10 Mon Sep 17 00:00:00 2001
From: Calvin Hill <calvin@hakobaito.co.uk>
Date: Sun, 9 Sep 2018 16:17:33 +0100
Subject: llvm: allow llvm gtests to build on Haiku.
diff --git a/utils/unittest/googletest/include/gtest/internal/gtest-port.h b/utils/unittest/googletest/include/gtest/internal/gtest-port.h
index 17410d3..3e039a8 100644
--- a/utils/unittest/googletest/include/gtest/internal/gtest-port.h
+++ b/utils/unittest/googletest/include/gtest/internal/gtest-port.h
@@ -793,7 +793,8 @@ using ::std::tuple_size;
(GTEST_OS_MAC && !GTEST_OS_IOS) || \
(GTEST_OS_WINDOWS_DESKTOP && _MSC_VER >= 1400) || \
GTEST_OS_WINDOWS_MINGW || GTEST_OS_AIX || GTEST_OS_HPUX || \
- GTEST_OS_OPENBSD || GTEST_OS_QNX || GTEST_OS_FREEBSD || GTEST_OS_NETBSD)
+ GTEST_OS_OPENBSD || GTEST_OS_QNX || GTEST_OS_FREEBSD || GTEST_OS_NETBSD \
+ || GTEST_OS_HAIKU)
# define GTEST_HAS_DEATH_TEST 1
#endif
--
2.30.0
From 7a2887c163ff96c6ad74cbc1d3032fad1272b82f Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Sat, 3 Apr 2021 23:20:23 +0200
Subject: Haiku: link against libbsd for wait4()
rusage doesn't have a ru_maxrss field
diff --git a/lib/Support/CMakeLists.txt b/lib/Support/CMakeLists.txt
index cdee114..832ab28 100644
--- a/lib/Support/CMakeLists.txt
+++ b/lib/Support/CMakeLists.txt
@@ -36,6 +36,10 @@ elseif( CMAKE_HOST_UNIX )
if( FUCHSIA )
set(system_libs ${system_libs} zircon)
endif()
+ if( HAIKU )
+ add_definitions(-D_DEFAULT_SOURCE)
+ set(system_libs ${system_libs} bsd)
+ endif()
endif( MSVC OR MINGW )
# Delay load shell32.dll if possible to speed up process startup.
diff --git a/lib/Support/Unix/Program.inc b/lib/Support/Unix/Program.inc
index fb56fa4..f6f0f52 100644
--- a/lib/Support/Unix/Program.inc
+++ b/lib/Support/Unix/Program.inc
@@ -452,7 +452,11 @@ ProcessInfo llvm::sys::Wait(const ProcessInfo &PI, unsigned SecondsToWait,
if (ProcStat) {
std::chrono::microseconds UserT = toDuration(Info.ru_utime);
std::chrono::microseconds KernelT = toDuration(Info.ru_stime);
+#ifndef __HAIKU__
uint64_t PeakMemory = static_cast<uint64_t>(Info.ru_maxrss);
+#else
+ uint64_t PeakMemory = 0;
+#endif
*ProcStat = ProcessStatistics{UserT + KernelT, UserT, PeakMemory};
}
--
2.30.0
From d75496fd4839cc6ca15086b23782ca1c9f2b232e Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Sat, 3 Apr 2021 23:21:42 +0200
Subject: Haiku: link against libnetwork.so
for socket, setsockopt, ...
diff --git a/tools/llvm-jitlink/CMakeLists.txt b/tools/llvm-jitlink/CMakeLists.txt
index 8d511b1..6292ec5 100644
--- a/tools/llvm-jitlink/CMakeLists.txt
+++ b/tools/llvm-jitlink/CMakeLists.txt
@@ -24,4 +24,8 @@ add_llvm_tool(llvm-jitlink
llvm-jitlink-macho.cpp
)
+if( HAIKU )
+ target_link_libraries(llvm-jitlink PRIVATE network)
+endif()
+
export_executable_symbols(llvm-jitlink)
diff --git a/tools/llvm-jitlink/llvm-jitlink-executor/CMakeLists.txt b/tools/llvm-jitlink/llvm-jitlink-executor/CMakeLists.txt
index f6d882d..e2a3343 100644
--- a/tools/llvm-jitlink/llvm-jitlink-executor/CMakeLists.txt
+++ b/tools/llvm-jitlink/llvm-jitlink-executor/CMakeLists.txt
@@ -11,4 +11,8 @@ add_llvm_utility(llvm-jitlink-executor
intrinsics_gen
)
+if( HAIKU )
+ target_link_libraries(llvm-jitlink-executor PRIVATE network)
+endif()
+
export_executable_symbols(llvm-jitlink-executor)
--
2.30.0