1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
From cb9b87097803b4444ec9aa52b5054ba88e4da01e Mon Sep 17 00:00:00 2001
From: Dominik Schnitzer <dominik@snap.com>
Date: Wed, 27 Apr 2022 11:22:17 +0000
Subject: [PATCH] Fixes for Darwin SDKs
Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Dominik Schnitzer <dominik@snap.com>
---
clang/lib/Driver/ToolChains/Darwin.cpp | 17 ++++++++++++-----
llvm/cmake/modules/AddLLVM.cmake | 1 -
llvm/cmake/modules/CrossCompile.cmake | 2 +-
3 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/clang/lib/Driver/ToolChains/Darwin.cpp b/clang/lib/Driver/ToolChains/Darwin.cpp
index f7da3f187814..0656f5cbad69 100644
--- a/clang/lib/Driver/ToolChains/Darwin.cpp
+++ b/clang/lib/Driver/ToolChains/Darwin.cpp
@@ -2299,12 +2299,19 @@ void DarwinClang::AddClangCXXStdlibIncludeArgs(
case llvm::Triple::x86:
case llvm::Triple::x86_64:
IsBaseFound = AddGnuCPlusPlusIncludePaths(DriverArgs, CC1Args, UsrIncludeCxx,
- "4.2.1",
- "i686-apple-darwin10",
- arch == llvm::Triple::x86_64 ? "x86_64" : "");
+ "11.4.0",
+ "x86_64#SDK_VENDOR#-darwin21",
+ "");
IsBaseFound |= AddGnuCPlusPlusIncludePaths(DriverArgs, CC1Args, UsrIncludeCxx,
- "4.0.0", "i686-apple-darwin8",
- "");
+ "11.4.0", "", "");
+ {
+ const char *S = ::getenv("YOCTO_SDKPATH");
+ if (S && (S[0] != '\0')) {
+ llvm::SmallString<128> Runtime;
+ llvm::sys::path::append(Runtime, S);
+ addSystemInclude(DriverArgs, CC1Args, Runtime);
+ }
+ }
break;
case llvm::Triple::arm:
diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake
index d34083fa52ec..477dc1ade3fc 100644
--- a/llvm/cmake/modules/AddLLVM.cmake
+++ b/llvm/cmake/modules/AddLLVM.cmake
@@ -2137,7 +2137,6 @@ function(llvm_setup_rpath name)
endif()
if (APPLE)
- set(_install_name_dir INSTALL_NAME_DIR "@rpath")
set(_install_rpath "@loader_path/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
elseif(${CMAKE_SYSTEM_NAME} MATCHES "AIX" AND BUILD_SHARED_LIBS)
# $ORIGIN is not interpreted at link time by aix ld.
diff --git a/llvm/cmake/modules/CrossCompile.cmake b/llvm/cmake/modules/CrossCompile.cmake
index 8a441729c943..8e19e4c93d9f 100644
--- a/llvm/cmake/modules/CrossCompile.cmake
+++ b/llvm/cmake/modules/CrossCompile.cmake
@@ -68,7 +68,7 @@ function(llvm_create_cross_target project_name target_name toolchain buildtype)
endforeach()
add_custom_command(OUTPUT ${${project_name}_${target_name}_BUILD}/CMakeCache.txt
- COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}"
+ COMMAND ${CMAKE_COMMAND} -E env --unset=LDFLAGS --unset=CFLAGS --unset=CXXFLAGS --unset=CC --unset=LD --unset=CXX ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}"
-DCMAKE_MAKE_PROGRAM="${CMAKE_MAKE_PROGRAM}"
-DCMAKE_C_COMPILER_LAUNCHER="${CMAKE_C_COMPILER_LAUNCHER}"
-DCMAKE_CXX_COMPILER_LAUNCHER="${CMAKE_CXX_COMPILER_LAUNCHER}"
|