autoconf-patches
[Top][All Lists]
Advanced

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

Re: [configure bug while building] flex beta version 2.5.15


From: Paul Eggert
Subject: Re: [configure bug while building] flex beta version 2.5.15
Date: Sun, 1 Sep 2002 03:40:54 -0700 (PDT)

> From: Bruce Lilly <address@hidden>
> Date: Fri, 30 Aug 2002 21:41:46 -0400
> 
> > Can you give more details about this box?  It appears to be SVR3 but I
> > don't know what that ".51m" means.  (Wow, I haven't run into a real
> > SVR3 box in _ages_.)
> 
> It's an AT&T 3B1.  See http://www.faqs.org/faqs/3b1-faq/ or any
> mirror of the 3B1 FAQ.  It's actually SVR2.2.

OK.  Come to think of it, this is the traditional "ls" behavior.  I'd
forgotten about that.

I checked in the following patch to fix that problem.  Part of this
patch also fixes a bug in the 2002-07-17 patch for --prepend-include,
which I uncovered while testing this patch.


2002-09-01  Paul Eggert  <address@hidden>

        * bin/autoconf.as: Work even if "ls" outputs "FOO not found" to
        stdout, as traditional "ls" does.
        * lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_DEFAULT,
        _AC_COMPILER_EXEEXT_O): Likewise.
        * doc/autoconf.texi (Limitations of Usual Tools): Add "ls".

        * bin/autoconf.as: Add --prepend-include option.  This patch was
        applied to bin/autoconf.in in the 2002-07-17 patch by Mark D. Roth,
        but bin/autoconf.in is generated automatically from bin/autoconf.as.


Index: bin/autoconf.as
===================================================================
RCS file: /cvsroot/autoconf/autoconf/bin/autoconf.as,v
retrieving revision 1.3
retrieving revision 1.4
diff -p -u -r1.3 -r1.4
--- bin/autoconf.as     12 Jun 2002 17:26:19 -0000      1.3
+++ bin/autoconf.as     1 Sep 2002 10:10:02 -0000       1.4
@@ -31,7 +31,8 @@ Operation modes:
   -V, --version            print version number, then exit
   -v, --verbose            verbosely report processing
   -d, --debug              don't remove temporary files
-  -I, --include=DIR        look for input files in DIR (cumulative)
+  -B, --prepend-include=DIR   prepend directory DIR to search path
+  -I, --include=DIR           append directory DIR to search path
   -f, --force              consider all files obsolete
   -o, --output=FILE        save output in FILE (stdout is the default)
   -W, --warnings=CATEGORY  report the warnings falling in CATEGORY [syntax]
@@ -99,11 +100,13 @@ while test $# -gt 0 ; do
     --debug      | -d   | \
     --force      | -f   | \
     --include=*  | -I?* | \
+    --prepend-include=* | -B?* | \
     --warnings=* | -W?* )
        AUTOM4TE="$AUTOM4TE $1"; shift ;;
 
     # Options with separated arg passed as is to autom4te.
     --include | -I | \
+    --prepend-include | -B | \
     --warnings | -W )
        test $# = 1 && eval "$exit_missing_arg"
        AUTOM4TE="$AUTOM4TE $option $2"
@@ -159,17 +162,18 @@ done
 # Find the input file.
 case $# in
   0)
-    case `ls configure.ac configure.in 2>/dev/null` in
-      *ac*in )
+    if test -f configure.ac; then
+      if test -f configure.in; then
         echo "$me: warning: both \`configure.ac' and \`configure.in' are 
present." >&2
         echo "$me: warning: proceeding with \`configure.ac'." >&2
-        infile=configure.ac;;
-      *ac ) infile=configure.ac;;
-      *in ) infile=configure.in;;
-      * )
-        echo "$me: no input file" >&2
-        exit 1;;
-    esac
+      fi
+      infile=configure.ac
+    elif test -f configure.in; then
+      infile=configure.in
+    else
+      echo "$me: no input file" >&2
+      exit 1
+    fi
     test -z "$traces" && test -z "$outfile" && outfile=configure;;
   1) # autom4te doesn't like `-'.
      test "x$1" != "x-" && infile=$1 ;;
Index: lib/autoconf/lang.m4
===================================================================
RCS file: /cvsroot/autoconf/autoconf/lib/autoconf/lang.m4,v
retrieving revision 1.155
retrieving revision 1.156
diff -p -u -r1.155 -r1.156
--- lib/autoconf/lang.m4        20 Apr 2002 06:09:02 -0000      1.155
+++ lib/autoconf/lang.m4        1 Sep 2002 10:11:05 -0000       1.156
@@ -447,9 +447,8 @@ AS_IF([AC_TRY_EVAL(ac_link_default)],
 # Be careful to initialize this variable, since it used to be cached.
 # Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
 ac_cv_exeext=
-for ac_file in `ls a_out.exe a.exe conftest.exe 2>/dev/null;
-                ls a.out conftest 2>/dev/null;
-                ls a.* conftest.* 2>/dev/null`; do
+for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.*; do
+  test -f "$ac_file" || continue
   case $ac_file in
     _AC_COMPILER_EXEEXT_REJECT ) ;;
     a.out ) # We found the default executable, but exeext='' is most
@@ -515,7 +514,8 @@ AS_IF([AC_TRY_EVAL(ac_link)],
 # catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
 # work properly (i.e., refer to `conftest.exe'), while it won't with
 # `rm'.
-for ac_file in `(ls conftest.exe; ls conftest; ls conftest.*) 2>/dev/null`; do
+for ac_file in conftest.exe conftest conftest.*; do
+  test -f "$ac_file" || continue
   case $ac_file in
     _AC_COMPILER_EXEEXT_REJECT ) ;;
     *.* ) ac_cv_exeext=`expr "$ac_file" : ['[^.]*\(\..*\)']`
Index: doc/autoconf.texi
===================================================================
RCS file: /cvsroot/autoconf/autoconf/doc/autoconf.texi,v
retrieving revision 1.658
retrieving revision 1.659
diff -p -u -r1.658 -r1.659
--- doc/autoconf.texi   1 Sep 2002 08:36:52 -0000       1.658
+++ doc/autoconf.texi   1 Sep 2002 10:26:58 -0000       1.659
@@ -10070,6 +10070,22 @@ works for executables, so @samp{cp -p} i
 systems.  DJGPP versions 2.04 and later have full symlink support.
 
 
address@hidden @command{ls}
address@hidden ---------------
address@hidden @command{ls}
address@hidden Listing directories
+The portable options are @option{-acdilrtu}.  Modern practice is for
address@hidden to output both owner and group, but traditional
address@hidden omits the group.
+
+Modern practice is for all diagnostics to go to standard error, but
+traditional @samp{ls foo} prints the message @samp{foo not found} to
+standard output if @file{foo} does not exist.  Be careful when writing
+shell commands like @samp{sources=`ls *.c 2>/dev/null`}, since with
+traditional @command{ls} this is equivalent to @samp{sources="*.c not
+found"} if there are no @samp{.c} files.
+
+
 @item @command{mkdir}
 @c ------------------
 @prindex @command{mkdir}




reply via email to

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