diff options
author | Sam Bingner <sam@bingner.com> | 2019-12-19 18:03:42 -1000 |
---|---|---|
committer | Sam Bingner <sam@bingner.com> | 2019-12-19 18:03:42 -1000 |
commit | e9c5d02e14b87f22c28605169df783feb8de7898 (patch) | |
tree | 3212a5852105216c3d7bb5bf2535bb24d4c41245 /data/_llvm10/sdkpath.diff | |
parent | be093a95b6fc60b3d5544de115e8b87282969be4 (diff) |
llvm with libtapi supporting v3 in progress
Diffstat (limited to 'data/_llvm10/sdkpath.diff')
-rw-r--r-- | data/_llvm10/sdkpath.diff | 109 |
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); + } |