bug-bison
[Top][All Lists]
Advanced

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

Re: A question the --disable-dependency-tracing behavior in bison-3.0.2


From: Akim Demaille
Subject: Re: A question the --disable-dependency-tracing behavior in bison-3.0.2
Date: Sun, 9 Sep 2018 15:15:08 +0200


> Le 12 juil. 2014 à 15:40, Juan Manuel Guerrero <address@hidden> a écrit :
> 
> I have tried to build bison-3.0.2.tar.gz on linux and on windows using DJGPP.
> In both cases I experienced the same difficulty.  I created a build directory
> below the bison-3.0.2 directory.  From the build directory I started the
> configuration script like this:
>  ../configure --disable-dependency-tracing
> At a first glance the configuration worked flawlessly, but when I started make
> I got the following error output:
> 
> rm -f examples/extracted.stamp examples/extracted.stamp.tmp
> touch examples/extracted.stamp.tmp
> touch: cannot touch `examples/extracted.stamp.tmp': No such file or directory
> make: *** [examples/extracted.stamp] Fehler 1
> 
> The reason is quite clear, if I pass the --disable-dependency-tracing option
> to the configure script the examples directory and all its sub-directories are
> not created making the makefile fail  (see config.status line 2970.      At 
> that
> line the following is tested:
>  test x"$AMDEP_TRUE" != x""
> For --disable-dependency-tracing, AMDEP_TRUE will be set to #.).
> 
> As soon as I remove --disable-dependency-tracing from the argument list I pass
> to the configure scripts everything works.  Neither less the question remains 
> if
> this a bug or a feature?  IMHO if --disable-dependency-tracing is not allowed
> to configure bison then it should be removed.  But I have seen no comment 
> about
> the usage of --disable-dependency-tracing neither in the README nor in the 
> NEWS
> nor INSTALL files.

Hi Juan!

Once I realized you wrote disable-dependency-tracing instead of 'tracking',
I was able to reproduce the problem :)  Thanks for the report!

I’m installing the following patch to address the issue.

Are you using Bison’s djgpp/ directory?  It seems outdated, and in the
release 3.1 we warned we will soon remove it.  Do you agree we can?

Thanks again!

commit 333bcd2ee38519f5bf031574b91034fcd484fb8f
Author: Akim Demaille <address@hidden>
Date:   Sun Sep 9 14:58:25 2018 +0200

    build: fix support for --disable-dependency-tracking
    
    Reported by Juan Manuel Guerrero.
    https://lists.gnu.org/archive/html/bug-bison/2014-07/msg00000.html.
    
    * examples/local.mk (%D%/extracted.stamp): Make sure the output
    directory exists.
    * examples/extexi (process): Likewise.

diff --git a/examples/extexi b/examples/extexi
index a2b31946..4a9df2af 100755
--- a/examples/extexi
+++ b/examples/extexi
@@ -47,6 +47,9 @@
 
 use strict;
 
+use File::Basename qw(dirname);
+use File::Path qw(make_path);
+
 # Whether we generate synclines.
 my $synclines = 0;
 
@@ -92,7 +95,9 @@ sub file_wanted ($)
   undef
 }
 
-
+# process ($in)
+# -------------
+# Read input file $in, and generate the outputs.
 sub process ($)
 {
   my ($in) = @_;
@@ -152,7 +157,7 @@ sub process ($)
   # Output the files.
   for my $file (keys %file)
     {
-      # No spurious end of line: use printf.
+      make_path (dirname ($file));
       my $o = new IO::File(">$file")
         or die "$file: cannot create: $?";
       print $o $file{$file}{$_}
diff --git a/examples/local.mk b/examples/local.mk
index 2518da34..6df8ace7 100644
--- a/examples/local.mk
+++ b/examples/local.mk
@@ -33,6 +33,7 @@ extracted =
 CLEANFILES += $(extracted) %D%/extracted.stamp
 %D%/extracted.stamp: $(doc) $(extexi)
        $(AM_V_GEN)rm -f $@ address@hidden
+       $(AM_V_at)$(MKDIR_P) %D%
        $(AM_V_at)touch address@hidden
        $(AM_V_at)$(extract) $(extracted)
        $(AM_V_at)mv address@hidden $@




reply via email to

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