automake
[Top][All Lists]
Advanced

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

Re: Broken makefile given Autoconf version mismatch


From: Stepan Kasal
Subject: Re: Broken makefile given Autoconf version mismatch
Date: Fri, 14 Apr 2006 10:35:24 +0200
User-agent: Mutt/1.4.1i

Hello,

On Thu, Apr 13, 2006 at 08:52:48PM +0200, Alexandre Duret-Lutz wrote:
> Or can we tweak Autoconf to make its version more accessible?

what would be wrong with parsing `autoconf --version' or
`autom4te --version'?  (At least as a fallback, when autom4te is
not able to handle stdin.)


echo 'm4_divert(0)m4_PACKAGE_VERSION' |
          autom4te -l Autoconf-without-aclocal-m4
...
>      doesn't work because apparently autom4te doesn't support reading
>      from stdin.

The problem is that autom4te calls m4 with `</dev/null' because of a
problem with a development version of m4:

2001-09-07  Akim Demaille
        * bin/autom4te.in (&handle_m4): `< /dev/null' so that GNU M4 1.5
        doesn't neutralize SIGINT, making autoconf etc. non interruptible.

I posted a question to m4-discuss asking whether this concern is still
valid for the not-yet-released m4 2.0.

There is a related problem:

  autom4te -l Autoconf-without-aclocal-m4 -

still wouldn't work, because find_file doesn't recognize `-' as stdin.

What do you think about the patch to find_file attached below?

>      (BTW, I can see that "autoconf" has some code to handle
>      "-" as input, but I fail to see how that can work if autom4te cannot
>      read stdin!)

That code predates the above change.
Perhaps we should add it to the testsuite. ;-)

Have a nice day,
        Stepan Kasal


        * lib/Automake/FileUtils.pm (find_file): Recognize `-'.

--- lib/Automake/FileUtils.pm   2006-04-14 09:25:00.000000000 +0200
+++ lib/Automake/FileUtils.pm   2006-04-14 09:45:44.000000000 +0200
@@ -73,6 +73,9 @@
   $optional = 1
     if $file_name =~ s/\?$//;
 
+  return "-"
+    if $file_name eq "-";
+
   return File::Spec->canonpath ($file_name)
     if -e $file_name;
 




reply via email to

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