]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - Ada95/aclocal.m4
ncurses 6.1 - patch 20191130
[ncurses.git] / Ada95 / aclocal.m4
index 63b5e372aa4dfba9de2293bb0cf8f846a69032e7..32450408ff609e528b10d9e4c3ae91b791e7d06c 100644 (file)
@@ -1,5 +1,5 @@
 dnl***************************************************************************
-dnl Copyright (c) 2010 Free Software Foundation, Inc.                        *
+dnl Copyright (c) 2010-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,18 +28,44 @@ dnl***************************************************************************
 dnl
 dnl Author: Thomas E. Dickey
 dnl
-dnl $Id: aclocal.m4,v 1.9 2010/06/12 18:59:22 tom Exp $
+dnl $Id: aclocal.m4,v 1.147 2019/11/02 20:56:52 tom Exp $
 dnl Macros used in NCURSES Ada95 auto-configuration script.
 dnl
 dnl These macros are maintained separately from NCURSES.  The copyright on
 dnl this file applies to the aggregation of macros and does not affect use of
 dnl these macros in other applications.
 dnl
-dnl See http://invisible-island.net/autoconf/ for additional information.
+dnl See https://invisible-island.net/autoconf/ for additional information.
 dnl
 dnl ---------------------------------------------------------------------------
 dnl ---------------------------------------------------------------------------
-dnl CF_ADA_INCLUDE_DIRS version: 6 updated: 2010/02/26 19:52:07
+dnl CF_ACVERSION_CHECK version: 5 updated: 2014/06/04 19:11:49
+dnl ------------------
+dnl Conditionally generate script according to whether we're using a given autoconf.
+dnl
+dnl $1 = version to compare against
+dnl $2 = code to use if AC_ACVERSION is at least as high as $1.
+dnl $3 = code to use if AC_ACVERSION is older than $1.
+define([CF_ACVERSION_CHECK],
+[
+ifdef([AC_ACVERSION], ,[ifdef([AC_AUTOCONF_VERSION],[m4_copy([AC_AUTOCONF_VERSION],[AC_ACVERSION])],[m4_copy([m4_PACKAGE_VERSION],[AC_ACVERSION])])])dnl
+ifdef([m4_version_compare],
+[m4_if(m4_version_compare(m4_defn([AC_ACVERSION]), [$1]), -1, [$3], [$2])],
+[CF_ACVERSION_COMPARE(
+AC_PREREQ_CANON(AC_PREREQ_SPLIT([$1])),
+AC_PREREQ_CANON(AC_PREREQ_SPLIT(AC_ACVERSION)), AC_ACVERSION, [$2], [$3])])])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_ACVERSION_COMPARE version: 3 updated: 2012/10/03 18:39:53
+dnl --------------------
+dnl CF_ACVERSION_COMPARE(MAJOR1, MINOR1, TERNARY1,
+dnl                      MAJOR2, MINOR2, TERNARY2,
+dnl                      PRINTABLE2, not FOUND, FOUND)
+define([CF_ACVERSION_COMPARE],
+[ifelse(builtin([eval], [$2 < $5]), 1,
+[ifelse([$8], , ,[$8])],
+[ifelse([$9], , ,[$9])])])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_ADA_INCLUDE_DIRS version: 8 updated: 2013/10/14 04:24:07
 dnl -------------------
 dnl Construct the list of include-options for the C programs in the Ada95
 dnl binding.
@@ -53,7 +79,7 @@ if test "$GCC" != yes; then
        ACPPFLAGS="$ACPPFLAGS -I\${includedir}"
 elif test "$includedir" != "/usr/include"; then
        if test "$includedir" = '${prefix}/include' ; then
-               if test $prefix != /usr ; then
+               if test x$prefix != x/usr ; then
                        ACPPFLAGS="$ACPPFLAGS -I\${includedir}"
                fi
        else
@@ -63,7 +89,15 @@ fi
 AC_SUBST(ACPPFLAGS)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_ADD_CFLAGS version: 10 updated: 2010/05/26 05:38:42
+dnl CF_ADD_ADAFLAGS version: 1 updated: 2010/06/19 15:22:18
+dnl ---------------
+dnl Add to $ADAFLAGS, which is substituted into makefile and scripts.
+AC_DEFUN([CF_ADD_ADAFLAGS],[
+       ADAFLAGS="$ADAFLAGS $1"
+       AC_SUBST(ADAFLAGS)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_ADD_CFLAGS version: 13 updated: 2017/02/25 18:57:40
 dnl -------------
 dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS
 dnl The second parameter if given makes this macro verbose.
@@ -81,51 +115,51 @@ cf_new_extra_cppflags=
 for cf_add_cflags in $1
 do
 case $cf_fix_cppflags in
-no)
-       case $cf_add_cflags in #(vi
-       -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
+(no)
+       case $cf_add_cflags in
+       (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C)
                case $cf_add_cflags in
-               -D*)
+               (-D*)
                        cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[[^=]]*='\''\"[[^"]]*//'`
 
-                       test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+                       test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
                                && test -z "${cf_tst_cflags}" \
                                && cf_fix_cppflags=yes
 
                        if test $cf_fix_cppflags = yes ; then
-                               cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+                               CF_APPEND_TEXT(cf_new_extra_cppflags,$cf_add_cflags)
                                continue
                        elif test "${cf_tst_cflags}" = "\"'" ; then
-                               cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+                               CF_APPEND_TEXT(cf_new_extra_cppflags,$cf_add_cflags)
                                continue
                        fi
                        ;;
                esac
                case "$CPPFLAGS" in
-               *$cf_add_cflags) #(vi
+               (*$cf_add_cflags)
                        ;;
-               *) #(vi
-                       case $cf_add_cflags in #(vi
-                       -D*)
+               (*)
+                       case $cf_add_cflags in
+                       (-D*)
                                cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
                                CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,$cf_tst_cppflags)
                                ;;
                        esac
-                       cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
+                       CF_APPEND_TEXT(cf_new_cppflags,$cf_add_cflags)
                        ;;
                esac
                ;;
-       *)
-               cf_new_cflags="$cf_new_cflags $cf_add_cflags"
+       (*)
+               CF_APPEND_TEXT(cf_new_cflags,$cf_add_cflags)
                ;;
        esac
        ;;
