diff options
author | Raphael Kubo da Costa <rakuco@FreeBSD.org> | 2014-08-10 20:30:20 +0300 |
---|---|---|
committer | Raphael Kubo da Costa <rakuco@FreeBSD.org> | 2014-08-13 01:12:11 +0300 |
commit | 5d6171f4c3a3f87e4e7114131304028b8b54941b (patch) | |
tree | 042de89bd4e2756bda6885d9e522ef5a830cfb46 /modules/ECMGeneratePriFile.cmake | |
parent | 8cf3d0ae17b84adb484c4a32e4475a45fa51848a (diff) | |
download | extra-cmake-modules-5d6171f4c3a3f87e4e7114131304028b8b54941b.tar.gz extra-cmake-modules-5d6171f4c3a3f87e4e7114131304028b8b54941b.tar.bz2 |
KDECompilerSettings: Be more portable across libc's.
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).
REVIEW: 119696
Diffstat (limited to 'modules/ECMGeneratePriFile.cmake')
0 files changed, 0 insertions, 0 deletions