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 <[email protected]> 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 <[email protected]>. --- 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>