-yes)
-       cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
+(yes)
+       CF_APPEND_TEXT(cf_new_extra_cppflags,$cf_add_cflags)
 
        cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[[^"]]*"'\''//'`
 
-       test "${cf_add_cflags}" != "${cf_tst_cflags}" \
+       test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
                && test -z "${cf_tst_cflags}" \
                && cf_fix_cppflags=no
        ;;
@@ -134,24 +168,24 @@ done
 
 if test -n "$cf_new_cflags" ; then
        ifelse([$2],,,[CF_VERBOSE(add to \$CFLAGS $cf_new_cflags)])
-       CFLAGS="$CFLAGS $cf_new_cflags"
+       CF_APPEND_TEXT(CFLAGS,$cf_new_cflags)
 fi
 
 if test -n "$cf_new_cppflags" ; then
        ifelse([$2],,,[CF_VERBOSE(add to \$CPPFLAGS $cf_new_cppflags)])
-       CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
+       CF_APPEND_TEXT(CPPFLAGS,$cf_new_cppflags)
 fi
 
 if test -n "$cf_new_extra_cppflags" ; then
        ifelse([$2],,,[CF_VERBOSE(add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags)])
-       EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
+       CF_APPEND_TEXT(EXTRA_CPPFLAGS,$cf_new_extra_cppflags)
 fi
 
 AC_SUBST(EXTRA_CPPFLAGS)
 
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_ADD_INCDIR version: 13 updated: 2010/05/26 16:44:57
+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,
@@ -182,7 +216,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")],
                                  [],
@@ -202,6 +236,8 @@ if test -n "$1" ; then
                else
                  break
                fi
+         else
+               break
          fi
        done
   done
@@ -216,7 +252,7 @@ dnl $1 = library to add, without the "-l"
 dnl $2 = variable to update (default $LIBS)
 AC_DEFUN([CF_ADD_LIB],[CF_ADD_LIBS(-l$1,ifelse($2,,LIBS,[$2]))])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_ADD_LIBDIR version: 9 updated: 2010/05/26 16:44:57
+dnl CF_ADD_LIBDIR version: 10 updated: 2015/04/18 08:56:57
 dnl -------------
 dnl    Adds to the library-path
 dnl
@@ -228,39 +264,57 @@ dnl
 AC_DEFUN([CF_ADD_LIBDIR],
 [
 if test -n "$1" ; then
-  for cf_add_libdir in $1
-  do
-    if test $cf_add_libdir = /usr/lib ; then
-      :
-    elif test -d $cf_add_libdir
-    then
-      cf_have_libdir=no
-      if test -n "$LDFLAGS$LIBS" ; then
-        # a loop is needed to ensure we can add subdirs of existing dirs
-        for cf_test_libdir in $LDFLAGS $LIBS ; do
-          if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
-            cf_have_libdir=yes; break
-          fi
-        done
-      fi
-      if test "$cf_have_libdir" = no ; then
-        CF_VERBOSE(adding $cf_add_libdir to library-path)
-        ifelse([$2],,LDFLAGS,[$2])="-L$cf_add_libdir $ifelse([$2],,LDFLAGS,[$2])"
-      fi
-    fi
-  done
+       for cf_add_libdir in $1
+       do
+               if test $cf_add_libdir = /usr/lib ; then
+                       :
+               elif test -d $cf_add_libdir
+               then
+                       cf_have_libdir=no
+                       if test -n "$LDFLAGS$LIBS" ; then
+                               # a loop is needed to ensure we can add subdirs of existing dirs
+                               for cf_test_libdir in $LDFLAGS $LIBS ; do
+                                       if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
+                                               cf_have_libdir=yes; break
+                                       fi
+                               done
+                       fi
+                       if test "$cf_have_libdir" = no ; then
+                               CF_VERBOSE(adding $cf_add_libdir to library-path)
+                               ifelse([$2],,LDFLAGS,[$2])="-L$cf_add_libdir $ifelse([$2],,LDFLAGS,[$2])"
+                       fi
+               fi
+       done
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_ADD_LIBS version: 1 updated: 2010/06/02 05:03:05
+dnl CF_ADD_LIBS version: 3 updated: 2019/11/02 16:47:33
 dnl -----------
-dnl Add one or more libraries, used to enforce consistency.
+dnl Add one or more libraries, used to enforce consistency.  Libraries are
+dnl prepended to an existing list, since their dependencies are assumed to
+dnl already exist in the list.
 dnl
 dnl $1 = libraries to add, with the "-l", etc.
 dnl $2 = variable to update (default $LIBS)
-AC_DEFUN([CF_ADD_LIBS],[ifelse($2,,LIBS,[$2])="$1 [$]ifelse($2,,LIBS,[$2])"])dnl
+AC_DEFUN([CF_ADD_LIBS],[
+cf_add_libs="[$]ifelse($2,,LIBS,[$2])"
+# reverse order
+cf_add_0lib=
+for cf_add_1lib in $1; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done
+# filter duplicates
+for cf_add_1lib in $cf_add_0lib; do
+       for cf_add_2lib in $cf_add_libs; do
+               if test "x$cf_add_1lib" = "x$cf_add_2lib"; then
+                       cf_add_1lib=
+                       break
+               fi
+       done
+       test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs"
+done
+ifelse($2,,LIBS,[$2])="$cf_add_libs"
+])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_ADD_SUBDIR_PATH version: 2 updated: 2007/07/29 10:12:59
+dnl CF_ADD_SUBDIR_PATH version: 4 updated: 2013/10/08 17:47:05
 dnl ------------------
 dnl Append to a search-list for a nonstandard header/lib-file
 dnl    $1 = the variable to return as result
@@ -270,9 +324,9 @@ dnl $4 = the directory under which we will test for subdirectories
 dnl $5 = a directory that we do not want $4 to match
 AC_DEFUN([CF_ADD_SUBDIR_PATH],
 [
-test "$4" != "$5" && \
+test "x$4" != "x$5" && \
 test -d "$4" && \
-ifelse([$5],NONE,,[(test $5 = NONE || test -d $5) &&]) {
+ifelse([$5],NONE,,[(test -z "$5" || test x$5 = xNONE || test "x$4" != "x$5") &&]) {
        test -n "$verbose" && echo "    ... testing for $3-directories under $4"
        test -d $4/$3 &&          $1="[$]$1 $4/$3"
        test -d $4/$3/$2 &&       $1="[$]$1 $4/$3/$2"
@@ -282,85 +336,58 @@ ifelse([$5],NONE,,[(test $5 = NONE || test -d $5) &&]) {
 }
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_ANSI_CC_CHECK version: 9 updated: 2001/12/30 17:53:34
-dnl ----------------
-dnl This is adapted from the macros 'fp_PROG_CC_STDC' and 'fp_C_PROTOTYPES'
-dnl in the sharutils 4.2 distribution.
-AC_DEFUN([CF_ANSI_CC_CHECK],
-[
-AC_CACHE_CHECK(for ${CC-cc} option to accept ANSI C, cf_cv_ansi_cc,[
-cf_cv_ansi_cc=no
-cf_save_CFLAGS="$CFLAGS"
-cf_save_CPPFLAGS="$CPPFLAGS"
-# Don't try gcc -ansi; that turns off useful extensions and
-# breaks some systems' header files.
-# AIX                  -qlanglvl=ansi
-# Ultrix and OSF/1     -std1
-# HP-UX                        -Aa -D_HPUX_SOURCE
-# SVR4                 -Xc
-# UnixWare 1.2         (cannot use -Xc, since ANSI/POSIX clashes)
-for cf_arg in "-DCC_HAS_PROTOS" \
-       "" \
-       -qlanglvl=ansi \
-       -std1 \
-       -Ae \
-       "-Aa -D_HPUX_SOURCE" \
-       -Xc
-do
-       CF_ADD_CFLAGS($cf_arg)
-       AC_TRY_COMPILE(
+dnl CF_APPEND_TEXT version: 1 updated: 2017/02/25 18:58:55
+dnl --------------
+dnl use this macro for appending text without introducing an extra blank at
+dnl the beginning
+define([CF_APPEND_TEXT],
 [
-#ifndef CC_HAS_PROTOS
-#if !defined(__STDC__) || (__STDC__ != 1)
-choke me
-#endif
-#endif
-],[
-       int test (int i, double x);
-       struct s1 {int (*f) (int a);};
-       struct s2 {int (*f) (double a);};],
-       [cf_cv_ansi_cc="$cf_arg"; break])
-done
-CFLAGS="$cf_save_CFLAGS"
-CPPFLAGS="$cf_save_CPPFLAGS"
-])
-
-if test "$cf_cv_ansi_cc" != "no"; then
-if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then
-       CF_ADD_CFLAGS($cf_cv_ansi_cc)
-else
-       AC_DEFINE(CC_HAS_PROTOS)
-fi
-fi
+       test -n "[$]$1" && $1="[$]$1 "
+       $1="[$]{$1}$2"
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_ANSI_CC_REQD version: 4 updated: 2008/03/23 14:48:54
-dnl ---------------
-dnl For programs that must use an ANSI compiler, obtain compiler options that
-dnl will make it recognize prototypes.  We'll do preprocessor checks in other
-dnl macros, since tools such as unproto can fake prototypes, but only part of
-dnl the preprocessor.
-AC_DEFUN([CF_ANSI_CC_REQD],
-[AC_REQUIRE([CF_ANSI_CC_CHECK])
-if test "$cf_cv_ansi_cc" = "no"; then
-       AC_MSG_ERROR(
-[Your compiler does not appear to recognize prototypes.
-You have the following choices:
-       a. adjust your compiler options
-       b. get an up-to-date compiler
-       c. use a wrapper such as unproto])
-fi
-])dnl
-dnl ---------------------------------------------------------------------------
-dnl CF_AR_FLAGS version: 5 updated: 2010/05/20 20:24:29
+dnl CF_ARG_DISABLE version: 3 updated: 1999/03/30 17:24:31
+dnl --------------
+dnl Allow user to disable a normally-on option.
+AC_DEFUN([CF_ARG_DISABLE],
+[CF_ARG_OPTION($1,[$2],[$3],[$4],yes)])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_ARG_OPTION version: 5 updated: 2015/05/10 19:52:14
+dnl -------------
+dnl Restricted form of AC_ARG_ENABLE that ensures user doesn't give bogus
+dnl values.
+dnl
+dnl Parameters:
+dnl $1 = option name
+dnl $2 = help-string
+dnl $3 = action to perform if option is not default
+dnl $4 = action if perform if option is default
+dnl $5 = default option value (either 'yes' or 'no')
+AC_DEFUN([CF_ARG_OPTION],
+[AC_ARG_ENABLE([$1],[$2],[test "$enableval" != ifelse([$5],no,yes,no) && enableval=ifelse([$5],no,no,yes)
+       if test "$enableval" != "$5" ; then
+ifelse([$3],,[    :]dnl
+,[    $3]) ifelse([$4],,,[
+       else
+               $4])
+       fi],[enableval=$5 ifelse([$4],,,[
+       $4
+])dnl
+])])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_AR_FLAGS version: 6 updated: 2015/10/10 15:25:05
 dnl -----------
 dnl Check for suitable "ar" (archiver) options for updating an archive.
+dnl
+dnl In particular, handle some obsolete cases where the "-" might be omitted,
+dnl as well as a workaround for breakage of make's archive rules by the GNU
+dnl binutils "ar" program.
 AC_DEFUN([CF_AR_FLAGS],[
 AC_REQUIRE([CF_PROG_AR])
 
 AC_CACHE_CHECK(for options to update archives, cf_cv_ar_flags,[
        cf_cv_ar_flags=unknown
-       for cf_ar_flags in -curv curv -crv crv -cqv cqv -rv rv
+       for cf_ar_flags in -curvU -curv curv -crv crv -cqv cqv -rv rv
        do
 
                # check if $ARFLAGS already contains this choice
@@ -405,7 +432,7 @@ fi
 AC_SUBST(ARFLAGS)
 ])
 dnl ---------------------------------------------------------------------------
-dnl CF_BUILD_CC version: 6 updated: 2006/10/14 15:23:15
+dnl CF_BUILD_CC version: 8 updated: 2018/01/04 20:31:04
 dnl -----------
 dnl If we're cross-compiling, allow the user to override the tools and their
 dnl options.  The configure script is oriented toward identifying the host
@@ -415,7 +442,8 @@ dnl
 dnl $1 = default for $CPPFLAGS
 dnl $2 = default for $LIBS
 AC_DEFUN([CF_BUILD_CC],[
-AC_REQUIRE([CF_PROG_EXT])
+CF_ACVERSION_CHECK(2.52,,
+       [AC_REQUIRE([CF_PROG_EXT])])
 if test "$cross_compiling" = yes ; then
 
        # defaults that we might want to override
@@ -429,7 +457,7 @@ if test "$cross_compiling" = yes ; then
        AC_ARG_WITH(build-cc,
                [  --with-build-cc=XXX     the build C compiler ($BUILD_CC)],
                [BUILD_CC="$withval"],
-               [AC_CHECK_PROGS(BUILD_CC, gcc cc cl)])
+               [AC_CHECK_PROGS(BUILD_CC, [gcc clang c99 c89 cc cl],none)])
        AC_MSG_CHECKING(for native build C compiler)
        AC_MSG_RESULT($BUILD_CC)
 
@@ -496,7 +524,71 @@ AC_SUBST(BUILD_EXEEXT)
 AC_SUBST(BUILD_OBJEXT)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_CFG_DEFAULTS version: 7 updated: 2005/09/24 16:15:00
+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
+dnl with options, but eliminates a more common category of user confusion.
+dnl
+dnl In particular, it addresses the problem of being able to run the C
+dnl preprocessor in a consistent manner.
+dnl
+dnl Caveat: this also disallows blanks in the pathname for the compiler, but
+dnl the nuisance of having inconsistent settings for compiler and preprocessor
+dnl outweighs that limitation.
+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 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))); }'`
+       CC="$cf_prog"
+       for cf_arg in $cf_flags
+       do
+               case "x$cf_arg" in
+               (x-[[IUDfgOW]]*)
+                       CF_ADD_CFLAGS($cf_arg)
+                       ;;
+               (*)
+                       CC="$CC $cf_arg"
+                       ;;
+               esac
+       done
+       CF_VERBOSE(resulting CC: '$CC')
+       CF_VERBOSE(resulting CFLAGS: '$CFLAGS')
+       CF_VERBOSE(resulting CPPFLAGS: '$CPPFLAGS')
+       ;;
+(*)
+       AC_MSG_RESULT(ok)
+       ;;
+esac
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_CFG_DEFAULTS version: 11 updated: 2015/04/17 21:13:04
 dnl ---------------
 dnl Determine the default configuration into which we'll install ncurses.  This
 dnl can be overridden by the user's command-line options.  There's two items to
@@ -514,10 +606,10 @@ AC_MSG_CHECKING(for prefix)
 if test "x$prefix" = "xNONE" ; then
        case "$cf_cv_system_name" in
                # non-vendor systems don't have a conflict
-       openbsd*|freebsd*|linux*|cygwin*|k*bsd*-gnu)
+       (openbsd*|freebsd*|mirbsd*|linux*|cygwin*|msys*|k*bsd*-gnu|mingw*)
                prefix=/usr
                ;;
-       *)      prefix=$ac_default_prefix
+       (*)     prefix=$ac_default_prefix
                ;;
        esac
 fi
@@ -550,7 +642,7 @@ AC_MSG_RESULT($includedir)
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_CHECK_CACHE version: 11 updated: 2008/03/23 14:45:59
+dnl CF_CHECK_CACHE version: 12 updated: 2012/10/02 20:55:03
 dnl --------------
 dnl Check if we're accidentally using a cache from a different machine.
 dnl Derive the system name, as a check for reusing the autoconf cache.
@@ -573,7 +665,7 @@ else
                system_name="`(hostname) 2>/dev/null`"
        fi
 fi
-test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name")
+test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name",[Define to the system name.])
 AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"])
 
 test -z "$system_name" && system_name="$cf_cv_system_name"
@@ -585,7 +677,110 @@ if test ".$system_name" != ".$cf_cv_system_name" ; then
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_CURSES_HEADER version: 2 updated: 2010/04/28 06:02:16
+dnl CF_CHECK_GNAT_VERSION version: 1 updated: 2019/09/21 18:08:42
+dnl ---------------------
+AC_DEFUN([CF_CHECK_GNAT_VERSION],
+[
+AC_REQUIRE([CF_GNAT_VERSION])
+case $cf_gnat_version in
+(3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*|20[[0-9]][[0-9]])
+       cf_cv_prog_gnat_correct=yes
+       ;;
+(*)
+       AC_MSG_WARN(Unsupported GNAT version $cf_gnat_version. We require 3.11 or better. Disabling Ada95 binding.)
+       cf_cv_prog_gnat_correct=no
+       ;;
+esac
+])
+dnl ---------------------------------------------------------------------------
+dnl CF_CLANG_COMPILER version: 2 updated: 2013/11/19 19:23:35
+dnl -----------------
+dnl Check if the given compiler is really clang.  clang's C driver defines
+dnl __GNUC__ (fooling the configure script into setting $GCC to yes) but does
+dnl not ignore some gcc options.
+dnl
+dnl This macro should be run "soon" after AC_PROG_CC or AC_PROG_CPLUSPLUS, to
+dnl ensure that it is not mistaken for gcc/g++.  It is normally invoked from
+dnl the wrappers for gcc and g++ warnings.
+dnl
+dnl $1 = GCC (default) or GXX
+dnl $2 = CLANG_COMPILER (default)
+dnl $3 = CFLAGS (default) or CXXFLAGS
+AC_DEFUN([CF_CLANG_COMPILER],[
+ifelse([$2],,CLANG_COMPILER,[$2])=no
+
+if test "$ifelse([$1],,[$1],GCC)" = yes ; then
+       AC_MSG_CHECKING(if this is really Clang ifelse([$1],GXX,C++,C) compiler)
+       cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])"
+       ifelse([$3],,CFLAGS,[$3])="$ifelse([$3],,CFLAGS,[$3]) -Qunused-arguments"
+       AC_TRY_COMPILE([],[
+#ifdef __clang__
+#else
+make an error
+#endif
+],[ifelse([$2],,CLANG_COMPILER,[$2])=yes
+cf_save_CFLAGS="$cf_save_CFLAGS -Qunused-arguments"
+],[])
+       ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS"
+       AC_MSG_RESULT($ifelse([$2],,CLANG_COMPILER,[$2]))
+fi
+])
+dnl ---------------------------------------------------------------------------
+dnl CF_CONST_X_STRING version: 1 updated: 2019/04/08 17:50:29
+dnl -----------------
+dnl The X11R4-X11R6 Xt specification uses an ambiguous String type for most
+dnl character-strings.
+dnl
+dnl It is ambiguous because the specification accommodated the pre-ANSI
+dnl compilers bundled by more than one vendor in lieu of providing a standard C
+dnl compiler other than by costly add-ons.  Because of this, the specification
+dnl did not take into account the use of const for telling the compiler that
+dnl string literals would be in readonly memory.
+dnl
+dnl As a workaround, one could (starting with X11R5) define XTSTRINGDEFINES, to
+dnl let the compiler decide how to represent Xt's strings which were #define'd. 
+dnl That does not solve the problem of using the block of Xt's strings which
+dnl are compiled into the library (and is less efficient than one might want).
+dnl
+dnl Xt specification 7 introduces the _CONST_X_STRING symbol which is used both
+dnl when compiling the library and compiling using the library, to tell the
+dnl compiler that String is const.
+AC_DEFUN([CF_CONST_X_STRING],
+[
+AC_TRY_COMPILE(
+[
+#include <stdlib.h>
+#include <X11/Intrinsic.h>
+],
+[String foo = malloc(1)],[
+
+AC_CACHE_CHECK(for X11/Xt const-feature,cf_cv_const_x_string,[
+       AC_TRY_COMPILE(
+               [
+#define _CONST_X_STRING        /* X11R7.8 (perhaps) */
+#undef  XTSTRINGDEFINES        /* X11R5 and later */
+#include <stdlib.h>
+#include <X11/Intrinsic.h>
+               ],[String foo = malloc(1); *foo = 0],[
+                       cf_cv_const_x_string=no
+               ],[
+                       cf_cv_const_x_string=yes
+               ])
+])
+
+case $cf_cv_const_x_string in
+(no)
+       CF_APPEND_TEXT(CPPFLAGS,-DXTSTRINGDEFINES)
+       ;;
+(*)
+       CF_APPEND_TEXT(CPPFLAGS,-D_CONST_X_STRING)
+       ;;
+esac
+
+])
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_CURSES_HEADER version: 5 updated: 2015/04/23 20:35:30
 dnl ----------------
 dnl Find a "curses" header file, e.g,. "curses.h", or one of the more common
 dnl variations of ncurses' installs.
@@ -594,11 +789,9 @@ dnl $1 = ncurses when looking for ncurses, or is empty
 AC_DEFUN([CF_CURSES_HEADER],[
 AC_CACHE_CHECK(if we have identified curses headers,cf_cv_ncurses_header,[
 cf_cv_ncurses_header=none
-for cf_header in ifelse($1,,,[ \
-    $1/curses.h \
-       $1/ncurses.h]) \
-       curses.h \
-       ncurses.h ifelse($1,,[ncurses/curses.h ncurses/ncurses.h])
+for cf_header in \
+       ncurses.h ifelse($1,,,[$1/ncurses.h]) \
+       curses.h ifelse($1,,,[$1/curses.h]) ifelse($1,,[ncurses/ncurses.h ncurses/curses.h])
 do
 AC_TRY_COMPILE([#include <${cf_header}>],
        [initscr(); tgoto("?", 0,0)],
@@ -619,6 +812,54 @@ dnl ----------
 dnl "dirname" is not portable, so we fake it with a shell script.
 AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl
 dnl ---------------------------------------------------------------------------
+dnl CF_DISABLE_ECHO version: 13 updated: 2015/04/18 08:56:57
+dnl ---------------
+dnl You can always use "make -n" to see the actual options, but it's hard to
+dnl pick out/analyze warning messages when the compile-line is long.
+dnl
+dnl Sets:
+dnl    ECHO_LT - symbol to control if libtool is verbose
+dnl    ECHO_LD - symbol to prefix "cc -o" lines
+dnl    RULE_CC - symbol to put before implicit "cc -c" lines (e.g., .c.o)
+dnl    SHOW_CC - symbol to put before explicit "cc -c" lines
+dnl    ECHO_CC - symbol to put before any "cc" line
+dnl
+AC_DEFUN([CF_DISABLE_ECHO],[
+AC_MSG_CHECKING(if you want to see long compiling messages)
+CF_ARG_DISABLE(echo,
+       [  --disable-echo          do not display "compiling" commands],
+       [
+       ECHO_LT='--silent'
+       ECHO_LD='@echo linking [$]@;'
+       RULE_CC='@echo compiling [$]<'
+       SHOW_CC='@echo compiling [$]@'
+       ECHO_CC='@'
+],[
+       ECHO_LT=''
+       ECHO_LD=''
+       RULE_CC=''
+       SHOW_CC=''
+       ECHO_CC=''
+])
+AC_MSG_RESULT($enableval)
+AC_SUBST(ECHO_LT)
+AC_SUBST(ECHO_LD)
+AC_SUBST(RULE_CC)
+AC_SUBST(SHOW_CC)
+AC_SUBST(ECHO_CC)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_DISABLE_GNAT_PROJECTS version: 1 updated: 2014/06/01 11:34:00
+dnl ------------------------
+AC_DEFUN([CF_DISABLE_GNAT_PROJECTS],[
+AC_MSG_CHECKING(if we want to use GNAT projects)
+CF_ARG_DISABLE(gnat-projects,
+       [  --disable-gnat-projects test: disable GNAT projects even if usable],
+       [enable_gnat_projects=no],
+       [enable_gnat_projects=yes])
+AC_MSG_RESULT($enable_gnat_projects)
+])dnl
+dnl ---------------------------------------------------------------------------
 dnl CF_FIND_LIBRARY version: 9 updated: 2008/03/23 14:48:54
 dnl ---------------
 dnl Look for a non-standard library, given parameters for AC_TRY_LINK.  We
@@ -669,7 +910,7 @@ fi
 ])
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_FIND_LINKAGE version: 19 updated: 2010/05/29 16:31:02
+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.
@@ -717,73 +958,74 @@ AC_TRY_LINK([$1],[$2],[
        cf_cv_find_linkage_$3=no
        LIBS="$cf_save_LIBS"
 
-    CF_VERBOSE(find linkage for $3 library)
-    CF_MSG_LOG([Searching for headers in [FIND_LINKAGE]($3,$6)])
-
-    cf_save_CPPFLAGS="$CPPFLAGS"
-    cf_test_CPPFLAGS="$CPPFLAGS"
-
-    CF_HEADER_PATH(cf_search,ifelse([$6],,[$3],[$6]))
-    for cf_cv_header_path_$3 in $cf_search
-    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"
-        AC_TRY_COMPILE([$1],[$2],[
-            CF_VERBOSE(... found $3 headers in $cf_cv_header_path_$3)
-            cf_cv_find_linkage_$3=maybe
-            cf_test_CPPFLAGS="$CPPFLAGS"
-            break],[
-            CPPFLAGS="$cf_save_CPPFLAGS"
-            ])
-      fi
-    done
-
-    if test "$cf_cv_find_linkage_$3" = maybe ; then
-
-      CF_MSG_LOG([Searching for $3 library in [FIND_LINKAGE]($3,$6)])
-
-      cf_save_LIBS="$LIBS"
-      cf_save_LDFLAGS="$LDFLAGS"
-
-      ifelse([$6],,,[
-        CPPFLAGS="$cf_test_CPPFLAGS"
-        LIBS="-l$3 $7 $cf_save_LIBS"
-        AC_TRY_LINK([$1],[$2],[
-            CF_VERBOSE(... found $3 library in system)
-            cf_cv_find_linkage_$3=yes])
-            CPPFLAGS="$cf_save_CPPFLAGS"
-            LIBS="$cf_save_LIBS"
-            ])
-
-      if test "$cf_cv_find_linkage_$3" != yes ; then
-        CF_LIBRARY_PATH(cf_search,$3)
-        for cf_cv_library_path_$3 in $cf_search
-        do
-          if test -d $cf_cv_library_path_$3 ; then
-            CF_VERBOSE(... testing $cf_cv_library_path_$3)
-            CPPFLAGS="$cf_test_CPPFLAGS"
-            LIBS="-l$3 $7 $cf_save_LIBS"
-            LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_$3"
-            AC_TRY_LINK([$1],[$2],[
-                CF_VERBOSE(... found $3 library in $cf_cv_library_path_$3)
-                cf_cv_find_linkage_$3=yes
-                cf_cv_library_file_$3="-l$3"
-                break],[
-                CPPFLAGS="$cf_save_CPPFLAGS"
-                LIBS="$cf_save_LIBS"
-                LDFLAGS="$cf_save_LDFLAGS"
-                ])
-          fi
-        done
-        CPPFLAGS="$cf_save_CPPFLAGS"
-        LDFLAGS="$cf_save_LDFLAGS"
-      fi
-
-    else
-      cf_cv_find_linkage_$3=no
-    fi
-    ],$7)
+       CF_VERBOSE(find linkage for $3 library)
+       CF_MSG_LOG([Searching for headers in [FIND_LINKAGE]($3,$6)])
+
+       cf_save_CPPFLAGS="$CPPFLAGS"
+       cf_test_CPPFLAGS="$CPPFLAGS"
+
+       CF_HEADER_PATH(cf_search,ifelse([$6],,[$3],[$6]))
+       for cf_cv_header_path_$3 in $cf_search
+       do
+               if test -d $cf_cv_header_path_$3 ; then
+                       CF_VERBOSE(... testing $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
+                               cf_test_CPPFLAGS="$CPPFLAGS"
+                               break],[
+                               CPPFLAGS="$cf_save_CPPFLAGS"
+                               ])
+               fi
+       done
+
+       if test "$cf_cv_find_linkage_$3" = maybe ; then
+
+               CF_MSG_LOG([Searching for $3 library in [FIND_LINKAGE]($3,$6)])
+
+               cf_save_LIBS="$LIBS"
+               cf_save_LDFLAGS="$LDFLAGS"
+
+               ifelse([$6],,,[
+               CPPFLAGS="$cf_test_CPPFLAGS"
+               LIBS="-l$3 $7 $cf_save_LIBS"
+               AC_TRY_LINK([$1],[$2],[
+                       CF_VERBOSE(... found $3 library in system)
+                       cf_cv_find_linkage_$3=yes])
+                       CPPFLAGS="$cf_save_CPPFLAGS"
+                       LIBS="$cf_save_LIBS"
+                       ])
+
+               if test "$cf_cv_find_linkage_$3" != yes ; then
+                       CF_LIBRARY_PATH(cf_search,$3)
+                       for cf_cv_library_path_$3 in $cf_search
+                       do
+                               if test -d $cf_cv_library_path_$3 ; then
+                                       CF_VERBOSE(... testing $cf_cv_library_path_$3)
+                                       CPPFLAGS="$cf_test_CPPFLAGS"
+                                       LIBS="-l$3 $7 $cf_save_LIBS"
+                                       LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_$3"
+                                       AC_TRY_LINK([$1],[$2],[
+                                       CF_VERBOSE(... found $3 library in $cf_cv_library_path_$3)
+                                       cf_cv_find_linkage_$3=yes
+                                       cf_cv_library_file_$3="-l$3"
+                                       break],[
+                                       CPPFLAGS="$cf_save_CPPFLAGS"
+                                       LIBS="$cf_save_LIBS"
+                                       LDFLAGS="$cf_save_LDFLAGS"
+                                       ])
+                               fi
+                       done
+                       CPPFLAGS="$cf_save_CPPFLAGS"
+                       LDFLAGS="$cf_save_LDFLAGS"
+               fi
+
+       else
+               cf_cv_find_linkage_$3=no
+       fi
+       ],$7)
 ])
 
 LIBS="$cf_save_LIBS"
@@ -799,7 +1041,26 @@ ifelse([$5],,AC_MSG_WARN(Cannot find $3 library),[$5])
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_GCC_ATTRIBUTES version: 13 updated: 2009/08/11 20:19:56
+dnl CF_FIXUP_ADAFLAGS version: 2 updated: 2015/04/17 21:13:04
+dnl -----------------
+dnl make ADAFLAGS consistent with CFLAGS
+AC_DEFUN([CF_FIXUP_ADAFLAGS],[
+       AC_MSG_CHECKING(optimization options for ADAFLAGS)
+       case "$CFLAGS" in
+       (*-g*)
+               CF_ADD_ADAFLAGS(-g)
+               ;;
+       esac
+       case "$CFLAGS" in
+       (*-O*)
+               cf_O_flag=`echo "$CFLAGS" |sed -e 's/^.*-O/-O/' -e 's/[[        ]].*//'`
+               CF_ADD_ADAFLAGS($cf_O_flag)
+               ;;
+       esac
+       AC_MSG_RESULT($ADAFLAGS)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_GCC_ATTRIBUTES version: 17 updated: 2015/04/12 15:39:00
 dnl -----------------
 dnl Test for availability of useful gcc __attribute__ directives to quiet
 dnl compiler warnings.  Though useful, not all are supported -- and contrary
@@ -826,7 +1087,7 @@ if test "$GCC" = yes
 then
        AC_CHECKING([for $CC __attribute__ directives])
 cat > conftest.$ac_ext <<EOF
-#line __oline__ "${as_me-configure}"
+#line __oline__ "${as_me:-configure}"
 #include "confdefs.h"
 #include "conftest.h"
 #include "conftest.i"
@@ -853,20 +1114,20 @@ EOF
                cf_directive="__attribute__(($cf_attribute))"
                echo "checking for $CC $cf_directive" 1>&AC_FD_CC
 
-               case $cf_attribute in #(vi
-               printf) #(vi
+               case $cf_attribute in
+               (printf)
                        cf_printf_attribute=yes
                        cat >conftest.h <<EOF
 #define GCC_$cf_ATTRIBUTE 1
 EOF
                        ;;
-               scanf) #(vi
+               (scanf)
                        cf_scanf_attribute=yes
                        cat >conftest.h <<EOF
 #define GCC_$cf_ATTRIBUTE 1
 EOF
                        ;;
-               *) #(vi
+               (*)
                        cat >conftest.h <<EOF
 #define GCC_$cf_ATTRIBUTE $cf_directive
 EOF
@@ -876,28 +1137,28 @@ EOF
                if AC_TRY_EVAL(ac_compile); then
                        test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute)
                        cat conftest.h >>confdefs.h
-                       case $cf_attribute in #(vi
-                       printf) #(vi
-                               if test "$cf_printf_attribute" = no ; then
-                                       cat >>confdefs.h <<EOF
-#define GCC_PRINTFLIKE(fmt,var) /* nothing */
-EOF
-                               else
-                                       cat >>confdefs.h <<EOF
-#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
-EOF
+                       case $cf_attribute in
+                       (noreturn)
+                               AC_DEFINE_UNQUOTED(GCC_NORETURN,$cf_directive,[Define to noreturn-attribute for gcc])
+                               ;;
+                       (printf)
+                               cf_value='/* nothing */'
+                               if test "$cf_printf_attribute" != no ; then
+                                       cf_value='__attribute__((format(printf,fmt,var)))'
+                                       AC_DEFINE(GCC_PRINTF,1,[Define to 1 if the compiler supports gcc-like printf attribute.])
                                fi
+                               AC_DEFINE_UNQUOTED(GCC_PRINTFLIKE(fmt,var),$cf_value,[Define to printf-attribute for gcc])
                                ;;
-                       scanf) #(vi
-                               if test "$cf_scanf_attribute" = no ; then
-                                       cat >>confdefs.h <<EOF
-#define GCC_SCANFLIKE(fmt,var) /* nothing */
-EOF
-                               else
-                                       cat >>confdefs.h <<EOF
-#define GCC_SCANFLIKE(fmt,var)  __attribute__((format(scanf,fmt,var)))
-EOF
+                       (scanf)
+                               cf_value='/* nothing */'
+                               if test "$cf_scanf_attribute" != no ; then
+                                       cf_value='__attribute__((format(scanf,fmt,var)))'
+                                       AC_DEFINE(GCC_SCANF,1,[Define to 1 if the compiler supports gcc-like scanf attribute.])
                                fi
+                               AC_DEFINE_UNQUOTED(GCC_SCANFLIKE(fmt,var),$cf_value,[Define to sscanf-attribute for gcc])
+                               ;;
+                       (unused)
+                               AC_DEFINE_UNQUOTED(GCC_UNUSED,$cf_directive,[Define to unused-attribute for gcc])
                                ;;
                        esac
                fi
@@ -909,21 +1170,24 @@ rm -rf conftest*
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_GCC_VERSION version: 5 updated: 2010/04/24 11:02:31
+dnl CF_GCC_VERSION version: 8 updated: 2019/09/07 13:38:36
 dnl --------------
-dnl Find version of gcc
+dnl Find version of gcc, and (because icc/clang pretend to be gcc without being
+dnl compatible), attempt to determine if icc/clang is actually used.
 AC_DEFUN([CF_GCC_VERSION],[
 AC_REQUIRE([AC_PROG_CC])
 GCC_VERSION=none
 if test "$GCC" = yes ; then
        AC_MSG_CHECKING(version of $CC)
-       GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
+       GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC[[^)]]*) //' -e 's/^.*(Debian[[^)]]*) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
        test -z "$GCC_VERSION" && GCC_VERSION=unknown
        AC_MSG_RESULT($GCC_VERSION)
 fi
+CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS)
+CF_CLANG_COMPILER(GCC,CLANG_COMPILER,CFLAGS)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_GCC_WARNINGS version: 25 updated: 2010/04/24 11:03:31
+dnl CF_GCC_WARNINGS version: 36 updated: 2019/09/07 13:38:36
 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:
@@ -945,13 +1209,11 @@ dnl
 AC_DEFUN([CF_GCC_WARNINGS],
 [
 AC_REQUIRE([CF_GCC_VERSION])
-CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS)
-
+if test "x$have_x" = xyes; then CF_CONST_X_STRING fi
 cat > conftest.$ac_ext <<EOF
-#line __oline__ "${as_me-configure}"
+#line __oline__ "${as_me:-configure}"
 int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; }
 EOF
-
 if test "$INTEL_COMPILER" = yes
 then
 # The "-wdXXX" options suppress warnings:
@@ -986,7 +1248,6 @@ then
                fi
        done
        CFLAGS="$cf_save_CFLAGS"
-
 elif test "$GCC" = yes
 then
        AC_CHECKING([for $CC warning options])
@@ -994,10 +1255,14 @@ then
        EXTRA_CFLAGS=
        cf_warn_CONST=""
        test "$with_ext_const" = yes && cf_warn_CONST="Wwrite-strings"
+       cf_gcc_warnings="Wignored-qualifiers Wlogical-op Wvarargs"
+       test "x$CLANG_COMPILER" = xyes && cf_gcc_warnings=
        for cf_opt in W Wall \
                Wbad-function-cast \
                Wcast-align \
                Wcast-qual \
+               Wdeclaration-after-statement \
+               Wextra \
                Winline \
                Wmissing-declarations \
                Wmissing-prototypes \
@@ -1005,18 +1270,22 @@ then
                Wpointer-arith \
                Wshadow \
                Wstrict-prototypes \
-               Wundef $cf_warn_CONST $1
+               Wundef $cf_gcc_warnings $cf_warn_CONST $1
        do
                CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
                if AC_TRY_EVAL(ac_compile); then
                        test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
-                       case $cf_opt in #(vi
-                       Wcast-qual) #(vi
-                               CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES"
+                       case $cf_opt in
+                       (Winline)
+                               case $GCC_VERSION in
+                               ([[34]].*)
+                                       CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
+                                       continue;;
+                               esac
                                ;;
-                       Winline) #(vi
+                       (Wpointer-arith)
                                case $GCC_VERSION in
-                               [[34]].*)
+                               ([[12]].*)
                                        CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
                                        continue;;
                                esac
@@ -1027,12 +1296,205 @@ then
        done
        CFLAGS="$cf_save_CFLAGS"
 fi
-rm -f conftest*
+rm -rf conftest*
 
 AC_SUBST(EXTRA_CFLAGS)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_GNAT_TRY_LINK version: 1 updated: 2004/08/21 19:02:08
+dnl CF_GNATPREP_OPT_T version: 1 updated: 2014/08/02 18:37:25
+dnl -----------------
+AC_DEFUN([CF_GNATPREP_OPT_T],[
+AC_CACHE_CHECK(if GNATPREP supports -T option,cf_cv_gnatprep_opt_t,[
+cf_cv_gnatprep_opt_t=no
+gnatprep -T 2>/dev/null >/dev/null && cf_cv_gnatprep_opt_t=yes
+])
+test "$cf_cv_gnatprep_opt_t" = yes && GNATPREP_OPTS="-T $GNATPREP_OPTS"
+AC_SUBST(GNATPREP_OPTS)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_GNAT_GENERICS version: 3 updated: 2015/04/17 21:13:04
+dnl ----------------
+AC_DEFUN([CF_GNAT_GENERICS],
+[
+AC_REQUIRE([CF_GNAT_VERSION])
+
+AC_MSG_CHECKING(if GNAT supports generics)
+case $cf_gnat_version in
+(3.[[1-9]]*|[[4-9]].*)
+       cf_gnat_generics=yes
+       ;;
+(*)
+       cf_gnat_generics=no
+       ;;
+esac
+AC_MSG_RESULT($cf_gnat_generics)
+
+if test "$cf_gnat_generics" = yes
+then
+       cf_compile_generics=generics
+       cf_generic_objects="\${GENOBJS}"
+else
+       cf_compile_generics=
+       cf_generic_objects=
+fi
+
+AC_SUBST(cf_compile_generics)
+AC_SUBST(cf_generic_objects)
+])dnl
+dnl ---------------------------------------------------------------------------
+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.
+AC_DEFUN([CF_GNAT_PROJECTS],
+[
+AC_REQUIRE([CF_GNAT_VERSION])
+AC_REQUIRE([CF_DISABLE_GNAT_PROJECTS])
+
+cf_gnat_libraries=no
+cf_gnat_projects=no
+
+if test "$enable_gnat_projects" != no ; then
+AC_MSG_CHECKING(if GNAT supports project files)
+case $cf_gnat_version in
+(3.[[0-9]]*)
+       ;;
+(*)
+       case $cf_cv_system_name in
+       (cygwin*|msys*)
+               ;;
+       (*)
+               rm -rf conftest* *~conftest*
+               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";
+  for Object_Dir use ".";
+  for Library_ALI_Dir use External("LIBRARY_DIR");
+  for Library_Version use External ("SONAME");
+  for Library_Kind use Kind;
+  for Library_Dir use External("BUILD_DIR");
+  Source_Dir := External ("SOURCE_DIR");
+  for Source_Dirs use (Source_Dir);
+end Library;
+CF_EOF
+                       cat >>confpackage.ads <<CF_EOF
+package ConfPackage is
+   procedure conftest;
+end ConfPackage;
+CF_EOF
+                       cat >>confpackage.adb <<CF_EOF
+with Text_IO;
+package body ConfPackage is
+   procedure conftest is
+   begin
+      Text_IO.Put ("Hello World");
+      Text_IO.New_Line;
+   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
+                       fi
+                       cd ..
+               fi
+               if test -f conftest.lib/confpackage.ali
+               then
+                       cf_gnat_libraries=yes
+               fi
+               rm -rf conftest* *~conftest*
+               ;;
+       esac
+       ;;
+esac
+AC_MSG_RESULT($cf_gnat_projects)
+fi # enable_gnat_projects
+
+if test $cf_gnat_projects = yes
+then
+       AC_MSG_CHECKING(if GNAT supports libraries)
+       AC_MSG_RESULT($cf_gnat_libraries)
+fi
+
+if test "$cf_gnat_projects" = yes
+then
+       USE_OLD_MAKERULES="#"
+       USE_GNAT_PROJECTS=""
+else
+       USE_OLD_MAKERULES=""
+       USE_GNAT_PROJECTS="#"
+fi
+
+if test "$cf_gnat_libraries" = yes
+then
+       USE_GNAT_LIBRARIES=""
+else
+       USE_GNAT_LIBRARIES="#"
+fi
+
+AC_SUBST(USE_OLD_MAKERULES)
+AC_SUBST(USE_GNAT_PROJECTS)
+AC_SUBST(USE_GNAT_LIBRARIES)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_GNAT_SIGINT version: 1 updated: 2011/03/27 20:07:59
+dnl --------------
+dnl Check if gnat supports SIGINT, and presumably tasking.  For the latter, it
+dnl is noted that gnat may compile a tasking unit even for configurations which
+dnl fail at runtime.
+AC_DEFUN([CF_GNAT_SIGINT],[
+AC_CACHE_CHECK(if GNAT supports SIGINT,cf_cv_gnat_sigint,[
+CF_GNAT_TRY_LINK([with Ada.Interrupts.Names;
+
+package ConfTest is
+
+   pragma Warnings (Off);  --  the next pragma exists since 3.11p
+   pragma Unreserve_All_Interrupts;
+   pragma Warnings (On);
+
+   protected Process is
+      procedure Stop;
+      function Continue return Boolean;
+      pragma Attach_Handler (Stop, Ada.Interrupts.Names.SIGINT);
+   private
+      Done : Boolean := False;
+   end Process;
+
+end ConfTest;],
+[package body ConfTest is
+   protected body Process is
+      procedure Stop is
+      begin
+         Done := True;
+      end Stop;
+      function Continue return Boolean is
+      begin
+         return not Done;
+      end Continue;
+   end Process;
+end ConfTest;],
+       [cf_cv_gnat_sigint=yes],
+       [cf_cv_gnat_sigint=no])])
+
+if test $cf_cv_gnat_sigint = yes ; then
+       USE_GNAT_SIGINT=""
+else
+       USE_GNAT_SIGINT="#"
+fi
+AC_SUBST(USE_GNAT_SIGINT)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_GNAT_TRY_LINK version: 3 updated: 2011/03/19 14:47:45
 dnl ----------------
 dnl Verify that a test program compiles/links with GNAT.
 dnl $cf_ada_make is set to the program that compiles/links
@@ -1044,7 +1506,7 @@ dnl $3 is the shell command to execute if successful
 dnl $4 is the shell command to execute if not successful
 AC_DEFUN([CF_GNAT_TRY_LINK],
 [
-rm -conftest*
+rm -rf conftest* *~conftest*
 cat >>conftest.ads <<CF_EOF
 $1
 CF_EOF
@@ -1056,10 +1518,10 @@ ifelse($3,,      :,[      $3])
 ifelse($4,,,[else
    $4])
 fi
-rm -conftest*
+rm -rf conftest* *~conftest*
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_GNAT_TRY_RUN version: 3 updated: 2004/08/21 19:02:08
+dnl CF_GNAT_TRY_RUN version: 5 updated: 2011/03/19 14:47:45
 dnl ---------------
 dnl Verify that a test program compiles and runs with GNAT
 dnl $cf_ada_make is set to the program that compiles/links
@@ -1071,7 +1533,7 @@ dnl $3 is the shell command to execute if successful
 dnl $4 is the shell command to execute if not successful
 AC_DEFUN([CF_GNAT_TRY_RUN],
 [
-rm -conftest*
+rm -rf conftest* *~conftest*
 cat >>conftest.ads <<CF_EOF
 $1
 CF_EOF
@@ -1087,39 +1549,26 @@ ifelse($4,,,[   else
 ifelse($4,,,[else
    $4])
 fi
-rm -conftest*
+rm -rf conftest* *~conftest*
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_GNAT_VERSION version: 12 updated: 2006/10/14 15:23:15
+dnl CF_GNAT_VERSION version: 21 updated: 2019/09/21 18:08:42
 dnl ---------------
-dnl Verify version of GNAT.
+dnl $1 = cache variable to update
+dnl $2 = program name
+dnl Verify version of GNAT or related tool
 AC_DEFUN([CF_GNAT_VERSION],
 [
-AC_MSG_CHECKING(for gnat version)
-cf_gnat_version=`${cf_ada_make-gnatmake} -v 2>&1 | grep '[[0-9]].[[0-9]][[0-9]]*' |\
-  sed -e '2,$d' -e 's/[[^0-9 \.]]//g' -e 's/^[[ ]]*//' -e 's/ .*//'`
-AC_MSG_RESULT($cf_gnat_version)
-
-case $cf_gnat_version in
-  3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*)
-    cf_cv_prog_gnat_correct=yes
-    ;;
-  *) echo Unsupported GNAT version $cf_gnat_version. Required is 3.11 or better. Disabling Ada95 binding.
-     cf_cv_prog_gnat_correct=no
-     ;;
-esac
-case $cf_gnat_version in
-  3.[[1-9]]*|[[4-9]].*)
-      cf_compile_generics=generics
-      cf_generic_objects="\${GENOBJS}"
-      ;;
-  *)  cf_compile_generics=
-      cf_generic_objects=
-      ;;
-esac
+AC_CACHE_CHECK(for ifelse($2,,gnat,$2) version, cf_gnat_version,[
+cf_gnat_version=`ifelse($2,,${cf_ada_make:-gnatmake},$2) --version 2>&1 | \
+       grep '[[0-9]].[[0-9]][[0-9]]*' |\
+       sed -e '2,$d' -e 's/[[^0-9 \.]]//g' -e 's/^[[ ]]*//' -e 's/ .*//'`
 ])
+test -z "$cf_gnat_version" && cf_gnat_version=no
+ifelse($1,,,[eval $1=$cf_gnat_version; unset cf_gnat_version])
+])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_GNU_SOURCE version: 6 updated: 2005/07/09 13:23:07
+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
@@ -1127,46 +1576,127 @@ 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])
 ])
-test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
-])dnl
-dnl ---------------------------------------------------------------------------
-dnl CF_HEADER_PATH version: 12 updated: 2010/05/05 05:22:40
-dnl --------------
-dnl Construct a search-list of directories for a nonstandard header-file
-dnl
-dnl Parameters
-dnl    $1 = the variable to return as result
-dnl    $2 = the package name
-AC_DEFUN([CF_HEADER_PATH],
-[
-$1=
 
-# collect the current set of include-directories from compiler flags
-cf_header_path_list=""
-if test -n "${CFLAGS}${CPPFLAGS}" ; then
+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"
+       ])
+
+       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 ---------------------------------------------------------------------------
+dnl CF_HEADER_PATH version: 13 updated: 2015/04/15 19:08:48
+dnl --------------
+dnl Construct a search-list of directories for a nonstandard header-file
+dnl
+dnl Parameters
+dnl    $1 = the variable to return as result
+dnl    $2 = the package name
+AC_DEFUN([CF_HEADER_PATH],
+[
+$1=
+
+# collect the current set of include-directories from compiler flags
+cf_header_path_list=""
+if test -n "${CFLAGS}${CPPFLAGS}" ; then
        for cf_header_path in $CPPFLAGS $CFLAGS
        do
-               case $cf_header_path in #(vi
-               -I*)
+               case $cf_header_path in
+               (-I*)
                        cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'`
                        CF_ADD_SUBDIR_PATH($1,$2,include,$cf_header_path,NONE)
                        cf_header_path_list="$cf_header_path_list [$]$1"
@@ -1202,33 +1732,118 @@ AC_DEFUN([CF_HELP_MESSAGE],
 [AC_DIVERT_HELP([$1])dnl
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_INCLUDE_DIRS version: 6 updated: 2009/01/06 19:37:40
+dnl CF_INCLUDE_DIRS version: 10 updated: 2014/09/19 20:58:42
 dnl ---------------
 dnl Construct the list of include-options according to whether we're building
-dnl in the source directory or using '--srcdir=DIR' option.  If we're building
-dnl with gcc, don't append the includedir if it happens to be /usr/include,
-dnl since that usually breaks gcc's shadow-includes.
+dnl in the source directory or using '--srcdir=DIR' option.
 AC_DEFUN([CF_INCLUDE_DIRS],
 [
-CPPFLAGS="$CPPFLAGS -I. -I../include"
 if test "$srcdir" != "."; then
-       CPPFLAGS="$CPPFLAGS -I\${srcdir}/../include"
+       CPPFLAGS="-I\${srcdir}/../include $CPPFLAGS"
 fi
-if test "$GCC" != yes; then
-       CPPFLAGS="$CPPFLAGS -I\${includedir}"
-elif test "$includedir" != "/usr/include"; then
-       if test "$includedir" = '${prefix}/include' ; then
-               if test $prefix != /usr ; then
-                       CPPFLAGS="$CPPFLAGS -I\${includedir}"
+CPPFLAGS="-I../include $CPPFLAGS"
+if test "$srcdir" != "."; then
+       CPPFLAGS="-I\${srcdir} $CPPFLAGS"
+fi
+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
-               CPPFLAGS="$CPPFLAGS -I\${includedir}"
+               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(CPPFLAGS)
+AC_SUBST(INSTALL_OPT_S)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_INTEL_COMPILER version: 4 updated: 2010/05/26 05:38:42
+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
 dnl tries to imitate gcc, but does not return an error when it finds a mismatch
@@ -1242,11 +1857,12 @@ dnl $1 = GCC (default) or GXX
 dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS
 dnl $3 = CFLAGS (default) or CXXFLAGS
 AC_DEFUN([CF_INTEL_COMPILER],[
+AC_REQUIRE([AC_CANONICAL_HOST])
 ifelse([$2],,INTEL_COMPILER,[$2])=no
 
 if test "$ifelse([$1],,[$1],GCC)" = yes ; then
        case $host_os in
-       linux*|gnu*)
+       (linux*|gnu*)
                AC_MSG_CHECKING(if this is really Intel ifelse([$1],GXX,C++,C) compiler)
                cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])"
                ifelse([$3],,CFLAGS,[$3])="$ifelse([$3],,CFLAGS,[$3]) -no-gcc"
@@ -1256,7 +1872,7 @@ if test "$ifelse([$1],,[$1],GCC)" = yes ; then
 make an error
 #endif
 ],[ifelse([$2],,INTEL_COMPILER,[$2])=yes
-cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc"
+cf_save_CFLAGS="$cf_save_CFLAGS -we147"
 ],[])
                ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS"
                AC_MSG_RESULT($ifelse([$2],,INTEL_COMPILER,[$2]))
@@ -1265,13 +1881,13 @@ cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc"
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_LARGEFILE version: 7 updated: 2007/06/02 11:58:50
+dnl CF_LARGEFILE version: 11 updated: 2018/06/20 20:23:13
 dnl ------------
 dnl Add checks for large file support.
 AC_DEFUN([CF_LARGEFILE],[
 ifdef([AC_FUNC_FSEEKO],[
-    AC_SYS_LARGEFILE
-    if test "$enable_largefile" != no ; then
+       AC_SYS_LARGEFILE
+       if test "$enable_largefile" != no ; then
        AC_FUNC_FSEEKO
 
        # Normally we would collect these definitions in the config.h,
@@ -1281,12 +1897,22 @@ 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([
+#pragma GCC diagnostic error "-Wincompatible-pointer-types"
 #include <sys/types.h>
 #include <dirent.h>
                ],[
@@ -1299,12 +1925,12 @@ ifdef([AC_FUNC_FSEEKO],[
                [cf_cv_struct_dirent64=yes],
                [cf_cv_struct_dirent64=no])
        ])
-       test "$cf_cv_struct_dirent64" = yes && AC_DEFINE(HAVE_STRUCT_DIRENT64)
-    fi
+       test "$cf_cv_struct_dirent64" = yes && AC_DEFINE(HAVE_STRUCT_DIRENT64,1,[Define to 1 if we have struct dirent64])
+       fi
 ])
 ])
 dnl ---------------------------------------------------------------------------
-dnl CF_LD_RPATH_OPT version: 3 updated: 2010/06/02 05:03:05
+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.
@@ -1313,52 +1939,55 @@ 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 #(vi
-irix*) #(vi
-       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) #(vi
-       LD_RPATH_OPT="-Wl,-rpath,"
-       ;;
-openbsd[[2-9]].*) #(vi
-       LD_RPATH_OPT="-Wl,-rpath,"
-       ;;
-freebsd*) #(vi
-       LD_RPATH_OPT="-rpath "
-       ;;
-netbsd*) #(vi
-       LD_RPATH_OPT="-Wl,-rpath,"
-       ;;
-osf*|mls+*) #(vi
-       LD_RPATH_OPT="-rpath "
-       ;;
-solaris2*) #(vi
-       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 #(vi
-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: 9 updated: 2010/03/28 12:52:50
+dnl CF_LIBRARY_PATH version: 10 updated: 2015/04/15 19:08:48
 dnl ---------------
 dnl Construct a search-list of directories for a nonstandard library-file
 dnl
