X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=aclocal.m4;h=f0ed0d13f64a6b63efd6071958b0a38cc3223d7f;hp=806dec1c92ec52213e5e298d9f5361d8a313adbc;hb=dc690a36a0e53e2c2ecd99c971cd749f78275fdc;hpb=76a479337308b4b5e749fa8c38b7b7f482998c5b diff --git a/aclocal.m4 b/aclocal.m4 index 806dec1c..f0ed0d13 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,5 +1,5 @@ dnl*************************************************************************** -dnl Copyright (c) 1998-2015,2016 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 * @@ -28,7 +28,7 @@ dnl*************************************************************************** dnl dnl Author: Thomas E. Dickey 1995-on dnl -dnl $Id: aclocal.m4,v 1.790 2016/05/29 00:35:34 tom Exp $ +dnl $Id: aclocal.m4,v 1.804 2017/01/21 16:13:56 tom Exp $ dnl Macros used in NCURSES auto-configuration script. dnl dnl These macros are maintained separately from NCURSES. The copyright on @@ -551,7 +551,7 @@ else AC_MSG_RESULT(no) 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. @@ -585,7 +585,7 @@ AC_CACHE_VAL(cf_cv_type_of_bool,[ #endif -int main() +int main(void) { FILE *fp = fopen("cf_test.out", "w"); if (fp != 0) { @@ -711,11 +711,14 @@ AC_SUBST(BUILD_EXEEXT) AC_SUBST(BUILD_OBJEXT) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CC_ENV_FLAGS version: 3 updated: 2016/05/21 18:10:17 +dnl CF_CC_ENV_FLAGS version: 6 updated: 2016/08/29 20:57:00 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 @@ -731,9 +734,19 @@ case "$CC" in 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_flags=`echo "$CC" | sed -e 's/^.*[[ ]]\(-[[^ ]]\)/\1/'` + CC=`echo "$CC " | sed -e 's/[[ ]]-[[^ ]].*$//' -e 's/[[ ]]*$//'` + for cf_arg in $cf_flags + do + case "x$cf_arg" in + (x-[[IUDfgOW]]*) + CF_ADD_CFLAGS($cf_flags) + ;; + (*) + CC="$CC $cf_arg" + ;; + esac + done CF_VERBOSE(resulting CC: '$CC') CF_VERBOSE(resulting CFLAGS: '$CFLAGS') CF_VERBOSE(resulting CPPFLAGS: '$CPPFLAGS') @@ -798,7 +811,7 @@ AC_MSG_RESULT($includedir) 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. @@ -822,6 +835,7 @@ then 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 ],[ char temp[128]; char *buf = temp; @@ -934,7 +948,7 @@ fi ])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 @@ -948,7 +962,7 @@ if test "$cross_compiling" != yes ; then cat >conftest.$ac_ext < -int main() +int main(void) { Gpm_Wgetch(); ${cf_cv_main_return:-return}(0); @@ -999,15 +1013,24 @@ else 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 +#ifdef HAVE_WCHAR_H #include +#endif +#ifdef HAVE_WCTYPE_H +#include +#endif ],[ wint_t foo = 0; int bar = iswpunct(foo)], @@ -1196,7 +1219,7 @@ cf_save_CFLAGS="$cf_save_CFLAGS -Qunused-arguments" 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 @@ -1220,7 +1243,7 @@ TEST::TEST(int x = 1) // some compilers do not like second initializer { value = x; } -int main() { } +int main(void) { } ], [cf_cv_cpp_param_init=yes], [cf_cv_cpp_param_init=no], @@ -1579,7 +1602,7 @@ AC_ARG_ENABLE(rpath, 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, @@ -1606,7 +1629,16 @@ AC_MSG_RESULT($with_string_hacks) 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 --------------------------------------------------------------------------- @@ -1881,7 +1913,7 @@ else 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. @@ -1891,7 +1923,7 @@ AC_CHECK_FUNC(memmove,,[ 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)); @@ -1912,7 +1944,7 @@ int main() { 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. @@ -1927,7 +1959,7 @@ AC_TRY_RUN([ #include #endif -int main() { +int main(void) { struct timespec ts1, ts2; int code; ts1.tv_sec = 0; @@ -2650,7 +2682,7 @@ case $cf_gnat_version in 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 @@ -2677,7 +2709,20 @@ make an error 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 ],[ +#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 @@ -3134,7 +3179,7 @@ AC_MSG_RESULT($cf_cv_have_isascii) test "$cf_cv_have_isascii" = yes && AC_DEFINE(HAVE_ISASCII,1,[Define to 1 if we have isascii()]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_LARGEFILE version: 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],[ @@ -3156,6 +3201,7 @@ ifdef([AC_FUNC_FSEEKO],[ AC_CACHE_CHECK(whether to use struct dirent64, cf_cv_struct_dirent64,[ AC_TRY_COMPILE([ +#pragma GCC diagnostic error "-Wincompatible-pointer-types" #include #include ],[ @@ -3974,7 +4020,7 @@ done 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 @@ -3991,7 +4037,7 @@ cf_cv_$3_soname=unknown if test "$cross_compiling" != yes ; then cat >conftest.$ac_ext < #endif -int main() +int main(void) { int fail = 0; char *src = "config.log"; @@ -4852,7 +4901,7 @@ chmod 755 $cf_edit_man ])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 @@ -4863,6 +4912,7 @@ AC_CACHE_CHECK(if -lm needed for math functions, cf_cv_need_libm,[ AC_TRY_LINK([ #include + #include #include ], [double x = rand(); printf("result = %g\n", ]ifelse([$2],,sin(x),$2)[)], @@ -4906,20 +4956,26 @@ fi 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 +#ifdef HAVE_UNISTD_H +#include +#endif #include #include #include #include -int main() +int main(void) { char *tmpl = "conftestXXXXXX"; char name[2][80]; @@ -5318,7 +5374,7 @@ CF_ACVERSION_CHECK(2.52, CF_CC_ENV_FLAGS ])dnl dnl --------------------------------------------------------------------------- -dnl CF_PROG_CC_C_O version: 4 updated: 2016/05/21 18:08:09 +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 @@ -5335,7 +5391,7 @@ AC_MSG_CHECKING([whether [$]$1 understands -c and -o together]) AC_CACHE_VAL(cf_cv_prog_$1_c_o, [ cat > conftest.$ac_ext < -int main() +int main(void) { FILE *fp = fopen("cf_test.out", "w"); if (fp != 0) { @@ -7216,7 +7272,7 @@ if test "$with_gpm" != no ; then 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. @@ -7299,7 +7355,7 @@ ifdef([AC_PROG_LIBTOOL],[ 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' @@ -7812,7 +7868,7 @@ AC_SUBST(VERSIONED_SYMS) 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, @@ -7832,7 +7888,7 @@ case $host_os in (aix[[4-7]]*) cf_xopen_source="-D_ALL_SOURCE" ;; -(cygwin|msys) +(msys) cf_XOPEN_SOURCE=600 ;; (darwin[[0-8]].*) @@ -7860,7 +7916,7 @@ case $host_os in 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*) @@ -7882,9 +7938,6 @@ 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" ;;