xserver: Branch 'master'

Eric Anholt anholt at kemper.freedesktop.org
Wed Jan 10 23:10:47 EET 2007


 configure.ac            |   21 +++++++--------------
 include/dix-config.h.in |   12 ++----------
 os/utils.c              |   18 +-----------------
 3 files changed, 10 insertions(+), 41 deletions(-)

New commits:
diff-tree 7fccec91c46baac4f8d2965180dc535b4eb7d65c (from 78f9592c112d4245f6119b98c244bbb4cae3e5aa)
Author: Eric Anholt <eric at anholt.net>
Date:   Wed Jan 10 13:10:43 2007 -0800

    Bug #9555: Always define _GNU_SOURCE in glibc environments.
    
    This keeps us from having to define _POSIX_C_SOURCE, _BSD_SOURCE, and
    _XOPEN_SORUCE to get the C environment we want in different places.  It also
    fixes the build on linux due to RTLD_DEFAULT having not been defined.

diff --git a/configure.ac b/configure.ac
index 3f5e5d8..c3107dc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1757,20 +1757,13 @@ AC_SUBST(XKB_COMPILED_DIR)
 dnl and the rest of these are generic, so they're in config.h
 AC_DEFINE(XResExtension, 1, [Build XRes extension])
 
-dnl CYGWIN does not define fd_set if _POSIX_SOURCE is defined
-dnl _*_SOURCE on Solaris restricts to the standards, and removes non-standard
-dnl functions which X uses
-case $host_os in
-	cygwin*) ;;
-	solaris*) ;;
-        darwin*) ;;
-	freebsd*|netbsd*|openbsd*) ;;
-	*) 
-		AC_DEFINE(_POSIX_SOURCE, 1, [POSIX-compliant source])
-		AC_DEFINE(_XOPEN_SOURCE, 500, [X/Open-compliant source])
-		AC_DEFINE(_BSD_SOURCE, 1, [BSD-compliant source])
-		;;
-esac
+AC_TRY_COMPILE([
+#include <features.h>
+#ifndef __GLIBC__
+#error not glibc
+#endif
+], [], [AC_DEFINE(_GNU_SOURCE, 1,
+	[ Enable GNU and other extensions to the C environment for glibc])])
 
 AC_DEFINE_DIR(PROJECTROOT, prefix, [Overall prefix])
 
diff --git a/include/dix-config.h.in b/include/dix-config.h.in
index 6bf2786..1a9fdc5 100644
--- a/include/dix-config.h.in
+++ b/include/dix-config.h.in
@@ -419,16 +419,8 @@
 /* Endian order */
 #undef X_BYTE_ORDER
 
-/* BSD-compliant source */
-#undef _BSD_SOURCE
-
-/* POSIX-compliant source */
-#undef _POSIX_SOURCE
-
-#ifndef _XOPEN_SOURCE
-/* X/Open-compliant source */
-#undef _XOPEN_SOURCE
-#endif
+/* Enable GNU and other extensions to the C environment for GLIBC */
+#undef _GNU_SOURCE
 
 /* Define to empty if `const' does not conform to ANSI C. */
 #undef const
diff --git a/os/utils.c b/os/utils.c
index b98c9c1..7c725e3 100644
--- a/os/utils.c
+++ b/os/utils.c
@@ -53,23 +53,6 @@ OR PERFORMANCE OF THIS SOFTWARE.
 #include <dix-config.h>
 #endif
 
-#ifndef __GLIBC__
-#include <time.h>
-#else
-/* The world's most shocking hack, to ensure we get clock_gettime() and
- * CLOCK_MONOTONIC. */
-#ifdef _POSIX_C_SOURCE
-#define _SAVED_POSIX_C_SOURCE _POSIX_C_SOURCE
-#undef _POSIX_C_SOURCE
-#endif
-#define _POSIX_C_SOURCE 199309L
-#include <time.h>
-#undef _POSIX_C_SOURCE
-#ifdef _SAVED_POSIX_C_SOURCE
-#define _POSIX_C_SOURCE _SAVED_POSIX_C_SOURCE
-#endif
-#endif /* __linux__ */
-
 #ifdef __CYGWIN__
 #include <stdlib.h>
 #include <signal.h>
@@ -80,6 +63,7 @@ OR PERFORMANCE OF THIS SOFTWARE.
 #endif
 #include <X11/Xos.h>
 #include <stdio.h>
+#include <time.h>
 #include "misc.h"
 #include <X11/X.h>
 #define XSERV_t



More information about the xorg-commit mailing list