@@ -1372,8 +2001,8 @@ cf_library_path_list=""
 if test -n "${LDFLAGS}${LIBS}" ; then
        for cf_library_path in $LDFLAGS $LIBS
        do
-               case $cf_library_path in #(vi
-               -L*)
+               case $cf_library_path in
+               (-L*)
                        cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'`
                        CF_ADD_SUBDIR_PATH($1,$2,lib,$cf_library_path,NONE)
                        cf_library_path_list="$cf_library_path_list [$]$1"
@@ -1387,61 +2016,28 @@ CF_SUBDIR_PATH($1,$2,lib)
 $1="$cf_library_path_list [$]$1"
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_LIB_PREFIX version: 8 updated: 2008/09/13 11:34:16
+dnl CF_LIB_PREFIX version: 12 updated: 2015/10/17 19:03:33
 dnl -------------
 dnl Compute the library-prefix for the given host system
 dnl $1 = variable to set
-AC_DEFUN([CF_LIB_PREFIX],
+define([CF_LIB_PREFIX],
 [
-       case $cf_cv_system_name in #(vi
-       OS/2*|os2*) #(vi
-        LIB_PREFIX=''
-        ;;
-       *)      LIB_PREFIX='lib'
-        ;;
+       case $cf_cv_system_name in
+       (OS/2*|os2*)
+               if test "$DFT_LWR_MODEL" = libtool; then
+                       LIB_PREFIX='lib'
+               else
+                       LIB_PREFIX=''
+               fi
+               ;;
+       (*)     LIB_PREFIX='lib'
+               ;;
        esac
 ifelse($1,,,[$1=$LIB_PREFIX])
        AC_SUBST(LIB_PREFIX)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_LIB_SONAME version: 4 updated: 2010/05/29 16:31:02
-dnl -------------
-dnl Find the and soname for the given shared library.  Set the cache variable
-dnl cf_cv_$3_soname to this, unless it is not found.  Then set the cache
-dnl variable to "unknown".
-dnl
-dnl $1 = headers
-dnl $2 = code
-dnl $3 = library name
-AC_DEFUN([CF_LIB_SONAME],
-[
-AC_CACHE_CHECK(for soname of $3 library,cf_cv_$3_soname,[
-
-cf_cv_$3_soname=unknown
-if test "$cross_compiling" != yes ; then
-cat >conftest.$ac_ext <<CF_EOF
-$1
-int main()
-{
-$2
-       ${cf_cv_main_return:-return}(0);
-}
-CF_EOF
-cf_save_LIBS="$LIBS"
-       CF_ADD_LIB($3)
-       if AC_TRY_EVAL(ac_compile) ; then
-               if AC_TRY_EVAL(ac_link) ; then
-                       cf_cv_$3_soname=`ldd conftest$ac_exeext 2>/dev/null | sed -e 's,^.*/,,' -e 's, .*$,,' | fgrep lib$3.`
-                       test -z "$cf_cv_$3_soname" && cf_cv_$3_soname=unknown
-               fi
-       fi
-rm -f conftest*
-LIBS="$cf_save_LIBS"
-fi
-])
-])
-dnl ---------------------------------------------------------------------------
-dnl CF_LIB_SUFFIX version: 16 updated: 2008/12/27 12:30:03
+dnl CF_LIB_SUFFIX version: 25 updated: 2015/04/17 21:13:04
 dnl -------------
 dnl Compute the library file-suffix from the given model name
 dnl $1 = model name
@@ -1450,60 +2046,64 @@ dnl $3 = dependency variable to set (actual filename)
 dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
 AC_DEFUN([CF_LIB_SUFFIX],
 [
-       AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
-       case $1 in #(vi
-       libtool) #(vi
+       case X$1 in
+       (Xlibtool)
                $2='.la'
                $3=[$]$2
                ;;
-       normal) #(vi
-               $2='.a'
-               $3=[$]$2
-               ;;
-       debug) #(vi
+       (Xdebug)
                $2='_g.a'
                $3=[$]$2
                ;;
