summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHerbert Valerio Riedel <hvr@gnu.org>2015-12-04 09:15:29 +0100
committerHerbert Valerio Riedel <hvr@gnu.org>2015-12-04 10:01:52 +0100
commit7af29da05d2e5a5e311a5f73f20d0f232035973b (patch)
treef37df9bb14fa7baccf3c017fe61e1e267fad8420
parent99d01e1d82505e168224043d10e7ce116f5617ae (diff)
downloadhaskell-7af29da05d2e5a5e311a5f73f20d0f232035973b.tar.gz
Use Autoconf's AC_USE_SYSTEM_EXTENSIONS
This takes care of setting feature test macros (i.e. let Autoconf decide when those can be set safely) to allow subsequent Autoconf tests to better detect available OS features. This also includes a submodule update of unix which enables the use of `AC_USE_SYSTEM_EXTENSIONS` in there as well. Specifically, this takes care of setting `_GNU_SOURCE` (which allows to remove two occurences where it's set manually) and `_ALL_SOURCE` (which fixes issues on AIX). See also https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Posix-Variants.html for details. At some point we may want to reconsider the purpose of "rts/PosixSource.h" and rely more on Autoconf instead.
-rw-r--r--configure.ac3
-rw-r--r--libraries/base/configure.ac5
m---------libraries/unix0
-rw-r--r--rts/Linker.c7
-rw-r--r--rts/posix/OSThreads.c6
5 files changed, 8 insertions, 13 deletions
diff --git a/configure.ac b/configure.ac
index 3889cea904..57d877ab58 100644
--- a/configure.ac
+++ b/configure.ac
@@ -58,6 +58,9 @@ dnl #define SIZEOF_CHAR 0
dnl recently.
AC_PREREQ([2.60])
+dnl make extensions visible to allow feature-tests to detect them lateron
+AC_USE_SYSTEM_EXTENSIONS
+
# -------------------------------------------------------------------------
# Prepare to generate the following header files
#
diff --git a/libraries/base/configure.ac b/libraries/base/configure.ac
index 85b2f2e860..99474a63a7 100644
--- a/libraries/base/configure.ac
+++ b/libraries/base/configure.ac
@@ -3,6 +3,11 @@ AC_INIT([Haskell base package], [1.0], [libraries@haskell.org], [base])
# Safety check: Ensure that we are in the correct source directory.
AC_CONFIG_SRCDIR([include/HsBase.h])
+AC_PREREQ([2.60])
+
+dnl make extensions visible to allow feature-tests to detect them lateron
+AC_USE_SYSTEM_EXTENSIONS
+
AC_CONFIG_HEADERS([include/HsBaseConfig.h include/EventConfig.h])
AC_CANONICAL_BUILD
diff --git a/libraries/unix b/libraries/unix
-Subproject 137fa1b06a79a9baa0d5fcf2ec11f964c3423f6
+Subproject 5740003e06f0c585460501514f3352f5e105c98
diff --git a/rts/Linker.c b/rts/Linker.c
index 51142c57ce..f728f0e175 100644
--- a/rts/Linker.c
+++ b/rts/Linker.c
@@ -10,13 +10,6 @@
#include "PosixSource.h"
#endif
-/* Linux needs _GNU_SOURCE to get RTLD_DEFAULT from <dlfcn.h> and
- MREMAP_MAYMOVE from <sys/mman.h>.
- */
-#if defined(__linux__) || defined(__GLIBC__)
-#define _GNU_SOURCE 1
-#endif
-
#include "Rts.h"
#include "HsFFI.h"
diff --git a/rts/posix/OSThreads.c b/rts/posix/OSThreads.c
index 8c1beda5cf..91f95237ae 100644
--- a/rts/posix/OSThreads.c
+++ b/rts/posix/OSThreads.c
@@ -7,12 +7,6 @@
*
* --------------------------------------------------------------------------*/
-#if defined(__linux__) || defined(__GLIBC__)
-/* We want GNU extensions in DEBUG mode for mutex error checking */
-/* We also want the affinity API, which requires _GNU_SOURCE */
-#define _GNU_SOURCE
-#endif
-
#include "PosixSource.h"
#if defined(freebsd_HOST_OS)