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

Reply via email to