[MacPorts] #54289: libcxx{,-abi} : upgrade + "runtime" variant
MacPorts
noreply at macports.org
Tue Jun 6 19:04:16 UTC 2017
#54289: libcxx{,-abi} : upgrade + "runtime" variant
----------------------+------------------------------
Reporter: RJVB | Owner:
Type: update | Status: new
Priority: Normal | Milestone:
Component: ports | Version:
Keywords: haspatch | Port: libcxxabi libcxx
----------------------+------------------------------
I'm submitting 2 patches for the libcxxabi and libcxx ports:
- upgrade to 4.0.0 (with a small mod to let ${configure.optflags} be
respected)
- introduction of a +runtime variant
The principle of the variant was discussed with Jeremy a while back
already, and I've been testing it since. It provides an alternative
install option for users who do not need to do a libc++ conversion (new
enough OS), who wouldn't want to do that anyway, but who'd still be
interested in using an up-to-date C++ runtime with software that could
benefit.
In its current implementation this installs runtime versions of the c++abi
and c++ libraries into ${prefix}/lib (`libc++abi.1.dylib` and
`libc++.1.dylib`) and provides a simple launch script that sets (and
instructions how to set) `DYLD_INSERT_LIBRARIES`. This will of course not
work with sandboxed applications, but should work with applications
provided through MacPorts (at least that's the case on OS X 10.9). The
linker interface symlink `libc++.dylib` isn't installed (and
libc++abi.dylib installed under a different name) so that they are not
picked up by the link editor by accident.
I suppose one could take this approach a step further, doing a full
install into ${prefix}, in such a way that opportunistic dependencies on
the port can be avoided.
There is one clear positive effect of using the newer C++ runtime & ABI
layer on 10.9 : the frequent log dynamic_cast errors I saw about type_info
visibility in Qt4 applications stopped appearing in the system.log . This
OS version might also benefit from having a full install in ${prefix}
against which applications can be linked.
I'll be attaching the portfile patches only here, for the patchfiles
please refer to
https://github.com/RJVB/macstrop/tree/master/lang/libcxxabi/files
https://github.com/RJVB/macstrop/tree/master/lang/libcxx/files
--
Ticket URL: <https://trac.macports.org/ticket/54289>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list