summaryrefslogtreecommitdiff
path: root/data/_llvm10/sdkpath.diff
diff options
context:
space:
mode:
Diffstat (limited to 'data/_llvm10/sdkpath.diff')
-rw-r--r--data/_llvm10/sdkpath.diff109
1 files changed, 109 insertions, 0 deletions
diff --git a/data/_llvm10/sdkpath.diff b/data/_llvm10/sdkpath.diff
new file mode 100644
index 000000000..083e59079
--- /dev/null
+++ b/data/_llvm10/sdkpath.diff
@@ -0,0 +1,109 @@
+diff -ur llvm-project-apple-stable-20191106/clang/lib/Driver/ToolChains/Darwin.cpp llvm-project-apple-stable-20191106+iOS/clang/lib/Driver/ToolChains/Darwin.cpp
+--- llvm-project-apple-stable-20191106/clang/lib/Driver/ToolChains/Darwin.cpp 2019-12-03 19:28:47.000000000 -1000
++++ llvm-project-apple-stable-20191106+iOS/clang/lib/Driver/ToolChains/Darwin.cpp 2019-12-05 11:22:40.000000000 -1000
+@@ -1655,10 +1655,8 @@
+ << Triple.getOSName();
+ break;
+ case llvm::Triple::IOS:
+- Triple.getiOSVersion(Major, Minor, Micro);
+- break;
+ case llvm::Triple::TvOS:
+- Triple.getOSVersion(Major, Minor, Micro);
++ Triple.getiOSVersion(Major, Minor, Micro);
+ break;
+ case llvm::Triple::WatchOS:
+ Triple.getWatchOSVersion(Major, Minor, Micro);
+@@ -1682,9 +1680,12 @@
+
+ StringRef MachOArchName = Toolchain.getMachOArchName(Args);
+ if (MachOArchName == "armv7" || MachOArchName == "armv7s" ||
+- MachOArchName == "arm64" || MachOArchName == "arm64e")
+- OSTy = llvm::Triple::IOS;
+- else if (MachOArchName == "armv7k")
++ MachOArchName == "arm64" || MachOArchName == "arm64e") {
++ if (Triple.getOS() == llvm::Triple::TvOS)
++ OSTy = llvm::Triple::TvOS;
++ else
++ OSTy = llvm::Triple::IOS;
++ } else if (MachOArchName == "armv7k")
+ OSTy = llvm::Triple::WatchOS;
+ else if (MachOArchName != "armv6m" && MachOArchName != "armv7m" &&
+ MachOArchName != "armv7em")
+@@ -1879,6 +1880,27 @@
+ Environment = Simulator;
+
+ setTarget(Platform, Environment, Major, Minor, Micro);
++ if (!Args.getLastArg(options::OPT_isysroot)) {
++ llvm::Triple DefaultTriple(LLVM_DEFAULT_TARGET_TRIPLE);
++ switch (Platform) {
++ case DarwinPlatformKind::MacOS:
++ if (DefaultTriple.getOS() != llvm::Triple::MacOSX)
++ Args.append(Args.MakeSeparateArg(nullptr, Opts.getOption(options::OPT_isysroot), "/usr/share/SDKs/MacOSX.sdk"));
++ break;
++ case DarwinPlatformKind::IPhoneOS:
++ if (DefaultTriple.getOS() != llvm::Triple::IOS)
++ Args.append(Args.MakeSeparateArg(nullptr, Opts.getOption(options::OPT_isysroot), "/usr/share/SDKs/iPhoneOS.sdk"));
++ break;
++ case DarwinPlatformKind::TvOS:
++ if (DefaultTriple.getOS() != llvm::Triple::TvOS)
++ Args.append(Args.MakeSeparateArg(nullptr, Opts.getOption(options::OPT_isysroot), "/usr/share/SDKs/AppleTVOS.sdk"));
++ break;
++ case DarwinPlatformKind::WatchOS:
++ if (DefaultTriple.getOS() != llvm::Triple::WatchOS)
++ Args.append(Args.MakeSeparateArg(nullptr, Opts.getOption(options::OPT_isysroot), "/usr/share/SDKs/WatchOS.sdk"));
++ break;
++ }
++ }
+
+ if (const Arg *A = Args.getLastArg(options::OPT_isysroot)) {
+ StringRef SDK = getSDKName(A->getValue());
+@@ -1944,6 +1966,21 @@
+ SmallString<128> P(Sysroot);
+ llvm::sys::path::append(P, "usr", "include");
+ addExternCSystemInclude(DriverArgs, CC1Args, P.str());
++ if (Sysroot == "/") {
++ switch (getTriple().getOS()) {
++ case llvm::Triple::IOS:
++ addExternCSystemInclude(DriverArgs, CC1Args, "/usr/share/SDKs/iPhoneOS.sdk/usr/include");
++ break;
++ case llvm::Triple::TvOS:
++ addExternCSystemInclude(DriverArgs, CC1Args, "/usr/share/SDKs/AppleTVOS.sdk/usr/include");
++ break;
++ case llvm::Triple::WatchOS:
++ addExternCSystemInclude(DriverArgs, CC1Args, "/usr/share/SDKs/WatchOS.sdk/usr/include");
++ break;
++ default:
++ break;
++ }
++ }
+ }
+ }
+
+diff -ur llvm-project-apple-stable-20191106/clang/lib/Frontend/InitHeaderSearch.cpp llvm-project-apple-stable-20191106+iOS/clang/lib/Frontend/InitHeaderSearch.cpp
+--- llvm-project-apple-stable-20191106/clang/lib/Frontend/InitHeaderSearch.cpp 2019-12-03 19:28:47.000000000 -1000
++++ llvm-project-apple-stable-20191106+iOS/clang/lib/Frontend/InitHeaderSearch.cpp 2019-12-05 11:10:22.000000000 -1000
+@@ -445,6 +445,24 @@
+ if (triple.isOSDarwin()) {
+ if (HSOpts.UseStandardSystemIncludes) {
+ // Add the default framework include paths on Darwin.
++ if (!HasSysroot) {
++ switch (triple.getOS()) {
++ case llvm::Triple::IOS:
++ AddPath("/usr/share/SDKs/iPhoneOS.sdk/System/Library/Frameworks", System, true);
++ AddPath("/usr/share/SDKs/iPhoneOS.sdk/Library/Frameworks", System, true);
++ break;
++ case llvm::Triple::TvOS:
++ AddPath("/usr/share/SDKs/AppleTVOS.sdk/System/Library/Frameworks", System, true);
++ AddPath("/usr/share/SDKs/AppleTVOS.sdk/Library/Frameworks", System, true);
++ break;
++ case llvm::Triple::WatchOS:
++ AddPath("/usr/share/SDKs/WatchOS.sdk/System/Library/Frameworks", System, true);
++ AddPath("/usr/share/SDKs/WatchOS.sdk/Library/Frameworks", System, true);
++ break;
++ default:
++ break;
++ }
++ }
+ AddPath("/System/Library/Frameworks", System, true);
+ AddPath("/Library/Frameworks", System, true);
+ }