Commit 7af29da0 authored by Herbert Valerio Riedel's avatar Herbert Valerio Riedel 🕺
Browse files

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.
parent 99d01e1d
......@@ -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
#
......
......@@ -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
......
Subproject commit 137fa1b06a79a9baa0d5fcf2ec11f964c3423f6a
Subproject commit 5740003e06f0c585460501514f3352f5e105c98c
......@@ -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"
......
......@@ -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)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment