<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/d54197259360cc7b16dfd620d32dfeb55a2dbba3">https://github.com/macports/macports-ports/commit/d54197259360cc7b16dfd620d32dfeb55a2dbba3</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit d54197259360cc7b16dfd620d32dfeb55a2dbba3
</span>Author: Chris Jones <jonesc@macports.org>
AuthorDate: Thu May 6 09:58:24 2021 +0100
<span style='display:block; white-space:pre;color:#404040;'> compilerwrapper PG: Clean up
</span>---
_resources/port1.0/group/compilerwrapper-1.0.tcl | 33 ++++++++++++++++--------
1 file changed, 22 insertions(+), 11 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/_resources/port1.0/group/compilerwrapper-1.0.tcl b/_resources/port1.0/group/compilerwrapper-1.0.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 48edab3d19f..824f7eee851 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/_resources/port1.0/group/compilerwrapper-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/_resources/port1.0/group/compilerwrapper-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -48,6 +48,7 @@ proc compwrap::get_ccache_dir {} {
</span> }
proc compwrap::trim {c} {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Remove any enclosing "{....}" braces if present
</span> if { [string range [option $c] 0 0] eq "\{" } {
return [string range [option $c] 1 end-1 ]
} else {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -55,46 +56,56 @@ proc compwrap::trim {c} {
</span> }
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+proc compwrap::comp_flags {tag} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ switch ${tag} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cc { set ftag "c" }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ default { set ftag ${tag} }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return "[option configure.${ftag}flags] [get_canonical_archflags ${tag}]"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> proc compwrap::create_wrapper {tag} {
global prefix
# Get the underlying compiler
set comp [option configure.${tag}]
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # If not defined, or tag not in list of known compilers to wrap, just return
if {${comp} eq "" || [lsearch -exact [option compwrap.compilers_to_wrap] ${tag}] < 0} {
return ${comp}
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Create the directory for the wrapper. Format is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # <port workpath>/<compiler tag>/<path to underlying compiler>
</span> set wrapdir [option workpath]/compwrap/${tag}[file dirname ${comp}]
if {![file exists ${wrapdir}]} {
xinstall -d ${wrapdir}
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- switch ${tag} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cc { set ftag "c" }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- default { set ftag ${tag} }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Wrapper name, based on original
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Wrapper name, same as underlying compiler.
</span> set fname ${wrapdir}/[file tail ${comp}]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # Force recreate in case underlying compiler has changed
file delete -force ${fname}
# Basic option, to pass on all command line arguments
set comp_opts "[trim compwrap.compiler_pre_flags] [trim compwrap.compiler_args_forward] [trim compwrap.compiler_post_flags]"
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # Add MacPorts compiler flags ?
if { [option compwrap.add_compiler_flags] } {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set comp_opts "[option configure.${ftag}flags] [get_canonical_archflags ${tag}] ${comp_opts}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set comp_opts "[compwrap::comp_flags ${tag}] ${comp_opts}"
</span> }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # Add legacy support env vars
if { [option compwrap.add_legacysupport_flags] } {
set comp_opts "\$\{MACPORTS_LEGACY_SUPPORT_CPPFLAGS\} ${comp_opts}"
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # Append ccache if active
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Prepend ccache launcher if active
</span> if { [compwrap::use_ccache ${tag}] } {
set comp "${prefix}/bin/ccache ${comp}"
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Finally create the wrapper script
</span> ui_debug "Creating compiler wrapper ${fname}"
set f [open ${fname} w 0755]
puts ${f} "#!/bin/bash"
</pre><pre style='margin:0'>
</pre>