X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=Ada95%2Faclocal.m4;h=b365f92626e4610da23885f06f9d0a8bc926e829;hp=ce271a0d47181fba6630cb17c5ac421220cd002d;hb=6a586fefa9985809fdfbc96d2dcb838a13e4e4d2;hpb=6941ed1e8bfdfc7634a57655dc71e7a7ed02a6e8 diff --git a/Ada95/aclocal.m4 b/Ada95/aclocal.m4 index ce271a0d..b365f926 100644 --- a/Ada95/aclocal.m4 +++ b/Ada95/aclocal.m4 @@ -28,7 +28,7 @@ dnl*************************************************************************** dnl dnl Author: Thomas E. Dickey dnl -dnl $Id: aclocal.m4,v 1.134 2018/07/21 23:14:07 tom Exp $ +dnl $Id: aclocal.m4,v 1.142 2019/01/01 01:46:17 tom Exp $ dnl Macros used in NCURSES Ada95 auto-configuration script. dnl dnl These macros are maintained separately from NCURSES. The copyright on @@ -524,7 +524,7 @@ AC_SUBST(BUILD_EXEEXT) AC_SUBST(BUILD_OBJEXT) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CC_ENV_FLAGS version: 8 updated: 2017/09/23 08:50:24 +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 @@ -541,11 +541,28 @@ 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 misuses the CC variable to hold CFLAGS/CPPFLAGS options) + 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))); }'` @@ -1491,7 +1508,7 @@ case $cf_gnat_version in esac ]) dnl --------------------------------------------------------------------------- -dnl CF_GNU_SOURCE version: 9 updated: 2018/06/20 20:23:13 +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 @@ -1510,6 +1527,8 @@ AC_CACHE_CHECK(if this is the GNU C library,cf_cv_gnu_library,[ AC_TRY_COMPILE([#include ],[ #if __GLIBC__ > 0 && __GLIBC_MINOR__ >= 0 return 0; + #elif __NEWLIB__ > 0 && __NEWLIB_MINOR__ >= 0 + return 0; #else # error not GNU C library #endif], @@ -1520,13 +1539,16 @@ AC_TRY_COMPILE([#include ],[ 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... + # 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 ],[ #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], @@ -1667,12 +1689,13 @@ CPPFLAGS="-I. $CPPFLAGS" AC_SUBST(CPPFLAGS) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_INSTALL_OPTS version: 1 updated: 2014/07/21 18:19:51 +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 --------------------------------------------------------------------------- @@ -1703,7 +1726,42 @@ fi AC_SUBST(INSTALL_OPT_O) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_INSTALL_OPT_S version: 1 updated: 2014/07/21 18:19:51 +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 + 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. @@ -1711,7 +1769,7 @@ 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], + [ --disable-stripping do not strip (debug info) installed executables], [with_stripping=no], [with_stripping=yes]) AC_MSG_RESULT($with_stripping) @@ -1812,7 +1870,7 @@ ifdef([AC_FUNC_FSEEKO],[ ]) ]) dnl --------------------------------------------------------------------------- -dnl CF_LD_RPATH_OPT version: 7 updated: 2016/02/20 18:01:19 +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. @@ -1821,49 +1879,52 @@ 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 -(irix*) - 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|freebsd*) - LD_RPATH_OPT="-Wl,-rpath," - ;; -(openbsd[[2-9]].*|mirbsd*) - LD_RPATH_OPT="-Wl,-rpath," - ;; -(dragonfly*) - LD_RPATH_OPT="-rpath " - ;; -(netbsd*) - LD_RPATH_OPT="-Wl,-rpath," - ;; -(osf*|mls+*) - LD_RPATH_OPT="-rpath " - ;; -(solaris2*) - 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 -(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: 10 updated: 2015/04/15 19:08:48 @@ -2811,7 +2872,7 @@ fi AC_SUBST(PKG_CONFIG) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_POSIX_C_SOURCE version: 10 updated: 2018/06/20 20:23:13 +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 @@ -2826,7 +2887,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" @@ -2883,6 +2947,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 ],[ +#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 @@ -2995,25 +3088,7 @@ AC_SUBST(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_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_GNAT version: 6 updated: 2018/01/16 16:45:49 +dnl CF_PROG_GNAT version: 8 updated: 2018/11/10 19:47:04 dnl ------------ dnl Check for gnatmake, ensure that it is complete. AC_DEFUN([CF_PROG_GNAT],[ @@ -3035,7 +3110,20 @@ else for cf_gprconfig in Ada C do AC_MSG_CHECKING(for gprconfig name for $cf_gprconfig) - cf_gprconfig_value=`echo s| gprconfig --config=$cf_gprconfig 2>&AC_FD_CC | ${AWK:-awk} '/^\*/{print [$]3;}' | head -n 1` + 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 @@ -3085,6 +3173,24 @@ 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" @@ -3137,7 +3243,7 @@ define([CF_REMOVE_LIB], $1=`echo "$2" | sed -e 's/-l$3[[ ]]//g' -e 's/-l$3[$]//'` ])dnl dnl --------------------------------------------------------------------------- -dnl CF_SHARED_OPTS version: 92 updated: 2017/12/30 17:26:05 +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 @@ -3165,6 +3271,7 @@ dnl Some loaders leave 'so_locations' lying around. It's nice to clean up. AC_DEFUN([CF_SHARED_OPTS], [ AC_REQUIRE([CF_LD_RPATH_OPT]) + RM_SHARED_OPTS= LOCAL_LDFLAGS= LOCAL_LDFLAGS2= @@ -3352,7 +3459,7 @@ CF_EOF cf_cv_rm_so_locs=yes ;; (linux*|gnu*|k*bsd*-gnu) - 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 @@ -3390,7 +3497,7 @@ CF_EOF chmod +x mk_shared_lib.sh ;; (openbsd[[2-9]].*|mirbsd*) - 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 @@ -3446,7 +3553,7 @@ CF_EOF ;; 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 @@ -4084,7 +4191,7 @@ AC_ARG_WITH(system-type, ]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_XOPEN_SOURCE version: 53 updated: 2018/06/16 18:58:58 +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, @@ -4095,6 +4202,9 @@ 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]) @@ -4114,7 +4224,7 @@ case $host_os in cf_xopen_source="-D_DARWIN_C_SOURCE" cf_XOPEN_SOURCE= ;; -(freebsd*|dragonfly*) +(freebsd*|dragonfly*|midnightbsd*) # 5.x headers associate # _XOPEN_SOURCE=600 with _POSIX_C_SOURCE=200112L # _XOPEN_SOURCE=500 with _POSIX_C_SOURCE=199506L @@ -4209,4 +4319,5 @@ make an error CF_TRY_XOPEN_SOURCE fi fi +fi # cf_cv_posix_visible ])