<pre style='margin:0'>
Chris Jones (cjones051073) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/c9841dd1e8a4722dc6c2ebc0bf8722e4804d2d76">https://github.com/macports/macports-ports/commit/c9841dd1e8a4722dc6c2ebc0bf8722e4804d2d76</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new c9841dd1e8a LLVM 16: Add compiler wrapper work around for older systems
</span>c9841dd1e8a is described below
<span style='display:block; white-space:pre;color:#808000;'>commit c9841dd1e8a4722dc6c2ebc0bf8722e4804d2d76
</span>Author: Chris Jones <jonesc@macports.org>
AuthorDate: Tue Mar 21 17:03:07 2023 +0000
<span style='display:block; white-space:pre;color:#404040;'> LLVM 16: Add compiler wrapper work around for older systems
</span>---
lang/llvm-16/Portfile | 40 ++++++++--------------
...ss-clang-default-to-libc-on-all-darwin-sy.patch | 12 -------
2 files changed, 14 insertions(+), 38 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-16/Portfile b/lang/llvm-16/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 9dfe9816b2a..0c71efbdfe8 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-16/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-16/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8,14 +8,25 @@ PortGroup cmake 1.1
</span> PortGroup legacysupport 1.1
# Do not propagate c/c++ standards as set by base
<span style='display:block; white-space:pre;background:#ffe0e0;'>-cmake.set_c_standard no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-cmake.set_cxx_standard no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cmake.set_c_standard no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cmake.set_cxx_standard no
</span>
# link legacysupport statically for compilers
legacysupport.use_static yes
# Sysconf wrapping causes issues so disable
legacysupport.disable_function_wrap yes
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# libc++ link step fails on OSX10.10 and older to correctly use static legacy support lib.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# So force it to find it via compiler wrapping
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.platform} eq "darwin" && ${os.major} <= [option legacysupport.newest_darwin_requires_legacy] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PortGroup compiler_wrapper 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pre-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cc [compwrap::wrap_compiler cc]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxx [compwrap::wrap_compiler cxx]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> categories lang
platforms darwin
license NCSA
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -296,20 +307,7 @@ if { ${subport} eq "flang-${llvm_version}" } {
</span> }
# Restrict to 10.7 and newer
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# ... Update with LLVM 16. fails on 10.9 and older with
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Undefined symbols for architecture x86_64:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# "_clock_gettime", referenced from:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# std::__1::__fs::filesystem::_FilesystemClock::now() in operations.cpp.o
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# "_fchmodat", referenced from:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# std::__1::__fs::filesystem::__permissions(std::__1::__fs::filesystem::path const&, std::__1::__fs::filesystem::perms, std::__1::__fs::filesystem::perm_options, std::__1::error_code*) in operations.cpp.o
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# "_fdopendir$INODE64", referenced from:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# std::__1::__fs::filesystem::(anonymous namespace)::remove_all_impl(int, std::__1::__fs::filesystem::path const&, std::__1::error_code&) in operations.cpp.o
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# "_openat", referenced from:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# std::__1::__fs::filesystem::(anonymous namespace)::remove_all_impl(int, std::__1::__fs::filesystem::path const&, std::__1::error_code&) in operations.cpp.o
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# "_unlinkat", referenced from:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# std::__1::__fs::filesystem::(anonymous namespace)::remove_all_impl(int, std::__1::__fs::filesystem::path const&, std::__1::error_code&) in operations.cpp.o
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Until so interested party looks into these old OS versions, restrict to 10.10 and newer.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${os.platform} eq "darwin" && ${os.major} < 14} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.platform} eq "darwin" && ${os.major} < 11} {
</span> depends_build
depends_lib
depends_run
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -507,16 +505,6 @@ if {${subport} eq "clang-${llvm_version}"} {
</span> default_variants +analyzer
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if { ${cxx_stdlib} eq "libc++" && ${os.major} < 13 } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- variant defaultlibcxx description {default to -stdlib=libc++ if not otherwise specified} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # on systems older than darwin 13, if macports.conf is configured to stdlib=libc++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # then make that the default if not otherwise specified. This matches the behaviour of newer systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- patchfiles-append 0018-10.6-and-less-clang-default-to-libc-on-all-darwin-sy.patch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- default_variants-append +defaultlibcxx
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> variant libstdcxx description {-stdlib=libstdc++_macports searches for MacPorts libstdc++} {
patchfiles-append 0005-clang-support-macports-libstdcxx.patch
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-16/files/0018-10.6-and-less-clang-default-to-libc-on-all-darwin-sy.patch b/lang/llvm-16/files/0018-10.6-and-less-clang-default-to-libc-on-all-darwin-sy.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index d9343931a26..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-16/files/0018-10.6-and-less-clang-default-to-libc-on-all-darwin-sy.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,12 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/clang/lib/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/clang/lib/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -896,8 +896,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- bool MachO::HasNativeLLVMSupport() const { return true; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ToolChain::CXXStdlibType Darwin::GetDefaultCXXStdlibType() const {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- // Use libstdc++ on old targets (OSX < 10.9 and iOS < 7)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if ((isTargetMacOSBased() && isMacosxVersionLT(10, 9)) ||
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // Use libstdc++ on old targets (OSX < 10.4 and iOS < 7)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if ((isTargetMacOSBased() && isMacosxVersionLT(10, 4)) ||
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (isTargetIOSBased() && isIPhoneOSVersionLT(7, 0)))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return ToolChain::CST_Libstdcxx;
</span></pre><pre style='margin:0'>
</pre>