<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/1755ab0306f81e6e4abd5b24adbb3abded3c2d70">https://github.com/macports/macports-ports/commit/1755ab0306f81e6e4abd5b24adbb3abded3c2d70</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 1755ab0306f81e6e4abd5b24adbb3abded3c2d70
</span>Author: Chris Jones <jonesc@macports.org>
AuthorDate: Tue Apr 27 23:31:38 2021 +0100
<span style='display:block; white-space:pre;color:#404040;'> golang PG: Always use compiler wrapper scripts, to enforce flags and better logging
</span>---
_resources/port1.0/group/golang-1.0.tcl | 66 ++++++++++++++++-----------------
1 file changed, 32 insertions(+), 34 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/_resources/port1.0/group/golang-1.0.tcl b/_resources/port1.0/group/golang-1.0.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index f2e913c27ef..d16a78ca06e 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/_resources/port1.0/group/golang-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/_resources/port1.0/group/golang-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -168,42 +168,40 @@ proc go.append_env {} {
</span> global os.major build.env workpath
# Create a wrapper scripts around compiler commands to enforce use of MacPorts flags
# and to aid use of MacPorts legacysupport library as required.
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if { ${os.major} <= [option legacysupport.newest_darwin_requires_legacy] } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- post-extract {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Note, go annoyingly uses CC for both building and linking, and thus in order to get it to correctly
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # link to the legacy support library, the ldflags need to be added to the cc and ccx wrappers.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # To then prevent 'clang linker input unused' errors we must append -Wno-error at the end.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Also remove '-static' from compilation options as this is not supported on older systems.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- proc create_wrap { wrap comp flags } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set f [ open ${wrap} w 0755 ]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts ${f} "#!/bin/bash"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts ${f} "CMD=\"${comp} ${flags}\""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts ${f} "echo \${CMD}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts ${f} "exec \${CMD}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- close ${f}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set flags "${configure.cppflags} ${configure.ldflags} \$\{\@\//-static/\} -Wno-error"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set wrapdir ${workpath}/gowrap
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- xinstall -m 755 -d ${wrapdir}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- create_wrap ${wrapdir}/cc ${configure.cc} "${configure.cflags} [get_canonical_archflags cc] ${flags}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- create_wrap ${wrapdir}/c++ ${configure.cxx} "${configure.cxxflags} [get_canonical_archflags cxx] ${flags}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- create_wrap ${wrapdir}/objc ${configure.objc} "${configure.objcflags} [get_canonical_archflags objc] ${flags}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- create_wrap ${wrapdir}/objc++ ${configure.objcxx} "${configure.objcxxflags} [get_canonical_archflags objcxx] ${flags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Note, go annoyingly uses CC for both building and linking, and thus in order to get it to correctly
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # link to the legacy support library, the ldflags need to be added to the cc and ccx wrappers.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # To then prevent 'clang linker input unused' errors we must append -Wno-error at the end.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Also remove '-static' from compilation options as this is not supported on older systems.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ proc create_wrap { wrap comp flags } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set f [ open ${wrap} w 0755 ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ puts ${f} "#!/bin/bash"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ puts ${f} "CMD=\"${comp} ${flags}\""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ puts ${f} "echo \${CMD}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ puts ${f} "exec \${CMD}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ close ${f}
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- build.env-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "CC=${workpath}/gowrap/cc" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "CXX=${workpath}/gowrap/c++" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "OBJC=${workpath}/gowrap/objc" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "OBJCXX=${workpath}/gowrap/objc++" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "GO_EXTLINK_ENABLED=1" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "BOOT_GO_LDFLAGS=-extldflags='${configure.ldflags}'" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "CGO_CFLAGS=${configure.cflags} [get_canonical_archflags cc]" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "CGO_CXXFLAGS=${configure.cxxflags} [get_canonical_archflags cxx]" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "CGO_LDFLAGS=${configure.cflags} ${configure.ldflags} [get_canonical_archflags ld]" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- "GO_LDFLAGS=-extldflags='${configure.ldflags} [get_canonical_archflags ld]'"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.env-append ${build.env}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- test.env-append ${build.env}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set flags "${configure.cppflags} ${configure.ldflags} \$\{\@\//-static/\} -Wno-error"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set wrapdir ${workpath}/gowrap
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -m 755 -d ${wrapdir}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ create_wrap ${wrapdir}/cc ${configure.cc} "${configure.cflags} [get_canonical_archflags cc] ${flags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ create_wrap ${wrapdir}/c++ ${configure.cxx} "${configure.cxxflags} [get_canonical_archflags cxx] ${flags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ create_wrap ${wrapdir}/objc ${configure.objc} "${configure.objcflags} [get_canonical_archflags objc] ${flags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ create_wrap ${wrapdir}/objc++ ${configure.objcxx} "${configure.objcxxflags} [get_canonical_archflags objcxx] ${flags}"
</span> }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ build.env-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "CC=${workpath}/gowrap/cc" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "CXX=${workpath}/gowrap/c++" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "OBJC=${workpath}/gowrap/objc" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "OBJCXX=${workpath}/gowrap/objc++" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "GO_EXTLINK_ENABLED=1" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "BOOT_GO_LDFLAGS=-extldflags='${configure.ldflags}'" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "CGO_CFLAGS=${configure.cflags} [get_canonical_archflags cc]" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "CGO_CXXFLAGS=${configure.cxxflags} [get_canonical_archflags cxx]" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "CGO_LDFLAGS=${configure.cflags} ${configure.ldflags} [get_canonical_archflags ld]" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "GO_LDFLAGS=-extldflags='${configure.ldflags} [get_canonical_archflags ld]'"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.env-append ${build.env}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ test.env-append ${build.env}
</span> }
port::register_callback go.append_env
</pre><pre style='margin:0'>
</pre>