-       profile) #(vi
+       (Xprofile)
                $2='_p.a'
                $3=[$]$2
                ;;
-       shared) #(vi
+       (Xshared)
                case $cf_cv_system_name in
-               aix[[56]]*) #(vi
-                       $2='.a'
+               (aix[[5-7]]*)
+                       $2='.so'
                        $3=[$]$2
                        ;;
-               cygwin*) #(vi
+               (cygwin*|msys*|mingw*)
                        $2='.dll'
                        $3='.dll.a'
                        ;;
-               darwin*) #(vi
+               (darwin*)
                        $2='.dylib'
                        $3=[$]$2
                        ;;
-               hpux*) #(vi
+               (hpux*)
                        case $target in
-                       ia64*) #(vi
+                       (ia64*)
                                $2='.so'
                                $3=[$]$2
                                ;;
-                       *) #(vi
+                       (*)
                                $2='.sl'
                                $3=[$]$2
                                ;;
                        esac
                        ;;
-               *)      $2='.so'
+               (*)
+                       $2='.so'
                        $3=[$]$2
                        ;;
                esac
+               ;;
+       (*)
+               $2='.a'
+               $3=[$]$2
+               ;;
        esac
-       test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
-       test -n "$LIB_SUFFIX" && $3="${LIB_SUFFIX}[$]{$3}"
+       if test -n "${LIB_SUFFIX}${EXTRA_SUFFIX}"
+       then
+               $2="${LIB_SUFFIX}${EXTRA_SUFFIX}[$]{$2}"
+               $3="${LIB_SUFFIX}${EXTRA_SUFFIX}[$]{$3}"
+       fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_LIB_TYPE version: 4 updated: 2000/10/20 22:57:49
+dnl CF_LIB_TYPE version: 5 updated: 2015/04/17 21:13:04
 dnl -----------
 dnl Compute the string to append to -library from the given model name
 dnl $1 = model name
@@ -1512,16 +2112,16 @@ dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
 AC_DEFUN([CF_LIB_TYPE],
 [
        case $1 in
-       libtool) $2=''   ;;
-       normal)  $2=''   ;;
-       debug)   $2='_g' ;;
-       profile) $2='_p' ;;
-       shared)  $2=''   ;;
+       (libtool) $2=''   ;;
+       (normal)  $2=''   ;;
+       (debug)   $2='_g' ;;
+       (profile) $2='_p' ;;
+       (shared)  $2=''   ;;
        esac
        test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_LINK_DATAONLY version: 9 updated: 2009/01/01 20:21:38
+dnl CF_LINK_DATAONLY version: 12 updated: 2017/07/23 17:46:07
 dnl ----------------
 dnl Some systems have a non-ANSI linker that doesn't pull in modules that have
 dnl only data (i.e., no functions), for example NeXT.  On those systems we'll
@@ -1543,7 +2143,7 @@ EOF
        rm -f conftest.$ac_ext data.o
        cat >conftest.$ac_ext <<EOF
 #line __oline__ "configure"
-int    testfunc()
+int    testfunc(void)
 {
 #if defined(NeXT)
        ${cf_cv_main_return:-return}(1);        /* I'm told this linker is broken */
@@ -1564,7 +2164,7 @@ EOF
        cf_saveLIBS="$LIBS"
        LIBS="conftest.a $LIBS"
        AC_TRY_RUN([
-       int main()
+       int main(void)
        {
                extern int testfunc();
                ${cf_cv_main_return:-return} (!testfunc());
@@ -1578,82 +2178,13 @@ EOF
 AC_MSG_RESULT($cf_cv_link_dataonly)
 
 if test "$cf_cv_link_dataonly" = no ; then
-       AC_DEFINE(BROKEN_LINKER)
+       AC_DEFINE(BROKEN_LINKER,1,[if data-only library module does not link])
        BROKEN_LINKER=1
 fi
 
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_LINK_FUNCS version: 7 updated: 2006/12/16 12:33:30
-dnl -------------
-dnl Most Unix systems have both link and symlink, a few don't have symlink.
-dnl A few non-Unix systems implement symlink, but not link.
-dnl A few non-systems implement neither (or have nonfunctional versions).
-AC_DEFUN([CF_LINK_FUNCS],
-[
-AC_CHECK_FUNCS( \
-       remove \
-       unlink )
-
-if test "$cross_compiling" = yes ; then
-       AC_CHECK_FUNCS( \
-               link \
-               symlink )
-else
-       AC_CACHE_CHECK(if link/symlink functions work,cf_cv_link_funcs,[
-               cf_cv_link_funcs=
-               for cf_func in link symlink ; do
-                       AC_TRY_RUN([
-#include <sys/types.h>
-#include <sys/stat.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-int main()
-{
-       int fail = 0;
-       char *src = "config.log";
-       char *dst = "conftest.chk";
-       struct stat src_sb;
-       struct stat dst_sb;
-
-       stat(src, &src_sb);
-       fail = ($cf_func("config.log", "conftest.chk") < 0)
-           || (stat(dst, &dst_sb) < 0)
-           || (dst_sb.st_mtime != src_sb.st_mtime);
-#ifdef HAVE_UNLINK
-       unlink(dst);
-#else
-       remove(dst);
-#endif
-       ${cf_cv_main_return:-return} (fail);
-}
-                       ],[
-                       cf_cv_link_funcs="$cf_cv_link_funcs $cf_func"
-                       eval 'ac_cv_func_'$cf_func'=yes'],[
-                       eval 'ac_cv_func_'$cf_func'=no'],[
-                       eval 'ac_cv_func_'$cf_func'=error'])
-               done
-               test -z "$cf_cv_link_funcs" && cf_cv_link_funcs=no
-       ])
-       test "$ac_cv_func_link"    = yes && AC_DEFINE(HAVE_LINK)
-       test "$ac_cv_func_symlink" = yes && AC_DEFINE(HAVE_SYMLINK)
-fi
-])dnl
-dnl ---------------------------------------------------------------------------
-dnl CF_MAIN_RETURN version: 1 updated: 2006/12/10 09:51:54
-dnl --------------
-dnl Check if a return from main to the shell actually returns the same exit
-dnl code.  This is true for almost any POSIX environment.
-dnl
-dnl Some very old environments did not flush stdout, etc., on an exit.  That
-dnl would be a useful case to test for also.
-AC_DEFUN([CF_MAIN_RETURN],
-[
-cf_cv_main_return=return
-])dnl
-dnl ---------------------------------------------------------------------------
-dnl CF_MAKEFLAGS version: 12 updated: 2006/10/21 08:27:03
+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.
@@ -1666,24 +2197,26 @@ AC_CACHE_CHECK(for makeflags variable, cf_cv_makeflags,[
        for cf_option in '-${MAKEFLAGS}' '${MFLAGS}'
        do
                cat >cf_makeflags.tmp <<CF_EOF
-SHELL = /bin/sh
+SHELL = $SHELL
 all :
        @ echo '.$cf_option'
 CF_EOF
-               cf_result=`${MAKE-make} -k -f cf_makeflags.tmp 2>/dev/null | sed -e 's,[[       ]]*$,,'`
+               cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp 2>/dev/null | fgrep -v "ing directory" | sed -e 's,[[   ]]*$,,'`
                case "$cf_result" in
-               .*k)
-                       cf_result=`${MAKE-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null`
+               (.*k|.*kw)
+                       cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null`
                        case "$cf_result" in
-                       .*CC=*) cf_cv_makeflags=
+                       (.*CC=*)        cf_cv_makeflags=
                                ;;
-                       *)      cf_cv_makeflags=$cf_option
+                       (*)     cf_cv_makeflags=$cf_option
                                ;;
                        esac
                        break
                        ;;
-               .-)     ;;
-               *)      echo "given option \"$cf_option\", no match \"$cf_result\""
+               (.-)
+                       ;;
+               (*)
+                       CF_MSG_LOG(given option \"$cf_option\", no match \"$cf_result\")
                        ;;
                esac
        done
@@ -1693,7 +2226,7 @@ CF_EOF
 AC_SUBST(cf_cv_makeflags)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_MAKE_TAGS version: 5 updated: 2010/04/03 20:07:32
+dnl CF_MAKE_TAGS version: 6 updated: 2010/10/23 15:52:32
 dnl ------------
 dnl Generate tags/TAGS targets for makefiles.  Do not generate TAGS if we have
 dnl a monocase filesystem.
@@ -1703,10 +2236,10 @@ AC_REQUIRE([CF_MIXEDCASE_FILENAMES])
 AC_CHECK_PROGS(CTAGS, exctags ctags)
 AC_CHECK_PROGS(ETAGS, exetags etags)
 
-AC_CHECK_PROG(MAKE_LOWER_TAGS, ${CTAGS-ctags}, yes, no)
+AC_CHECK_PROG(MAKE_LOWER_TAGS, ${CTAGS:-ctags}, yes, no)
 
 if test "$cf_cv_mixedcase" = yes ; then
-       AC_CHECK_PROG(MAKE_UPPER_TAGS, ${ETAGS-etags}, yes, no)
+       AC_CHECK_PROG(MAKE_UPPER_TAGS, ${ETAGS:-etags}, yes, no)
 else
        MAKE_UPPER_TAGS=no
 fi
@@ -1730,7 +2263,7 @@ AC_SUBST(MAKE_UPPER_TAGS)
 AC_SUBST(MAKE_LOWER_TAGS)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_MIXEDCASE_FILENAMES version: 3 updated: 2003/09/20 17:07:55
+dnl CF_MIXEDCASE_FILENAMES version: 7 updated: 2015/04/12 15:39:00
 dnl ----------------------
 dnl Check if the file-system supports mixed-case filenames.  If we're able to
 dnl create a lowercase name and see it as uppercase, it doesn't support that.
@@ -1738,11 +2271,11 @@ AC_DEFUN([CF_MIXEDCASE_FILENAMES],
 [
 AC_CACHE_CHECK(if filesystem supports mixed-case filenames,cf_cv_mixedcase,[
 if test "$cross_compiling" = yes ; then
-       case $target_alias in #(vi
-       *-os2-emx*|*-msdosdjgpp*|*-cygwin*|*-mingw32*|*-uwin*) #(vi
+       case $target_alias in
+       (*-os2-emx*|*-msdosdjgpp*|*-cygwin*|*-msys*|*-mingw*|*-uwin*)
                cf_cv_mixedcase=no
                ;;
-       *)
+       (*)
                cf_cv_mixedcase=yes
                ;;
        esac
@@ -1757,23 +2290,29 @@ else
        rm -f conftest CONFTEST
 fi
 ])
-test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES)
+test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES,1,[Define to 1 if filesystem supports mixed-case filenames.])
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_MKSTEMP version: 6 updated: 2010/05/22 14:44:30
+dnl CF_MKSTEMP version: 10 updated: 2017/01/21 11:12:16
 dnl ----------
 dnl Check for a working mkstemp.  This creates two files, checks that they are
 dnl successfully created and distinct (AmigaOS apparently fails on the last).
 AC_DEFUN([CF_MKSTEMP],[
+AC_CHECK_HEADERS( \
+unistd.h \
+)
 AC_CACHE_CHECK(for working mkstemp, cf_cv_func_mkstemp,[
-rm -f conftest*
+rm -rf conftest*
 AC_TRY_RUN([
 #include <sys/types.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
 #include <sys/stat.h>
-int main()
+int main(void)
 {
        char *tmpl = "conftestXXXXXX";
        char name[2][80];
@@ -1802,26 +2341,29 @@ int main()
 }
 ],[cf_cv_func_mkstemp=yes
 ],[cf_cv_func_mkstemp=no
-],[AC_CHECK_FUNC(mkstemp)
-])
+],[cf_cv_func_mkstemp=maybe])
 ])
+if test "x$cf_cv_func_mkstemp" = xmaybe ; then
+       AC_CHECK_FUNC(mkstemp)
+fi
 if test "x$cf_cv_func_mkstemp" = xyes || test "x$ac_cv_func_mkstemp" = xyes ; then
-       AC_DEFINE(HAVE_MKSTEMP)
+       AC_DEFINE(HAVE_MKSTEMP,1,[Define to 1 if mkstemp() is available and working.])
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_MSG_LOG version: 4 updated: 2007/07/29 09:55:12
+dnl CF_MSG_LOG version: 5 updated: 2010/10/23 15:52:32
 dnl ----------
 dnl Write a debug message to config.log, along with the line number in the
 dnl configure script.
 AC_DEFUN([CF_MSG_LOG],[
-echo "${as_me-configure}:__oline__: testing $* ..." 1>&AC_FD_CC
+echo "${as_me:-configure}:__oline__: testing $* ..." 1>&AC_FD_CC
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_NCURSES_ADDON version: 2 updated: 2010/02/27 18:27:44
+dnl CF_NCURSES_ADDON version: 5 updated: 2015/04/26 18:06:58
 dnl ----------------
 dnl Configure an ncurses add-on, built outside the ncurses tree.
 AC_DEFUN([CF_NCURSES_ADDON],[
+AC_REQUIRE([CF_NCURSES_CONFIG])
 
 AC_PROVIDE([CF_SUBST_NCURSES_VERSION])
 
@@ -1832,42 +2374,55 @@ AC_ARG_ENABLE(widec,
        [with_widec=no])
 AC_MSG_RESULT($with_widec)
 if test "$with_widec" = yes ; then
-       CF_UTF8_LIB 
+       CF_UTF8_LIB
        CF_NCURSES_CONFIG(ncursesw)
 else
        CF_NCURSES_CONFIG(ncurses)
 fi
 
-if test "$NCURSES_CONFIG" != none ; then
+if test "$NCURSES_CONFIG_PKG" != none ; then
+       cf_version=`$PKG_CONFIG --modversion $NCURSES_CONFIG_PKG 2>/dev/null`
+
+       NCURSES_MAJOR=`echo "$cf_version" | sed -e 's/\..*//'`
+       NCURSES_MINOR=`echo "$cf_version" | sed -e 's/^[[0-9]][[0-9]]*\.//' -e 's/\..*//'`
+       NCURSES_PATCH=`echo "$cf_version" | sed -e 's/^[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\.//'`
+
+       cf_cv_abi_version=`$PKG_CONFIG --variable=abi_version $NCURSES_CONFIG_PKG 2>/dev/null`
+       if test -z "$cf_cv_abi_version"
+       then
+               cf_cv_abi_version=`$PKG_CONFIG --variable=major_version $NCURSES_CONFIG_PKG 2>/dev/null`
+       fi
 
-cf_version=`$NCURSES_CONFIG --version`
+elif test "$NCURSES_CONFIG" != none ; then
 
-NCURSES_MAJOR=`echo "$cf_version" | sed -e 's/\..*//'`
-NCURSES_MINOR=`echo "$cf_version" | sed -e 's/^[[0-9]]\+\.//' -e 's/\..*//'`
-NCURSES_PATCH=`echo "$cf_version" | sed -e 's/^[[0-9]]\+\.[[0-9]]\+\.//'`
+       cf_version=`$NCURSES_CONFIG --version 2>/dev/null`
 
-# ABI version is not available from headers
-cf_cv_abi_version=`$NCURSES_CONFIG --abi-version`
+       NCURSES_MAJOR=`echo "$cf_version" | sed -e 's/\..*//'`
+       NCURSES_MINOR=`echo "$cf_version" | sed -e 's/^[[0-9]][[0-9]]*\.//' -e 's/\..*//'`
+       NCURSES_PATCH=`echo "$cf_version" | sed -e 's/^[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\.//'`
+
+       # ABI version is not available from headers
+       cf_cv_abi_version=`$NCURSES_CONFIG --abi-version 2>/dev/null`
 
 else
 
-for cf_name in MAJOR MINOR PATCH
-do
-cat >conftest.$ac_ext <<CF_EOF
-#include <${cf_cv_ncurses_header-curses.h}>
-AUTOCONF_$cf_name NCURSES_VERSION_$cf_name
+       for cf_name in MAJOR MINOR PATCH
+       do
+       cat >conftest.$ac_ext <<CF_EOF
+       #include <${cf_cv_ncurses_header:-curses.h}>
+       AUTOCONF_$cf_name NCURSES_VERSION_$cf_name
 CF_EOF
-       cf_try="$ac_cpp conftest.$ac_ext 2>&5 | fgrep AUTOCONF_$cf_name >conftest.out"
-       AC_TRY_EVAL(cf_try)
-       if test -f conftest.out ; then
-               cf_result=`cat conftest.out | sed -e "s/^.*AUTOCONF_$cf_name[[  ]]\+//"`
-               eval NCURSES_$cf_name=$cf_result
-               cat conftest.$ac_ext
-               cat conftest.out
-       fi
-done
+               cf_try="$ac_cpp conftest.$ac_ext 2>&5 | fgrep AUTOCONF_$cf_name >conftest.out"
+               AC_TRY_EVAL(cf_try)
+               if test -f conftest.out ; then
+                       cf_result=`cat conftest.out | sed -e "s/^.*AUTOCONF_$cf_name[[  ]][[    ]]*//"`
+                       eval NCURSES_$cf_name=\"$cf_result\"
+                       # cat conftest.$ac_ext
+                       # cat conftest.out
+               fi
+       done
 
-cf_cv_abi_version=${NCURSES_MAJOR}
+       cf_cv_abi_version=${NCURSES_MAJOR}
 
 fi
 
@@ -1927,47 +2482,101 @@ printf("old\n");
        ,[$1=no])
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_NCURSES_CONFIG version: 6 updated: 2010/04/28 06:02:16
+dnl CF_NCURSES_CONFIG version: 21 updated: 2018/06/20 20:23:13
 dnl -----------------
-dnl Tie together the configure-script macros for ncurses.
-dnl Prefer the "-config" script from ncurses 5.6, to simplify analysis.
-dnl Allow that to be overridden using the $NCURSES_CONFIG environment variable.
+dnl Tie together the configure-script macros for ncurses, preferring these in
+dnl order:
+dnl a) ".pc" files for pkg-config, using $NCURSES_CONFIG_PKG
+dnl b) the "-config" script from ncurses, using $NCURSES_CONFIG
+dnl c) just plain libraries
 dnl
 dnl $1 is the root library name (default: "ncurses")
-AC_DEFUN([CF_NCURSES_CONFIG],
-[
+AC_DEFUN([CF_NCURSES_CONFIG],[
+AC_REQUIRE([CF_PKG_CONFIG])
 cf_ncuconfig_root=ifelse($1,,ncurses,$1)
+cf_have_ncuconfig=no
+
+if test "x${PKG_CONFIG:=none}" != xnone; then
+       AC_MSG_CHECKING(pkg-config for $cf_ncuconfig_root)
+       if "$PKG_CONFIG" --exists $cf_ncuconfig_root ; then
+               AC_MSG_RESULT(yes)
+
+               AC_MSG_CHECKING(if the $cf_ncuconfig_root package files work)
+               cf_have_ncuconfig=unknown
+
+               cf_save_CPPFLAGS="$CPPFLAGS"
+               cf_save_LIBS="$LIBS"
 
-echo "Looking for ${cf_ncuconfig_root}-config"
-AC_PATH_PROGS(NCURSES_CONFIG,${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config,none)
+               CF_ADD_CFLAGS(`$PKG_CONFIG --cflags $cf_ncuconfig_root`)
+               CF_ADD_LIBS(`$PKG_CONFIG --libs $cf_ncuconfig_root`)
+
+               AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>],
+                       [initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);],
+                       [AC_TRY_RUN([#include <${cf_cv_ncurses_header:-curses.h}>
+                               int main(void)
+                               { char *xx = curses_version(); return (xx == 0); }],
+                               [cf_have_ncuconfig=yes],
+                               [cf_have_ncuconfig=no],
+                               [cf_have_ncuconfig=maybe])],
+                       [cf_have_ncuconfig=no])
+               AC_MSG_RESULT($cf_have_ncuconfig)
+               test "$cf_have_ncuconfig" = maybe && cf_have_ncuconfig=yes
+               if test "$cf_have_ncuconfig" != "yes"
+               then
+                       CPPFLAGS="$cf_save_CPPFLAGS"
+                       LIBS="$cf_save_LIBS"
+                       NCURSES_CONFIG_PKG=none
+               else
+                       AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries])
+                       NCURSES_CONFIG_PKG=$cf_ncuconfig_root
+                       CF_TERM_HEADER
+               fi
 
-if test "$NCURSES_CONFIG" != none ; then
+       else
+               AC_MSG_RESULT(no)
+               NCURSES_CONFIG_PKG=none
+       fi
+else
+       NCURSES_CONFIG_PKG=none
+fi
 
-CPPFLAGS="$CPPFLAGS `$NCURSES_CONFIG --cflags`"
-LIBS="`$NCURSES_CONFIG --libs` $LIBS"
+if test "x$cf_have_ncuconfig" = "xno"; then
+       cf_ncurses_config="${cf_ncuconfig_root}${NCURSES_CONFIG_SUFFIX}-config"; echo "Looking for ${cf_ncurses_config}"
 
-# even with config script, some packages use no-override for curses.h
-CF_CURSES_HEADER(ifelse($1,,ncurses,$1))
+       CF_ACVERSION_CHECK(2.52,
+               [AC_CHECK_TOOLS(NCURSES_CONFIG, ${cf_ncurses_config} ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)],
+               [AC_PATH_PROGS(NCURSES_CONFIG,  ${cf_ncurses_config} ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)])
 
-dnl like CF_NCURSES_CPPFLAGS
-AC_DEFINE(NCURSES)
+       if test "$NCURSES_CONFIG" != none ; then
 
-dnl like CF_NCURSES_LIBS
-CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_ncuconfig_root)
-AC_DEFINE_UNQUOTED($cf_nculib_ROOT)
+               CF_ADD_CFLAGS(`$NCURSES_CONFIG --cflags`)
+               CF_ADD_LIBS(`$NCURSES_CONFIG --libs`)
 
-dnl like CF_NCURSES_VERSION
-cf_cv_ncurses_version=`$NCURSES_CONFIG --version`
+               # even with config script, some packages use no-override for curses.h
+               CF_CURSES_HEADER(ifelse($1,,ncurses,$1))
 
-else
+               dnl like CF_NCURSES_CPPFLAGS
+               AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries])
 
