]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - aclocal.m4
ncurses 6.0 - patch 20160611
[ncurses.git] / aclocal.m4
index 9011dfdd6dc4e9c43d233b2123564cb653a4f103..806dec1c92ec52213e5e298d9f5361d8a313adbc 100644 (file)
@@ -1,5 +1,5 @@
 dnl***************************************************************************
-dnl Copyright (c) 1998-2014,2015 Free Software Foundation, Inc.              *
+dnl Copyright (c) 1998-2015,2016 Free Software Foundation, Inc.              *
 dnl                                                                          *
 dnl Permission is hereby granted, free of charge, to any person obtaining a  *
 dnl copy of this software and associated documentation files (the            *
@@ -28,7 +28,7 @@ dnl***************************************************************************
 dnl
 dnl Author: Thomas E. Dickey 1995-on
 dnl
-dnl $Id: aclocal.m4,v 1.762 2015/08/15 22:39:55 tom Exp $
+dnl $Id: aclocal.m4,v 1.790 2016/05/29 00:35:34 tom Exp $
 dnl Macros used in NCURSES auto-configuration script.
 dnl
 dnl These macros are maintained separately from NCURSES.  The copyright on
@@ -423,15 +423,19 @@ ifelse([$3],,[    :]dnl
 ])dnl
 ])])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_AR_FLAGS version: 5 updated: 2010/05/20 20:24:29
+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
@@ -707,11 +711,15 @@ AC_SUBST(BUILD_EXEEXT)
 AC_SUBST(BUILD_OBJEXT)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_CC_ENV_FLAGS version: 2 updated: 2015/04/12 15:39:00
+dnl CF_CC_ENV_FLAGS version: 3 updated: 2016/05/21 18:10:17
 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 with
 dnl options, but eliminates a more common category of user confusion.
