1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-03-09 15:50:02 +00:00

Fix build on illumos (re: 7fb814e1, 580ff616)

The standards macros consistency fix for iffe exposed breakage on
illumos: the standards flags aren't set properly. Back in 580ff616,
I set _XPG6 from features/common, which is the wrong place; the
correct place is features/standards -- especially now that iffe
uses its results.

In addition, to get header declarations that aren't somehow in
conflict with themselves on illumos, don't result in "implicit
function declaration" warnings, and expose all the functionality,
we need to define *all* the _XPG[4-7] macros *and* __EXTENSIONS__
*and* _XOPEN_SOURCE. Welp. Thankfully, that's just fine with
Solaris, too.

Thanks to @JohnoKing for the heads-up.
This commit is contained in:
Martijn Dekker 2021-12-14 09:58:45 +01:00
parent 5084bef41f
commit c0354a869f
2 changed files with 12 additions and 6 deletions

View file

@ -36,12 +36,6 @@ cat{
# define __OPTIMIZE_SIZE__ 1 # define __OPTIMIZE_SIZE__ 1
#endif #endif
/* enable POSIX standard on Solaris */
#ifdef __sun
# undef _XPG6
# define _XPG6 1
#endif
/* __STD_C indicates that the language is ANSI C or C++ */ /* __STD_C indicates that the language is ANSI C or C++ */
#if !defined(__STD_C) && __STDC__ #if !defined(__STD_C) && __STDC__
# define __STD_C 1 # define __STD_C 1

View file

@ -19,6 +19,18 @@ if tst note{ FreeBSD or DragonFly BSD }end compile{
#endif #endif
}end { }end {
} }
elif tst note{ SunOS (Solaris, illumos) }end compile{
#if !__sun
#error dark
#endif
}end {
#define _XPG7 1
#define _XPG6 1
#define _XPG5 1
#define _XPG4 1
#define __EXTENSIONS__ 1
#define _XOPEN_SOURCE 9900
}
elif tst note{ _ALL_SOURCE & _POSIX_SOURCE & _POSIX_C_SOURCE & _XOPEN_SOURCE & _GNU_SOURCE & _DARWIN_C_SOURCE & __EXTENSIONS__ works }end compile{ elif tst note{ _ALL_SOURCE & _POSIX_SOURCE & _POSIX_C_SOURCE & _XOPEN_SOURCE & _GNU_SOURCE & _DARWIN_C_SOURCE & __EXTENSIONS__ works }end compile{
#define _ALL_SOURCE 1 #define _ALL_SOURCE 1
#define _POSIX_SOURCE 1 #define _POSIX_SOURCE 1