Handling C++11

Michael Dickens michaelld at macports.org
Wed Jan 18 15:55:26 UTC 2017

What you propose is what I'm doing in various GNU Radio ports, e.g.,
gr-ieee802-11. If ${configure.cxx_stdlib} is "libstdc++, then default to
some MacPorts provided GCC (right now, 4.9 ... I need to update these to
gcc6); else use the cxx11 PortGroup. It's not the best solution, but it
works well enough for the folks I know who use these ports on various
versions of Mac OS X / macOS. I've wished for a long time that I could
just use the cxx11 PortGroup, but as you have written it works just for
libc++. There has got to be a better, more universal way to accomplish
using C++11 (or, C++14, or C++17). - MLD

On Tue, Jan 17, 2017, at 10:43 PM, Marcus Calhoun-Lopez wrote:
> I think perhaps I am not being clear in what I am proposing.
> Currently, if cxx_stdlib is equal to libstdc++ then the cxx11PortGroup
> returns an error and the port does not build.
> I am simply proposing that instead of returning an error, the port build
> instead.
> In other words, the change is meant to respect whatever value cxx_stdlib
> is.
> I am not proposing any changes to anyone’s configuration.
> I am not proposing any changes to the buildbots.
> If cxx_stdlib is equal to libc++, the end user would see no changes, not
> even revbumps.
> If cxx_stdlib is equal to libstdc++, the only change would be that ports
> that didn’t build before would suddenly start (hopefully).
> Please forgive me if I am not understanding the concerns, but this change
> is meant to affect *only* ports that are currently not building at all
> for users who have elected to have cxx_stdlib be equal to libstdc++.

More information about the macports-dev mailing list