mpyne added a comment.
As I mentioned on the KDE bug, there is a possibility that changes like this would break FreeBSD. FreeBSD operates by a model of exporting symbols by default for legacy/BSD-specific needs. However if a feature flag is set, it limits its exports to *only* that required by the feature flag. Notably, all BSD-specific exports are removed in FreeBSD if you set a feature flag that doesn't also standardize that BSD feature, and unlike C libraries like musl and glibc, they don't support any feature flags to specifically request BSD-specific exports be exported. See KIO commit 15451d505fdbc37b5d027f8ad1ba6aeb6314cc2d <https://cgit.kde.org/kio.git/commit/?id=15451d505fdbc37b5d027f8ad1ba6aeb6314cc2d> and https://phabricator.kde.org/D6597 for an example of where I had to take special pains when committing musl-specific fixes to KF5 to avoid breaking FreeBSD. Andrew, have you been able to test your patches on a FreeBSD at all? We can catch it in CI now, but on the other hand I have already tried to fix this by pushing feature flag defines into source repositories requiring the extra defines rather than making it a KDE-wide define. I had previously verified that these fixes allowed all of KF5 (though not all of Plasma5) to build on Alpine Linux, though it's been a month since I had reverified that. REPOSITORY R240 Extra CMake Modules REVISION DETAIL https://phabricator.kde.org/D8256 To: awilcox, alexmerry, dfaure Cc: mpyne, dfaure, #frameworks, #build_system