void-packages/srcpkgs/mcpp/patches/libc-feature-macros.patch
2025-04-18 14:32:58 -07:00

60 lines
1.8 KiB
Diff

Florian Weimer's c99 patch from https://sourceforge.net/p/mcpp/patches/7/
Do not define and undefine _*_SOURCE macros. These have special
semantics to glibc. <limits.h> may include <features.h>, and which
point the feature configuration gets frozen. Without this change,
when system.c includes <unistd.h>, the feature macros are hard-coded
as baseline POSIX, which does not include readlink. This will lead to
compilation errors with future compilers.
diff --git a/src/configed.H b/src/configed.H
index b4d1ebf3a6bfa280..bde16fc8db38a2c4 100644
--- a/src/configed.H
+++ b/src/configed.H
@@ -295,20 +295,7 @@
* ULONGMAX should be defined to the ULONG_MAX in <limits.h>.
*/
-/* _POSIX_* only to get PATH_MAX */
-#define _POSIX_ 1
-#define _POSIX_SOURCE 1
-#ifndef _POSIX_C_SOURCE
-#define _POSIX_C_SOURCE 1
-#define _POSIX_C_SOURCE_defined 1
-#endif
#include "limits.h"
-#undef _POSIX_
-#undef _POSIX_SOURCE
-#ifdef _POSIX_C_SOURCE_defined
-#undef _POSIX_C_SOURCE
-#undef _POSIX_C_SOURCE_defined
-#endif
#define CHARBIT CHAR_BIT
#define UCHARMAX UCHAR_MAX
#define USHRTMAX USHRT_MAX
diff --git a/src/noconfig.H b/src/noconfig.H
index 6b634fe0b32ff67c..7c923c900c8865dd 100644
--- a/src/noconfig.H
+++ b/src/noconfig.H
@@ -570,20 +570,7 @@
#include "stdio.h"
/* PATHMAX is the maximum length of path-list on the host system. */
-/* _POSIX_* only to get PATH_MAX */
-#define _POSIX_ 1
-#define _POSIX_SOURCE 1
-#ifndef _POSIX_C_SOURCE
-#define _POSIX_C_SOURCE 1
-#define _POSIX_C_SOURCE_defined 1
-#endif
#include "limits.h"
-#undef _POSIX_
-#undef _POSIX_SOURCE
-#ifdef _POSIX_C_SOURCE_defined
-#undef _POSIX_C_SOURCE
-#undef _POSIX_C_SOURCE_defined
-#endif
#ifdef PATH_MAX
#define PATHMAX PATH_MAX /* Posix macro */
#else