-
Notifications
You must be signed in to change notification settings - Fork 37.7k
Closed
Labels
Description
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 build: make linker checks more robust #17874. - Add macOS binary checking to
security-check.py
. Check forPIE
,NOUNDEFS
. Done in scripts: add MACHO PIE check to security-check.py #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 scripts: Add MACHO dylib checks to symbol-check.py #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 build: macOS toolchain update #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 build: remove configure checks for win libraries we don't link against #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 build: remove linking librt for backwards compatibility #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.
laanwj, hebasto and maflcko