dnl***************************************************************************
-dnl Copyright (c) 1998-2014,2015 Free Software Foundation, Inc. *
+dnl Copyright (c) 1998-2016,2017 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 *
dnl
dnl Author: Thomas E. Dickey 1995-on
dnl
-dnl $Id: aclocal.m4,v 1.785 2015/11/08 01:03:06 tom Exp $
+dnl $Id: aclocal.m4,v 1.810 2017/07/26 21:08:35 tom Exp $
dnl Macros used in NCURSES auto-configuration script.
dnl
dnl These macros are maintained separately from NCURSES. The copyright on
AC_SUBST(ADAFLAGS)
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_ADD_CFLAGS version: 12 updated: 2015/04/12 15:39:00
+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.
&& 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
;;
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"
+ CF_APPEND_TEXT(cf_new_extra_cppflags,$cf_add_cflags)
cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[[^"]]*"'\''//'`
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_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],
+[
+ test -n "[$]$1" && $1="[$]$1 "
+ $1="[$]{$1}$2"
+])dnl
+dnl ---------------------------------------------------------------------------
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_ENABLE version: 3 updated: 1999/03/30 17:24:31
+dnl -------------
+dnl Allow user to enable a normally-off option.
+AC_DEFUN([CF_ARG_ENABLE],
+[CF_ARG_OPTION($1,[$2],[$3],[$4],no)])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
fi
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_BOOL_SIZE version: 14 updated: 2015/04/17 21:13:04
+dnl CF_BOOL_SIZE version: 15 updated: 2017/01/21 11:06:25
dnl ------------
dnl Test for the size of 'bool' in the configured C++ compiler (e.g., a type).
dnl Don't bother looking for bool.h, since it's been deprecated.
#endif
-int main()
+int main(void)
{
FILE *fp = fopen("cf_test.out", "w");
if (fp != 0) {
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: 7 updated: 2017/02/25 18:57:40
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 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
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/^[[^ ]]*[[ ]]//'`
- CC=`echo "$CC" | sed -e 's/[[ ]].*//'`
- CF_ADD_CFLAGS($cf_flags)
+ 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)
fi
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_CGETENT version: 5 updated: 2012/10/06 17:56:13
+dnl CF_CGETENT version: 6 updated: 2017/01/21 11:06:25
dnl ----------
dnl Check if the terminal-capability database functions are available. If not,
dnl ncurses has a much-reduced version.
AC_DEFINE(HAVE_BSD_CGETENT,1,[Define to 1 if we have BSD cgetent])
AC_CACHE_CHECK(if cgetent uses const parameter,cf_cv_cgetent_const,[
AC_TRY_LINK([
+#pragma GCC diagnostic error "-Wincompatible-pointer-types-discards-qualifiers"
#include <stdlib.h>],[
char temp[128];
char *buf = temp;
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_CHECK_GPM_WGETCH version: 2 updated: 2010/08/14 18:25:37
+dnl CF_CHECK_GPM_WGETCH version: 3 updated: 2017/01/21 11:06:25
dnl -------------------
dnl Check if GPM is already linked with curses. If so - and if the linkage
dnl is not "weak" - warn about this because it can create problems linking
cat >conftest.$ac_ext <<CF_EOF
#include <gpm.h>
-int main()
+int main(void)
{
Gpm_Wgetch();
${cf_cv_main_return:-return}(0);
fi
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_CHECK_WCHAR_H version: 1 updated: 2011/10/29 15:01:05
+dnl CF_CHECK_WCHAR_H version: 2 updated: 2017/01/21 11:06:25
dnl ----------------
dnl Check if wchar.h can be used, i.e., without defining _XOPEN_SOURCE_EXTENDED
AC_DEFUN([CF_CHECK_WCHAR_H],[
+AC_CHECK_HEADERS( \
+wchar.h \
+wctype.h \
+)
AC_CACHE_CHECK(if wchar.h can be used as is,cf_cv_wchar_h_okay,[
AC_TRY_COMPILE(
[
#include <stdlib.h>
+#ifdef HAVE_WCHAR_H
#include <wchar.h>
+#endif
+#ifdef HAVE_WCTYPE_H
+#include <wctype.h>
+#endif
],[
wint_t foo = 0;
int bar = iswpunct(foo)],
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
fi
])
dnl ---------------------------------------------------------------------------
-dnl CF_CPP_PARAM_INIT version: 6 updated: 2012/10/06 17:56:13
+dnl CF_CPP_PARAM_INIT version: 7 updated: 2017/01/21 11:06:25
dnl -----------------
dnl Check if the C++ compiler accepts duplicate parameter initialization. This
dnl is a late feature for the standard and is not in some recent compilers
{
value = x;
}
-int main() { }
+int main(void) { }
],
[cf_cv_cpp_param_init=yes],
[cf_cv_cpp_param_init=no],
AC_MSG_RESULT($cf_cv_enable_rpath)
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_ENABLE_STRING_HACKS version: 3 updated: 2013/01/26 16:26:12
+dnl CF_ENABLE_STRING_HACKS version: 5 updated: 2016/10/08 17:34:11
dnl ----------------------
dnl On a few platforms, the compiler and/or loader nags with untruthful
dnl comments stating that "most" uses of strcat/strcpy/sprintf are incorrect,
if test "x$with_string_hacks" = "xyes"; then
AC_DEFINE(USE_STRING_HACKS,1,[Define to 1 to work around bogus compiler/loader warnings])
AC_MSG_WARN(enabling string-hacks to work around bogus compiler/loader warnings)
- AC_CHECK_FUNCS( strlcat strlcpy snprintf )
+ AC_CHECK_FUNC(strlcat,[
+ AC_DEFINE(HAVE_STRLCAT,1,[Define to 1 if we have strlcat function])
+ ],[
+ AC_CHECK_LIB(bsd,strlcat,[
+ CF_ADD_LIB(bsd)
+ AC_CHECK_HEADERS(bsd/string.h)
+ AC_DEFINE(HAVE_STRLCAT,1,[Define to 1 if we have strlcat function])
+ ])
+ ])
+ AC_CHECK_FUNCS( strlcpy snprintf )
fi
])dnl
dnl ---------------------------------------------------------------------------
fi
])
dnl ---------------------------------------------------------------------------
-dnl CF_FUNC_MEMMOVE version: 8 updated: 2012/10/04 20:12:20
+dnl CF_FUNC_MEMMOVE version: 9 updated: 2017/01/21 11:06:25
dnl ---------------
dnl Check for memmove, or a bcopy that can handle overlapping copy. If neither
dnl is found, add our own version of memmove to the list of objects.
AC_CHECK_FUNC(bcopy,[
AC_CACHE_CHECK(if bcopy does overlapping moves,cf_cv_good_bcopy,[
AC_TRY_RUN([
-int main() {
+int main(void) {
static char data[] = "abcdefghijklmnopqrstuwwxyz";
char temp[40];
bcopy(data, temp, sizeof(data));
fi
])])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_FUNC_NANOSLEEP version: 4 updated: 2012/10/06 17:56:13
+dnl CF_FUNC_NANOSLEEP version: 5 updated: 2017/01/21 11:06:25
dnl -----------------
dnl Check for existence of workable nanosleep() function. Some systems, e.g.,
dnl AIX 4.x, provide a non-working version.
#include <sys/time.h>
#endif
-int main() {
+int main(void) {
struct timespec ts1, ts2;
int code;
ts1.tv_sec = 0;
esac
])
dnl ---------------------------------------------------------------------------
-dnl CF_GNU_SOURCE version: 6 updated: 2005/07/09 13:23:07
+dnl CF_GNU_SOURCE version: 7 updated: 2016/08/05 05:15:37
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
CPPFLAGS="$cf_save"
])
])
-test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
+
+if test "$cf_cv_gnu_source" = yes
+then
+AC_CACHE_CHECK(if we should also define _DEFAULT_SOURCE,cf_cv_default_source,[
+CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
+ AC_TRY_COMPILE([#include <sys/types.h>],[
+#ifdef _DEFAULT_SOURCE
+make an error
+#endif],
+ [cf_cv_default_source=no],
+ [cf_cv_default_source=yes])
+ ])
+test "$cf_cv_default_source" = yes && CPPFLAGS="$CPPFLAGS -D_DEFAULT_SOURCE"
+fi
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_GPP_LIBRARY version: 12 updated: 2015/04/17 21:13:04
fi
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_GXX_VERSION version: 7 updated: 2012/06/16 14:55:39
+dnl CF_GXX_VERSION version: 8 updated: 2017/02/11 14:48:57
dnl --------------
dnl Check for version of g++
AC_DEFUN([CF_GXX_VERSION],[
if test "$GXX" = yes; then
AC_MSG_CHECKING(version of ${CXX:-g++})
GXX_VERSION="`${CXX:-g++} --version| sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
- test -z "$GXX_VERSION" && GXX_VERSION=unknown
+ if test -z "$GXX_VERSION"
+ then
+ GXX_VERSION=unknown
+ GXX=no
+ fi
AC_MSG_RESULT($GXX_VERSION)
fi
])dnl
test "$cf_cv_have_isascii" = yes && AC_DEFINE(HAVE_ISASCII,1,[Define to 1 if we have isascii()])
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_LARGEFILE version: 9 updated: 2015/04/18 08:56:57
+dnl CF_LARGEFILE version: 10 updated: 2017/01/21 11:06:25
dnl ------------
dnl Add checks for large file support.
AC_DEFUN([CF_LARGEFILE],[
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>
],[
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.
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*)
# Special case: tack's manpage lives in its own directory.
if test "x$cf_with_manpages" = xyes; then
-if test -d tack ; then
-if test -f $srcdir/$tack.h; then
+if test "x$cf_with_tack" = "xyes"; then
cat >> Makefile <<CF_EOF
install.man \\
CF_EOF
fi
fi
-fi
dnl If we're installing into a subdirectory of /usr/include, etc., we should
dnl prepend the subdirectory's name to the "#include" paths. It won't hurt
AC_SUBST(Libs_To_Make)
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_LIB_SONAME version: 5 updated: 2010/08/14 18:25:37
+dnl CF_LIB_SONAME version: 6 updated: 2017/01/21 11:06:25
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
if test "$cross_compiling" != yes ; then
cat >conftest.$ac_ext <<CF_EOF
$1
-int main()
+int main(void)
{
$2
${cf_cv_main_return:-return}(0);
test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_LINK_DATAONLY version: 10 updated: 2012/10/06 17:41:51
+dnl CF_LINK_DATAONLY version: 11 updated: 2017/01/21 11:06:25
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
cf_saveLIBS="$LIBS"
LIBS="conftest.a $LIBS"
AC_TRY_RUN([
- int main()
+ int main(void)
{
extern int testfunc();
${cf_cv_main_return:-return} (!testfunc());
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_LINK_FUNCS version: 8 updated: 2012/10/06 17:56:13
+dnl CF_LINK_FUNCS version: 9 updated: 2017/01/21 11:11:02
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_HEADERS( \
+unistd.h \
+)
AC_CHECK_FUNCS( \
remove \
unlink )
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
-int main()
+int main(void)
{
int fail = 0;
char *src = "config.log";
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_MATH_LIB version: 8 updated: 2010/05/29 16:31:02
+dnl CF_MATH_LIB version: 9 updated: 2017/01/21 11:06:25
dnl -----------
dnl Checks for libraries. At least one UNIX system, Apple Macintosh
dnl Rhapsody 5.5, does not have -lm. We cannot use the simpler
cf_cv_need_libm,[
AC_TRY_LINK([
#include <stdio.h>
+ #include <stdlib.h>
#include <math.h>
],
[double x = rand(); printf("result = %g\n", ]ifelse([$2],,sin(x),$2)[)],
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: 9 updated: 2012/10/03 04:34:49
+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 -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];
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
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: 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
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
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 ---------------------------------------------------------------------------
AC_SUBST(EXTRA_LDFLAGS)
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_SHARED_OPTS version: 89 updated: 2015/08/15 18:38:59
+dnl CF_SHARED_OPTS version: 90 updated: 2017/02/11 14:48:57
dnl --------------
dnl --------------
dnl Attempt to determine the appropriate CC/LD options for creating a shared
# 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"
# We may/may not have tack in the distribution, though the
# makefile is.
if test $cf_dir = tack ; then
- if test ! -f $srcdir/${cf_dir}/${cf_dir}.h; then
+ if test "x$cf_with_tack" != "xyes"; then
continue
fi
fi
fi
])
dnl ---------------------------------------------------------------------------
-dnl CF_TYPEOF_CHTYPE version: 9 updated: 2012/10/06 17:56:13
+dnl CF_TYPEOF_CHTYPE version: 10 updated: 2017/01/21 11:06:25
dnl ----------------
dnl Determine the type we should use for chtype (and attr_t, which is treated
dnl as the same thing). We want around 32 bits, so on most machines want a
AC_TRY_RUN([
#define WANT_BITS 31
#include <stdio.h>
-int main()
+int main(void)
{
FILE *fp = fopen("cf_test.out", "w");
if (fp != 0) {
])
])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.
fi
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_WITH_GPM version: 8 updated: 2012/10/06 17:56:13
+dnl CF_WITH_GPM version: 10 updated: 2017/04/29 18:32:18
dnl -----------
dnl
dnl The option parameter (if neither yes/no) is assumed to be the name of
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)
+ AC_CHECK_LIB(gpm,Gpm_Open,[with_gpm=yes],[
+ 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
fi
])
dnl ---------------------------------------------------------------------------
-dnl CF_WITH_LIBTOOL version: 33 updated: 2015/10/17 19:03:33
+dnl CF_WITH_LIBTOOL version: 34 updated: 2016/12/31 12:04:57
dnl ---------------
dnl Provide a configure option to incorporate libtool. Define several useful
dnl symbols for the makefile rules.
AC_MSG_ERROR(Cannot find libtool)
fi
])dnl
- LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${DESTDIR}${libdir} ${LIBTOOL_VERSION} `cut -f1 ${top_srcdir}/VERSION` ${LIBTOOL_OPTS} ${LT_UNDEF} $(LIBS) -o'
+ LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${libdir} ${LIBTOOL_VERSION} `cut -f1 ${top_srcdir}/VERSION` ${LIBTOOL_OPTS} ${LT_UNDEF} $(LIBS) -o'
LIB_OBJECT='${OBJECTS:.o=.lo}'
LIB_SUFFIX=.la
LIB_CLEAN='${LIBTOOL} --mode=clean'
AC_SUBST(WILDCARD_SYMS)
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_XOPEN_SOURCE version: 50 updated: 2015/10/17 19:03:33
+dnl CF_XOPEN_SOURCE version: 52 updated: 2016/08/27 12:21:42
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,
(aix[[4-7]]*)
cf_xopen_source="-D_ALL_SOURCE"
;;
-(cygwin|msys)
+(msys)
cf_XOPEN_SOURCE=600
;;
(darwin[[0-8]].*)
cf_xopen_source="-D_SGI_SOURCE"
cf_XOPEN_SOURCE=
;;
-(linux*|gnu*|mint*|k*bsd*-gnu)
+(linux*|uclinux*|gnu*|mint*|k*bsd*-gnu|cygwin)
CF_GNU_SOURCE
;;
(minix*)
(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"
;;