-CF_NCURSES_CPPFLAGS(ifelse($1,,ncurses,$1))
-CF_NCURSES_LIBS(ifelse($1,,ncurses,$1))
+               dnl like CF_NCURSES_LIBS
+               CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_ncuconfig_root)
+               AC_DEFINE_UNQUOTED($cf_nculib_ROOT)
 
+               dnl like CF_NCURSES_VERSION
+               cf_cv_ncurses_version=`$NCURSES_CONFIG --version`
+
+       else
+
+               CF_NCURSES_CPPFLAGS(ifelse($1,,ncurses,$1))
+               CF_NCURSES_LIBS(ifelse($1,,ncurses,$1))
+
+       fi
+else
+       NCURSES_CONFIG=none
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_NCURSES_CPPFLAGS version: 19 updated: 2007/07/29 13:35:20
+dnl CF_NCURSES_CPPFLAGS version: 21 updated: 2012/10/06 08:57:51
 dnl -------------------
 dnl Look for the SVr4 curses clone 'ncurses' in the standard places, adjusting
 dnl the CPPFLAGS variable so we can include its header.
@@ -1996,7 +2605,7 @@ cf_ncuhdr_root=ifelse($1,,ncurses,$1)
 
 test -n "$cf_cv_curses_dir" && \
 test "$cf_cv_curses_dir" != "no" && { \
-  CF_ADD_INCDIR($cf_cv_curses_dir/include $cf_cv_curses_dir/include/$cf_ncuhdr_root)
+  CF_ADD_INCDIR($cf_cv_curses_dir/include/$cf_ncuhdr_root)
 }
 
 AC_CACHE_CHECK(for $cf_ncuhdr_root header in include-path, cf_cv_ncurses_h,[
@@ -2013,12 +2622,12 @@ CF_NCURSES_HEADER
 CF_TERM_HEADER
 
 # some applications need this, but should check for NCURSES_VERSION
-AC_DEFINE(NCURSES)
+AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries])
 
 CF_NCURSES_VERSION
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_NCURSES_HEADER version: 2 updated: 2008/03/23 14:48:54
+dnl CF_NCURSES_HEADER version: 4 updated: 2015/04/15 19:08:48
 dnl -----------------
 dnl Find a "curses" header file, e.g,. "curses.h", or one of the more common
 dnl variations of ncurses' installs.
@@ -2067,24 +2676,24 @@ fi
 
 # Set definitions to allow ifdef'ing for ncurses.h
 
-case $cf_cv_ncurses_header in # (vi
-*ncurses.h)
-       AC_DEFINE(HAVE_NCURSES_H)
+case $cf_cv_ncurses_header in
+(*ncurses.h)
+       AC_DEFINE(HAVE_NCURSES_H,1,[Define to 1 if we have ncurses.h])
        ;;
 esac
 
-case $cf_cv_ncurses_header in # (vi
-ncurses/curses.h|ncurses/ncurses.h)
-       AC_DEFINE(HAVE_NCURSES_NCURSES_H)
+case $cf_cv_ncurses_header in
+(ncurses/curses.h|ncurses/ncurses.h)
+       AC_DEFINE(HAVE_NCURSES_NCURSES_H,1,[Define to 1 if we have ncurses/ncurses.h])
        ;;
-ncursesw/curses.h|ncursesw/ncurses.h)
-       AC_DEFINE(HAVE_NCURSESW_NCURSES_H)
+(ncursesw/curses.h|ncursesw/ncurses.h)
+       AC_DEFINE(HAVE_NCURSESW_NCURSES_H,1,[Define to 1 if we have ncursesw/ncurses.h])
        ;;
 esac
 
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_NCURSES_LIBS version: 13 updated: 2007/07/29 10:29:20
+dnl CF_NCURSES_LIBS version: 17 updated: 2015/04/15 19:08:48
 dnl ---------------
 dnl Look for the ncurses library.  This is a little complicated on Linux,
 dnl because it may be linked with the gpm (general purpose mouse) library.
@@ -2110,8 +2719,8 @@ AC_CHECK_LIB(gpm,Gpm_Open,
                [LIBS="$cf_ncurses_SAVE"],
                [cf_ncurses_LIBS="-lgpm"])])
 
-case $host_os in #(vi
-freebsd*)
+case $host_os in
+(freebsd*)
        # This is only necessary if you are linking against an obsolete
        # version of ncurses (but it should do no harm, since it's static).
        if test "$cf_nculib_root" = ncurses ; then
@@ -2120,15 +2729,14 @@ freebsd*)
        ;;
 esac
 
-LIBS="$cf_ncurses_LIBS $LIBS"
+CF_ADD_LIBS($cf_ncurses_LIBS)
 
 if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
 then
-       CF_ADD_LIBDIR($cf_cv_curses_dir/lib)
-       LIBS="-l$cf_nculib_root $LIBS"
+       CF_ADD_LIBS(-l$cf_nculib_root)
 else
        CF_FIND_LIBRARY($cf_nculib_root,$cf_nculib_root,
-               [#include <${cf_cv_ncurses_header-curses.h}>],
+               [#include <${cf_cv_ncurses_header:-curses.h}>],
                [initscr()],
                initscr)
 fi
@@ -2142,7 +2750,7 @@ if test -n "$cf_ncurses_LIBS" ; then
                        LIBS="$q"
                fi
        done
-       AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
+       AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>],
                [initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);],
                [AC_MSG_RESULT(yes)],
                [AC_MSG_RESULT(no)
@@ -2153,7 +2761,7 @@ CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_nculib_root)
 AC_DEFINE_UNQUOTED($cf_nculib_ROOT)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_NCURSES_VERSION version: 12 updated: 2007/04/28 09:15:55
+dnl CF_NCURSES_VERSION version: 15 updated: 2017/05/09 19:26:10
 dnl ------------------
 dnl Check for the version of ncurses, to aid in reporting bugs, etc.
 dnl Call CF_CURSES_CPPFLAGS first, or CF_NCURSES_CPPFLAGS.  We don't use
@@ -2166,9 +2774,9 @@ AC_CACHE_CHECK(for ncurses version, cf_cv_ncurses_version,[
        cf_tempfile=out$$
        rm -f $cf_tempfile
        AC_TRY_RUN([
-#include <${cf_cv_ncurses_header-curses.h}>
+#include <${cf_cv_ncurses_header:-curses.h}>
 #include <stdio.h>
-int main()
+int main(void)
 {
        FILE *fp = fopen("$cf_tempfile", "w");
 #ifdef NCURSES_VERSION
@@ -2184,14 +2792,14 @@ int main()
        make an error
 # endif
 #endif
-       ${cf_cv_main_return-return}(0);
+       ${cf_cv_main_return:-return}(0);
 }],[
        cf_cv_ncurses_version=`cat $cf_tempfile`],,[
 
        # This will not work if the preprocessor splits the line after the
        # Autoconf token.  The 'unproto' program does that.
        cat > conftest.$ac_ext <<EOF
-#include <${cf_cv_ncurses_header-curses.h}>
+#include <${cf_cv_ncurses_header:-curses.h}>
 #undef Autoconf
 #ifdef NCURSES_VERSION
 Autoconf NCURSES_VERSION
@@ -2212,91 +2820,46 @@ EOF
 ])
        rm -f $cf_tempfile
 ])
-test "$cf_cv_ncurses_version" = no || AC_DEFINE(NCURSES)
-])dnl
-dnl ---------------------------------------------------------------------------
-dnl CF_NO_LEAKS_OPTION version: 4 updated: 2006/12/16 14:24:05
-dnl ------------------
-dnl see CF_WITH_NO_LEAKS
-AC_DEFUN([CF_NO_LEAKS_OPTION],[
-AC_MSG_CHECKING(if you want to use $1 for testing)
-AC_ARG_WITH($1,
-       [$2],
-       [AC_DEFINE($3)ifelse([$4],,[
-        $4
-])
-       : ${with_cflags:=-g}
-       : ${with_no_leaks:=yes}
-        with_$1=yes],
-       [with_$1=])
-AC_MSG_RESULT(${with_$1:-no})
-
-case .$with_cflags in #(vi
-.*-g*)
-       case .$CFLAGS in #(vi
-       .*-g*) #(vi
-               ;;
-       *)
-               CF_ADD_CFLAGS([-g])
-               ;;
-       esac
-       ;;
-esac
+test "$cf_cv_ncurses_version" = no || AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries])
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_NUMBER_SYNTAX version: 1 updated: 2003/09/20 18:12:49
-dnl ----------------
-dnl Check if the given variable is a number.  If not, report an error.
-dnl $1 is the variable
-dnl $2 is the message
-AC_DEFUN([CF_NUMBER_SYNTAX],[
-if test -n "$1" ; then
-  case $1 in #(vi
-  [[0-9]]*) #(vi
-       ;;
-  *)
-       AC_MSG_ERROR($2 is not a number: $1)
-       ;;
-  esac
-else
-  AC_MSG_ERROR($2 value is empty)
-fi
-])dnl
-dnl ---------------------------------------------------------------------------
-dnl CF_OBJ_SUBDIR version: 4 updated: 2002/02/23 20:38:31
+dnl CF_OBJ_SUBDIR version: 7 updated: 2015/04/17 21:13:04
 dnl -------------
 dnl Compute the object-directory name from the given model name
 AC_DEFUN([CF_OBJ_SUBDIR],
 [
        case $1 in
-       libtool) $2='obj_lo'  ;;
-       normal)  $2='objects' ;;
-       debug)   $2='obj_g' ;;
-       profile) $2='obj_p' ;;
-       shared)
-               case $cf_cv_system_name in #(vi
-               cygwin) #(vi
+       (libtool) $2='obj_lo'  ;;
+       (normal)  $2='objects' ;;
+       (debug)   $2='obj_g' ;;
+       (profile) $2='obj_p' ;;
+       (shared)
+               case $cf_cv_system_name in
+               (cygwin|msys)
                        $2='objects' ;;
-               *)
+               (*)
                        $2='obj_s' ;;
                esac
        esac
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_PATHSEP version: 5 updated: 2010/05/26 05:38:42
+dnl CF_PATHSEP version: 7 updated: 2015/04/12 15:39:00
 dnl ----------
-dnl Provide a value for the $PATH and similar separator
+dnl Provide a value for the $PATH and similar separator (or amend the value
+dnl as provided in autoconf 2.5x).
 AC_DEFUN([CF_PATHSEP],
 [
+       AC_MSG_CHECKING(for PATH separator)
        case $cf_cv_system_name in
-       os2*)   PATH_SEPARATOR=';'  ;;
-       *)      PATH_SEPARATOR=':'  ;;
+       (os2*)  PATH_SEPARATOR=';'  ;;
+       (*)     ${PATH_SEPARATOR:=':'}  ;;
        esac
 ifelse([$1],,,[$1=$PATH_SEPARATOR])
        AC_SUBST(PATH_SEPARATOR)
+       AC_MSG_RESULT($PATH_SEPARATOR)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_PATH_SYNTAX version: 13 updated: 2010/05/26 05:38:42
+dnl CF_PATH_SYNTAX version: 16 updated: 2015/04/18 08:56:57
 dnl --------------
 dnl Check the argument to see that it looks like a pathname.  Rewrite it if it
 dnl begins with one of the prefix/exec_prefix variables, and then again if the