+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
@@ -719,13 +727,16 @@ AC_DEFUN([CF_CC_ENV_FLAGS],
 
 AC_MSG_CHECKING(\$CC variable)
 case "$CC" in
-(*[[\ \        ]]-[[IUD]]*)
+(*[[\ \        ]]-*)
        AC_MSG_RESULT(broken)
        AC_MSG_WARN(your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options)
        # humor him...
-       cf_flags=`echo "$CC" | sed -e 's/^[[^   ]]*[[   ]]//'`
+       cf_flags=`echo "$CC" | sed -e 's/^[[^   ]]*[[   ]][[    ]]*//'`
        CC=`echo "$CC" | sed -e 's/[[   ]].*//'`
        CF_ADD_CFLAGS($cf_flags)
+       CF_VERBOSE(resulting CC: '$CC')
+       CF_VERBOSE(resulting CFLAGS: '$CFLAGS')
+       CF_VERBOSE(resulting CPPFLAGS: '$CPPFLAGS')
        ;;
 (*)
        AC_MSG_RESULT(ok)
@@ -1009,6 +1020,149 @@ then
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
+dnl CF_CHECK_WCWIDTH_GRAPHICS version: 1 updated: 2015/12/19 17:47:56
+dnl -------------------------
+dnl Most "modern" terminal emulators are based to some degree on VT100, and
+dnl should support line-drawing.  Even with Unicode.  There is a problem.
+dnl
+dnl While most of the VT100 graphics characters were incorporated into Unicode,
+dnl all of those were combined into a page of useful graphics characters.
+dnl
+dnl So far, so good.
+dnl
+dnl However, while they are useful, there are other considerations.  CJK
+dnl is (because of poor device resolution) often rendered as double-width
+dnl characters.  So... for these generally-useful characters, what should
+dnl be the width (to make them consistent with adjacent characters)?
+dnl
+dnl The obvious choice would have been to make this locale-dependent, and use
+dnl wcwidth() to tell applications what the actual width is.  That was too
+dnl obvious.  Instead, we have a slew of "ambiguous-width" characters.
+dnl See for example
+dnl            http://www.unicode.org/reports/tr11/tr11-29.html
+dnl            http://www.cl.cam.ac.uk/~mgk25/ucs/scw-proposal.html
+dnl
+dnl The EastAsianWidth-6.2.0.txt file from the Unicode organization lists
+dnl more than 22,000 characters, with 1281 of those as ambiguous-width.  For
+dnl instance, it lists half (44/96) of the Latin-1 characters as
+dnl ambiguous-width.  Also, all of the box-characters at 0x2500 are ambiguous.
+dnl
+dnl What this means for the implementor is that on some systems wcwidth() can
+dnl give bad advice.  On Solaris, some of the ambiguous widths are returned as
+dnl 1 (the Latin-1 characters), while others are returned as 2 (line-drawing
+dnl characters).  These do not necessarily match the behavior of the terminal
+dnl emulator.  xterm, for instance, does an optional startup check to find if
+dnl this problem (or similar) exists with the system's locale tables, rejecting
+dnl them if they are too unreliable.
+AC_DEFUN([CF_CHECK_WCWIDTH_GRAPHICS],[
+AC_CACHE_CHECK(if wcwidth agrees graphics are single-width, cf_cv_wcwidth_graphics,[
+cat >conftest.in <<CF_EOF
+-      VT100 symbols
+0x250c upper left corner
+0x2514 lower left corner
+0x2510 upper right corner
+0x2518 lower right corner
+0x251c tee pointing left
+0x2524 tee pointing right
+0x2534 tee pointing up
+0x252c tee pointing down
+0x2500 horizontal line
+0x2502 vertical line
+0x253c large plus or crossover
+0x23ba scan line 1
+0x23bd scan line 9
+0x25c6 diamond
+0x2592 checker board (stipple)
+0x00b0 degree symbol
+0x00b1 plus/minus
+0x00b7 bullet
+-      Teletype 5410v1 symbols
+0x2190 arrow pointing left
+0x2192 arrow pointing right
+0x2193 arrow pointing down
+0x2191 arrow pointing up
+0x2592 board of squares
+0x2603 lantern symbol
+0x25ae solid square block
+-      these defaults were invented for ncurses
+0x23bb scan line 3
+0x23bc scan line 7
+0x2264 less-than-or-equal-to
+0x2265 greater-than-or-equal-to
+0x03c0 greek pi
+0x2260 not-equal
+0x00a3 pound-sterling symbol
+-      thick-line-drawing
+0x250f upper left corner
+0x2517 lower left corner
+0x2513 upper right corner
+0x251b lower right corner
+0x2523 tee pointing left
+0x252b tee pointing right
+0x253b tee pointing up
+0x2533 tee pointing down
+0x2501 horizontal line
+0x2503 vertical line
+0x254b large plus or crossover
+-      double-line-drawing
+0x2554 upper left corner
+0x255a lower left corner
+0x2557 upper right corner
+0x255d lower right corner
+0x2563 tee pointing left
+0x2560 tee pointing right
+0x2569 tee pointing up
+0x2566 tee pointing down
+0x2550 horizontal line
+0x2551 vertical line
+0x256c large plus or crossover
+CF_EOF
+AC_TRY_RUN([
+#include <locale.h>
+#include <stdio.h>
+#include <wchar.h>
+
+#define MY_LEN 80
+
+int
+main(void)
+{
+       FILE *fp;
+       int value;
+       char buffer[MY_LEN + 1];
+       char notes[MY_LEN + 1];
+       int totals = 0;
+       int passed = 0;
+
+       if (setlocale(LC_ALL, "en_US.UTF8") ||
+               setlocale(LC_ALL, "en_US.UTF-8") ||
+               setlocale(LC_ALL, "en_US.utf8") ||
+               setlocale(LC_ALL, "en_US.utf-8")) {
+               if ((fp = fopen("conftest.in", "r")) != 0) {
+                       while (fgets(buffer, MY_LEN, fp) != 0) {
+                               if (*buffer == '-') {
+                                       fprintf(stderr, "\t%s", buffer);
+                               } else if (sscanf(buffer, "%x %s", &value, notes) == 2) {
+                                       ++totals;
+                                       if (wcwidth(value) == 1)
+                                               ++passed;
+                                       fprintf(stderr, "%d\t%s", wcwidth(value), buffer);
+                               } else {
+                                       fprintf(stderr, "?\t%s", buffer);
+                               }
+                       }
+               }
+       }
+       fprintf(stderr, "%d/%d passed wcwidth/graphics check\n", passed, totals);
+       return (totals == passed) ? 0 : 1;
+}
+],
+[cf_cv_wcwidth_graphics=yes],
+[cf_cv_wcwidth_graphics=no],
+[cf_cv_wcwidth_graphics=unknown])
+])
+])dnl
+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
@@ -1373,7 +1527,7 @@ if test "$cf_disable_rpath_hack" = no ; then
 fi
 ])
 dnl ---------------------------------------------------------------------------
