]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - aclocal.m4
ncurses 6.1 - patch 20190601
[ncurses.git] / aclocal.m4
index 7df9e826bd8e58a0cb97d045b8dd73647cad6f94..6d2f989e62361593efc320ba1cf8b3ea255e2f45 100644 (file)
@@ -1,5 +1,5 @@
 dnl***************************************************************************
-dnl Copyright (c) 1998-2017,2018 Free Software Foundation, Inc.              *
+dnl Copyright (c) 1998-2018,2019 Free Software Foundation, Inc.              *
 dnl                                                                          *
 dnl Permission is hereby granted, free of charge, to any person obtaining a  *
 dnl copy of this software and associated documentation files (the            *
@@ -28,7 +28,7 @@ dnl***************************************************************************
 dnl
 dnl Author: Thomas E. Dickey 1995-on
 dnl
-dnl $Id: aclocal.m4,v 1.824 2018/01/05 01:32:05 tom Exp $
+dnl $Id: aclocal.m4,v 1.862 2019/03/30 21:53:01 tom Exp $
 dnl Macros used in NCURSES auto-configuration script.
 dnl
 dnl These macros are maintained separately from NCURSES.  The copyright on
@@ -243,7 +243,7 @@ AC_SUBST(EXTRA_CPPFLAGS)
 
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_ADD_INCDIR version: 14 updated: 2015/05/25 20:53:04
+dnl CF_ADD_INCDIR version: 15 updated: 2018/06/20 20:23:13
 dnl -------------
 dnl Add an include-directory to $CPPFLAGS.  Don't add /usr/include, since it's
 dnl redundant.  We don't normally need to add -I/usr/local/include for gcc,
@@ -274,7 +274,7 @@ if test -n "$1" ; then
                        if test "$GCC" = yes
                        then
                          cf_save_CPPFLAGS=$CPPFLAGS
-                         CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+                         CF_APPEND_TEXT(CPPFLAGS,-I$cf_add_incdir)
                          AC_TRY_COMPILE([#include <stdio.h>],
                                  [printf("Hello")],
                                  [],
@@ -727,7 +727,7 @@ AC_SUBST(BUILD_EXEEXT)
 AC_SUBST(BUILD_OBJEXT)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_CC_ENV_FLAGS version: 8 updated: 2017/09/23 08:50:24
+dnl CF_CC_ENV_FLAGS version: 9 updated: 2018/07/29 18:03:26
 dnl ---------------
 dnl Check for user's environment-breakage by stuffing CFLAGS/CPPFLAGS content
 dnl into CC.  This will not help with broken scripts that wrap the compiler
@@ -744,11 +744,28 @@ AC_DEFUN([CF_CC_ENV_FLAGS],
 # This should have been defined by AC_PROG_CC
 : ${CC:=cc}
 
+AC_MSG_CHECKING(\$CFLAGS variable)
+case "x$CFLAGS" in
+(*-[[IUD]]*)
+       AC_MSG_RESULT(broken)
+       AC_MSG_WARN(your environment uses the CFLAGS variable to hold CPPFLAGS options)
+       cf_flags="$CFLAGS"
+       CFLAGS=
+       for cf_arg in $cf_flags
+       do
+               CF_ADD_CFLAGS($cf_arg)
+       done
+       ;;
+(*)
+       AC_MSG_RESULT(ok)
+       ;;
+esac
+
 AC_MSG_CHECKING(\$CC variable)
 case "$CC" in
 (*[[\ \        ]]-*)
        AC_MSG_RESULT(broken)
-       AC_MSG_WARN(your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options)
+       AC_MSG_WARN(your environment uses the CC variable to hold CFLAGS/CPPFLAGS options)
        # humor him...
        cf_prog=`echo "$CC" | sed -e 's/        / /g' -e 's/[[ ]]* / /g' -e 's/[[ ]]*[[ ]]-[[^ ]].*//'`
        cf_flags=`echo "$CC" | ${AWK:-awk} -v prog="$cf_prog" '{ printf("%s", [substr]([$]0,1+length(prog))); }'`
@@ -1703,7 +1720,7 @@ AC_MSG_RESULT($cf_result)
 CXXFLAGS="$cf_save_CXXFLAGS"
 ])
 dnl ---------------------------------------------------------------------------
-dnl CF_FIND_LINKAGE version: 20 updated: 2015/04/18 08:56:57
+dnl CF_FIND_LINKAGE version: 21 updated: 2018/06/20 20:23:13
 dnl ---------------
 dnl Find a library (specifically the linkage used in the code fragment),
 dnl searching for it if it is not already in the library path.
@@ -1762,7 +1779,8 @@ AC_TRY_LINK([$1],[$2],[
        do
                if test -d $cf_cv_header_path_$3 ; then
                        CF_VERBOSE(... testing $cf_cv_header_path_$3)
-                       CPPFLAGS="$cf_save_CPPFLAGS -I$cf_cv_header_path_$3"
+                       CPPFLAGS="$cf_save_CPPFLAGS"
+                       CF_APPEND_TEXT(CPPFLAGS,-I$cf_cv_header_path_$3)
                        AC_TRY_COMPILE([$1],[$2],[
                                CF_VERBOSE(... found $3 headers in $cf_cv_header_path_$3)
                                cf_cv_find_linkage_$3=maybe
@@ -1886,6 +1904,49 @@ AC_DEFUN([CF_FIXUP_ADAFLAGS],[
        AC_MSG_RESULT($ADAFLAGS)
 ])dnl
 dnl ---------------------------------------------------------------------------
+dnl CF_FOPEN_BIN_R version: 1 updated: 2019/03/30 17:52:21
+dnl --------------
+dnl Check if fopen works when the "b" (binary) flag is added to the mode
+dnl parameter.  POSIX ignores the "b", which c89 specified.  Some very old
+dnl systems do not accept it.
+AC_DEFUN([CF_FOPEN_BIN_R],[
+AC_CACHE_CHECK(if fopen accepts explicit binary mode,cf_cv_fopen_bin_r,[
+       AC_TRY_RUN([
+#include <stdio.h>
+int main(void) {
+       FILE *fp = fopen("conftest.tmp", "wb");
+       int rc = 0;
+       if (fp != 0) {
+               int p, q;
+               for (p = 0; p < 256; ++p) {
+                       fputc(p, fp);
+               }
+               fclose(fp);
+               fp = fopen("conftest.tmp", "rb");
+               if (fp != 0) {
+                       for (p = 0; p < 256; ++p) {
+                               q = fgetc(fp);
+                               if (q != p) {
+                                       rc = 1;
+                                       break;
+                               }
+                       }
+               } else {
+                       rc = 1;
+               }
+       } else {
+               rc = 1;
+       }
+       ${cf_cv_main_return:-return} (rc);
+}
+],
+               [cf_cv_fopen_bin_r=yes],
+               [cf_cv_fopen_bin_r=no],
+               [cf_cv_fopen_bin_r=unknown])
+])
+test "x$cf_cv_fopen_bin_r" != xno && AC_DEFINE(USE_FOPEN_BIN_R)
+])dnl
+dnl ---------------------------------------------------------------------------
 dnl CF_FORGET_TOOL version: 1 updated: 2013/04/06 18:03:09
 dnl --------------
 dnl Forget that we saw the given tool.
@@ -2282,7 +2343,7 @@ if test "$GCC" = yes ; then
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_GCC_WARNINGS version: 32 updated: 2015/04/12 15:39:00
+dnl CF_GCC_WARNINGS version: 33 updated: 2018/06/20 20:23:13
 dnl ---------------
 dnl Check if the compiler supports useful warning options.  There's a few that
 dnl we don't use, simply because they're too noisy:
@@ -2376,7 +2437,7 @@ then
                        test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
                        case $cf_opt in
                        (Wcast-qual)
-                               CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES"
+                               CF_APPEND_TEXT(CPPFLAGS,-DXTSTRINGDEFINES)
                                ;;
                        (Winline)
                                case $GCC_VERSION in
@@ -2470,7 +2531,7 @@ AC_SUBST(cf_compile_generics)
 AC_SUBST(cf_generic_objects)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_GNAT_PROJECTS version: 8 updated: 2015/04/17 21:13:04
+dnl CF_GNAT_PROJECTS version: 9 updated: 2018/01/14 15:46:09
 dnl ----------------
 dnl GNAT projects are configured with ".gpr" project files.
 dnl GNAT libraries are a further development, using the project feature.
@@ -2492,10 +2553,12 @@ case $cf_gnat_version in
        (cygwin*|msys*)
                ;;
        (*)
-               mkdir conftest.src conftest.bin conftest.lib
-               cd conftest.src
                rm -rf conftest* *~conftest*
-               cat >>library.gpr <<CF_EOF
+               if mkdir conftest.src conftest.bin conftest.lib
+               then
+                       cd conftest.src
+                       rm -rf conftest* *~conftest*
+                       cat >>library.gpr <<CF_EOF
 project Library is
   Kind := External ("LIB_KIND");
   for Library_Name use "ConfTest";
@@ -2508,12 +2571,12 @@ project Library is
   for Source_Dirs use (Source_Dir);
 end Library;
 CF_EOF
-               cat >>confpackage.ads <<CF_EOF
+                       cat >>confpackage.ads <<CF_EOF
 package ConfPackage is
    procedure conftest;
 end ConfPackage;
 CF_EOF
-               cat >>confpackage.adb <<CF_EOF
+                       cat >>confpackage.adb <<CF_EOF
 with Text_IO;
 package body ConfPackage is
    procedure conftest is
@@ -2523,16 +2586,17 @@ package body ConfPackage is
    end conftest;
 end ConfPackage;
 CF_EOF
-               if ( $cf_ada_make $ADAFLAGS \
-                               -Plibrary.gpr \
-                               -XBUILD_DIR=`cd ../conftest.bin;pwd` \
-                               -XLIBRARY_DIR=`cd ../conftest.lib;pwd` \
-                               -XSOURCE_DIR=`pwd` \
-                               -XSONAME=libConfTest.so.1 \
-                               -XLIB_KIND=static 1>&AC_FD_CC 2>&1 ) ; then
-                       cf_gnat_projects=yes
+                       if ( $cf_ada_make $ADAFLAGS \
+                                       -Plibrary.gpr \
+                                       -XBUILD_DIR=`cd ../conftest.bin;pwd` \
+                                       -XLIBRARY_DIR=`cd ../conftest.lib;pwd` \
+                                       -XSOURCE_DIR=`pwd` \
+                                       -XSONAME=libConfTest.so.1 \
+                                       -XLIB_KIND=static 1>&AC_FD_CC 2>&1 ) ; then
+                               cf_gnat_projects=yes
+                       fi
+                       cd ..
                fi
-               cd ..
                if test -f conftest.lib/confpackage.ali
                then
                        cf_gnat_libraries=yes
@@ -2699,7 +2763,7 @@ case $cf_gnat_version in
 esac
 ])
 dnl ---------------------------------------------------------------------------
-dnl CF_GNU_SOURCE version: 7 updated: 2016/08/05 05:15:37
+dnl CF_GNU_SOURCE version: 10 updated: 2018/12/10 20:09:41
 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
@@ -2707,38 +2771,106 @@ 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;
+       #elif __NEWLIB__ > 0 && __NEWLIB_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.  newlib incorporated the change about 4
+       # years later.
+       AC_CACHE_CHECK(if _DEFAULT_SOURCE can be used as a basis,cf_cv_gnu_library_219,[
+               cf_save="$CPPFLAGS"
+               CF_APPEND_TEXT(CPPFLAGS,-D_DEFAULT_SOURCE)
+               AC_TRY_COMPILE([#include <sys/types.h>],[
+                       #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 19) || (__GLIBC__ > 2)
+                               return 0;
+                       #elif (__NEWLIB__ == 2 && __NEWLIB_MINOR__ >= 4) || (__GLIBC__ > 3)
+                               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
+               cf_save="$CPPFLAGS"
+               AC_CACHE_CHECK(if _XOPEN_SOURCE=$cf_gnu_xopen_source works with _DEFAULT_SOURCE,cf_cv_gnu_dftsrc_219,[
+                       CF_ADD_CFLAGS(-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"
+                        CF_ADD_CFLAGS(-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,[
+                       CF_APPEND_TEXT(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])
+                       ])
+                       if test "$cf_cv_default_source" = yes
+                       then
+                               CF_APPEND_TEXT(CPPFLAGS,-D_DEFAULT_SOURCE)
+                       fi
+               fi
+       fi
+
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
@@ -3147,6 +3279,100 @@ CPPFLAGS="-I. $CPPFLAGS"
 AC_SUBST(CPPFLAGS)
 ])dnl
 dnl ---------------------------------------------------------------------------
+dnl CF_INSTALL_OPTS version: 2 updated: 2018/08/18 12:19:21
+dnl ---------------
+dnl prompt for/fill-in useful install-program options
+AC_DEFUN([CF_INSTALL_OPTS],
+[
+CF_INSTALL_OPT_S
+CF_INSTALL_OPT_P
+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_P version: 1 updated: 2018/08/18 12:19:21
+dnl ----------------
+dnl Some install-programs accept a "-p" option to preserve file modification
+dnl timestamps.  That can be useful as an install option, as well as a way to
+dnl avoid the need for ranlib after copying a static archive.
+AC_DEFUN([CF_INSTALL_OPT_P],
+[
+: ${INSTALL:=install}
+AC_CACHE_CHECK(if install accepts -p option, cf_cv_install_p,[
+       rm -rf conftest*
+       date >conftest.in
+       mkdir conftest.out
+       sleep 3
+       if $INSTALL -p conftest.in conftest.out 2>/dev/null
+       then
+               if test -f conftest.out/conftest.in
+               then
+                       test conftest.in -nt conftest.out/conftest.in 2>conftest.err && \
+                       test conftest.out/conftest.in -nt conftest.in 2>conftest.err
+                       if test -s conftest.err
+                       then
+                               cf_cv_install_p=no
+                       else
+                               cf_cv_install_p=yes
+                       fi
+               else
+                       cf_cv_install_p=no
+               fi
+       else
+               cf_cv_install_p=no
+       fi
+       rm -rf conftest*
+])
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_INSTALL_OPT_S version: 2 updated: 2018/08/18 12:19:21
+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 (debug info) 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
@@ -3200,7 +3426,7 @@ AC_MSG_RESULT($cf_cv_have_isascii)
 test "$cf_cv_have_isascii" = yes && AC_DEFINE(HAVE_ISASCII,1,[Define to 1 if we have isascii()])
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_LARGEFILE version: 10 updated: 2017/01/21 11:06:25
+dnl CF_LARGEFILE version: 11 updated: 2018/06/20 20:23:13
 dnl ------------
 dnl Add checks for large file support.
 AC_DEFUN([CF_LARGEFILE],[
@@ -3216,9 +3442,18 @@ ifdef([AC_FUNC_FSEEKO],[
        # header files by themselves before looking at the body files it is
        # told to compile.  For ncurses, those header files do not include
        # the config.h
-       test "$ac_cv_sys_large_files"      != no && CPPFLAGS="$CPPFLAGS -D_LARGE_FILES "
-       test "$ac_cv_sys_largefile_source" != no && CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE "
-       test "$ac_cv_sys_file_offset_bits" != no && CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits "
+       if test "$ac_cv_sys_large_files" != no
+       then
+               CF_APPEND_TEXT(CPPFLAGS,-D_LARGE_FILES)
+       fi
+       if test "$ac_cv_sys_largefile_source" != no
+       then
+               CF_APPEND_TEXT(CPPFLAGS,-D_LARGEFILE_SOURCE)
+       fi
+       if test "$ac_cv_sys_file_offset_bits" != no
+       then
+               CF_APPEND_TEXT(CPPFLAGS,-D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits)
+       fi
 
        AC_CACHE_CHECK(whether to use struct dirent64, cf_cv_struct_dirent64,[
                AC_TRY_COMPILE([
@@ -3342,7 +3577,7 @@ AC_SUBST(LDFLAGS_STATIC)
 AC_SUBST(LDFLAGS_SHARED)
 ])
 dnl ---------------------------------------------------------------------------
-dnl CF_LD_RPATH_OPT version: 7 updated: 2016/02/20 18:01:19
+dnl CF_LD_RPATH_OPT version: 8 updated: 2018/08/18 16:36:35
 dnl ---------------
 dnl For the given system and compiler, find the compiler flags to pass to the
 dnl loader to use the "rpath" feature.
@@ -3351,49 +3586,52 @@ AC_DEFUN([CF_LD_RPATH_OPT],
 AC_REQUIRE([CF_CHECK_CACHE])
 
 LD_RPATH_OPT=
-AC_MSG_CHECKING(for an rpath option)
-case $cf_cv_system_name in
-(irix*)
-       if test "$GCC" = yes; then
+if test "x$cf_cv_enable_rpath" != xno
+then
+       AC_MSG_CHECKING(for an rpath option)
+       case $cf_cv_system_name in
+       (irix*)
+               if test "$GCC" = yes; then
+                       LD_RPATH_OPT="-Wl,-rpath,"
+               else
+                       LD_RPATH_OPT="-rpath "
+               fi
+               ;;
+       (linux*|gnu*|k*bsd*-gnu|freebsd*)
                LD_RPATH_OPT="-Wl,-rpath,"
-       else
+               ;;
+       (openbsd[[2-9]].*|mirbsd*)
+               LD_RPATH_OPT="-Wl,-rpath,"
+               ;;
+       (dragonfly*)
                LD_RPATH_OPT="-rpath "
-       fi
-       ;;
-(linux*|gnu*|k*bsd*-gnu|freebsd*)
-       LD_RPATH_OPT="-Wl,-rpath,"
-       ;;
-(openbsd[[2-9]].*|mirbsd*)
-       LD_RPATH_OPT="-Wl,-rpath,"
-       ;;
-(dragonfly*)
-       LD_RPATH_OPT="-rpath "
-       ;;
-(netbsd*)
-       LD_RPATH_OPT="-Wl,-rpath,"
-       ;;
-(osf*|mls+*)
-       LD_RPATH_OPT="-rpath "
-       ;;
-(solaris2*)
-       LD_RPATH_OPT="-R"
-       ;;
-(*)
-       ;;
-esac
-AC_MSG_RESULT($LD_RPATH_OPT)
+               ;;
+       (netbsd*)
+               LD_RPATH_OPT="-Wl,-rpath,"
+               ;;
+       (osf*|mls+*)
+               LD_RPATH_OPT="-rpath "
+               ;;
+       (solaris2*)
+               LD_RPATH_OPT="-R"
+               ;;
+       (*)
+               ;;
+       esac
+       AC_MSG_RESULT($LD_RPATH_OPT)
 
-case "x$LD_RPATH_OPT" in
-(x-R*)
-       AC_MSG_CHECKING(if we need a space after rpath option)
-       cf_save_LIBS="$LIBS"
-       CF_ADD_LIBS(${LD_RPATH_OPT}$libdir)
-       AC_TRY_LINK(, , cf_rpath_space=no, cf_rpath_space=yes)
-       LIBS="$cf_save_LIBS"
-       AC_MSG_RESULT($cf_rpath_space)
-       test "$cf_rpath_space" = yes && LD_RPATH_OPT="$LD_RPATH_OPT "
-       ;;
-esac
+       case "x$LD_RPATH_OPT" in
+       (x-R*)
+               AC_MSG_CHECKING(if we need a space after rpath option)
+               cf_save_LIBS="$LIBS"
+               CF_ADD_LIBS(${LD_RPATH_OPT}$libdir)
+               AC_TRY_LINK(, , cf_rpath_space=no, cf_rpath_space=yes)
+               LIBS="$cf_save_LIBS"
+               AC_MSG_RESULT($cf_rpath_space)
+               test "$cf_rpath_space" = yes && LD_RPATH_OPT="$LD_RPATH_OPT "
+               ;;
+       esac
+fi
 ])dnl
 dnl ---------------------------------------------------------------------------
 dnl CF_LIBRARY_PATH version: 10 updated: 2015/04/15 19:08:48
@@ -3458,7 +3696,7 @@ ifelse($1,,,[$1=$LIB_PREFIX])
        AC_SUBST(LIB_PREFIX)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_LIB_RULES version: 87 updated: 2017/07/26 17:08:35
+dnl CF_LIB_RULES version: 88 updated: 2018/08/18 12:19:21
 dnl ------------
 dnl Append definitions and rules for the given models to the subdirectory
 dnl Makefiles, and the recursion rule for the top-level Makefile.  If the
@@ -3794,6 +4032,7 @@ CF_EOF
                                ShlibVer=$cf_cv_shlib_version \
                                ShlibVerInfix=$cf_cv_shlib_version_infix \
                                ReLink=${cf_cv_do_relink:-no} \
+                               ReRanlib=${cf_cv_do_reranlib:-yes} \
                                DoLinks=$cf_cv_do_symlinks \
                                rmSoLocs=$cf_cv_rm_so_locs \
                                ldconfig="$LDCONFIG" \
@@ -4283,7 +4522,7 @@ int main(void)
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_MAKEFLAGS version: 17 updated: 2015/08/05 20:44:28
+dnl CF_MAKEFLAGS version: 18 updated: 2018/02/21 21:26:03
 dnl ------------
 dnl Some 'make' programs support ${MAKEFLAGS}, some ${MFLAGS}, to pass 'make'
 dnl options to lower-levels.  It's very useful for "make -n" -- if we have it.
@@ -4312,8 +4551,10 @@ CF_EOF
                        esac
                        break
                        ;;
-               (.-)    ;;
-               (*)     echo "given option \"$cf_option\", no match \"$cf_result\""
+               (.-)
+                       ;;
+               (*)
+                       CF_MSG_LOG(given option \"$cf_option\", no match \"$cf_result\")
                        ;;
                esac
        done
@@ -5234,7 +5475,7 @@ fi
 AC_SUBST(PKG_CONFIG)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_POSIX_C_SOURCE version: 9 updated: 2015/04/12 15:39:00
+dnl CF_POSIX_C_SOURCE version: 11 updated: 2018/12/31 20:46:17
 dnl -----------------
 dnl Define _POSIX_C_SOURCE to the given level, and _POSIX_SOURCE if needed.
 dnl
@@ -5249,7 +5490,10 @@ dnl
 dnl Parameters:
 dnl    $1 is the nominal value for _POSIX_C_SOURCE
 AC_DEFUN([CF_POSIX_C_SOURCE],
-[
+[AC_REQUIRE([CF_POSIX_VISIBLE])dnl
+
+if test "$cf_cv_posix_visible" = no; then
+
 cf_POSIX_C_SOURCE=ifelse([$1],,199506L,[$1])
 
 cf_save_CFLAGS="$CFLAGS"
@@ -5287,7 +5531,8 @@ make an error
         fi
         CF_MSG_LOG(ifdef from value $cf_POSIX_C_SOURCE)
         CFLAGS="$cf_trim_CFLAGS"
-        CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source"
+        CPPFLAGS="$cf_trim_CPPFLAGS"
+        CF_APPEND_TEXT(CPPFLAGS,$cf_cv_posix_c_source)
         CF_MSG_LOG(if the second compile does not leave our definition intact error)
         AC_TRY_COMPILE([#include <sys/types.h>],[
 #ifndef _POSIX_C_SOURCE
@@ -5305,6 +5550,35 @@ if test "$cf_cv_posix_c_source" != no ; then
        CF_ADD_CFLAGS($cf_cv_posix_c_source)
 fi
 
+fi # cf_cv_posix_visible
+
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_POSIX_VISIBLE version: 1 updated: 2018/12/31 20:46:17
+dnl ----------------
+dnl POSIX documents test-macros which an application may set before any system
+dnl headers are included to make features available.
+dnl
+dnl Some BSD platforms (originally FreeBSD, but copied by a few others)
+dnl diverged from POSIX in 2002 by setting symbols which make all of the most
+dnl recent features visible in the system header files unless the application
+dnl overrides the corresponding test-macros.  Doing that introduces portability
+dnl problems.
+dnl
+dnl This macro makes a special check for the symbols used for this, to avoid a
+dnl conflicting definition.
+AC_DEFUN([CF_POSIX_VISIBLE],
+[
+AC_CACHE_CHECK(if the POSIX test-macros are already defined,cf_cv_posix_visible,[
+AC_TRY_COMPILE([#include <stdio.h>],[
+#if defined(__POSIX_VISIBLE) && ((__POSIX_VISIBLE - 0L) > 0) \
+       && defined(__XSI_VISIBLE) && ((__XSI_VISIBLE - 0L) > 0) \
+       && defined(__BSD_VISIBLE) && ((__BSD_VISIBLE - 0L) > 0) \
+       && defined(__ISO_C_VISIBLE) && ((__ISO_C_VISIBLE - 0L) > 0)
+#error conflicting symbols found
+#endif
+],[cf_cv_posix_visible=no],[cf_cv_posix_visible=yes])
+])
 ])dnl
 dnl ---------------------------------------------------------------------------
 dnl CF_PREDEFINE version: 2 updated: 2010/05/26 16:44:57
@@ -5449,25 +5723,70 @@ AC_DEFUN([CF_PROG_EGREP],
        test -z "$EGREP" && AC_MSG_ERROR(No egrep program found)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_PROG_GNAT version: 3 updated: 2015/04/18 08:56:57
+dnl CF_PROG_GNAT version: 8 updated: 2018/11/10 19:47:04
 dnl ------------
 dnl Check for gnatmake, ensure that it is complete.
 AC_DEFUN([CF_PROG_GNAT],[
 cf_ada_make=gnatmake
-AC_CHECK_PROG(gnat_exists, $cf_ada_make, yes, no)
-if test "$ac_cv_prog_gnat_exists" = no; then
+cf_ada_config="#"
+AC_CHECK_PROG(gnatmake_exists, $cf_ada_make, yes, no)
+if test "$ac_cv_prog_gnatmake_exists" = no; then
        cf_ada_make=
        cf_cv_prog_gnat_correct=no
 else
-       CF_GNAT_VERSION
-       AC_CHECK_PROG(M4_exists, m4, yes, no)
-       if test "$ac_cv_prog_M4_exists" = no; then
-               cf_cv_prog_gnat_correct=no
-               echo Ada95 binding required program m4 not found. Ada95 binding disabled.
+       AC_CHECK_PROG(gprconfig_exists, gprconfig, yes, no)
+       if test "$ac_cv_prog_gprconfig_exists" = yes
+       then
+               rm -rf conftest* *~conftest*
+               if mkdir conftest.src
+               then
+                       cf_ada_config=""
+                       cd conftest.src
+                       for cf_gprconfig in Ada C
+                       do
+                               AC_MSG_CHECKING(for gprconfig name for $cf_gprconfig)
+                               if test $cf_gprconfig = C
+                               then
+                                       for cf_gprconfig_param in \
+                                               $cf_gprconfig,,,,GNATGCC \
+                                               $cf_gprconfig,,,,GCC \
+                                               $cf_gprconfig
+                                       do
+                                               cf_gprconfig_value=`echo s| gprconfig --config=$cf_gprconfig_param 2>&AC_FD_CC | ${AWK:-awk} '/^\*/{print [$]3;}' | head -n 1`
+                                               test -n "$cf_gprconfig_value" && break
+                                       done
+                               else
+                                       cf_gprconfig_param=$cf_gprconfig
+                                       cf_gprconfig_value=`echo s| gprconfig --config=$cf_gprconfig_param 2>&AC_FD_CC | ${AWK:-awk} '/^\*/{print [$]3;}' | head -n 1`
+                               fi
+                               if test -n "$cf_gprconfig_value"
+                               then
+                                       eval cf_ada_config_[$]cf_gprconfig=[$]cf_gprconfig_value
+                                       AC_MSG_RESULT($cf_gprconfig_value)
+                               else
+                                       AC_MSG_RESULT(missing)
+                                       cf_ada_config="#"
+                                       break
+                               fi
+                       done
+                       cd ..
+                       rm -rf conftest* *~conftest*
+               fi
+       else
+               # gprconfig is newer than gnatmake; we can continue...
+               cf_ada_config="##"
        fi
-       if test "$cf_cv_prog_gnat_correct" = yes; then
-               AC_MSG_CHECKING(if GNAT works)
-               CF_GNAT_TRY_RUN([procedure conftest;],
+       if test "x$cf_ada_config" != "x#"
+       then
+               CF_GNAT_VERSION
+               AC_CHECK_PROG(M4_exists, m4, yes, no)
+               if test "$ac_cv_prog_M4_exists" = no; then
+                       cf_cv_prog_gnat_correct=no
+                       echo Ada95 binding required program m4 not found. Ada95 binding disabled.
+               fi
+               if test "$cf_cv_prog_gnat_correct" = yes; then
+                       AC_MSG_CHECKING(if GNAT works)
+                       CF_GNAT_TRY_RUN([procedure conftest;],
 [with Text_IO;
 with GNAT.OS_Lib;
 procedure conftest is
@@ -5476,11 +5795,17 @@ begin
    Text_IO.New_Line;
    GNAT.OS_Lib.OS_Exit (0);
 end conftest;],[cf_cv_prog_gnat_correct=yes],[cf_cv_prog_gnat_correct=no])
-               AC_MSG_RESULT($cf_cv_prog_gnat_correct)
+                       AC_MSG_RESULT($cf_cv_prog_gnat_correct)
+               fi
+       else
+               cf_cv_prog_gnat_correct=no
        fi
 fi
 
 AC_SUBST(cf_ada_make)
+AC_SUBST(cf_ada_config)
+AC_SUBST(cf_ada_config_Ada)
+AC_SUBST(cf_ada_config_C)
 ])dnl
 dnl ---------------------------------------------------------------------------
 dnl CF_PROG_INSTALL version: 7 updated: 2015/04/18 08:56:57
@@ -5778,7 +6103,7 @@ CF_VERBOSE(...checked $1 [$]$1)
 AC_SUBST(EXTRA_LDFLAGS)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_SHARED_OPTS version: 92 updated: 2017/12/30 17:26:05
+dnl CF_SHARED_OPTS version: 93 updated: 2018/08/18 16:36:35
 dnl --------------
 dnl --------------
 dnl Attempt to determine the appropriate CC/LD options for creating a shared
@@ -5806,6 +6131,7 @@ dnl Some loaders leave 'so_locations' lying around.  It's nice to clean up.
 AC_DEFUN([CF_SHARED_OPTS],
 [
        AC_REQUIRE([CF_LD_RPATH_OPT])
+
        RM_SHARED_OPTS=
        LOCAL_LDFLAGS=
        LOCAL_LDFLAGS2=
@@ -5993,7 +6319,7 @@ CF_EOF
                cf_cv_rm_so_locs=yes
                ;;
        (linux*|gnu*|k*bsd*-gnu)
-               if test "$DFT_LWR_MODEL" = "shared" ; then
+               if test "$DFT_LWR_MODEL" = "shared" && test -n "$LD_RPATH_OPT" ; then
                        LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
                        LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
                fi
@@ -6031,7 +6357,7 @@ CF_EOF
                chmod +x mk_shared_lib.sh
                ;;
        (openbsd[[2-9]].*|mirbsd*)
-               if test "$DFT_LWR_MODEL" = "shared" ; then
+               if test "$DFT_LWR_MODEL" = "shared" && test -n "$LD_RPATH_OPT" ; then
                        LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
                        LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
                fi
@@ -6087,7 +6413,7 @@ CF_EOF
                        ;;
                esac
                MK_SHARED_LIB="${MK_SHARED_LIB}"' -o $[@]'
-               if test "$DFT_LWR_MODEL" = "shared" ; then
+               if test "$DFT_LWR_MODEL" = "shared" && test -n "$LD_RPATH_OPT" ; then
                        LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
                        LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
                fi
@@ -6332,10 +6658,11 @@ AC_MSG_RESULT($cf_cv_sig_atomic_t)
 test "$cf_cv_sig_atomic_t" != no && AC_DEFINE_UNQUOTED(SIG_ATOMIC_T, $cf_cv_sig_atomic_t,[Define to signal global datatype])
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_SIZECHANGE version: 11 updated: 2015/04/18 08:56:57
+dnl CF_SIZECHANGE version: 14 updated: 2018/06/20 20:23:13
 dnl -------------
 dnl Check for definitions & structures needed for window size-changing
-dnl FIXME: check that this works with "snake" (HP-UX 10.x)
+dnl
+dnl https://stackoverflow.com/questions/18878141/difference-between-structures-ttysize-and-winsize/50769952#50769952
 AC_DEFUN([CF_SIZECHANGE],
 [
 AC_REQUIRE([CF_STRUCT_TERMIOS])
@@ -6347,7 +6674,10 @@ for cf_opts in "" "NEED_PTEM_H"
 do
 
        CPPFLAGS="$cf_save_CPPFLAGS"
-       test -n "$cf_opts" && CPPFLAGS="$CPPFLAGS -D$cf_opts"
+       if test -n "$cf_opts"
+       then
+               CF_APPEND_TEXT(CPPFLAGS,-D$cf_opts)
+       fi
        AC_TRY_COMPILE([#include <sys/types.h>
 #ifdef HAVE_TERMIOS_H
 #include <termios.h>
@@ -6356,24 +6686,26 @@ do
 #include <termio.h>
 #endif
 #endif
+
 #ifdef NEED_PTEM_H
 /* This is a workaround for SCO:  they neglected to define struct winsize in
  * termios.h -- it's only in termio.h and ptem.h
  */
-#include        <sys/stream.h>
-#include        <sys/ptem.h>
+#include <sys/stream.h>
+#include <sys/ptem.h>
 #endif
-#if !defined(sun) || !defined(HAVE_TERMIOS_H)
+
+#ifdef HAVE_SYS_IOCTL_H
 #include <sys/ioctl.h>
 #endif
 ],[
 #ifdef TIOCGSIZE
-       struct ttysize win;     /* FIXME: what system is this? */
+       struct ttysize win;     /* SunOS 3.0... */
        int y = win.ts_lines;
        int x = win.ts_cols;
 #else
 #ifdef TIOCGWINSZ
-       struct winsize win;
+       struct winsize win;     /* everything else */
        int y = win.ws_row;
        int x = win.ws_col;
 #else
@@ -6393,7 +6725,7 @@ do
 done
 ])
 if test "$cf_cv_sizechange" != no ; then
-       AC_DEFINE(HAVE_SIZECHANGE,1,[Define to 1 if sizechar declarations are provided])
+       AC_DEFINE(HAVE_SIZECHANGE,1,[Define to 1 if sizechange declarations are provided])
        case $cf_cv_sizechange in
        (NEED*)
                AC_DEFINE_UNQUOTED($cf_cv_sizechange )
@@ -6612,7 +6944,7 @@ AC_MSG_RESULT($sigact_bad)
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_STRUCT_TERMIOS version: 8 updated: 2015/04/15 19:08:48
+dnl CF_STRUCT_TERMIOS version: 9 updated: 2018/06/08 21:57:23
 dnl -----------------
 dnl Some machines require _POSIX_SOURCE to completely define struct termios.
 AC_DEFUN([CF_STRUCT_TERMIOS],[
@@ -6622,11 +6954,10 @@ AC_CHECK_HEADERS( \
 termio.h \
 termios.h \
 unistd.h \
+sys/ioctl.h \
+sys/termio.h \
 )
 
-if test "$ISC" = yes ; then
-       AC_CHECK_HEADERS( sys/termio.h )
-fi
 if test "$ac_cv_header_termios_h" = yes ; then
        case "$CFLAGS $CPPFLAGS" in
        (*-D_POSIX_SOURCE*)
@@ -6751,7 +7082,34 @@ top_builddir=ifelse($1,,`pwd`,$1)
 AC_SUBST(top_builddir)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_TRY_XOPEN_SOURCE version: 1 updated: 2011/10/30 17:09:50
+dnl CF_TRY_PKG_CONFIG version: 5 updated: 2013/07/06 21:27:06
+dnl -----------------
+dnl This is a simple wrapper to use for pkg-config, for libraries which may be
+dnl available in that form.
+dnl
+dnl $1 = package name
+dnl $2 = extra logic to use, if any, after updating CFLAGS and LIBS
+dnl $3 = logic to use if pkg-config does not have the package
+AC_DEFUN([CF_TRY_PKG_CONFIG],[
+AC_REQUIRE([CF_PKG_CONFIG])
+
+if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists $1; then
+       CF_VERBOSE(found package $1)
+       cf_pkgconfig_incs="`$PKG_CONFIG --cflags $1 2>/dev/null`"
+       cf_pkgconfig_libs="`$PKG_CONFIG --libs   $1 2>/dev/null`"
+       CF_VERBOSE(package $1 CFLAGS: $cf_pkgconfig_incs)
+       CF_VERBOSE(package $1 LIBS: $cf_pkgconfig_libs)
+       CF_ADD_CFLAGS($cf_pkgconfig_incs)
+       CF_ADD_LIBS($cf_pkgconfig_libs)
+       ifelse([$2],,:,[$2])
+else
+       cf_pkgconfig_incs=
+       cf_pkgconfig_libs=
+       ifelse([$3],,:,[$3])
+fi
+])
+dnl ---------------------------------------------------------------------------
+dnl CF_TRY_XOPEN_SOURCE version: 2 updated: 2018/06/20 20:23:13
 dnl -------------------
 dnl If _XOPEN_SOURCE is not defined in the compile environment, check if we
 dnl can define it successfully.
@@ -6767,7 +7125,7 @@ make an error
 #endif],
        [cf_cv_xopen_source=no],
        [cf_save="$CPPFLAGS"
-        CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+        CF_APPEND_TEXT(CPPFLAGS,-D_XOPEN_SOURCE=$cf_XOPEN_SOURCE)
         AC_TRY_COMPILE([
 #include <stdlib.h>
 #include <string.h>
@@ -6908,10 +7266,11 @@ if test "$cf_cv_utf8_lib" = "add-on" ; then
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_VA_COPY version: 3 updated: 2012/10/06 11:17:15
+dnl CF_VA_COPY version: 6 updated: 2018/12/04 18:14:25
 dnl ----------
-dnl check for va_copy, part of stdarg.h
+dnl check for va_copy, part of stdarg.h starting with ISO C 1999.
 dnl Also, workaround for glibc's __va_copy, by checking for both.
+dnl Finally, try to accommodate pre-ISO C 1999 headers.
 AC_DEFUN([CF_VA_COPY],[
 AC_CACHE_CHECK(for va_copy, cf_cv_have_va_copy,[
 AC_TRY_LINK([
@@ -6923,7 +7282,10 @@ AC_TRY_LINK([
        cf_cv_have_va_copy=yes,
        cf_cv_have_va_copy=no)])
 
-test "$cf_cv_have_va_copy" = yes && AC_DEFINE(HAVE_VA_COPY,1,[Define to 1 if we have va_copy])
+if test "$cf_cv_have_va_copy" = yes;
+then
+       AC_DEFINE(HAVE_VA_COPY,1,[Define to 1 if we have va_copy])
+else # !cf_cv_have_va_copy
 
 AC_CACHE_CHECK(for __va_copy, cf_cv_have___va_copy,[
 AC_TRY_LINK([
@@ -6935,7 +7297,58 @@ AC_TRY_LINK([
        cf_cv_have___va_copy=yes,
        cf_cv_have___va_copy=no)])
 
-test "$cf_cv_have___va_copy" = yes && AC_DEFINE(HAVE___VA_COPY,1,[Define to 1 if we have __va_copy])
+if test "$cf_cv_have___va_copy" = yes
+then
+       AC_DEFINE(HAVE___VA_COPY,1,[Define to 1 if we have __va_copy])
+else # !cf_cv_have___va_copy
+
+AC_CACHE_CHECK(for __builtin_va_copy, cf_cv_have___builtin_va_copy,[
+AC_TRY_LINK([
+#include <stdarg.h>
+],[
+       static va_list dst;
+       static va_list src;
+       __builtin_va_copy(dst, src)],
+       cf_cv_have___builtin_va_copy=yes,
+       cf_cv_have___builtin_va_copy=no)])
+
+test "$cf_cv_have___builtin_va_copy" = yes &&
+       AC_DEFINE(HAVE___BUILTIN_VA_COPY,1,[Define to 1 if we have __builtin_va_copy])
+
+fi # cf_cv_have___va_copy
+
+fi # cf_cv_have_va_copy
+
+case "${cf_cv_have_va_copy}${cf_cv_have___va_copy}${cf_cv_have___builtin_va_copy}" in
+(*yes*)
+       ;;
+
+(*)
+       AC_CACHE_CHECK(if we can simply copy va_list, cf_cv_pointer_va_list,[
+AC_TRY_LINK([
+#include <stdarg.h>
+],[
+       va_list dst;
+       va_list src;
+       dst = src],
+       cf_cv_pointer_va_list=yes,
+       cf_cv_pointer_va_list=no)])
+
+       if test "$cf_cv_pointer_va_list" = no
+       then
+               AC_CACHE_CHECK(if we can copy va_list indirectly, cf_cv_array_va_list,[
+AC_TRY_LINK([
+#include <stdarg.h>
+],[
+       va_list dst;
+       va_list src;
+       *dst = *src],
+                       cf_cv_array_va_list=yes,
+                       cf_cv_array_va_list=no)])
+               test "$cf_cv_array_va_list" = yes && AC_DEFINE(ARRAY_VA_LIST,1,[Define to 1 if we can copy va_list indirectly])
+       fi
+       ;;
+esac
 ])
 dnl ---------------------------------------------------------------------------
 dnl CF_VERBOSE version: 3 updated: 2007/07/29 09:55:12
@@ -7182,11 +7595,12 @@ AC_SUBST(ADA_OBJECTS)
 AC_MSG_RESULT($ADA_OBJECTS)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_WITH_ADA_SHAREDLIB version: 4 updated: 2014/05/31 21:08:37
+dnl CF_WITH_ADA_SHAREDLIB version: 5 updated: 2018/07/21 19:10:35
 dnl ---------------------
 dnl Command-line option to specify if an Ada95 shared-library should be built,
 dnl and optionally what its soname should be.
 AC_DEFUN([CF_WITH_ADA_SHAREDLIB],[
+AC_REQUIRE([CF_GNAT_PROJECTS])
 AC_MSG_CHECKING(if an Ada95 shared-library should be built)
 AC_ARG_WITH(ada-sharedlib,
        [  --with-ada-sharedlib=soname build shared-library (requires GNAT projects)],
@@ -7194,6 +7608,15 @@ AC_ARG_WITH(ada-sharedlib,
        [with_ada_sharedlib=no])
 AC_MSG_RESULT($with_ada_sharedlib)
 
+if test "x$with_ada_sharedlib" != xno
+then
+       if test "x$cf_gnat_projects" != xyes
+       then
+               AC_MSG_WARN(disabling shared-library since GNAT projects are not supported)
+               with_ada_sharedlib=no
+       fi
+fi
+
 ADA_SHAREDLIB='lib$(LIB_NAME).so.1'
 MAKE_ADA_SHAREDLIB="#"
 
@@ -7565,6 +7988,48 @@ case "x$cf_dst_eval" in
 esac
 AC_SUBST($3)dnl
 
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_WITH_PCRE2 version: 2 updated: 2018/07/14 16:47:56
+dnl -------------
+dnl Add PCRE2 (Perl-compatible regular expressions v2) to the build if it is
+dnl available and the user requests it.  Assume the application will otherwise
+dnl use the POSIX interface.
+dnl
+dnl TODO allow $withval to specify package location
+AC_DEFUN([CF_WITH_PCRE2],
+[
+AC_REQUIRE([CF_PKG_CONFIG])
+
+AC_MSG_CHECKING(if you want to use PCRE2 for regular-expressions)
+AC_ARG_WITH(pcre2,
+       [  --with-pcre2            use PCRE2 for regular-expressions])
+test -z "$with_pcre2" && with_pcre2=no
+AC_MSG_RESULT($with_pcre2)
+
+if test "x$with_pcre2" != xno ; then
+       CF_TRY_PKG_CONFIG(libpcre2,,[
+       CF_TRY_PKG_CONFIG(libpcre,,[
+                       AC_MSG_ERROR(Cannot find PCRE2 library)])])
+
+       AC_DEFINE(HAVE_LIB_PCRE2,1,[Define to 1 if we can/should compile with the PCRE2 library])
+
+       # if pkgconfig gave no results, look for the libraries directly
+       case $LIBS in
+       (*pcre2-posix*|*pcreposix*)
+               ;;
+       (*)
+               AC_CHECK_LIB(pcre2-posix,regcomp,[
+                       CF_ADD_LIB(pcre2-posix)],
+                       [AC_CHECK_LIB(pcreposix,regcomp,[
+                        CF_ADD_LIB(pcreposix)
+                       ],[AC_MSG_ERROR(Cannot find PCRE2 POSIX library)])])
+               ;;
+       esac
+
+       # either way, check for the library header files
+       AC_CHECK_HEADERS(pcre2-posix.h pcreposix.h)
+fi
 ])dnl
 dnl ---------------------------------------------------------------------------
 dnl CF_WITH_PKG_CONFIG_LIBDIR version: 10 updated: 2015/08/22 17:10:56
@@ -7773,7 +8238,7 @@ CF_NO_LEAKS_OPTION(valgrind,
        [USE_VALGRIND])
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_WITH_VERSIONED_SYMS version: 7 updated: 2015/10/24 20:50:26
+dnl CF_WITH_VERSIONED_SYMS version: 8 updated: 2018/10/20 20:24:34
 dnl ----------------------
 dnl Use this when building shared library with ELF, to markup symbols with the
 dnl version identifier from the given input file.  Generally that identifier is
@@ -7787,11 +8252,21 @@ AC_ARG_WITH(versioned-syms,
        [  --with-versioned-syms=X markup versioned symbols using ld],
        [with_versioned_syms=$withval],
        [with_versioned_syms=no])
-if test "x$with_versioned_syms" = xyes
-then
+case "x$with_versioned_syms" in
+(xyes)
        with_versioned_syms='${top_srcdir}/package/ifelse($1,,${PACKAGE},[$1]).map'
        AC_SUBST(PACKAGE)
-fi
+       ;;
+(xno)
+       ;;
+(x/*)
+       test -f "$with_versioned_syms" || AC_MSG_ERROR(expected a filename: $with_versioned_syms)
+       ;;
+(*)
+       test -f "$with_versioned_syms" || AC_MSG_ERROR(expected a filename: $with_versioned_syms)
+       with_versioned_syms=`pwd`/"$with_versioned_syms"
+       ;;
+esac
 AC_MSG_RESULT($with_versioned_syms)
 
 RESULTING_SYMS=
@@ -7986,7 +8461,7 @@ fi
 AC_SUBST(no_x11_rgb)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_XOPEN_SOURCE version: 52 updated: 2016/08/27 12:21:42
+dnl CF_XOPEN_SOURCE version: 55 updated: 2018/12/31 20:46:17
 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,
@@ -7997,6 +8472,9 @@ dnl       $1 is the nominal value for _XOPEN_SOURCE
 dnl    $2 is the nominal value for _POSIX_C_SOURCE
 AC_DEFUN([CF_XOPEN_SOURCE],[
 AC_REQUIRE([AC_CANONICAL_HOST])
+AC_REQUIRE([CF_POSIX_VISIBLE])
+
+if test "$cf_cv_posix_visible" = no; then
 
 cf_XOPEN_SOURCE=ifelse([$1],,500,[$1])
 cf_POSIX_C_SOURCE=ifelse([$2],,199506L,[$2])
@@ -8016,7 +8494,7 @@ case $host_os in
        cf_xopen_source="-D_DARWIN_C_SOURCE"
        cf_XOPEN_SOURCE=
        ;;
-(freebsd*|dragonfly*)
+(freebsd*|dragonfly*|midnightbsd*)
        # 5.x headers associate
        #       _XOPEN_SOURCE=600 with _POSIX_C_SOURCE=200112L
        #       _XOPEN_SOURCE=500 with _POSIX_C_SOURCE=199506L
@@ -8035,7 +8513,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...
@@ -8111,4 +8589,5 @@ make an error
                CF_TRY_XOPEN_SOURCE
        fi
 fi
+fi # cf_cv_posix_visible
 ])