a plea to change the default std lib clang adds if none is specified on the build line

Kenneth F. Cunningham ken.cunningham.webuse at gmail.com
Sun Mar 11 23:08:04 UTC 2018


1 minute summary, no gobbledygook:


When clang sees a build line, if there is no -stdlib=Something specified, it adds -stdlib=libstdc++ on systems up to 10.8, and -stdlib=libc++ on 10.9 and above.

If the older OS is set up to use -stdlib=libc++, then all these ports break, and need painful manual shenanigans.


All this is rendered extinct if clang just defaults to add -stdlib=libc++ on all systems, if there is no -stdlib specified on the build line. 


The fix that is needed in clang to accomplish this miraculous feat is literally one single character change. 

<https://github.com/kencu/SnowLeopardPorts/blob/master/lang/llvm-5.0/files/9999-patch-clang-5.0-Toolchains-default-always-libcxx.diff>


Think of the tickets that might never need to be dealt with.

I would ask that we consider doing this once we default to libc++ on all clang-based systems.

Ken


More information about the macports-dev mailing list