-dnl CF_ENABLE_PC_FILES version: 12 updated: 2015/04/17 21:13:04
+dnl CF_ENABLE_PC_FILES version: 13 updated: 2015/11/01 05:27:39
 dnl ------------------
 dnl This is the "--enable-pc-files" option, which is available if there is a
 dnl pkg-config configuration on the local machine.
@@ -1396,14 +1550,13 @@ AC_MSG_RESULT($enable_pc_files)
 
 if test "x$enable_pc_files" != xno
 then
+       MAKE_PC_FILES=
        case "x$PKG_CONFIG_LIBDIR" in
        (xno|xyes)
                AC_MSG_WARN(no PKG_CONFIG_LIBDIR was found)
-               MAKE_PC_FILES="#"
                ;;
        (*)
                CF_PATH_SYNTAX(PKG_CONFIG_LIBDIR)
-               MAKE_PC_FILES=
                ;;
        esac
 else
@@ -1693,7 +1846,7 @@ unset ac_ct_$1
 unset $1
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_FUNC_DLSYM version: 3 updated: 2012/10/06 11:17:15
+dnl CF_FUNC_DLSYM version: 4 updated: 2015/09/12 14:46:44
 dnl -------------
 dnl Test for dlsym() and related functions, as well as libdl.
 dnl
@@ -1710,7 +1863,7 @@ AC_CHECK_LIB(dl,dlsym,[
        cf_have_libdl=yes])])
 
 if test "$cf_have_dlsym" = yes ; then
