From: Paul Eggert Date: Thu, 9 Oct 2003 20:23:53 +0000 (+0000) Subject: Don't assume -j is a solo 'make' argument. X-Git-Tag: AUTOCONF-2.57g~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=132dcb2111db6cda747e2453f5a71701a8ed93c3;p=thirdparty%2Fautoconf.git Don't assume -j is a solo 'make' argument. --- diff --git a/ChangeLog b/ChangeLog index 048bdd9e..de58ecdc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2003-10-09 Paul Eggert + + * lib/Autom4te/XFile.pm: Don't assume -j is solo. + Issue a more-informative diagnostic. + Problems reported by Eric Sunshine. + 2003-10-08 Steven G. Johnson * lib/autoconf/fortran.m4 (_AC_PROG_FC_V_OUTPUT): Omit quoted @@ -66,7 +72,7 @@ 2003-10-02 Akim Demaille * bin/ifnames.in (&scan_file): Skip C++ comments. - From Jeremy Yallop. + From Jeremy Yallop. 2003-10-01 Pavel Roskin @@ -183,8 +189,8 @@ Paul Eggert Trivial change to support GCC's configuration procedure. - * lib/autoconf/c.m4 (AC_PROG_CPP_WERROR): New macro. - * lib/autoconf/headers.m4 (_AC_CHECK_HEADER_MONGREL): Don't warn + * lib/autoconf/c.m4 (AC_PROG_CPP_WERROR): New macro. + * lib/autoconf/headers.m4 (_AC_CHECK_HEADER_MONGREL): Don't warn about inconsistency if the preprocessor is set to give errors for any warning. * doc/autoconf.texi (C Compiler Characteristics): Document this. @@ -714,7 +720,7 @@ White spaces cleanup. 2003-05-22 Jim Meyering - and Paul Eggert + Paul Eggert * lib/autoconf/c.m4 (_AC_PROG_CXX_EXIT_DECLARATION): Remove `#include ' from the list; we should never @@ -4285,7 +4291,7 @@ `{}'. * lib/autotest/general.m4 (AT_INIT): Adjust. -2001-09-18 Paul Wagland +2001-09-18 Paul Wagland * tests/m4sh.at: Ensure that AS_DIRNAME handles '/', '//' and '///' correctly. diff --git a/lib/Autom4te/XFile.pm b/lib/Autom4te/XFile.pm index 459f7fa9..fe2c1ea0 100644 --- a/lib/Autom4te/XFile.pm +++ b/lib/Autom4te/XFile.pm @@ -223,12 +223,15 @@ sub lock # perl was not built with -Ud_flock. Normally, this problem is harmless, # so ignore the ENOLCK errors that are reported in that situation, # However, if the invoker is using "make -j", the problem is not harmless, - # so report it in that case. Admittedly this is a bit of a hack. + # so report it in that case, by inspecting MAKEFLAGS and looking for + # any arguments indicating that the invoker used -j. + # Admittedly this is a bit of a hack. if (!flock ($fh, $mode) - && (!$!{ENOLCK} || " $ENV{'MAKEFLAGS'}" =~ / (-j|--jobs)/)) + && (!$!{ENOLCK} + || " -$ENV{'MAKEFLAGS'}" =~ / (-[BdeikrRsSw]*j|---?jobs)/)) { my $file = $fh->name; - fatal "cannot lock $file with mode $mode: $!"; + fatal "cannot lock $file with mode $mode (perhaps you are running make -j on a lame NFS client?): $!"; } }