]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - aclocal.m4
ncurses 6.3 - patch 20211204
[ncurses.git] / aclocal.m4
index 367047fe6dfe3125d61bc1575354df19ae3bb2f3..8d9a3ba2361b768c99c5a735592b4359c5470b7d 100644 (file)
@@ -29,7 +29,7 @@ dnl***************************************************************************
 dnl
 dnl Author: Thomas E. Dickey 1995-on
 dnl
-dnl $Id: aclocal.m4,v 1.990 2021/10/26 20:50:11 tom Exp $
+dnl $Id: aclocal.m4,v 1.999 2021/12/04 23:30:56 tom Exp $
 dnl Macros used in NCURSES auto-configuration script.
 dnl
 dnl These macros are maintained separately from NCURSES.  The copyright on
@@ -1347,6 +1347,37 @@ if test "$cf_cv_check_gpm_wgetch" != yes ; then
 fi
 ])])dnl
 dnl ---------------------------------------------------------------------------
+dnl CF_CHECK_LIBSSP version: 1 updated: 2021/10/30 10:40:19
+dnl ---------------
+dnl Check if libssp is needed, e.g., to work around misconfigured libraries
+dnl used in cross-compiling to MinGW.
+AC_DEFUN([CF_CHECK_LIBSSP],[
+AC_CACHE_CHECK(if ssp library is needed,cf_cv_need_libssp,[
+AC_TRY_LINK([
+#include <sys/types.h>
+#include <dirent.h>
+],[
+       DIR *dp = opendir(".");
+],cf_cv_need_libssp=no,[
+       cf_save_LIBS="$LIBS"
+       LIBS="$LIBS -lssp"
+       AC_TRY_LINK([
+#include <sys/types.h>
+#include <dirent.h>
+       ],[
+                  DIR *dp = opendir(".");
+       ],cf_cv_need_libssp=yes,
+         cf_cv_need_libssp=maybe)
+       LIBS="$cf_save_LIBS"
+])dnl
+])
+
+if test "x$cf_cv_need_libssp" = xyes
+then
+       CF_ADD_LIB(ssp)
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
 dnl CF_CHECK_LIBTOOL_VERSION version: 2 updated: 2021/05/01 16:24:34
 dnl ------------------------
 dnl Show the version of libtool
@@ -2041,7 +2072,7 @@ fi
 AC_SUBST(BROKEN_LINKER)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_ENABLE_PC_FILES version: 15 updated: 2021/10/25 19:21:54
+dnl CF_ENABLE_PC_FILES version: 16 updated: 2021/11/20 12:48:37
 dnl ------------------
 dnl This is the "--enable-pc-files" option, which is available if there is a
 dnl pkg-config configuration on the local machine.
@@ -2070,7 +2101,8 @@ then
                AC_MSG_WARN(no PKG_CONFIG_LIBDIR was found)
                ;;
        (*)
-               CF_PATH_SYNTAX(PKG_CONFIG_LIBDIR)
+               cf_pkg_config_libdir="$PKG_CONFIG_LIBDIR"
+               CF_PATH_SYNTAX(cf_pkg_config_libdir)
                ;;
        esac
 else
@@ -2512,6 +2544,61 @@ else
 fi
 ])
 dnl ---------------------------------------------------------------------------
