Opening to keep track of some of the things I’m working on at the moment. Anyone who’s interested in helping out/wants to comment can do so:
- Improve link time error checking using
--fatal-warnings
. Add to invocations ofAX_CHECK_LINK_FLAG
. Being done in #17874. - Add macOS binary checking to
security-check.py
. Check forPIE
,NOUNDEFS
. Done in #17787. - Patch our depends
ld64
to actually insertBINDATLOAD
. The patch has been done (also Cory). Needs to be properly tested and PR’d. AddBINDATLOAD
check tosecurity-check.py
at the same time. - Add macOS dynamic library checking to
symbol-check.py
. I’ve got a version of this here. Done in #17863. - Add
macos_min_version
to our ld flags. This isn’t so straight forward, our depends ld64 acceptsmacosx_min_version
instead ofmacos_min_version
and Apple hasn’t yet open sourced the version of cctools in which the switchover occurred . Instead of integrating into configure, should be added to depends (this argument actually gets added to the link flags on macOS, with min version set to the OS version). Should be done on top of the ld64 changes in #16392.
I realise all of the above is macOS specific, so most may not care, however there are some non-macOS build system changes in the pipeline as well:
- Test using pkg-config for
mingw-w64
Windows cross-compiles. If this works (or can be made to work) correctly, it’ll eliminate the non pkg-config paths from the build system. Boost likely to be a sticking point here. Will elimiate the need for PRs like #17740. - Now that we require
glibc
>=2.17
, we can look at eliminating some of ourmemcpy
/memmove
back-compat code. -
librt
back-compat changes done in #17738. - Qt 5.12.6 in depends. I have a branch with the changes started here. It doesn’t yet work for various reasons. One being that you can’t actually compile qt 5.12.6 for macOS targeting C++11 (even though it’s a configure option), as they have started using C++14 features in the macOS portions of the code, i.e
qcocoabackingstore
. Qt have also removedxkbcommon
from their third-party tree, which means we’ll likely have to integrate it into depends. Windows wants to link against the Remote Desktop API to fix a clipboard copying bug.. . Probably something we can either patch out/turn off.