MacPorts
2018-11-30 03:02:03 UTC
#57704: zmq, zmq-devel: Fix C++11 detection issues
------------------------+----------------------------
Reporter: ryandesign | Owner: merijn
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version:
Keywords: | Port: zmq, zmq-devel
------------------------+----------------------------
zmq doesn't quite correctly deal with C++11. It apparently wants to
optionally use C++11 if it detects that the compiler supports it.
On 10.6, whose g++ 4.2 compiler does not support C++11 at all, it
correctly detects that and [https://build.macports.org/builders/ports-10
.6_x86_64_legacy-builder/builds/87554/steps/install-port/logs/stdio builds
successfully].
But on 10.7 and 10.8, whose clang compiler does accept the `-std=gnu++11`
flag but whose default C++ standard library libstdc++ does not support
C++11, it [https://build.macports.org/builders/ports-10.7_x86_64_legacy-
builder/builds/87465/steps/install-port/logs/stdio fails to build].
There is already a patchfile in the port that adds an `--enable-cxx11` /
`--disable-cxx11` flag to the configure script, and the port is requesting
that C++11 be disabled, but this appears to be having no effect. Maybe the
patch needs to be updated.
I see the port has special handling that enables C++11 support for PowerPC
systems only. I don't know why it does that. Seems like a weird choice. If
there is some benefit to building zmq with C++11 support, then why not
unconditionally include the cxx11 1.1 portgroup and just always build with
C++11 support? And if there is no benefit, then why not always disable it?
Or base the decision of whether to add C++11 support on whether or not the
selected C++ standard library supports it?
------------------------+----------------------------
Reporter: ryandesign | Owner: merijn
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version:
Keywords: | Port: zmq, zmq-devel
------------------------+----------------------------
zmq doesn't quite correctly deal with C++11. It apparently wants to
optionally use C++11 if it detects that the compiler supports it.
On 10.6, whose g++ 4.2 compiler does not support C++11 at all, it
correctly detects that and [https://build.macports.org/builders/ports-10
.6_x86_64_legacy-builder/builds/87554/steps/install-port/logs/stdio builds
successfully].
But on 10.7 and 10.8, whose clang compiler does accept the `-std=gnu++11`
flag but whose default C++ standard library libstdc++ does not support
C++11, it [https://build.macports.org/builders/ports-10.7_x86_64_legacy-
builder/builds/87465/steps/install-port/logs/stdio fails to build].
There is already a patchfile in the port that adds an `--enable-cxx11` /
`--disable-cxx11` flag to the configure script, and the port is requesting
that C++11 be disabled, but this appears to be having no effect. Maybe the
patch needs to be updated.
I see the port has special handling that enables C++11 support for PowerPC
systems only. I don't know why it does that. Seems like a weird choice. If
there is some benefit to building zmq with C++11 support, then why not
unconditionally include the cxx11 1.1 portgroup and just always build with
C++11 support? And if there is no benefit, then why not always disable it?
Or base the decision of whether to add C++11 support on whether or not the
selected C++ standard library supports it?
--
Ticket URL: <https://trac.macports.org/ticket/57704>
MacPorts <https://www.macports.org/>
Ports system for macOS
Ticket URL: <https://trac.macports.org/ticket/57704>
MacPorts <https://www.macports.org/>
Ports system for macOS