ports/shells/ksh93/files/patch-src_lib_libast_features_standards
Cy Schubert 1b4fbb7092 AT&T AST (att/ast) on github has rewound their repo back to ksh93u+. See
https://github.com/att/ast/issues/1464 and
https://github.com/att/ast/issues/1466.

The reason for the rewind back to 93u+ instead of 93v- was that it was an
abandoned unstable buggy unfinished beta. A full explanation of this can be
found here, https://github.com/att/ast/issues/1466#issuecomment-589942449.

The version number is reverted back to 93u and an EPOCH bump, though not
needed, documents this siesmic shift.
2020-02-22 22:38:35 +00:00

23 lines
1.1 KiB
Text

--- src/lib/libast/features/standards.orig 2020-02-08 10:39:38.000000000 -0800
+++ src/lib/libast/features/standards 2020-02-08 21:58:23.687268000 -0800
@@ -1,5 +1,19 @@
set stdio
-if tst note{ _ALL_SOURCE & _POSIX_SOURCE & _POSIX_C_SOURCE & _XOPEN_SOURCE & __EXTENSIONS__ works }end compile{
+# In FreeBSD, definitions like _POSIX_SOURCE and such are used to *limit*
+# functionality to known API; they don't enable anything. The general intent in
+# BSD is to enable everything by default (effectively, providing the
+# _KITCHEN_SINK_SOURCE mentioned below). So we look for that here, but stay
+# careful that we don't get fooled by presence of FreeBSD that underpins some
+# subsystems in Mac OS X; there are other Apple-specific portability hacks
+# elsewhere we should not interfere with.
+if tst note{ FreeBSD }end compile{
+ #include <sys/param.h>
+ #if !defined(__FreeBSD__) || defined(APPLE)
+ #error not a FreeBSD system
+ #endif
+ }end {
+ }
+elif tst note{ _ALL_SOURCE & _POSIX_SOURCE & _POSIX_C_SOURCE & _XOPEN_SOURCE & __EXTENSIONS__ works }end compile{
#define _ALL_SOURCE 1
#define _POSIX_SOURCE 1
#define _POSIX_C_SOURCE 21000101L