Review Request 119696: KDECompilerSettings: Be more portable across libc's.
Raphael Kubo da Costa
rakuco at FreeBSD.org
Sun Aug 10 19:06:46 UTC 2014
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/119696/
-----------------------------------------------------------
(Updated Aug. 10, 2014, 10:06 p.m.)
Review request for Extra Cmake Modules and Alex Merry.
Changes
-------
Thanks, patch v2 checks for `__GLIBC__` (albeit in a slightly different way than kmtrace) instead of trying to guess which libc is being used.
Repository: extra-cmake-modules
Description (updated)
-------
Defining _XOPEN_SOURCE to 500 is too restrictive: it corresponds to
_POSIX_C_SOURCE 199506L, and hides several symbols that standard
libraries like libc++ expect to find, leading to errors like this on
FreeBSD:
In file included from /tmp/attica/src/accountbalance.cpp:21:
In file included from /tmp/attica/src/accountbalance.h:25:
In file included from /usr/local/include/qt5/QtCore/QString:1:
In file included from /usr/local/include/qt5/QtCore/qstring.h:50:
In file included from /usr/include/c++/v1/string:437:
In file included from /usr/include/c++/v1/string:437:
/usr/include/c++/v1/cstdio:143:9: error: no member named 'snprintf' in the global namespace
using ::snprintf;
~~^
This isn't a problem on Linux (actually, on systems using glibc) because
defining _GNU_SOURCE enables a lot more features that are not made
available on other libc implementations where it does not have any
effect.
Instead, stop defining _XOPEN_SOURCE at all and leave it up to the
platform to show or hide as many symbols as necessary if no
standards-related defines are set, and only set _GNU_SOURCE on systems
where it is actually meaningful (ie. systems using glibc).
Diffs (updated)
-----
kde-modules/KDECompilerSettings.cmake fdc930e48e489696e137c546fd7e00e0c4797243
Diff: https://git.reviewboard.kde.org/r/119696/diff/
Testing
-------
Attica builds on FreeBSD.
Thanks,
Raphael Kubo da Costa
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-buildsystem/attachments/20140810/e7aac3c1/attachment-0001.html>
More information about the Kde-buildsystem
mailing list