@@ -2304,36 +2867,36 @@ dnl result begins with 'NONE'.  This is necessary to work around autoconf's
 dnl delayed evaluation of those symbols.
 AC_DEFUN([CF_PATH_SYNTAX],[
 if test "x$prefix" != xNONE; then
-  cf_path_syntax="$prefix"
+       cf_path_syntax="$prefix"
 else
-  cf_path_syntax="$ac_default_prefix"
-fi
-
-case ".[$]$1" in #(vi
-.\[$]\(*\)*|.\'*\'*) #(vi
-  ;;
-..|./*|.\\*) #(vi
-  ;;
-.[[a-zA-Z]]:[[\\/]]*) #(vi OS/2 EMX
-  ;;
-.\[$]{*prefix}*) #(vi
-  eval $1="[$]$1"
-  case ".[$]$1" in #(vi
-  .NONE/*)
-    $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
-    ;;
-  esac
-  ;; #(vi
-.no|.NONE/*)
-  $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
-  ;;
-*)
-  ifelse([$2],,[AC_MSG_ERROR([expected a pathname, not \"[$]$1\"])],$2)
-  ;;
+       cf_path_syntax="$ac_default_prefix"
+fi
+
+case ".[$]$1" in
+(.\[$]\(*\)*|.\'*\'*)
+       ;;
+(..|./*|.\\*)
+       ;;
+(.[[a-zA-Z]]:[[\\/]]*) # OS/2 EMX
+       ;;
+(.\[$]{*prefix}*|.\[$]{*dir}*)
+       eval $1="[$]$1"
+       case ".[$]$1" in
+       (.NONE/*)
+               $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
+               ;;
+       esac
+       ;;
+(.no|.NONE/*)
+       $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
+       ;;
+(*)
+       ifelse([$2],,[AC_MSG_ERROR([expected a pathname, not \"[$]$1\"])],$2)
+       ;;
 esac
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_PKG_CONFIG version: 3 updated: 2009/01/25 10:55:09
+dnl CF_PKG_CONFIG version: 10 updated: 2015/04/26 18:06:58
 dnl -------------
 dnl Check for the package-config program, unless disabled by command-line.
 AC_DEFUN([CF_PKG_CONFIG],
@@ -2345,14 +2908,16 @@ AC_ARG_WITH(pkg-config,
        [cf_pkg_config=yes])
 AC_MSG_RESULT($cf_pkg_config)
 
-case $cf_pkg_config in #(vi
-no) #(vi
+case $cf_pkg_config in
+(no)
        PKG_CONFIG=none
        ;;
-yes) #(vi
-       AC_PATH_PROG(PKG_CONFIG, pkg-config, none)
+(yes)
+       CF_ACVERSION_CHECK(2.52,
+               [AC_PATH_TOOL(PKG_CONFIG, pkg-config, none)],
+               [AC_PATH_PROG(PKG_CONFIG, pkg-config, none)])
        ;;
-*)
+(*)
        PKG_CONFIG=$withval
        ;;
 esac
@@ -2360,12 +2925,14 @@ esac
 test -z "$PKG_CONFIG" && PKG_CONFIG=none
 if test "$PKG_CONFIG" != none ; then
        CF_PATH_SYNTAX(PKG_CONFIG)
+elif test "x$cf_pkg_config" != xno ; then
+       AC_MSG_WARN(pkg-config is not installed)
 fi
 
 AC_SUBST(PKG_CONFIG)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_POSIX_C_SOURCE version: 8 updated: 2010/05/26 05:38:42
+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
@@ -2380,7 +2947,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"
@@ -2397,15 +2967,15 @@ make an error
 #endif],
        [cf_cv_posix_c_source=no],
        [cf_want_posix_source=no
-        case .$cf_POSIX_C_SOURCE in #(vi
-        .[[12]]??*) #(vi
+        case .$cf_POSIX_C_SOURCE in
+        (.[[12]]??*)
                cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
                ;;
-        .2) #(vi
+        (.2)
                cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
                cf_want_posix_source=yes
                ;;
-        .*)
+        (.*)
                cf_want_posix_source=yes
                ;;
         esac
@@ -2418,7 +2988,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
@@ -2436,6 +3007,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_PROG_AR version: 1 updated: 2009/01/01 20:15:22
@@ -2454,7 +3054,20 @@ AC_PROG_AWK
 test -z "$AWK" && AC_MSG_ERROR(No awk program found)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_PROG_CC_C_O version: 2 updated: 2006/12/16 15:55:46
+dnl CF_PROG_CC version: 4 updated: 2014/07/12 18:57:58
+dnl ----------
+dnl standard check for CC, plus followup sanity checks
+dnl $1 = optional parameter to pass to AC_PROG_CC to specify compiler name
+AC_DEFUN([CF_PROG_CC],[
+ifelse($1,,[AC_PROG_CC],[AC_PROG_CC($1)])
+CF_GCC_VERSION
+CF_ACVERSION_CHECK(2.52,
+       [AC_PROG_CC_STDC],
+       [CF_ANSI_CC_REQD])
+CF_CC_ENV_FLAGS
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_PROG_CC_C_O version: 5 updated: 2017/01/21 11:06:25
 dnl --------------
 dnl Analogous to AC_PROG_CC_C_O, but more useful: tests only $CC, ensures that
 dnl the output file can be renamed, and allows for a shell variable that can
@@ -2462,21 +3075,23 @@ dnl be used later.  The parameter is either CC or CXX.  The result is the
 dnl cache variable:
 dnl    $cf_cv_prog_CC_c_o
 dnl    $cf_cv_prog_CXX_c_o
+dnl
+dnl $1 = compiler
+dnl $2 = compiler options, if any
 AC_DEFUN([CF_PROG_CC_C_O],
 [AC_REQUIRE([AC_PROG_CC])dnl
 AC_MSG_CHECKING([whether [$]$1 understands -c and -o together])
 AC_CACHE_VAL(cf_cv_prog_$1_c_o,
 [
 cat > conftest.$ac_ext <<CF_EOF
-#include <stdio.h>
-int main()
+int main(void)
 {
        ${cf_cv_main_return:-return}(0);
 }
 CF_EOF
 # We do the test twice because some compilers refuse to overwrite an
 # existing .o file with -o, though they will create one.
-ac_try='[$]$1 -c conftest.$ac_ext -o conftest2.$ac_objext >&AC_FD_CC'
+ac_try='[$]$1 $2 -c conftest.$ac_ext -o conftest2.$ac_objext >&AC_FD_CC'
 if AC_TRY_EVAL(ac_try) &&
   test -f conftest2.$ac_objext && AC_TRY_EVAL(ac_try);
 then
@@ -2484,7 +3099,7 @@ then
 else
   eval cf_cv_prog_$1_c_o=no
 fi
-rm -f conftest*
+rm -rf conftest*
 ])dnl
 if test $cf_cv_prog_$1_c_o = yes; then
   AC_MSG_RESULT([yes])
@@ -2493,36 +3108,36 @@ else
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_PROG_EGREP version: 1 updated: 2006/09/16 11:40:59
+dnl CF_PROG_EGREP version: 2 updated: 2015/04/18 08:56:57
 dnl -------------
 dnl AC_PROG_EGREP was introduced in autoconf 2.53.
 dnl This macro adds a check to ensure the script found something.
 AC_DEFUN([CF_PROG_EGREP],
 [AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
-   [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
-    then ac_cv_prog_egrep='grep -E'
-    else ac_cv_prog_egrep='egrep'
-    fi])
- EGREP=$ac_cv_prog_egrep
- AC_SUBST([EGREP])
-test -z "$EGREP" && AC_MSG_ERROR(No egrep program found)
+       [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
+               then ac_cv_prog_egrep='grep -E'
+               else ac_cv_prog_egrep='egrep'
+       fi])
      EGREP=$ac_cv_prog_egrep
      AC_SUBST([EGREP])
+       test -z "$EGREP" && AC_MSG_ERROR(No egrep program found)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_PROG_EXT version: 10 updated: 2004/01/03 19:28:18
+dnl CF_PROG_EXT version: 14 updated: 2018/06/20 20:23:13
 dnl -----------
 dnl Compute $PROG_EXT, used for non-Unix ports, such as OS/2 EMX.
 AC_DEFUN([CF_PROG_EXT],
 [
 AC_REQUIRE([CF_CHECK_CACHE])
 case $cf_cv_system_name in
-os2*)
-    CFLAGS="$CFLAGS -Zmt"
-    CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__"
-    CXXFLAGS="$CXXFLAGS -Zmt"
-    # autoconf's macro sets -Zexe and suffix both, which conflict:w
-    LDFLAGS="$LDFLAGS -Zmt -Zcrtdll"
-    ac_cv_exeext=.exe
-    ;;
+(os2*)
+       CFLAGS="$CFLAGS -Zmt"
+       CF_APPEND_TEXT(CPPFLAGS,-D__ST_MT_ERRNO__)
+       CXXFLAGS="$CXXFLAGS -Zmt"
+       # autoconf's macro sets -Zexe and suffix both, which conflict:w
+       LDFLAGS="$LDFLAGS -Zmt -Zcrtdll"
+       ac_cv_exeext=.exe
+       ;;
 esac
 
 AC_EXEEXT
@@ -2530,7 +3145,152 @@ AC_OBJEXT
 
 PROG_EXT="$EXEEXT"
 AC_SUBST(PROG_EXT)
-test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT")
+test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT",[Define to the program extension (normally blank)])
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_PROG_GNAT version: 9 updated: 2019/09/21 18:08:42
+dnl ------------
+dnl Check for gnat/gnatmake/etc, ensure that the toolset is complete.
+AC_DEFUN([CF_PROG_GNAT],[
+for cf_prog_gnat in gnat gnatmake gprconfig gprbuild
+do
+       CF_UPPER(cf_upper_prog_gnat,${cf_prog_gnat})
+
+       unset ac_cv_path_cf_TEMP_gnat
+       unset cf_TEMP_gnat
+       AC_PATH_PROG(cf_TEMP_gnat,$cf_prog_gnat,no)
+       eval cf_cv_PATH_$cf_upper_prog_gnat=[$]ac_cv_path_cf_TEMP_gnat
+
+       if test "x$cf_TEMP_gnat" != xno; then
+               unset cf_gnat_version
+               unset cf_TEMP_gnat
+               CF_GNAT_VERSION(cf_TEMP_gnat,$cf_prog_gnat)
+       fi
+       eval cf_cv_VERSION_$cf_upper_prog_gnat=[$]cf_TEMP_gnat
+
+       unset cf_TEMP_gnat
+       unset cf_gnat_version
+       unset ac_cv_path_cf_TEMP_gnat
+done
+
+if test "x$cf_cv_VERSION_GNATMAKE" = "xno"; then
+       cf_ada_make=
+       cf_cv_prog_gnat_correct=no
+else
+       cf_ada_make=gnatmake
+       if test "x$cf_cv_VERSION_GPRCONFIG" = "xno"; then
+               # gprconfig is newer than gnatmake; we can continue...
+               cf_ada_config="##"
+       else
+               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
+       fi
+       if test "x$cf_ada_config" != "x#"
+       then
+               CF_GNAT_VERSION
+               CF_CHECK_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
+                       AC_MSG_WARN(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
+begin
+   Text_IO.Put ("Hello World");
+   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)
+               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
+dnl ---------------
+dnl Force $INSTALL to be an absolute-path.  Otherwise, edit_man.sh and the
+dnl misc/tabset install won't work properly.  Usually this happens only when
+dnl using the fallback mkinstalldirs script
+AC_DEFUN([CF_PROG_INSTALL],
+[AC_PROG_INSTALL
+case $INSTALL in
+(/*)
+       ;;
+(*)
+       CF_DIRNAME(cf_dir,$INSTALL)
+       test -z "$cf_dir" && cf_dir=.
+       INSTALL=`cd $cf_dir && pwd`/`echo $INSTALL | sed -e 's%^.*/%%'`
+       ;;
+esac
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_PROG_LN_S version: 2 updated: 2010/08/14 18:25:37
+dnl ------------
+dnl Combine checks for "ln -s" and "ln -sf", updating $LN_S to include "-f"
+dnl option if it is supported.
+AC_DEFUN([CF_PROG_LN_S],[
+AC_PROG_LN_S
+AC_MSG_CHECKING(if $LN_S -f options work)
+
+rm -f conf$$.src conf$$dst
+echo >conf$$.dst
+echo first >conf$$.src
+if $LN_S -f conf$$.src conf$$.dst 2>/dev/null; then
+       cf_prog_ln_sf=yes
+else
+       cf_prog_ln_sf=no
+fi
+rm -f conf$$.dst conf$$src
+AC_MSG_RESULT($cf_prog_ln_sf)
+
+test "$cf_prog_ln_sf" = yes && LN_S="$LN_S -f"
 ])dnl
 dnl ---------------------------------------------------------------------------
 dnl CF_REMOVE_DEFINE version: 3 updated: 2010/01/09 11:05:50
@@ -2563,18 +3323,19 @@ define([CF_REMOVE_LIB],
 $1=`echo "$2" | sed -e 's/-l$3[[       ]]//g' -e 's/-l$3[$]//'`
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_SHARED_OPTS version: 64 updated: 2010/06/05 16:51:16
+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
 dnl library.
 dnl
-dnl Note: ${LOCAL_LDFLAGS} is used to link executables that will run within the
-dnl build-tree, i.e., by making use of the libraries that are compiled in ../lib
-dnl We avoid compiling-in a ../lib path for the shared library since that can
-dnl lead to unexpected results at runtime.
-dnl ${LOCAL_LDFLAGS2} has the same intention but assumes that the shared libraries
-dnl are compiled in ../../lib
+dnl Notes:
+dnl a) ${LOCAL_LDFLAGS} is used to link executables that will run within
+dnl the build-tree, i.e., by making use of the libraries that are compiled in
+dnl $rel_builddir/lib We avoid compiling-in a $rel_builddir/lib path for the
+dnl shared library since that can lead to unexpected results at runtime.
+dnl b) ${LOCAL_LDFLAGS2} has the same intention but assumes that the shared
+dnl libraries are compiled in ../../lib
 dnl
 dnl The variable 'cf_cv_do_symlinks' is used to control whether we configure
 dnl to install symbolic links to the rel/abi versions of shared libraries.
@@ -2589,12 +3350,20 @@ dnl
 dnl Some loaders leave 'so_locations' lying around.  It's nice to clean up.
 AC_DEFUN([CF_SHARED_OPTS],
 [
-       AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
        AC_REQUIRE([CF_LD_RPATH_OPT])
+
+       RM_SHARED_OPTS=
        LOCAL_LDFLAGS=
        LOCAL_LDFLAGS2=
        LD_SHARED_OPTS=
        INSTALL_LIB="-m 644"
+       : ${rel_builddir:=.}
+
+       shlibdir=$libdir
+       AC_SUBST(shlibdir)
+
+       MAKE_DLLS="#"
+       AC_SUBST(MAKE_DLLS)
 
        cf_cv_do_symlinks=no
        cf_ld_rpath_opt=
@@ -2604,25 +3373,40 @@ AC_DEFUN([CF_SHARED_OPTS],
        AC_ARG_WITH(shlib-version,
        [  --with-shlib-version=X  Specify rel or abi version for shared libs],
        [test -z "$withval" && withval=auto
-       case $withval in #(vi
-       yes) #(vi
+       case $withval in
+       (yes)
                cf_cv_shlib_version=auto
                ;;
-       rel|abi|auto|no) #(vi
+       (rel|abi|auto)
                cf_cv_shlib_version=$withval
                ;;
-       *)
-               AC_MSG_ERROR([option value must be one of: rel, abi, auto or no])
+       (*)
+               AC_MSG_RESULT($withval)
+               AC_MSG_ERROR([option value must be one of: rel, abi, or auto])
                ;;
        esac
        ],[cf_cv_shlib_version=auto])
        AC_MSG_RESULT($cf_cv_shlib_version)
 
        cf_cv_rm_so_locs=no
+       cf_try_cflags=
 
        # Some less-capable ports of gcc support only -fpic
        CC_SHARED_OPTS=
+
+       cf_try_fPIC=no
        if test "$GCC" = yes
+       then
+               cf_try_fPIC=yes
+       else
+               case $cf_cv_system_name in
+               (*linux*)       # e.g., PGI compiler
+                       cf_try_fPIC=yes
+                       ;;
+               esac
+       fi
+
+       if test "$cf_try_fPIC" = yes
        then
                AC_MSG_CHECKING(which $CC option to use)
                cf_save_CFLAGS="$CFLAGS"
@@ -2637,23 +3421,30 @@ AC_DEFUN([CF_SHARED_OPTS],
 
        cf_cv_shlib_version_infix=no
 
-       case $cf_cv_system_name in #(vi
-       aix[[56]]*) #(vi
+       case $cf_cv_system_name in
+       (aix4.[3-9]*|aix[[5-7]]*)
                if test "$GCC" = yes; then
-                       CC_SHARED_OPTS=
-                       MK_SHARED_LIB='$(CC) -shared'
+                       CC_SHARED_OPTS='-Wl,-brtl'
+                       MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o [$]@'
+               else
+                       CC_SHARED_OPTS='-brtl'
+                       # as well as '-qpic=large -G' or perhaps "-bM:SRE -bnoentry -bexpall"
+                       MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -G -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o [$]@'
                fi
                ;;
-       beos*) #(vi
-               MK_SHARED_LIB='${CC} ${CFLAGS} -o $[@] -Xlinker -soname=`basename $[@]` -nostart -e 0'
+       (beos*)
+               MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -o $[@] -Xlinker -soname=`basename $[@]` -nostart -e 0'
                ;;
-       cygwin*) #(vi
+       (cygwin*)
                CC_SHARED_OPTS=
-               MK_SHARED_LIB='sh ../mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
+               MK_SHARED_LIB=$SHELL' '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
+               RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
                cf_cv_shlib_version=cygdll
                cf_cv_shlib_version_infix=cygdll
+               shlibdir=$bindir
+               MAKE_DLLS=
                cat >mk_shared_lib.sh <<-CF_EOF