+dnl CF_FUNC_GETTTYNAM version: 1 updated: 2021/12/04 18:29:47
+dnl -----------------
+dnl Check if the 4.3BSD function getttyname exists, as well as if <ttyent.h>
+dnl defines the _PATH_TTYS symbol.  If the corresponding file exists, but the
+dnl other checks fail, just define HAVE_PATH_TTYS.
+AC_DEFUN([CF_FUNC_GETTTYNAM],[
+AC_CACHE_CHECK(if _PATH_TTYS is defined in ttyent.h,cf_cv_PATH_TTYS,[
+AC_TRY_COMPILE([
+#include <stdio.h>
+#include <ttyent.h>],[
+FILE *fp = fopen(_PATH_TTYS, "r"); (void)fp],
+       [cf_cv_PATH_TTYS=yes],
+       [cf_cv_PATH_TTYS=no])])
+
+if test $cf_cv_PATH_TTYS = no
+then
+       for cf_ttys in /etc/ttytype /etc/ttys
+       do
+               if test -f $cf_ttys
+               then
+                       cf_cv_PATH_TTYS=maybe
+                       AC_DEFINE(_PATH_TTYS,$cf_ttys,[define to pathname of file containing mapping from tty name to terminal type])
+                       break
+               fi
+       done
+fi
+
+if test $cf_cv_PATH_TTYS != no
+then
+       AC_CACHE_CHECK(if _PATH_TTYS file exists,cf_cv_have_PATH_TTYS,[
+               AC_TRY_RUN([
+#include <stdio.h>
+#include <ttyent.h>
+int main(void) {
+       FILE *fp = fopen(_PATH_TTYS, "r");
+       ${cf_cv_main_return:-return} (fp == 0);
+}],
+                       [cf_cv_have_PATH_TTYS=yes],
+                       [cf_cv_have_PATH_TTYS=no],
+                       [cf_cv_have_PATH_TTYS=unknown])])
+       test "$cf_cv_have_PATH_TTYS" = no && cf_cv_PATH_TTYS=no
+fi
+
+if test $cf_cv_PATH_TTYS != no
+then
+       AC_DEFINE(HAVE_PATH_TTYS,1,[define to 1 if system can map tty name to terminal type])
+       AC_CACHE_CHECK(for getttynam,cf_cv_func_getttynam,[
+               AC_TRY_LINK([#include <ttyent.h>],
+               [struct ttyent *fp = getttynam("/dev/tty"); (void)fp],
+               [cf_cv_func_getttynam=yes],
+               [cf_cv_func_getttynam=no])])
+       test "$cf_cv_func_getttynam" = yes && AC_DEFINE(HAVE_GETTTYNAM)
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
 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
@@ -9206,7 +9293,7 @@ if test "x$with_pcre2" != xno ; then
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_WITH_PKG_CONFIG_LIBDIR version: 16 updated: 2021/10/26 16:50:11
+dnl CF_WITH_PKG_CONFIG_LIBDIR version: 19 updated: 2021/11/20 14:57:36
 dnl -------------------------
 dnl Allow the choice of the pkg-config library directory to be overridden.
 dnl
@@ -9229,29 +9316,45 @@ case "$PKG_CONFIG" in
        ;;
 esac
 
+# if $PKG_CONFIG_LIBDIR is set, try to use that
 cf_search_path=`echo "$PKG_CONFIG_LIBDIR" | sed -e 's/:/ /g' -e 's,^[[         ]]*,,'`
+
+# if the option is used, let that override.  otherwise default to "libdir"
 AC_ARG_WITH(pkg-config-libdir,
        [  --with-pkg-config-libdir=XXX use given directory for installing pc-files],
        [cf_search_path=$withval],
-       [test "x$PKG_CONFIG" != xnone && cf_search_path=yes])
+       [test "x$PKG_CONFIG" != xnone && test -z "$cf_search_path" && cf_search_path=libdir])
 
 case x$cf_search_path in
+(xlibdir)
+       PKG_CONFIG_LIBDIR='${libdir}/pkgconfig'
+       AC_MSG_RESULT($PKG_CONFIG_LIBDIR)
+       cf_search_path=
+       ;;
+(x)
+       ;;
 (x/*)
+       PKG_CONFIG_LIBDIR="$cf_search_path"
+       AC_MSG_RESULT($PKG_CONFIG_LIBDIR)
+       cf_search_path=
        ;;
-(xyes)
+(xyes|xauto)
+       AC_MSG_RESULT(auto)
        cf_search_path=
-       CF_VERBOSE(auto...)
        # Look for the library directory using the same prefix as the executable
        AC_MSG_CHECKING(for search-list)
        if test "x$PKG_CONFIG" != xnone
        then
                # works for pkg-config since version 0.24 (2009)
-               cf_pkg_program=`echo "$PKG_CONFIG" | sed -e 's,^.*/,,'`
-               cf_search_path=`"$PKG_CONFIG" --variable=pc_path "$cf_pkg_program" 2>/dev/null | tr : ' '`
-
                # works for pkgconf since version 0.8.3 (2012)
-               test -z "$cf_search_path" && \
-               cf_search_path=`pkgconf --variable=pc_path pkgconf 2>/dev/null | tr : ' '`
+               for cf_pkg_program in \
+                       `echo "$PKG_CONFIG" | sed -e 's,^.*/,,'` \
+                       pkg-config \
+                       pkgconf
+               do
+                       cf_search_path=`"$PKG_CONFIG" --variable=pc_path "$cf_pkg_program" 2>/dev/null | tr : ' '`
+                       test -n "$cf_search_path" && break
+               done
 
                # works for pkg-config since import in 2005 of original 2001 HP code.
                test -z "$cf_search_path" && \
@@ -9266,54 +9369,57 @@ case x$cf_search_path in
        fi
 
        AC_MSG_RESULT($cf_search_path)
-
        ;;
 (*)
+       AC_MSG_ERROR(Unexpected option value: $cf_search_path)
        ;;
 esac
 
-AC_MSG_CHECKING(for first directory)
-cf_pkg_config_path=none
-for cf_config in $cf_search_path
-do
-       if test -d "$cf_config"
-       then
-               cf_pkg_config_path=$cf_config
-               break
-       fi
-done
-AC_MSG_RESULT($cf_pkg_config_path)
-
-if test "x$cf_pkg_config_path" != xnone ; then
-       # limit this to the first directory found
-       PKG_CONFIG_LIBDIR="$cf_pkg_config_path"
-fi
-
-if test -z "$PKG_CONFIG_LIBDIR" && test -n "$cf_search_path"
+if test -n "$cf_search_path"
 then
-       AC_MSG_CHECKING(for workaround)
-       if test "$prefix" = "NONE" ; then
-               cf_prefix="$ac_default_prefix"
-       else
-               cf_prefix="$prefix"
-       fi
-       eval cf_libdir=$libdir
-       cf_libdir=`echo "$cf_libdir" | sed -e "s,^NONE,$cf_prefix,"`
-       cf_backup=
+       AC_MSG_CHECKING(for first directory)
+       cf_pkg_config_path=none
        for cf_config in $cf_search_path
        do
-               case $cf_config in
-               $cf_libdir/pkgconfig)
-                       PKG_CONFIG_LIBDIR=$cf_libdir/pkgconfig
+               if test -d "$cf_config"
+               then
+                       cf_pkg_config_path=$cf_config
                        break
-                       ;;
-               *)
-                       test -z "$cf_backup" && cf_backup=$cf_config
-                       ;;
-               esac
+               fi
        done
-       test -z "$PKG_CONFIG_LIBDIR" && PKG_CONFIG_LIBDIR=$cf_backup
-       AC_MSG_RESULT($PKG_CONFIG_LIBDIR)
+       AC_MSG_RESULT($cf_pkg_config_path)
+
+       if test "x$cf_pkg_config_path" != xnone ; then
+               # limit this to the first directory found
+               PKG_CONFIG_LIBDIR="$cf_pkg_config_path"
+       fi
+
+       if test -z "$PKG_CONFIG_LIBDIR" && test -n "$cf_search_path"
+       then
+               AC_MSG_CHECKING(for workaround)
+               if test "$prefix" = "NONE" ; then
+                       cf_prefix="$ac_default_prefix"
+               else
+                       cf_prefix="$prefix"
+               fi
+               eval cf_libdir=$libdir
+               cf_libdir=`echo "$cf_libdir" | sed -e "s,^NONE,$cf_prefix,"`
+               cf_backup=
+               for cf_config in $cf_search_path
+               do
+                       case $cf_config in
+                       $cf_libdir/pkgconfig)
+                               PKG_CONFIG_LIBDIR=$cf_libdir/pkgconfig
+                               break
+                               ;;
+                       *)
+                               test -z "$cf_backup" && cf_backup=$cf_config
+                               ;;
+                       esac
+               done
+               test -z "$PKG_CONFIG_LIBDIR" && PKG_CONFIG_LIBDIR=$cf_backup
+               AC_MSG_RESULT($PKG_CONFIG_LIBDIR)
+       fi
 fi
 
 AC_SUBST(PKG_CONFIG_LIBDIR)