]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - test/aclocal.m4
ncurses 6.1 - patch 20180616
[ncurses.git] / test / aclocal.m4
index 761e412535cedbef9e4ed712457d59085233440a..e7c9afb2aac2fdfd2bb75771469b9e7ff0cd9cb4 100644 (file)
@@ -26,7 +26,7 @@ dnl sale, use or other dealings in this Software without prior written       *
 dnl authorization.                                                           *
 dnl***************************************************************************
 dnl
-dnl $Id: aclocal.m4,v 1.155 2018/01/05 01:37:04 tom Exp $
+dnl $Id: aclocal.m4,v 1.157 2018/06/16 23:11:00 tom Exp $
 dnl
 dnl Author: Thomas E. Dickey
 dnl
@@ -1746,7 +1746,7 @@ if test $cf_cv_getopt_header = getopt.h ; then
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_GNU_SOURCE version: 7 updated: 2016/08/05 05:15:37
+dnl CF_GNU_SOURCE version: 8 updated: 2018/06/16 19:05:13
 dnl -------------
 dnl Check if we must define _GNU_SOURCE to get a reasonable value for
 dnl _XOPEN_SOURCE, upon which many POSIX definitions depend.  This is a defect
@@ -1754,38 +1754,98 @@ dnl (or misfeature) of glibc2, which breaks portability of many applications,
 dnl since it is interwoven with GNU extensions.
 dnl
 dnl Well, yes we could work around it...
