diff options
author | Junio C Hamano <gitster@pobox.com> | 2009-05-22 18:06:06 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-05-22 22:52:00 -0700 |
commit | 30d8080ca76432a60142f6af04e477bfa24b7f4c (patch) | |
tree | e103476c574d9cd6240a18d230b38366c7673254 /wt-status.h | |
parent | a80aad7b85fc560451e07792d64ab6cb15a39914 (diff) | |
download | git-30d8080ca76432a60142f6af04e477bfa24b7f4c.tar.gz git-30d8080ca76432a60142f6af04e477bfa24b7f4c.tar.xz |
Teach Solaris that _XOPEN_SOURCE=600 really menas XPG6
In git-compat-util.h, we do
#define _XOPEN_SOURCE 600
#define _XOPEN_SOURCE_EXTENDED 1
unless we are on BSD or SCO.
On OpenSolaris (200811), /usr/include/sys/feature_tests.h has this nice
table:
Feature Test Macro Specification
------------------------------------------------ -------------
_XOPEN_SOURCE XPG3
_XOPEN_SOURCE && _XOPEN_VERSION = 4 XPG4
_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED = 1 XPG4v2
_XOPEN_SOURCE = 500 XPG5
_XOPEN_SOURCE = 600 (or POSIX_C_SOURCE=200112L) XPG6
Later in the same header, compilation with -c99 is made to fail if _XPG6 is
not set, like this:
#if defined(_STDC_C99) && (defined(__XOPEN_OR_POSIX) && !defined(_XPG6))
#error "Compiler or options invalid for pre-UNIX 03 X/Open applications \
and pre-2001 POSIX applications"
#elif ...
The problem is that they check things in an order that is inconvenient for
us. When they see _XOPEN_SOURCE_EXTENDED, they declare that we are XPG4v2,
regardless of the value of _XOPEN_SOURCE.
To work around this problem, do not define _XOPEN_SOURCE_EXTENDED on
Sun's.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'wt-status.h')
0 files changed, 0 insertions, 0 deletions