-               #!/bin/sh
+               #!$SHELL
                SHARED_LIB=\[$]1
                IMPORT_LIB=\`echo "\[$]1" | sed -e 's/cyg/lib/' -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
                shift
@@ -2662,14 +3453,36 @@ AC_DEFUN([CF_SHARED_OPTS],
                ** SHARED_LIB \[$]SHARED_LIB
                ** IMPORT_LIB \[$]IMPORT_LIB
 EOF
-               exec \[$]* -shared -Wl,--out-implib=../lib/\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o ../lib/\[$]{SHARED_LIB}
+               exec \[$]* ${LDFLAGS} -shared -Wl,--out-implib=\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o \[$]{SHARED_LIB}
 CF_EOF
                chmod +x mk_shared_lib.sh
                ;;
-       darwin*) #(vi
-               EXTRA_CFLAGS="-no-cpp-precomp"
+       (msys*)
+               CC_SHARED_OPTS=
+               MK_SHARED_LIB=$SHELL' '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
+               RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
+               cf_cv_shlib_version=msysdll
+               cf_cv_shlib_version_infix=msysdll
+               shlibdir=$bindir
+               MAKE_DLLS=
+               cat >mk_shared_lib.sh <<-CF_EOF
+               #!$SHELL
+               SHARED_LIB=\[$]1
+               IMPORT_LIB=\`echo "\[$]1" | sed -e 's/msys-/lib/' -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
+               shift
+               cat <<-EOF
+               Linking shared library
+               ** SHARED_LIB \[$]SHARED_LIB
+               ** IMPORT_LIB \[$]IMPORT_LIB
+EOF
+               exec \[$]* ${LDFLAGS} -shared -Wl,--out-implib=\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o \[$]{SHARED_LIB}
+CF_EOF
+               chmod +x mk_shared_lib.sh
+               ;;
+       (darwin*)
+               cf_try_cflags="no-cpp-precomp"
                CC_SHARED_OPTS="-dynamic"
-               MK_SHARED_LIB='${CC} ${CFLAGS} -dynamiclib -install_name ${libdir}/`basename $[@]` -compatibility_version ${ABI_VERSION} -current_version ${ABI_VERSION} -o $[@]'
+               MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -dynamiclib -install_name ${libdir}/`basename $[@]` -compatibility_version ${ABI_VERSION} -current_version ${ABI_VERSION} -o $[@]'
                test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi
                cf_cv_shlib_version_infix=yes
                AC_CACHE_CHECK([if ld -search_paths_first works], cf_cv_ldflags_search_paths_first, [
@@ -2681,7 +3494,15 @@ CF_EOF
                        LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
                fi
                ;;
-       hpux*) #(vi
+       (hpux[[7-8]]*)
+               # HP-UX 8.07 ld lacks "+b" option used for libdir search-list
+               if test "$GCC" != yes; then
+                       CC_SHARED_OPTS='+Z'
+               fi
+               MK_SHARED_LIB='${LD} ${LDFLAGS} -b -o $[@]'
+               INSTALL_LIB="-m 555"
+               ;;
+       (hpux*)
                # (tested with gcc 2.7.2 -- I don't have c89)
                if test "$GCC" = yes; then
                        LD_SHARED_OPTS='-Xlinker +b -Xlinker ${libdir}'
@@ -2689,68 +3510,105 @@ CF_EOF
                        CC_SHARED_OPTS='+Z'
                        LD_SHARED_OPTS='-Wl,+b,${libdir}'
                fi
-               MK_SHARED_LIB='${LD} +b ${libdir} -b -o $[@]'
+               MK_SHARED_LIB='${LD} ${LDFLAGS} +b ${libdir} -b -o $[@]'
                # HP-UX shared libraries must be executable, and should be
                # readonly to exploit a quirk in the memory manager.
                INSTALL_LIB="-m 555"
                ;;
-       irix*) #(vi
+       (interix*)
+               test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
+               if test "$cf_cv_shlib_version" = rel; then
+                       cf_shared_soname='`basename $[@] .${REL_VERSION}`.${ABI_VERSION}'
+               else
+                       cf_shared_soname='`basename $[@]`'
+               fi
+               CC_SHARED_OPTS=
+               MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-rpath,${RPATH_LIST} -Wl,-h,'$cf_shared_soname' -o $[@]'
+               ;;
+       (irix*)
                if test "$cf_cv_enable_rpath" = yes ; then
-                       EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
+                       EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
                fi
                # tested with IRIX 5.2 and 'cc'.
                if test "$GCC" != yes; then
                        CC_SHARED_OPTS='-KPIC'
-                       MK_SHARED_LIB='${CC} -shared -rdata_shared -soname `basename $[@]` -o $[@]'
+                       MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -rdata_shared -soname `basename $[@]` -o $[@]'
                else
-                       MK_SHARED_LIB='${CC} -shared -Wl,-soname,`basename $[@]` -o $[@]'
+                       MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-soname,`basename $[@]` -o $[@]'
                fi
                cf_cv_rm_so_locs=yes
                ;;
-       linux*|gnu*|k*bsd*-gnu) #(vi
-               if test "$DFT_LWR_MODEL" = "shared" ; then
+       (linux*|gnu*|k*bsd*-gnu)
+               if test "$DFT_LWR_MODEL" = "shared" && test -n "$LD_RPATH_OPT" ; then
                        LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
                        LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
                fi
                if test "$cf_cv_enable_rpath" = yes ; then
-                       EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
+                       EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
                fi
                CF_SHARED_SONAME
-               MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
+               MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
                ;;
-       openbsd[[2-9]].*) #(vi
+       (mingw*)
+               cf_cv_shlib_version=mingw
+               cf_cv_shlib_version_infix=mingw
+               shlibdir=$bindir
+               MAKE_DLLS=
                if test "$DFT_LWR_MODEL" = "shared" ; then
+                       LOCAL_LDFLAGS="-Wl,--enable-auto-import"
+                       LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+                       EXTRA_LDFLAGS="-Wl,--enable-auto-import $EXTRA_LDFLAGS"
+               fi
+               CC_SHARED_OPTS=
+               MK_SHARED_LIB=$SHELL' '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
+               RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
+               cat >mk_shared_lib.sh <<-CF_EOF
+               #!$SHELL
+               SHARED_LIB=\[$]1
+               IMPORT_LIB=\`echo "\[$]1" | sed -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
+               shift
+               cat <<-EOF
+               Linking shared library
+               ** SHARED_LIB \[$]SHARED_LIB
+               ** IMPORT_LIB \[$]IMPORT_LIB
+EOF
+               exec \[$]* ${LDFLAGS} -shared -Wl,--enable-auto-import,--out-implib=\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o \[$]{SHARED_LIB}
+CF_EOF
+               chmod +x mk_shared_lib.sh
+               ;;
+       (openbsd[[2-9]].*|mirbsd*)
+               if test "$DFT_LWR_MODEL" = "shared" && test -n "$LD_RPATH_OPT" ; then
                        LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
                        LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
                fi
                if test "$cf_cv_enable_rpath" = yes ; then
-                       EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
+                       EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
                fi
                CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
                CF_SHARED_SONAME
-               MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-Bshareable,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
+               MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-Bshareable,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
                ;;
-       nto-qnx*|openbsd*|freebsd[[12]].*) #(vi
+       (nto-qnx*|openbsd*|freebsd[[12]].*)
                CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
-               MK_SHARED_LIB='${LD} -Bshareable -o $[@]'
+               MK_SHARED_LIB='${LD} ${LDFLAGS} -Bshareable -o $[@]'
                test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
                ;;
-       freebsd*) #(vi
+       (dragonfly*|freebsd*)
                CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
                if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
                        LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
-                       LOCAL_LDFLAGS2="${cf_ld_rpath_opt}\${libdir} $LOCAL_LDFLAGS"
-                       EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
+                       LOCAL_LDFLAGS2="${cf_ld_rpath_opt}\${RPATH_LIST} $LOCAL_LDFLAGS"
+                       EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
                fi
                CF_SHARED_SONAME
-               MK_SHARED_LIB='${LD} -shared -Bshareable -soname=`basename $[@]` -o $[@]'
+               MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
                ;;
-       netbsd*) #(vi
+       (netbsd*)
                CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
                if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
                        LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
                        LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
-                       EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
+                       EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
                        if test "$cf_cv_shlib_version" = auto; then
                        if test -f /usr/libexec/ld.elf_so; then
                                cf_cv_shlib_version=abi
@@ -2759,34 +3617,34 @@ CF_EOF
                        fi
                        fi
                        CF_SHARED_SONAME
-                       MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname' -o $[@]'
+                       MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname' -o $[@]'
                else
-                       MK_SHARED_LIB='${LD} -shared -Bshareable -o $[@]'
+                       MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -Wl,-shared -Wl,-Bshareable -o $[@]'
                fi
                ;;
-       osf*|mls+*) #(vi
+       (osf*|mls+*)
                # tested with OSF/1 V3.2 and 'cc'
                # tested with OSF/1 V3.2 and gcc 2.6.3 (but the c++ demo didn't
                # link with shared libs).
-               MK_SHARED_LIB='${LD} -set_version ${REL_VERSION}:${ABI_VERSION} -expect_unresolved "*" -shared -soname `basename $[@]`'
-               case $host_os in #(vi
-               osf4*)
+               MK_SHARED_LIB='${LD} ${LDFLAGS} -set_version ${REL_VERSION}:${ABI_VERSION} -expect_unresolved "*" -shared -soname `basename $[@]`'
+               case $host_os in
+               (osf4*)
                        MK_SHARED_LIB="${MK_SHARED_LIB} -msym"
                        ;;
                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
                cf_cv_rm_so_locs=yes
                ;;
-       sco3.2v5*)  # (also uw2* and UW7: hops 13-Apr-98
+       (sco3.2v5*)  # also uw2* and UW7: hops 13-Apr-98
                # tested with osr5.0.5
                if test "$GCC" != yes; then
                        CC_SHARED_OPTS='-belf -KPIC'
                fi
-               MK_SHARED_LIB='${LD} -dy -G -h `basename $[@] .${REL_VERSION}`.${ABI_VERSION} -o [$]@'
+               MK_SHARED_LIB='${LD} ${LDFLAGS} -dy -G -h `basename $[@] .${REL_VERSION}`.${ABI_VERSION} -o [$]@'
                if test "$cf_cv_enable_rpath" = yes ; then
                        # only way is to set LD_RUN_PATH but no switch for it
                        RUN_PATH=$libdir
@@ -2795,15 +3653,15 @@ CF_EOF
                LINK_PROGS='LD_RUN_PATH=${libdir}'
                LINK_TESTS='Pwd=`pwd`;LD_RUN_PATH=`dirname $${Pwd}`/lib'
                ;;
-       sunos4*) #(vi
+       (sunos4*)
                # tested with SunOS 4.1.1 and gcc 2.7.0
                if test "$GCC" != yes; then
                        CC_SHARED_OPTS='-KPIC'
                fi
-               MK_SHARED_LIB='${LD} -assert pure-text -o $[@]'
+               MK_SHARED_LIB='${LD} ${LDFLAGS} -assert pure-text -o $[@]'
                test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
                ;;
-       solaris2*) #(vi
+       (solaris2*)
                # tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2
                # tested with SunOS 5.10 (solaris 10) and gcc 3.4.3
                if test "$DFT_LWR_MODEL" = "shared" ; then
@@ -2823,52 +3681,89 @@ CF_EOF
                        done
                        CFLAGS="$cf_save_CFLAGS"
                        CC_SHARED_OPTS=$cf_shared_opts
-                       MK_SHARED_LIB='${CC} -dy -G -h '$cf_cv_shared_soname' -o $[@]'
+                       MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -dy -G -h '$cf_cv_shared_soname' -o $[@]'
                else
-                       MK_SHARED_LIB='${CC} -shared -dy -G -h '$cf_cv_shared_soname' -o $[@]'
+                       MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -dy -G -h '$cf_cv_shared_soname' -o $[@]'
                fi
                ;;
-       sysv5uw7*|unix_sv*) #(vi
+       (sysv5uw7*|unix_sv*)
                # tested with UnixWare 7.1.0 (gcc 2.95.2 and cc)
                if test "$GCC" != yes; then
                        CC_SHARED_OPTS='-KPIC'
                fi
-               MK_SHARED_LIB='${LD} -d y -G -o [$]@'
+               MK_SHARED_LIB='${LD} ${LDFLAGS} -d y -G -o [$]@'
                ;;
-       *)
+       (*)
                CC_SHARED_OPTS='unknown'
                MK_SHARED_LIB='echo unknown'
                ;;
        esac
 
        # This works if the last tokens in $MK_SHARED_LIB are the -o target.
-       case "$cf_cv_shlib_version" in #(vi
-       rel|abi)
-               case "$MK_SHARED_LIB" in #(vi
-               *'-o $[@]') #(vi
+       case "$cf_cv_shlib_version" in
+       (rel|abi)
+               case "$MK_SHARED_LIB" in
+               (*'-o $[@]')
                        test "$cf_cv_do_symlinks" = no && cf_cv_do_symlinks=yes
                        ;;
-               *)
+               (*)
                        AC_MSG_WARN(ignored --with-shlib-version)
                        ;;
                esac
                ;;
        esac
 
-       if test -n "$cf_ld_rpath_opt" ; then
-               MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${libdir}"
+       if test -n "$cf_try_cflags"
+       then
+cat > conftest.$ac_ext <<EOF
+#line __oline__ "${as_me:-configure}"
+#include <stdio.h>
+int main(int argc, char *argv[[]])
+{
+       printf("hello\n");
+       return (argv[[argc-1]] == 0) ;
+}
+EOF
+               cf_save_CFLAGS="$CFLAGS"
+               for cf_opt in $cf_try_cflags
+               do
+                       CFLAGS="$cf_save_CFLAGS -$cf_opt"
+                       AC_MSG_CHECKING(if CFLAGS option -$cf_opt works)
+                       if AC_TRY_EVAL(ac_compile); then
+                               AC_MSG_RESULT(yes)
+                               cf_save_CFLAGS="$CFLAGS"
+                       else
+                               AC_MSG_RESULT(no)
+                       fi
+               done
+               CFLAGS="$cf_save_CFLAGS"
        fi
 
+
+       # RPATH_LIST is a colon-separated list of directories
+       test -n "$cf_ld_rpath_opt" && MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${RPATH_LIST}"
+       test -z "$RPATH_LIST" && RPATH_LIST="\${libdir}"
+
+       test $cf_cv_rm_so_locs = yes && RM_SHARED_OPTS="$RM_SHARED_OPTS so_locations"
+
+       CF_VERBOSE(CC_SHARED_OPTS: $CC_SHARED_OPTS)
+       CF_VERBOSE(MK_SHARED_LIB:  $MK_SHARED_LIB)
+
        AC_SUBST(CC_SHARED_OPTS)
        AC_SUBST(LD_RPATH_OPT)
        AC_SUBST(LD_SHARED_OPTS)
        AC_SUBST(MK_SHARED_LIB)
+       AC_SUBST(RM_SHARED_OPTS)
+
        AC_SUBST(LINK_PROGS)
        AC_SUBST(LINK_TESTS)
+
        AC_SUBST(EXTRA_LDFLAGS)
        AC_SUBST(LOCAL_LDFLAGS)
        AC_SUBST(LOCAL_LDFLAGS2)
+
        AC_SUBST(INSTALL_LIB)
+       AC_SUBST(RPATH_LIST)
 ])dnl
 dnl ---------------------------------------------------------------------------
 dnl CF_SHARED_SONAME version: 3 updated: 2008/09/08 18:34:43
@@ -2895,7 +3790,7 @@ dnl       Remove "-g" option from the compiler options
 AC_DEFUN([CF_STRIP_G_OPT],
 [$1=`echo ${$1} | sed -e 's%-g %%' -e 's%-g$%%'`])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_SUBDIR_PATH version: 6 updated: 2010/04/21 06:20:50
+dnl CF_SUBDIR_PATH version: 7 updated: 2014/12/04 04:33:06
 dnl --------------
 dnl Construct a search-list for a nonstandard header/lib-file
 dnl    $1 = the variable to return as result
@@ -2905,42 +3800,32 @@ AC_DEFUN([CF_SUBDIR_PATH],
 [
 $1=
 
-CF_ADD_SUBDIR_PATH($1,$2,$3,/usr,$prefix)
 CF_ADD_SUBDIR_PATH($1,$2,$3,$prefix,NONE)
-CF_ADD_SUBDIR_PATH($1,$2,$3,/usr/local,$prefix)
-CF_ADD_SUBDIR_PATH($1,$2,$3,/opt,$prefix)
-CF_ADD_SUBDIR_PATH($1,$2,$3,[$]HOME,$prefix)
-])dnl
-dnl ---------------------------------------------------------------------------
-dnl CF_SUBST version: 4 updated: 2006/06/17 12:33:03
-dnl --------
-dnl    Shorthand macro for substituting things that the user may override
-dnl    with an environment variable.
-dnl
-dnl    $1 = long/descriptive name
-dnl    $2 = environment variable
-dnl    $3 = default value
-AC_DEFUN([CF_SUBST],
-[AC_CACHE_VAL(cf_cv_subst_$2,[
-AC_MSG_CHECKING(for $1 (symbol $2))
-CF_SUBST_IF([-z "[$]$2"], [$2], [$3])
-cf_cv_subst_$2=[$]$2
-AC_MSG_RESULT([$]$2)
-])
+
+for cf_subdir_prefix in \
+       /usr \
+       /usr/local \
+       /usr/pkg \
+       /opt \
+       /opt/local \
+       [$]HOME
+do
+       CF_ADD_SUBDIR_PATH($1,$2,$3,$cf_subdir_prefix,$prefix)
+done
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_TERM_HEADER version: 1 updated: 2005/12/31 13:26:39
+dnl CF_TERM_HEADER version: 4 updated: 2015/04/15 19:08:48
 dnl --------------
 dnl Look for term.h, which is part of X/Open curses.  It defines the interface
 dnl to terminfo database.  Usually it is in the same include-path as curses.h,
 dnl but some packagers change this, breaking various applications.
 AC_DEFUN([CF_TERM_HEADER],[
 AC_CACHE_CHECK(for terminfo header, cf_cv_term_header,[
-case ${cf_cv_ncurses_header} in #(vi
-*/ncurses.h|*/ncursesw.h) #(vi
+case ${cf_cv_ncurses_header} in
+(*/ncurses.h|*/ncursesw.h)
        cf_term_header=`echo "$cf_cv_ncurses_header" | sed -e 's%ncurses[[^.]]*\.h$%term.h%'`
        ;;
-*)
+(*)
        cf_term_header=term.h
        ;;
 esac
@@ -2948,7 +3833,7 @@ esac
 for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h"
 do
 AC_TRY_COMPILE([#include <stdio.h>
-#include <${cf_cv_ncurses_header-curses.h}>
+#include <${cf_cv_ncurses_header:-curses.h}>
 #include <$cf_test>
 ],[int x = auto_left_margin],[
        cf_cv_term_header="$cf_test"],[
@@ -2960,31 +3845,70 @@ done
 
 # Set definitions to allow ifdef'ing to accommodate subdirectories
 
-case $cf_cv_term_header in # (vi
-*term.h)
-       AC_DEFINE(HAVE_TERM_H)
+case $cf_cv_term_header in
+(*term.h)
+       AC_DEFINE(HAVE_TERM_H,1,[Define to 1 if we have term.h])
        ;;
 esac
 
-case $cf_cv_term_header in # (vi
-ncurses/term.h) #(vi
-       AC_DEFINE(HAVE_NCURSES_TERM_H)
+case $cf_cv_term_header in
+(ncurses/term.h)
+       AC_DEFINE(HAVE_NCURSES_TERM_H,1,[Define to 1 if we have ncurses/term.h])
        ;;
-ncursesw/term.h)
-       AC_DEFINE(HAVE_NCURSESW_TERM_H)
+(ncursesw/term.h)
+       AC_DEFINE(HAVE_NCURSESW_TERM_H,1,[Define to 1 if we have ncursesw/term.h])
        ;;
 esac
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_TOP_BUILDDIR version: 1 updated: 2006/10/15 16:33:23
+dnl CF_TOP_BUILDDIR version: 2 updated: 2013/07/27 17:38:32
 dnl ---------------
 dnl Define a top_builddir symbol, for applications that need an absolute path.
 AC_DEFUN([CF_TOP_BUILDDIR],
 [
-top_builddir=`pwd`
+top_builddir=ifelse($1,,`pwd`,$1)
 AC_SUBST(top_builddir)
 ])dnl
 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.
+AC_DEFUN([CF_TRY_XOPEN_SOURCE],[
+AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
+       AC_TRY_COMPILE([
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h>
+],[
+#ifndef _XOPEN_SOURCE
+make an error
+#endif],
+       [cf_cv_xopen_source=no],
+       [cf_save="$CPPFLAGS"
+        CF_APPEND_TEXT(CPPFLAGS,-D_XOPEN_SOURCE=$cf_XOPEN_SOURCE)
+        AC_TRY_COMPILE([
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h>
+],[
+#ifdef _XOPEN_SOURCE
+make an error
+#endif],
+       [cf_cv_xopen_source=no],
+       [cf_cv_xopen_source=$cf_XOPEN_SOURCE])
+       CPPFLAGS="$cf_save"
+       ])
+])
+
+if test "$cf_cv_xopen_source" != no ; then
+       CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE)
+       CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE)
+       cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
+       CF_ADD_CFLAGS($cf_temp_xopen_source)
+fi
+])
+dnl ---------------------------------------------------------------------------
 dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59
 dnl --------
 dnl Make an uppercase version of a variable
@@ -2994,7 +3918,7 @@ AC_DEFUN([CF_UPPER],
 $1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_UTF8_LIB version: 6 updated: 2010/04/21 06:20:50
+dnl CF_UTF8_LIB version: 8 updated: 2012/10/06 08:57:51
 dnl -----------
 dnl Check for multibyte support, and if not found, utf8 compatibility library
 AC_DEFUN([CF_UTF8_LIB],
@@ -3013,10 +3937,10 @@ AC_CACHE_CHECK(for multibyte character support,cf_cv_utf8_lib,[
 # HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between
 # ncurses/ncursesw:
 if test "$cf_cv_utf8_lib" = "add-on" ; then
-       AC_DEFINE(HAVE_LIBUTF8_H)
+       AC_DEFINE(HAVE_LIBUTF8_H,1,[Define to 1 if we should include libutf8.h])
        CF_ADD_INCDIR($cf_cv_header_path_utf8)
        CF_ADD_LIBDIR($cf_cv_library_path_utf8)
-       LIBS="$cf_cv_library_file_utf8 $LIBS"
+       CF_ADD_LIBS($cf_cv_library_file_utf8)
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
@@ -3054,19 +3978,157 @@ weak_symbol(fopen);
 ])
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_WITH_CURSES_DIR version: 2 updated: 2002/11/10 14:46:59
+dnl CF_WITH_ADA_COMPILER version: 2 updated: 2010/06/26 17:35:58
+dnl --------------------
+dnl Command-line option to specify the Ada95 compiler.
+AC_DEFUN([CF_WITH_ADA_COMPILER],[
+AC_MSG_CHECKING(for ada-compiler)
+AC_ARG_WITH(ada-compiler,
+       [  --with-ada-compiler=CMD specify Ada95 compiler command (default gnatmake)],
+       [cf_ada_compiler=$withval],
+       [cf_ada_compiler=gnatmake])
+AC_SUBST(cf_ada_compiler)
+AC_MSG_RESULT($cf_ada_compiler)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_WITH_ADA_INCLUDE version: 2 updated: 2010/06/26 17:35:58
+dnl -------------------
+dnl Command-line option to specify where Ada includes will install.
+AC_DEFUN([CF_WITH_ADA_INCLUDE],[
+AC_MSG_CHECKING(for ada-include)
+CF_WITH_PATH(ada-include,
+   [  --with-ada-include=DIR  Ada includes are in DIR],
+   ADA_INCLUDE,
+   PREFIX/share/ada/adainclude,
+   [$]prefix/share/ada/adainclude)
+AC_SUBST(ADA_INCLUDE)
+AC_MSG_RESULT($ADA_INCLUDE)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_WITH_ADA_LIBNAME version: 1 updated: 2019/09/07 18:59:41
+dnl -------------------
+dnl CF_WITH_ADA_LIBNAME
+dnl -------------------
+dnl Command-line option to specify how to name the resulting Ada library.
+dnl $1 = default value
+AC_DEFUN([CF_WITH_ADA_LIBNAME],[
+AC_MSG_CHECKING(for ada-libname)
+AC_ARG_WITH(ada-libname,
+   [  --with-ada-libname=XXX  override default Ada library-name],
+   ADA_LIBNAME=[$]withval,
+   ADA_LIBNAME=$1)
+case "x$ADA_LIBNAME" in
+(x|xyes|xno)
+       ADA_LIBNAME=$1
+       ;;
+esac
+AC_SUBST(ADA_LIBNAME)
+AC_MSG_RESULT($ADA_LIBNAME)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_WITH_ADA_OBJECTS version: 2 updated: 2010/06/26 17:35:58
+dnl -------------------
+dnl Command-line option to specify where Ada objects will install.
+AC_DEFUN([CF_WITH_ADA_OBJECTS],[
+AC_MSG_CHECKING(for ada-objects)
+CF_WITH_PATH(ada-objects,
+   [  --with-ada-objects=DIR  Ada objects are in DIR],
+   ADA_OBJECTS,
+   PREFIX/lib/ada/adalib,
+   [$]prefix/lib/ada/adalib)
+AC_SUBST(ADA_OBJECTS)
+AC_MSG_RESULT($ADA_OBJECTS)
+])dnl
+dnl ---------------------------------------------------------------------------
+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)],
+       [with_ada_sharedlib=$withval],
+       [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="#"
+
+if test "x$with_ada_sharedlib" != xno
+then
+       MAKE_ADA_SHAREDLIB=
+       if test "x$with_ada_sharedlib" != xyes
+       then
+               ADA_SHAREDLIB="$with_ada_sharedlib"
+       fi
+fi
+
+AC_SUBST(ADA_SHAREDLIB)
+AC_SUBST(MAKE_ADA_SHAREDLIB)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_WITH_CURSES_DIR version: 3 updated: 2010/11/20 17:02:38
 dnl ------------------
 dnl Wrapper for AC_ARG_WITH to specify directory under which to look for curses
 dnl libraries.
 AC_DEFUN([CF_WITH_CURSES_DIR],[
+
+AC_MSG_CHECKING(for specific curses-directory)
 AC_ARG_WITH(curses-dir,
        [  --with-curses-dir=DIR   directory in which (n)curses is installed],
-       [CF_PATH_SYNTAX(withval)
-        cf_cv_curses_dir=$withval],
+       [cf_cv_curses_dir=$withval],
        [cf_cv_curses_dir=no])
+AC_MSG_RESULT($cf_cv_curses_dir)
+
+if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
+then
+       CF_PATH_SYNTAX(withval)
+       if test -d "$cf_cv_curses_dir"
+       then
+               CF_ADD_INCDIR($cf_cv_curses_dir/include)
+               CF_ADD_LIBDIR($cf_cv_curses_dir/lib)
+       fi
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_WITH_LIB_PREFIX version: 1 updated: 2012/01/21 19:28:10
+dnl ------------------
+dnl Allow the library-prefix to be overridden.  OS/2 EMX originally had no
+dnl "lib" prefix, e.g., because it used the dll naming convention.
+dnl
+dnl $1 = variable to set
+AC_DEFUN([CF_WITH_LIB_PREFIX],
+[
+AC_MSG_CHECKING(if you want to have a library-prefix)
+AC_ARG_WITH(lib-prefix,
+       [  --with-lib-prefix       override library-prefix],
+       [with_lib_prefix=$withval],
+       [with_lib_prefix=auto])
+AC_MSG_RESULT($with_lib_prefix)
+
+if test $with_lib_prefix = auto
+then
+       CF_LIB_PREFIX($1)
+elif test $with_lib_prefix = no
+then
+       LIB_PREFIX=
+else
+       LIB_PREFIX=$with_lib_prefix
+fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_WITH_PATH version: 9 updated: 2010/05/26 05:38:42
+dnl CF_WITH_PATH version: 11 updated: 2012/09/29 15:04:19
 dnl ------------
 dnl Wrapper for AC_ARG_WITH to ensure that user supplies a pathname, not just
 dnl defaulting to yes/no.
@@ -3079,52 +4141,158 @@ dnl $5 = default value, if it's an expression & cannot be in the help-message
 dnl
 AC_DEFUN([CF_WITH_PATH],
 [AC_ARG_WITH($1,[$2 ](default: ifelse([$4],,empty,[$4])),,
-ifelse([$4],,[withval="${$3}"],[withval="${$3-ifelse([$5],,[$4],[$5])}"]))dnl
+ifelse([$4],,[withval="${$3}"],[withval="${$3:-ifelse([$5],,[$4],[$5])}"]))dnl
 if ifelse([$5],,true,[test -n "$5"]) ; then
 CF_PATH_SYNTAX(withval)
 fi
-$3="$withval"
+eval $3="$withval"
 AC_SUBST($3)dnl
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_WITH_PTHREAD version: 3 updated: 2010/05/29 16:31:02
+dnl CF_WITH_PKG_CONFIG_LIBDIR version: 10 updated: 2015/08/22 17:10:56
+dnl -------------------------
+dnl Allow the choice of the pkg-config library directory to be overridden.
+AC_DEFUN([CF_WITH_PKG_CONFIG_LIBDIR],[
+
+case $PKG_CONFIG in
+(no|none|yes)
+       AC_MSG_CHECKING(for pkg-config library directory)
+       ;;
+(*)
+       AC_MSG_CHECKING(for $PKG_CONFIG library directory)
+       ;;
+esac
+
+PKG_CONFIG_LIBDIR=no
+AC_ARG_WITH(pkg-config-libdir,
+       [  --with-pkg-config-libdir=XXX use given directory for installing pc-files],
+       [PKG_CONFIG_LIBDIR=$withval],
+       [test "x$PKG_CONFIG" != xnone && PKG_CONFIG_LIBDIR=yes])
+
+case x$PKG_CONFIG_LIBDIR in
+(x/*)
+       ;;
+(xyes)
+       # Look for the library directory using the same prefix as the executable
+       if test "x$PKG_CONFIG" = xnone
+       then
+               cf_path=$prefix
+       else
+               cf_path=`echo "$PKG_CONFIG" | sed -e 's,/[[^/]]*/[[^/]]*$,,'`
+       fi
+
+       # If you don't like using the default architecture, you have to specify the
+       # intended library directory and corresponding compiler/linker options.
+       #
+       # This case allows for Debian's 2014-flavor of multiarch, along with the
+       # most common variations before that point.  Some other variants spell the
+       # directory differently, e.g., "pkg-config", and put it in unusual places.
+       # pkg-config has always been poorly standardized, which is ironic...
+       case x`(arch) 2>/dev/null` in
+       (*64)
+               cf_search_path="\
+                       $cf_path/lib/*64-linux-gnu \
+                       $cf_path/share \
+                       $cf_path/lib64 \
+                       $cf_path/lib32 \
+                       $cf_path/lib"
+               ;;
+       (*)
+               cf_search_path="\
+                       $cf_path/lib/*-linux-gnu \
+                       $cf_path/share \
+                       $cf_path/lib32 \
+                       $cf_path/lib \
+                       $cf_path/libdata"
+               ;;
+       esac
+
+       CF_VERBOSE(list...)
+       for cf_config in $cf_search_path
+       do
+               CF_VERBOSE(checking $cf_config/pkgconfig)
+               if test -d $cf_config/pkgconfig
+               then
+                       PKG_CONFIG_LIBDIR=$cf_config/pkgconfig
+                       AC_MSG_CHECKING(done)
+                       break
+               fi
+       done
+       ;;
+(*)
+       ;;
+esac
+
+if test "x$PKG_CONFIG_LIBDIR" != xno ; then
+       AC_MSG_RESULT($PKG_CONFIG_LIBDIR)
+fi
+
+AC_SUBST(PKG_CONFIG_LIBDIR)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_WITH_PTHREAD version: 7 updated: 2015/04/18 08:56:57
 dnl ---------------
 dnl Check for POSIX thread library.
 AC_DEFUN([CF_WITH_PTHREAD],
 [
 AC_MSG_CHECKING(if you want to link with the pthread library)
 AC_ARG_WITH(pthread,
-    [  --with-pthread          use POSIX thread library],
-    [with_pthread=$withval],
-    [with_pthread=no])
+       [  --with-pthread          use POSIX thread library],
+       [with_pthread=$withval],
+       [with_pthread=no])
 AC_MSG_RESULT($with_pthread)
 
 if test "$with_pthread" != no ; then
-    AC_CHECK_HEADER(pthread.h,[
-        AC_DEFINE(HAVE_PTHREADS_H)
+       AC_CHECK_HEADER(pthread.h,[
+       AC_DEFINE(HAVE_PTHREADS_H,1,[Define to 1 if we have pthreads.h header])
 
-        AC_MSG_CHECKING(if we can link with the pthread library)
-        cf_save_LIBS="$LIBS"
-        CF_ADD_LIB(pthread)
-        AC_TRY_LINK([
+       for cf_lib_pthread in pthread c_r
+       do
+           AC_MSG_CHECKING(if we can link with the $cf_lib_pthread library)
+           cf_save_LIBS="$LIBS"
+           CF_ADD_LIB($cf_lib_pthread)
+           AC_TRY_LINK([
 #include <pthread.h>
 ],[
-        int rc = pthread_create(0,0,0,0);
+               int rc = pthread_create(0,0,0,0);
+               int r2 = pthread_mutexattr_settype(0, 0);
 ],[with_pthread=yes],[with_pthread=no])
-        LIBS="$cf_save_LIBS"
-        AC_MSG_RESULT($with_pthread)
+           LIBS="$cf_save_LIBS"
+           AC_MSG_RESULT($with_pthread)
+           test "$with_pthread" = yes && break
+       done
 
-        if test "$with_pthread" = yes ; then
-            CF_ADD_LIB(pthread)
-            AC_DEFINE(HAVE_LIBPTHREADS)
-        else
-            AC_MSG_ERROR(Cannot link with pthread library)
-        fi
-    ])
+       if test "$with_pthread" = yes ; then
+           CF_ADD_LIB($cf_lib_pthread)
+           AC_DEFINE(HAVE_LIBPTHREADS,1,[Define to 1 if we have pthreads library])
+       else
+           AC_MSG_ERROR(Cannot link with pthread library)
+       fi
+       ])
 fi
 ])
 dnl ---------------------------------------------------------------------------
-dnl CF_XOPEN_SOURCE version: 34 updated: 2010/05/26 05:38:42
+dnl CF_WITH_SYSTYPE version: 1 updated: 2013/01/26 16:26:12
+dnl ---------------
+dnl For testing, override the derived host system-type which is used to decide
+dnl things such as the linker commands used to build shared libraries.  This is
+dnl normally chosen automatically based on the type of system which you are
+dnl building on.  We use it for testing the configure script.
+dnl
+dnl This is different from the --host option: it is used only for testing parts
+dnl of the configure script which would not be reachable with --host since that
+dnl relies on the build environment being real, rather than mocked up.
+AC_DEFUN([CF_WITH_SYSTYPE],[
+CF_CHECK_CACHE([AC_CANONICAL_SYSTEM])
+AC_ARG_WITH(system-type,
+       [  --with-system-type=XXX  test: override derived host system-type],
+[AC_MSG_WARN(overriding system type to $withval)
+       cf_cv_system_name=$withval
+       host_os=$withval
+])
+])dnl
+dnl ---------------------------------------------------------------------------
+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,
@@ -3134,22 +4302,30 @@ dnl Parameters:
 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])
 cf_xopen_source=
 
-case $host_os in #(vi
-aix[[456]]*) #(vi
+case $host_os in
+(aix[[4-7]]*)
        cf_xopen_source="-D_ALL_SOURCE"
        ;;
-darwin[[0-8]].*) #(vi
+(msys)
+       cf_XOPEN_SOURCE=600
+       ;;
+(darwin[[0-8]].*)
        cf_xopen_source="-D_APPLE_C_SOURCE"
        ;;
-darwin*) #(vi
+(darwin*)
        cf_xopen_source="-D_DARWIN_C_SOURCE"
+       cf_XOPEN_SOURCE=
        ;;
-freebsd*|dragonfly*) #(vi
+(freebsd*|dragonfly*|midnightbsd*)
        # 5.x headers associate
        #       _XOPEN_SOURCE=600 with _POSIX_C_SOURCE=200112L
        #       _XOPEN_SOURCE=500 with _POSIX_C_SOURCE=199506L
@@ -3157,71 +4333,92 @@ freebsd*|dragonfly*) #(vi
        cf_XOPEN_SOURCE=600
        cf_xopen_source="-D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
        ;;
-hpux11*) #(vi
+(hpux11*)
        cf_xopen_source="-D_HPUX_SOURCE -D_XOPEN_SOURCE=500"
        ;;
-hpux*) #(vi
+(hpux*)
        cf_xopen_source="-D_HPUX_SOURCE"
        ;;
-irix[[56]].*) #(vi
+(irix[[56]].*)
        cf_xopen_source="-D_SGI_SOURCE"
+       cf_XOPEN_SOURCE=
+       ;;
+(linux*|uclinux*|gnu*|mint*|k*bsd*-gnu|cygwin)
+       CF_GNU_SOURCE($cf_XOPEN_SOURCE)
        ;;
-linux*|gnu*|mint*|k*bsd*-gnu) #(vi
-       CF_GNU_SOURCE
+(minix*)
+       cf_xopen_source="-D_NETBSD_SOURCE" # POSIX.1-2001 features are ifdef'd with this...
+       ;;
+(mirbsd*)
+       # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <sys/select.h> and other headers which use u_int / u_short types
+       cf_XOPEN_SOURCE=
+       CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
        ;;
-mirbsd*) #(vi
-       # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <arpa/inet.h>
+(netbsd*)
+       cf_xopen_source="-D_NETBSD_SOURCE" # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
        ;;
-netbsd*) #(vi
-       # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
+(openbsd[[4-9]]*)
+       # setting _XOPEN_SOURCE lower than 500 breaks g++ compile with wchar.h, needed for ncursesw
+       cf_xopen_source="-D_BSD_SOURCE"
+       cf_XOPEN_SOURCE=600
        ;;
-openbsd*) #(vi
+(openbsd*)
        # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
        ;;
-osf[[45]]*) #(vi
+(osf[[45]]*)
        cf_xopen_source="-D_OSF_SOURCE"
        ;;
-nto-qnx*) #(vi
+(nto-qnx*)
        cf_xopen_source="-D_QNX_SOURCE"
        ;;
-sco*) #(vi
+(sco*)
        # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
        ;;
-solaris2.1[[0-9]]) #(vi
-       cf_xopen_source="-D__EXTENSIONS__ -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
-       ;;
-solaris2.[[1-9]]) #(vi
+(solaris2.*)
        cf_xopen_source="-D__EXTENSIONS__"
+       cf_cv_xopen_source=broken
        ;;
-*)
-       AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
-       AC_TRY_COMPILE([#include <sys/types.h>],[
+(sysv4.2uw2.*) # Novell/SCO UnixWare 2.x (tested on 2.1.2)
+       cf_XOPEN_SOURCE=
+       cf_POSIX_C_SOURCE=
+       ;;
+(*)
+       CF_TRY_XOPEN_SOURCE
+       CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
+       ;;
+esac
+
+if test -n "$cf_xopen_source" ; then
+       CF_ADD_CFLAGS($cf_xopen_source,true)
+fi
+
+dnl In anything but the default case, we may have system-specific setting
+dnl which is still not guaranteed to provide all of the entrypoints that
+dnl _XOPEN_SOURCE would yield.
+if test -n "$cf_XOPEN_SOURCE" && test -z "$cf_cv_xopen_source" ; then
+       AC_MSG_CHECKING(if _XOPEN_SOURCE really is set)
+       AC_TRY_COMPILE([#include <stdlib.h>],[
 #ifndef _XOPEN_SOURCE
 make an error
 #endif],
-       [cf_cv_xopen_source=no],
-       [cf_save="$CPPFLAGS"
-        CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
-        AC_TRY_COMPILE([#include <sys/types.h>],[
-#ifdef _XOPEN_SOURCE
+       [cf_XOPEN_SOURCE_set=yes],
+       [cf_XOPEN_SOURCE_set=no])
+       AC_MSG_RESULT($cf_XOPEN_SOURCE_set)
+       if test $cf_XOPEN_SOURCE_set = yes
+       then
+               AC_TRY_COMPILE([#include <stdlib.h>],[
+#if (_XOPEN_SOURCE - 0) < $cf_XOPEN_SOURCE
 make an error
 #endif],
-       [cf_cv_xopen_source=no],
-       [cf_cv_xopen_source=$cf_XOPEN_SOURCE])
-       CPPFLAGS="$cf_save"
-       ])
-])
-       if test "$cf_cv_xopen_source" != no ; then
-               CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE)
-               CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE)
-               cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
-               CF_ADD_CFLAGS($cf_temp_xopen_source)
+               [cf_XOPEN_SOURCE_set_ok=yes],
+               [cf_XOPEN_SOURCE_set_ok=no])
+               if test $cf_XOPEN_SOURCE_set_ok = no
+               then
+                       AC_MSG_WARN(_XOPEN_SOURCE is lower than requested)
+               fi
+       else
+               CF_TRY_XOPEN_SOURCE
        fi
-       CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
-       ;;
-esac
-
-if test -n "$cf_xopen_source" ; then
-       CF_ADD_CFLAGS($cf_xopen_source)
 fi
+fi # cf_cv_posix_visible
 ])