bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gl_FUNC_FSTATAT doesn’t support cross-compilation


From: Bruno Haible
Subject: Re: gl_FUNC_FSTATAT doesn’t support cross-compilation
Date: Thu, 10 Nov 2011 12:31:40 +0100
User-agent: KMail/1.13.6 (Linux/2.6.37.6-0.5-desktop; KDE/4.6.0; x86_64; ; )

Paul Eggert wrote:
> >> > One possibility is to assume that AIX 7.1 is the only
> >> > target platform with that bug -- that would be easier
> >> > to maintain
> > Yes, this appears to be the case.
> 
> OK, let's go with that then.  Or perhaps, a bit more
> conservatively, we can assume that AIX is broken until
> we know otherwise.

OK, I've pushed this:


2011-11-10  Bruno Haible  <address@hidden>

        fstatat: Make cross-compilation guess succeed everywhere except on AIX.
        * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
        When cross-compiling, guess yes on all platforms except AIX.
        Reported by Ludovic Courtès <address@hidden>.

--- m4/fstatat.m4.orig  Thu Nov 10 12:25:38 2011
+++ m4/fstatat.m4       Thu Nov 10 12:25:23 2011
@@ -13,6 +13,7 @@
   AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
   AC_REQUIRE([gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
   AC_CHECK_FUNCS_ONCE([fstatat])
 
   if test $ac_cv_func_fstatat = no; then
@@ -36,16 +37,23 @@
             ]])],
          [gl_cv_func_fstatat_zero_flag=yes],
          [gl_cv_func_fstatat_zero_flag=no],
-         [gl_cv_func_fstatat_zero_flag=cross-compiling])])
+         [case "$host_os" in
+            aix*) gl_cv_func_fstatat_zero_flag="guessing no";;
+            *)    gl_cv_func_fstatat_zero_flag="guessing yes";;
+          esac
+         ])
+      ])
 
     case 
$gl_cv_func_fstatat_zero_flag+$gl_cv_func_lstat_dereferences_slashed_symlink in
-    yes+yes) ;;
+    *yes+yes) ;;
     *) REPLACE_FSTATAT=1
-       if test $gl_cv_func_fstatat_zero_flag = yes; then
+       case $gl_cv_func_fstatat_zero_flag in
+       *yes)
          AC_DEFINE([HAVE_WORKING_FSTATAT_ZERO_FLAG], [1],
            [Define to 1 if fstatat (..., 0) works.
             For example, it does not work in AIX 7.1.])
-       fi
+         ;;
+       esac
        ;;
     esac
   fi

-- 
In memoriam Cornstalk <http://en.wikipedia.org/wiki/Cornstalk>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]