Linking libMacportsLegacySupport privately?

Chris Jones jonesc at hep.phy.cam.ac.uk
Thu Mar 27 12:53:49 UTC 2025



On 27/03/2025 12:35 pm, René J.V. Bertin wrote:
> Hi,
> 
> I've been experimenting with libc++ 17 which is a prerequisite to using GCC13+ with libc++ instead of libstdc++ .
> 
> I kept the static legacy-support library linking (may have had to, can't remember that) and just now realise that all the functions from that archive (or at least the from the modules that get pulled in) are exported by libc++ . 

which libc++ in particular are you talking about here ? For sure the 
system libc++ will never export anything from legacysupport. The libc++ 
versions as provided by the MacPorts clang ports might well include some 
symbols from legacysupport, as its use is required to build these 
compilers on old systems. I don't thunk hiding these symbols in these 
versions is at all a good idea.

Which means that C++-based function availability checking via autoconf, 
cmake etc. give false positives on systems where those functions require 
legacy-support.

If you are intentionally using the libc++ libraries from the clang 
ports, its not really a false positive.

> 
> Is there a way to link the legacy-support archive privately that doesn't involve a significant overhaul of the build system?
> 
> I think this question is of (potential) interest beyond my libc++ experiment.
> 
> Thanks,
> R.



More information about the macports-dev mailing list