X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=test%2Faclocal.m4;h=e7c9afb2aac2fdfd2bb75771469b9e7ff0cd9cb4;hp=1a710ab271339bc789b9f52de12ef9bdaef11292;hb=d60228973b72d3b457e3ec2653ea5b2cb38fc0c9;hpb=b0bdfbb1c78346047c54d8e516a104fcff586e52;ds=sidebyside diff --git a/test/aclocal.m4 b/test/aclocal.m4 index 1a710ab2..e7c9afb2 100644 --- a/test/aclocal.m4 +++ b/test/aclocal.m4 @@ -1,5 +1,5 @@ dnl*************************************************************************** -dnl Copyright (c) 2003-2016,2017 Free Software Foundation, Inc. * +dnl Copyright (c) 2003-2017,2018 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 * @@ -26,7 +26,7 @@ dnl sale, use or other dealings in this Software without prior written * dnl authorization. * dnl*************************************************************************** dnl -dnl $Id: aclocal.m4,v 1.149 2017/12/26 22:17:17 tom Exp $ +dnl $Id: aclocal.m4,v 1.157 2018/06/16 23:11:00 tom Exp $ dnl dnl Author: Thomas E. Dickey dnl @@ -490,17 +490,61 @@ AC_TRY_LINK([#include ],[printf("Hello world");],, fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CHECK_CURSES_LIB version: 1 updated: 2015/04/25 20:53:11 +dnl CF_CHECK_CURSES_LIB version: 2 updated: 2018/01/03 04:47:33 dnl ------------------- dnl $1 = nominal library name, used also for header lookup dnl $2 = suffix to append to library name dnl $3 = function to check for using AC_CHECK_LIB +dnl $4 = optional parameter list for $3 AC_DEFUN([CF_CHECK_CURSES_LIB], [ -AC_CHECK_LIB($1$2,$3,[ -CF_UPPER(cf_upper,have_lib$1) -CF_ADD_LIBS(-l$1$2) -AC_DEFINE_UNQUOTED($cf_upper,1)]) +AC_REQUIRE([CF_PKG_CONFIG]) + +cf_have_curses_lib=no + +: ${NCURSES_CONFIG_PKG:=none} +if test "x${NCURSES_CONFIG_PKG}" = xnone; then + : +elif test "x${PKG_CONFIG:=none}" != xnone; then + AC_MSG_CHECKING(pkg-config for $1$2) + if "$PKG_CONFIG" --exists $1$2 ; then + AC_MSG_RESULT(yes) + + AC_MSG_CHECKING(if the $1$2 package files work) + + cf_save_CPPFLAGS="$CPPFLAGS" + cf_save_LIBS="$LIBS" + + CF_ADD_CFLAGS(`$PKG_CONFIG --cflags $1$2`) + CF_ADD_LIBS(`$PKG_CONFIG --libs $1$2`) + + AC_TRY_LINK([#include <$1.h>], + [(void) $3 ( ]ifelse([$4],,,[[$4]])[ );], + [AC_TRY_RUN([#include <$1.h> + int main(void) + { (void) $3 ( ]ifelse([$4],,,[[$4]])[ ); return 0; }], + [cf_have_curses_lib=yes], + [cf_have_curses_lib=no], + [cf_have_curses_lib=maybe])], + [cf_have_curses_lib=no]) + AC_MSG_RESULT($cf_have_curses_lib) + test "$cf_have_curses_lib" = maybe && cf_have_curses_lib=yes + if test "$cf_have_curses_lib" != "yes" + then + CPPFLAGS="$cf_save_CPPFLAGS" + LIBS="$cf_save_LIBS" + else + CF_UPPER(cf_upper,have_lib$1) + AC_DEFINE_UNQUOTED($cf_upper,1) + fi + fi +fi +if test "$cf_have_curses_lib" = no; then + AC_CHECK_LIB($1$2,$3,[ + CF_UPPER(cf_upper,have_lib$1) + CF_ADD_LIBS(-l$1$2) + AC_DEFINE_UNQUOTED($cf_upper,1)]) +fi ])dnl dnl --------------------------------------------------------------------------- dnl CF_CLANG_COMPILER version: 2 updated: 2013/11/19 19:23:35 @@ -557,7 +601,7 @@ done test "$cf_cv_curses_acs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_ACS_ARRAY,$cf_cv_curses_acs_map,[Define as needed to override ncurses prefix _nc_]) ]) dnl --------------------------------------------------------------------------- -dnl CF_CURSES_CHECK_DATA version: 6 updated: 2017/07/28 19:05:31 +dnl CF_CURSES_CHECK_DATA version: 7 updated: 2018/01/03 04:47:33 dnl -------------------- dnl Check if curses.h defines the given data/variable. dnl Use this after CF_NCURSES_CONFIG or CF_CURSES_CONFIG. @@ -589,7 +633,7 @@ extern char $cf_data; int main(void) { void *foo = &($cf_data); - fprintf(stderr, "testing linkage of $cf_data:%p\n", foo); + fprintf(stderr, "testing linkage of $cf_data:%p\n", (void *)foo); ${cf_cv_main_return:-return}(foo == 0); }],[cf_result=yes ],[cf_result=no],[ @@ -598,7 +642,7 @@ int main(void) [extern char $cf_data;],[ do { void *foo = &($cf_data); - fprintf(stderr, "testing linkage of $cf_data:%p\n", foo); + fprintf(stderr, "testing linkage of $cf_data:%p\n", (void *)foo); ${cf_cv_main_return:-return}(foo == 0); } while (0) ],[cf_result=yes],[cf_result=no]) @@ -678,7 +722,7 @@ CF_CURSES_HEADER CF_TERM_HEADER ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_FUNCS version: 18 updated: 2014/07/19 18:44:41 +dnl CF_CURSES_FUNCS version: 19 updated: 2018/01/03 04:47:33 dnl --------------- dnl Curses-functions are a little complicated, since a lot of them are macros. AC_DEFUN([CF_CURSES_FUNCS], @@ -699,9 +743,9 @@ do [ #ifndef ${cf_func} long foo = (long)(&${cf_func}); -fprintf(stderr, "testing linkage of $cf_func:%p\n", foo); -if (foo + 1234 > 5678) - ${cf_cv_main_return:-return}(foo); +fprintf(stderr, "testing linkage of $cf_func:%p\n", (void *)foo); +if (foo + 1234L > 5678L) + ${cf_cv_main_return:-return}(foo != 0); #endif ], [cf_result=yes], @@ -745,7 +789,7 @@ fi AC_CHECK_HEADERS($cf_cv_ncurses_header) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_LIBS version: 40 updated: 2017/09/07 17:06:24 +dnl CF_CURSES_LIBS version: 41 updated: 2017/12/31 19:23:43 dnl -------------- dnl Look for the curses libraries. Older curses implementations may require dnl termcap/termlib to be linked as well. Call CF_CURSES_CPPFLAGS first. @@ -827,7 +871,10 @@ if test ".$ac_cv_func_initscr" != .yes ; then AC_CHECK_FUNC(tgoto,[cf_term_lib=predefined],[ for cf_term_lib in $cf_check_list otermcap termcap tinfo termlib unknown do - AC_CHECK_LIB($cf_term_lib,tgoto,[break]) + AC_CHECK_LIB($cf_term_lib,tgoto,[ + : ${cf_nculib_root:=$cf_term_lib} + break + ]) done ]) fi @@ -1699,7 +1746,7 @@ if test $cf_cv_getopt_header = getopt.h ; then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_GNU_SOURCE version: 7 updated: 2016/08/05 05:15:37 +dnl CF_GNU_SOURCE version: 8 updated: 2018/06/16 19:05:13 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 @@ -1707,38 +1754,98 @@ 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 ],[ -#ifndef _XOPEN_SOURCE -make an error -#endif], - [cf_cv_gnu_source=no], - [cf_save="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" - AC_TRY_COMPILE([#include ],[ -#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; + #else + # error not GNU C library + #endif], + [cf_cv_gnu_library=yes], + [cf_cv_gnu_library=no]) ]) -if test "$cf_cv_gnu_source" = yes -then -AC_CACHE_CHECK(if we should also define _DEFAULT_SOURCE,cf_cv_default_source,[ -CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" - AC_TRY_COMPILE([#include ],[ -#ifdef _DEFAULT_SOURCE -make an error -#endif], - [cf_cv_default_source=no], - [cf_cv_default_source=yes]) +if test x$cf_cv_gnu_library = xyes; then + + # With glibc 2.19 (13 years after this check was begun), _DEFAULT_SOURCE + # was changed to help a little... + AC_CACHE_CHECK(if _DEFAULT_SOURCE can be used as a basis,cf_cv_gnu_library_219,[ + cf_save="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -D_DEFAULT_SOURCE" + AC_TRY_COMPILE([#include ],[ + #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 19) || (__GLIBC__ > 2) + return 0; + #else + # error GNU C library __GLIBC__.__GLIBC_MINOR__ is too old + #endif], + [cf_cv_gnu_library_219=yes], + [cf_cv_gnu_library_219=no]) + CPPFLAGS="$cf_save" ]) -test "$cf_cv_default_source" = yes && CPPFLAGS="$CPPFLAGS -D_DEFAULT_SOURCE" + + if test "x$cf_cv_gnu_library_219" = xyes; then + AC_CACHE_CHECK(if _XOPEN_SOURCE=$cf_gnu_xopen_source works with _DEFAULT_SOURCE,cf_cv_gnu_dftsrc_219,[ + cf_save="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=$cf_gnu_xopen_source" + AC_TRY_COMPILE([ + #include + #include + ],[ + #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 ],[ + #ifndef _XOPEN_SOURCE + #error expected _XOPEN_SOURCE to be defined + #endif], + [cf_cv_gnu_source=no], + [cf_save="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" + AC_TRY_COMPILE([#include ],[ + #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,[ + CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" + AC_TRY_COMPILE([#include ],[ + #ifdef _DEFAULT_SOURCE + #error expected _DEFAULT_SOURCE to be undefined + #endif], + [cf_cv_default_source=no], + [cf_cv_default_source=yes]) + ]) + test "$cf_cv_default_source" = yes && CPPFLAGS="$CPPFLAGS -D_DEFAULT_SOURCE" + fi + fi + fi ])dnl dnl --------------------------------------------------------------------------- @@ -1803,6 +1910,64 @@ AC_DEFUN([CF_INHERIT_SCRIPT], test -f $1 || ( test -f ../$1 && cp ../$1 ./ ) ])dnl dnl --------------------------------------------------------------------------- +dnl CF_INSTALL_OPTS version: 1 updated: 2014/07/21 18:19:51 +dnl --------------- +dnl prompt for/fill-in useful install-program options +AC_DEFUN([CF_INSTALL_OPTS], +[ +CF_INSTALL_OPT_S +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_S version: 1 updated: 2014/07/21 18:19:51 +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 installed executables], + [with_stripping=no], + [with_stripping=yes]) +AC_MSG_RESULT($with_stripping) + +if test "$with_stripping" = yes +then + INSTALL_OPT_S="-s" +else + INSTALL_OPT_S= +fi +AC_SUBST(INSTALL_OPT_S) +])dnl +dnl --------------------------------------------------------------------------- dnl CF_INTEL_COMPILER version: 7 updated: 2015/04/12 15:39:00 dnl ----------------- dnl Check if the given compiler is really the Intel compiler for Linux. It @@ -2057,7 +2222,7 @@ printf("old\n"); ,[$1=no]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_NCURSES_CONFIG version: 18 updated: 2017/07/23 18:30:00 +dnl CF_NCURSES_CONFIG version: 20 updated: 2018/01/03 04:47:33 dnl ----------------- dnl Tie together the configure-script macros for ncurses, preferring these in dnl order: @@ -2104,8 +2269,8 @@ if test "x${PKG_CONFIG:=none}" != xnone; then 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 - CF_TERM_HEADER else AC_MSG_RESULT(no) @@ -3602,7 +3767,7 @@ esac ])dnl dnl --------------------------------------------------------------------------- -dnl CF_XOPEN_SOURCE version: 52 updated: 2016/08/27 12:21:42 +dnl CF_XOPEN_SOURCE version: 53 updated: 2018/06/16 18:58:58 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, @@ -3651,7 +3816,7 @@ case $host_os in cf_XOPEN_SOURCE= ;; (linux*|uclinux*|gnu*|mint*|k*bsd*-gnu|cygwin) - CF_GNU_SOURCE + CF_GNU_SOURCE($cf_XOPEN_SOURCE) ;; (minix*) cf_xopen_source="-D_NETBSD_SOURCE" # POSIX.1-2001 features are ifdef'd with this...