+dnl
+dnl Parameters:
+dnl    $1 is the nominal value for _XOPEN_SOURCE
 AC_DEFUN([CF_GNU_SOURCE],
 [
-AC_CACHE_CHECK(if we must define _GNU_SOURCE,cf_cv_gnu_source,[
+cf_gnu_xopen_source=ifelse($1,,500,$1)
+
+AC_CACHE_CHECK(if this is the GNU C library,cf_cv_gnu_library,[
 AC_TRY_COMPILE([#include <sys/types.h>],[
-#ifndef _XOPEN_SOURCE
-make an error
-#endif],
-       [cf_cv_gnu_source=no],
-       [cf_save="$CPPFLAGS"
-        CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
-        AC_TRY_COMPILE([#include <sys/types.h>],[
-#ifdef _XOPEN_SOURCE
-make an error
-#endif],
-       [cf_cv_gnu_source=no],
-       [cf_cv_gnu_source=yes])
-       CPPFLAGS="$cf_save"
-       ])
+       #if __GLIBC__ > 0 && __GLIBC_MINOR__ >= 0
+               return 0;
+       #else
+       #       error not GNU C library
+       #endif],
+       [cf_cv_gnu_library=yes],
+       [cf_cv_gnu_library=no])
 ])
 
-if test "$cf_cv_gnu_source" = yes
-then
-AC_CACHE_CHECK(if we should also define _DEFAULT_SOURCE,cf_cv_default_source,[
-CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
-       AC_TRY_COMPILE([#include <sys/types.h>],[
-#ifdef _DEFAULT_SOURCE
-make an error
-#endif],
-               [cf_cv_default_source=no],
-               [cf_cv_default_source=yes])
+if test x$cf_cv_gnu_library = xyes; then
+
+       # With glibc 2.19 (13 years after this check was begun), _DEFAULT_SOURCE
+       # was changed to help a little...
+       AC_CACHE_CHECK(if _DEFAULT_SOURCE can be used as a basis,cf_cv_gnu_library_219,[
+               cf_save="$CPPFLAGS"
+               CPPFLAGS="$CPPFLAGS -D_DEFAULT_SOURCE"
+               AC_TRY_COMPILE([#include <sys/types.h>],[
+                       #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 19) || (__GLIBC__ > 2)
+                               return 0;
+                       #else
+                       #       error GNU C library __GLIBC__.__GLIBC_MINOR__ is too old
+                       #endif],
+                       [cf_cv_gnu_library_219=yes],
+                       [cf_cv_gnu_library_219=no])
+               CPPFLAGS="$cf_save"
        ])
-test "$cf_cv_default_source" = yes && CPPFLAGS="$CPPFLAGS -D_DEFAULT_SOURCE"
+
+       if test "x$cf_cv_gnu_library_219" = xyes; then
+               AC_CACHE_CHECK(if _XOPEN_SOURCE=$cf_gnu_xopen_source works with _DEFAULT_SOURCE,cf_cv_gnu_dftsrc_219,[
+                       cf_save="$CPPFLAGS"
+                       CPPFLAGS="$CPPFLAGS -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=$cf_gnu_xopen_source"
+                       AC_TRY_COMPILE([
+                               #include <limits.h>
+                               #include <sys/types.h>
+                               ],[
+                               #if (_XOPEN_SOURCE >= $cf_gnu_xopen_source) && (MB_LEN_MAX > 1)
+                                       return 0;
+                               #else
+                               #       error GNU C library is too old
+                               #endif],
+                               [cf_cv_gnu_dftsrc_219=yes],
+                               [cf_cv_gnu_dftsrc_219=no])
+                       ])
+               test "x$cf_cv_gnu_dftsrc_219" = "xyes" || CPPFLAGS="$cf_save"
+       else
+               cf_cv_gnu_dftsrc_219=maybe
+       fi
+
+       if test "x$cf_cv_gnu_dftsrc_219" != xyes; then
+
+               AC_CACHE_CHECK(if we must define _GNU_SOURCE,cf_cv_gnu_source,[
+               AC_TRY_COMPILE([#include <sys/types.h>],[
+                       #ifndef _XOPEN_SOURCE
+                       #error  expected _XOPEN_SOURCE to be defined
+                       #endif],
+                       [cf_cv_gnu_source=no],
+                       [cf_save="$CPPFLAGS"
+                        CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
+                        AC_TRY_COMPILE([#include <sys/types.h>],[
+                               #ifdef _XOPEN_SOURCE
+                               #error  expected _XOPEN_SOURCE to be undefined
+                               #endif],
+                               [cf_cv_gnu_source=no],
+                               [cf_cv_gnu_source=yes])
+                       CPPFLAGS="$cf_save"
+                       ])
+               ])
+
+               if test "$cf_cv_gnu_source" = yes
+               then
+               AC_CACHE_CHECK(if we should also define _DEFAULT_SOURCE,cf_cv_default_source,[
+                       CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
+                       AC_TRY_COMPILE([#include <sys/types.h>],[
+                               #ifdef _DEFAULT_SOURCE
+                               #error  expected _DEFAULT_SOURCE to be undefined
+                               #endif],
+                               [cf_cv_default_source=no],
+                               [cf_cv_default_source=yes])
+                       ])
+                       test "$cf_cv_default_source" = yes && CPPFLAGS="$CPPFLAGS -D_DEFAULT_SOURCE"
+               fi
+       fi
+
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
@@ -1850,6 +1910,64 @@ AC_DEFUN([CF_INHERIT_SCRIPT],
 test -f $1 || ( test -f ../$1 && cp ../$1 ./ )
 ])dnl
 dnl ---------------------------------------------------------------------------
+dnl CF_INSTALL_OPTS version: 1 updated: 2014/07/21 18:19:51
+dnl ---------------
+dnl prompt for/fill-in useful install-program options
+AC_DEFUN([CF_INSTALL_OPTS],
+[
+CF_INSTALL_OPT_S
+CF_INSTALL_OPT_O
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_INSTALL_OPT_O version: 2 updated: 2015/05/15 19:45:35
+dnl ----------------
+dnl Almost all "install" programs default to the current user's ownership.
+dnl Almost - MINIX is an exception.
+AC_DEFUN([CF_INSTALL_OPT_O],
+[
+AC_MSG_CHECKING(if install needs to be told about ownership)
+case `$ac_config_guess` in
+(*minix)
+       with_install_o=yes
+       ;;
+(*)
+       with_install_o=no
+       ;;
+esac
+
+AC_MSG_RESULT($with_install_o)
+if test "x$with_install_o" = xyes
+then
+       INSTALL_OPT_O=`id root|sed -e 's/uid=[[0-9]]*(/ -o /' -e 's/gid=[[0-9]]*(/ -g /' -e 's/ [[^=[:space:]]][[^=[:space:]]]*=.*/ /' -e 's/)//g'`
+else
+       INSTALL_OPT_O=
+fi
+
+AC_SUBST(INSTALL_OPT_O)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_INSTALL_OPT_S version: 1 updated: 2014/07/21 18:19:51
+dnl ----------------
+dnl By default, we should strip executables which are installed, but leave the
+dnl ability to suppress that for unit-testing.
+AC_DEFUN([CF_INSTALL_OPT_S],
+[
+AC_MSG_CHECKING(if you want to install stripped executables)
+CF_ARG_DISABLE(stripping,
+       [  --disable-stripping     do not strip installed executables],
+       [with_stripping=no],
+       [with_stripping=yes])
+AC_MSG_RESULT($with_stripping)
+
+if test "$with_stripping" = yes
+then
+       INSTALL_OPT_S="-s"
+else
+       INSTALL_OPT_S=
+fi
+AC_SUBST(INSTALL_OPT_S)
+])dnl
+dnl ---------------------------------------------------------------------------
 dnl CF_INTEL_COMPILER version: 7 updated: 2015/04/12 15:39:00
 dnl -----------------
 dnl Check if the given compiler is really the Intel compiler for Linux.  It
@@ -3649,7 +3767,7 @@ esac
 
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_XOPEN_SOURCE version: 52 updated: 2016/08/27 12:21:42
+dnl CF_XOPEN_SOURCE version: 53 updated: 2018/06/16 18:58:58
 dnl ---------------
 dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions,
 dnl or adapt to the vendor's definitions to get equivalent functionality,
@@ -3698,7 +3816,7 @@ case $host_os in
        cf_XOPEN_SOURCE=
        ;;
 (linux*|uclinux*|gnu*|mint*|k*bsd*-gnu|cygwin)
-       CF_GNU_SOURCE
+       CF_GNU_SOURCE($cf_XOPEN_SOURCE)
        ;;
 (minix*)
        cf_xopen_source="-D_NETBSD_SOURCE" # POSIX.1-2001 features are ifdef'd with this...