A question about a potential error in portconfigure::should_add_stdlib{} in the master branch

Joshua Root jmr at macports.org
Wed May 29 20:57:50 UTC 2024


On 30/5/2024 06:46, René J.V. Bertin wrote:
> Hi,
> 
> I'm rebasing my LinuxPorts adaptation of "base" to a few days old checkout of the master branch, and saw something in the portconfigure::should_add_stdlib{} procedure:
> 
> ```
>      # GCC also supports -stdlib starting with GCC 10 (and devel), but
>      # not with PPC builds
>      global configure.build_arch
>      if {[string match *g*-mp-* ${configure.cxx}]
>              && ${configure.build_arch} ni {ppc ppc64}} {
>          # Do not pass stdlib to gcc if it is MacPorts custom macports-libstdc++ setting
>          # as gcc does not uderstand this. Instead do nothing, which means gcc will
>          # default to using its own libstdc++, which is in fact what we mean by
>          # configure.cxx_stdlib=macports-libstdc++
> ```
> 
> Besides the typo in the comment ;) I fear that `[string match *g*-mp-* ${configure.cxx}]` will also match `${prefix}/bin/clang++-mp-XY`.
> I understand the reason for the leading wildcard, but isn't the expression you want `[string match */g*-mp-* ${configure.cxx}]` ?

The proc returns before getting to this code if configure.cxx is clang++.

- Josh


More information about the macports-dev mailing list