-       test "$cf_have_libdl" = yes && CF_ADD_LIB(dl)
+       test "$cf_have_libdl" = yes && { CF_ADD_LIB(dl) }
 
        AC_MSG_CHECKING(whether able to link to dl*() functions)
        AC_TRY_LINK([#include <dlfcn.h>],[
@@ -1793,7 +1946,7 @@ int main() {
 test "$cf_cv_func_nanosleep" = "yes" && AC_DEFINE(HAVE_NANOSLEEP,1,[Define to 1 if we have nanosleep()])
 ])
 dnl ---------------------------------------------------------------------------
-dnl CF_FUNC_OPENPTY version: 4 updated: 2015/04/18 08:56:57
+dnl CF_FUNC_OPENPTY version: 5 updated: 2015/09/12 14:46:50
 dnl ---------------
 dnl Check for openpty() function, along with <pty.h> header.  It may need the
 dnl "util" library as well.
@@ -1802,7 +1955,7 @@ AC_DEFUN([CF_FUNC_OPENPTY],
 AC_CHECK_LIB(util,openpty,cf_cv_lib_util=yes,cf_cv_lib_util=no)
 AC_CACHE_CHECK(for openpty header,cf_cv_func_openpty,[
        cf_save_LIBS="$LIBS"
-       test $cf_cv_lib_util = yes && CF_ADD_LIB(util)
+       test $cf_cv_lib_util = yes && { CF_ADD_LIB(util) }
        for cf_header in pty.h libutil.h util.h
        do
        AC_TRY_LINK([
@@ -1821,11 +1974,12 @@ AC_CACHE_CHECK(for openpty header,cf_cv_func_openpty,[
 ])
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_FUNC_POLL version: 8 updated: 2012/10/04 05:24:07
+dnl CF_FUNC_POLL version: 9 updated: 2015/10/10 13:27:32
 dnl ------------
 dnl See if the poll function really works.  Some platforms have poll(), but
 dnl it does not work for terminals or files.
 AC_DEFUN([CF_FUNC_POLL],[
+tty 2>&1 >/dev/null || { AC_CHECK_FUNCS(posix_openpt) }
 AC_CACHE_CHECK(if poll really works,cf_cv_working_poll,[
 AC_TRY_RUN([
 #include <stdlib.h>
@@ -1837,7 +1991,7 @@ AC_TRY_RUN([
 #else
 #include <sys/poll.h>
 #endif
-int main() {
+int main(void) {
        struct pollfd myfds;
        int ret;
 
@@ -1857,6 +2011,11 @@ int main() {
                if (!isatty(fd)) {
                        fd = open("/dev/tty", 2);       /* O_RDWR */
                }
+#ifdef HAVE_POSIX_OPENPT
+               if (fd < 0) {
+                       fd = posix_openpt(O_RDWR);
+               }
+#endif
 
                if (fd >= 0) {
                        /* also check with standard input */
@@ -3116,7 +3275,7 @@ AC_SUBST(LDFLAGS_STATIC)
 AC_SUBST(LDFLAGS_SHARED)
 ])
 dnl ---------------------------------------------------------------------------
-dnl CF_LD_RPATH_OPT version: 6 updated: 2015/04/12 15:39:00
+dnl CF_LD_RPATH_OPT version: 7 updated: 2016/02/20 18:01:19
 dnl ---------------
 dnl For the given system and compiler, find the compiler flags to pass to the
 dnl loader to use the "rpath" feature.
@@ -3134,13 +3293,13 @@ case $cf_cv_system_name in
                LD_RPATH_OPT="-rpath "
        fi
        ;;
-(linux*|gnu*|k*bsd*-gnu)
+(linux*|gnu*|k*bsd*-gnu|freebsd*)
        LD_RPATH_OPT="-Wl,-rpath,"
        ;;
 (openbsd[[2-9]].*|mirbsd*)
        LD_RPATH_OPT="-Wl,-rpath,"
        ;;
-(dragonfly*|freebsd*)
+(dragonfly*)
        LD_RPATH_OPT="-rpath "
        ;;
 (netbsd*)
@@ -3211,7 +3370,7 @@ fi
 test -z "$cf_cv_libtool_version" && unset cf_cv_libtool_version
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_LIB_PREFIX version: 11 updated: 2015/04/18 08:56:57
+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
@@ -3219,7 +3378,11 @@ define([CF_LIB_PREFIX],
 [
        case $cf_cv_system_name in
        (OS/2*|os2*)
-               LIB_PREFIX=''
+               if test "$DFT_LWR_MODEL" = libtool; then
+                       LIB_PREFIX='lib'
+               else
+                       LIB_PREFIX=''
+               fi
                ;;
        (*)     LIB_PREFIX='lib'
                ;;
@@ -3228,7 +3391,7 @@ ifelse($1,,,[$1=$LIB_PREFIX])
        AC_SUBST(LIB_PREFIX)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_LIB_RULES version: 83 updated: 2015/08/05 20:44:28
+dnl CF_LIB_RULES version: 86 updated: 2015/11/07 20:01:34
 dnl ------------
 dnl Append definitions and rules for the given models to the subdirectory
 dnl Makefiles, and the recursion rule for the top-level Makefile.  If the
@@ -3280,28 +3443,35 @@ do
 
                SHARED_LIB=
                Libs_To_Make=
-
-               cf_sed_options=
+               cf_awk_program=
                if test -n "${cf_cv_abi_version}" && test "x${cf_cv_abi_version}" != "x5"
                then
-                       cf_sed_options="$cf_sed_options -e \"s/NCURSES\\([[WT]]\\+\\)\?_/NCURSES\\1${cf_cv_abi_version}_/g\""
-                       cf_sed_options="$cf_sed_options -e \"/deprecated in ABI${cf_cv_abi_version}/d\""
+                       cf_awk_program="$cf_awk_program\
+/deprecated in ABI${cf_cv_abi_version}/ { next; }\
+{ sub(\"NCURSES([[WT]]+)?\", \"&${cf_cv_abi_version}\"); }\
+"
                fi
 
                if test "x$WILDCARD_SYMS" = xno
                then
-                       cf_sed_options="$cf_sed_options -e \"s/_\*;//g\""
+                       cf_awk_program="$cf_awk_program\
+/[[    ]]_\\*;/ { skip=1; next; }\
+"
                fi
 
-               if test "x$cf_sed_options" != "x"
+               if test "x$cf_awk_program" != "x"
                then
                        cat >>$cf_dir/Makefile <<CF_EOF
 
 # Generated by CF_LIB_RULES
 resulting.map: $UNALTERED_SYMS
-       sed $cf_sed_options < $UNALTERED_SYMS >\[$]@
+       $AWK 'BEGIN { skip = 1; last=""; } \
+$cf_awk_program \
+{ if ( last != "" && ( skip == 0 || \[$]\[$]0 !~ /}/ ) ) { print last; }\
+ skip = 0; last = \[$]\[$]0; } \
+END { print last; }' < $UNALTERED_SYMS >\[$]@
 
-clean::
+distclean::
        rm -f resulting.map
 CF_EOF
                fi
@@ -4812,6 +4982,26 @@ if test "${with_abi_version+set}" != set; then
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
+dnl CF_NCURSES_WITH_ABI_VERSION version: 2 updated: 2015/12/19 17:51:52
+dnl ---------------------------
+dnl Allow ncurses's ABI to be overridden.  Generally this happens when a
+dnl packager has incremented the ABI past that used in the original package,
+dnl and wishes to keep doing this.
+dnl
+dnl $1 is the package name, if any, to derive a corresponding {package}_ABI
+dnl symbol.
+AC_DEFUN([CF_NCURSES_WITH_ABI_VERSION],[
+CF_WITH_ABI_VERSION($1)
+if test "x$cf_cv_abi_version" != "x$with_abi_version"
+then
+       case $cf_cv_rel_version in
+       (5.*)
+               cf_cv_rel_version=$with_abi_version.0
+               ;;
+       esac
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
 dnl CF_NO_LEAKS_OPTION version: 6 updated: 2015/04/12 15:39:00
 dnl ------------------
 dnl see CF_WITH_NO_LEAKS
@@ -5128,7 +5318,7 @@ CF_ACVERSION_CHECK(2.52,
 CF_CC_ENV_FLAGS
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_PROG_CC_C_O version: 3 updated: 2010/08/14 18:25:37
+dnl CF_PROG_CC_C_O version: 4 updated: 2016/05/21 18:08:09
 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
@@ -5136,13 +5326,15 @@ 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()
 {
        ${cf_cv_main_return:-return}(0);
@@ -5150,7 +5342,7 @@ int main()
 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
@@ -5254,11 +5446,11 @@ fi
 AC_SUBST(LDCONFIG)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_PROG_LINT version: 2 updated: 2009/08/12 04:43:14
+dnl CF_PROG_LINT version: 3 updated: 2016/05/22 15:25:54
 dnl ------------
 AC_DEFUN([CF_PROG_LINT],
 [
-AC_CHECK_PROGS(LINT, tdlint lint alint splint lclint)
+AC_CHECK_PROGS(LINT, lint cppcheck splint)
 AC_SUBST(LINT_OPTS)
 ])dnl
 dnl ---------------------------------------------------------------------------
@@ -6247,33 +6439,55 @@ if test -n "$ADA_SUBDIRS"; then
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_STDCPP_LIBRARY version: 8 updated: 2015/04/17 21:13:04
+dnl CF_STDCPP_LIBRARY version: 11 updated: 2015/10/17 19:03:33
 dnl -----------------
 dnl Check for -lstdc++, which is GNU's standard C++ library.
+dnl If $CXXLIBS is set, add that to the libraries used for test-linking.
+dnl If -lstdc++ was not already added to $LIBS or $CXXLIBS, and is needed,
+dnl add it to $CXXLIBS.
 AC_DEFUN([CF_STDCPP_LIBRARY],
 [
 if test -n "$GXX" ; then
-case $cf_cv_system_name in
-(os2*)
-       cf_stdcpp_libname=stdcpp
-       ;;
-(*)
-       cf_stdcpp_libname=stdc++
-       ;;
-esac
-AC_CACHE_CHECK(for library $cf_stdcpp_libname,cf_cv_libstdcpp,[
+
        cf_save="$LIBS"
-       CF_ADD_LIB($cf_stdcpp_libname)
-AC_TRY_LINK([
-#include <strstream.h>],[
-char buf[80];
-strstreambuf foo(buf, sizeof(buf))
-],
-       [cf_cv_libstdcpp=yes],
-       [cf_cv_libstdcpp=no])
+       LIBS="$LIBS $CXXLIBS"
+       AC_MSG_CHECKING(if we already have C++ library)
+       AC_TRY_LINK([
+                       #include <iostream>],[
+                       std::cout << "Hello World!" << std::endl;],
+               [cf_have_libstdcpp=yes],
+               [cf_have_libstdcpp=no])
+       AC_MSG_RESULT($cf_have_libstdcpp)
        LIBS="$cf_save"
-])
-test "$cf_cv_libstdcpp" = yes && CF_ADD_LIB($cf_stdcpp_libname,CXXLIBS)
+
+       if test $cf_have_libstdcpp != yes
+       then
+               case $cf_cv_system_name in
+               (os2*)
+                       if test -z "`g++ -dM -E - < /dev/null | grep __KLIBC__`"; then
+                               cf_stdcpp_libname=stdcpp
+                       else
+                               cf_stdcpp_libname=stdc++
+                       fi
+                       ;;
+               (*)
+                       cf_stdcpp_libname=stdc++
+                       ;;
+               esac
+
+               AC_CACHE_CHECK(for library $cf_stdcpp_libname,cf_cv_libstdcpp,[
+                       cf_save="$LIBS"
+                       LIBS="$LIBS $CXXLIBS"
+                       CF_ADD_LIB($cf_stdcpp_libname)
+               AC_TRY_LINK([
+                               #include <iostream>],[
+                               std::cout << "Hello World!" << std::endl;],
+                       [cf_cv_libstdcpp=yes],
+                       [cf_cv_libstdcpp=no])
+                       LIBS="$cf_save"
+               ])
+               test "$cf_cv_libstdcpp" = yes && { CF_ADD_LIB($cf_stdcpp_libname,CXXLIBS) }
+       fi
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
@@ -6839,28 +7053,6 @@ $1_ABI=$cf_cv_abi_version
 ])
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_NCURSES_WITH_ABI_VERSION version: 1 updated: 2015/06/06 13:49:58
-dnl ---------------------------
-dnl CF_WITH_ABI_VERSION version: 1 updated: 2003/09/20 18:12:49
-dnl -------------------
-dnl Allow ncurses's ABI to be overridden.  Generally this happens when a
-dnl packager has incremented the ABI past that used in the original package,
-dnl and wishes to keep doing this.
-dnl
-dnl $1 is the package name, if any, to derive a corresponding {package}_ABI
-dnl symbol.
-AC_DEFUN([CF_NCURSES_WITH_ABI_VERSION],[
-CF_WITH_ABI_VERSION($1)
-if test "x$cf_cv_abi_version" != "x$with_abi_version"
-then
-       case $cf_cv_rel_version in
-       (5.*)
-               cf_cv_rel_version=$with_abi_version.0
-               ;;
-       esac
-fi
-])dnl
-dnl ---------------------------------------------------------------------------
 dnl CF_WITH_ADA_COMPILER version: 2 updated: 2010/06/26 17:35:58
 dnl --------------------
 dnl Command-line option to specify the Ada95 compiler.
@@ -6986,7 +7178,7 @@ then
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_WITH_GPM version: 8 updated: 2012/10/06 17:56:13
+dnl CF_WITH_GPM version: 9 updated: 2016/05/28 20:33:31
 dnl -----------
 dnl
 dnl The option parameter (if neither yes/no) is assumed to be the name of
@@ -7006,12 +7198,17 @@ if test "$with_gpm" != no ; then
                if test "$with_gpm" != yes && test "$with_gpm" != maybe ; then
                        CF_VERBOSE(assuming we really have GPM library)
                        AC_DEFINE(HAVE_LIBGPM,1,[Define to 1 if we have the gpm library])
+                       with_gpm=yes
                else
                        AC_CHECK_LIB(gpm,Gpm_Open,[:],[
-                               AC_MSG_ERROR(Cannot link with GPM library)
+                               if test "$with_gpm" = maybe; then
+                                       AC_MSG_WARN(Cannot link with GPM library)
+                                       with_gpm=no
+                               else
+                                       AC_MSG_ERROR(Cannot link with GPM library)
+                               fi
+                       ])
                fi
-               with_gpm=yes
-               ])
        ],[
                test "$with_gpm" != maybe && AC_MSG_WARN(Cannot find GPM header)
                with_gpm=no
@@ -7019,7 +7216,7 @@ if test "$with_gpm" != no ; then
 fi
 ])
 dnl ---------------------------------------------------------------------------
-dnl CF_WITH_LIBTOOL version: 32 updated: 2015/04/17 21:13:04
+dnl CF_WITH_LIBTOOL version: 33 updated: 2015/10/17 19:03:33
 dnl ---------------
 dnl Provide a configure option to incorporate libtool.  Define several useful
 dnl symbols for the makefile rules.
@@ -7117,7 +7314,7 @@ ifdef([AC_PROG_LIBTOOL],[
        # special hack to add -no-undefined (which libtool should do for itself)
        LT_UNDEF=
        case "$cf_cv_system_name" in
-       (cygwin*|msys*|mingw32*|uwin*|aix[[4-7]])
+       (cygwin*|msys*|mingw32*|os2*|uwin*|aix[[4-7]])
                LT_UNDEF=-no-undefined
                ;;
        esac
@@ -7282,19 +7479,25 @@ AC_SUBST($3)dnl
 
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_WITH_PKG_CONFIG_LIBDIR version: 9 updated: 2015/06/06 19:26:44
+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],[
-if test "x$PKG_CONFIG" = xnone ; then
-       PKG_CONFIG_LIBDIR=no
-else
+
+case $PKG_CONFIG in
+(no|none|yes)
+       AC_MSG_CHECKING(for pkg-config library directory)
+       ;;
+(*)
        AC_MSG_CHECKING(for $PKG_CONFIG library directory)
-       AC_ARG_WITH(pkg-config-libdir,
-               [  --with-pkg-config-libdir=XXX use given directory for installing pc-files],
-               [PKG_CONFIG_LIBDIR=$withval],
-               [PKG_CONFIG_LIBDIR=yes])
-fi
+       ;;
+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/*)
@@ -7350,7 +7553,7 @@ case x$PKG_CONFIG_LIBDIR in
        ;;
 esac
 
-if test "x$PKG_CONFIG" != xnone ; then
+if test "x$PKG_CONFIG_LIBDIR" != xno ; then
        AC_MSG_RESULT($PKG_CONFIG_LIBDIR)
 fi
 
@@ -7482,7 +7685,7 @@ CF_NO_LEAKS_OPTION(valgrind,
        [USE_VALGRIND])
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_WITH_VERSIONED_SYMS version: 5 updated: 2015/04/17 21:13:04
+dnl CF_WITH_VERSIONED_SYMS version: 7 updated: 2015/10/24 20:50:26
 dnl ----------------------
 dnl Use this when building shared library with ELF, to markup symbols with the
 dnl version identifier from the given input file.  Generally that identifier is
@@ -7596,8 +7799,8 @@ EOF
                # compile source, make library
                if make -f conftest.mk 2>&AC_FD_CC >/dev/null
                then
-                       # test for missing symbol
-                       cf_missing=`nm -P conftest.so 2>&AC_FD_CC |fgrep _ismissing | egrep '[[         ]]T[[   ]]'`
+                       # test for missing symbol in either Data or Text section
+                       cf_missing=`nm -P conftest.so 2>&AC_FD_CC |fgrep _ismissing | egrep '[[         ]][[DT]][[      ]]'`
                        test -n "$cf_missing" && WILDCARD_SYMS=yes
                fi
                AC_MSG_RESULT($WILDCARD_SYMS)
@@ -7609,7 +7812,7 @@ AC_SUBST(VERSIONED_SYMS)
 AC_SUBST(WILDCARD_SYMS)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_XOPEN_SOURCE version: 49 updated: 2015/04/12 15:39:00
+dnl CF_XOPEN_SOURCE version: 50 updated: 2015/10/17 19:03:33
 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,
@@ -7679,6 +7882,9 @@ case $host_os in
 (openbsd*)
        # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
        ;;
+(os2*)
+       cf_XOPEN_SOURCE=
+       ;;
 (osf[[45]]*)
        cf_xopen_source="-D_OSF_SOURCE"
        ;;