]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - Ada95/aclocal.m4
ncurses 6.3 - patch 20211120
[ncurses.git] / Ada95 / aclocal.m4
index 76152855ea5b2d9bb12fc1618ec14a5f8bc38ff7..c675b6a310b78d9a57a7e50d74cb32b3afe2e795 100644 (file)
@@ -29,7 +29,7 @@ dnl***************************************************************************
 dnl
 dnl Author: Thomas E. Dickey
 dnl
-dnl $Id: aclocal.m4,v 1.184 2021/10/11 00:18:09 tom Exp $
+dnl $Id: aclocal.m4,v 1.191 2021/11/20 19:58:23 tom Exp $
 dnl Macros used in NCURSES Ada95 auto-configuration script.
 dnl
 dnl These macros are maintained separately from NCURSES.  The copyright on
@@ -778,6 +778,37 @@ case "$cf_cv_gnat_version" in
 esac
 ])
 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_CLANG_COMPILER version: 8 updated: 2021/01/01 13:31:04
 dnl -----------------
 dnl Check if the given compiler is really clang.  clang's C driver defines
@@ -4771,7 +4802,7 @@ eval $3="$withval"
 AC_SUBST($3)dnl
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_WITH_PKG_CONFIG_LIBDIR version: 12 updated: 2021/10/10 20:18:09
+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
@@ -4794,98 +4825,110 @@ 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
+       if test "x$PKG_CONFIG" != xnone
        then
-               cf_path=$prefix
-       else
-               cf_path=`echo "$PKG_CONFIG" | sed -e 's,/[[^/]]*/[[^/]]*$,,'`
+               # works for pkg-config since version 0.24 (2009)
+               # works for pkgconf since version 0.8.3 (2012)
+               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" && \
                cf_search_path=`
-               "$PKG_CONFIG" --debug --exists no-such-package 2>&1 | awk "\
-/^Scanning directory #[1-9][0-9]* '.*'$/{ \
+               "$PKG_CONFIG" --debug --exists no-such-package 2>&1 | $AWK "\
+/^Scanning directory (#[1-9][0-9]* )?'.*'$/{ \
        sub(\"^[[^']]*'\",\"\"); \
        sub(\"'.*\",\"\"); \
        printf \" %s\", \\[$]0; } \
-/trying path:/{
-       sub(\"^.* trying path: \",\"\");
-       sub(\" for no-such-package.*$\",\"\");
-       printf \" %s\", \\[$]0;
-}
 { next; } \
 "`
        fi
 
-       if test -z "$cf_search_path"
-       then
-               # If you don't like using the default architecture, you have to specify
-               # the intended library directory and corresponding compiler/linker
-               # options.
-               #
-               # This case allows for Debian's 2014-flavor of multiarch, along with
-               # the most common variations before that point.  Some other variants
-               # spell the directory differently, e.g., "pkg-config", and put it in
-               # unusual places.
-               #
-               # pkg-config has always been poorly standardized, which is ironic...
-               case x`(arch) 2>/dev/null` in
-               (*64)
-                       cf_test_path="\
-                               $cf_path/lib/*64-linux-gnu \
-                               $cf_path/share \
-                               $cf_path/lib64 \
-                               $cf_path/lib32 \
-                               $cf_path/lib"
-                       ;;
-               (*)
-                       cf_test_path="\
-                               $cf_path/lib/*-linux-gnu \
-                               $cf_path/share \
-                               $cf_path/lib32 \
-                               $cf_path/lib \
-                               $cf_path/libdata"
-                       ;;
-               esac
-               for cf_config in $cf_test_path
-               do
-                       test -d "$cf_config/pkgconfig" && cf_search_path="$cf_search_path $cf_config/pkgconfig"
-               done
-       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
+if test -n "$cf_search_path"
+then
+       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
-done
-AC_MSG_RESULT($cf_pkg_config_path)
 
-if test "x$cf_pkg_config_path" != xno ; then
-       # limit this to the first directory found
-       PKG_CONFIG_LIBDIR="$cf_pkg_config_path"
+       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)