]> git.donarmstrong.com Git - lilypond.git/commitdiff
Fix bison build failures with 42cb7d44
authorDon Armstrong <don@donarmstrong.com>
Tue, 31 Dec 2013 00:41:06 +0000 (16:41 -0800)
committerDon Armstrong <don@donarmstrong.com>
Tue, 31 Dec 2013 00:41:06 +0000 (16:41 -0800)
debian/changelog
debian/patches/fix_bison_parser_generation_rules [new file with mode: 0644]
debian/patches/series

index 88f069e58047080a9b514830aeeec04d5a373c76..eb7c0d61de448d86dbf80f17df88a0e2d2e1d65e 100644 (file)
@@ -5,6 +5,7 @@ lilypond (2.16.2-3) UNRELEASED; urgency=low
   * Breaks/Replaces lilypond-doc in html packages to stop problems on
     wheezy upgrade. (Closes: #718013)
   * Fix freetype path by applying patch from upstream (Closes: #733399)
+  * Fix bison build failures with 42cb7d44
 
  -- Don Armstrong <don@debian.org>  Mon, 11 Nov 2013 09:57:06 -0800
 
diff --git a/debian/patches/fix_bison_parser_generation_rules b/debian/patches/fix_bison_parser_generation_rules
new file mode 100644 (file)
index 0000000..dc0c63e
--- /dev/null
@@ -0,0 +1,63 @@
+From 42cb7d446827dce32a42b5b243bda522518b3d46 Mon Sep 17 00:00:00 2001
+From: Julien Rioux <julien.rioux@gmail.com>
+Date: Mon, 2 Sep 2013 10:41:50 +0200
+Subject: [PATCH] Keep bison-generated files in sync.
+
+Use a single rule to build header and source files from
+the syntax file, thus avoiding any possibility to have
+`make' rebuild one but not the other, which might happen
+if the syntax and target files have almost the same but
+slightly differing timestamps.
+
+See http://www.mail-archive.com/bug-lilypond@gnu.org/msg37081.html
+
+Fixes issue 3528: Keep bison-generated files in sync.
+http://code.google.com/p/lilypond/issues/detail?id=3528
+---
+ stepmake/stepmake/c++-rules.make |  9 ++-------
+ stepmake/stepmake/c-rules.make   | 10 ++--------
+ 2 files changed, 4 insertions(+), 15 deletions(-)
+
+diff --git a/stepmake/stepmake/c++-rules.make b/stepmake/stepmake/c++-rules.make
+index a368f4f..8de00bc 100644
+--- a/stepmake/stepmake/c++-rules.make
++++ b/stepmake/stepmake/c++-rules.make
+@@ -12,13 +12,8 @@ $(outdir)/%.lo: %.cc
+ $(outdir)/%.lo: $(outdir)/%.cc
+       $(DO_LO_DEP) $(CXX) -c $(ALL_CXXFLAGS) $(PIC_FLAGS) -o $@ $<
+-$(outdir)/%.cc: %.yy
+-      $(BISON) -o $@  $<
+-
+-$(outdir)/%.hh: %.yy
+-      $(BISON) -o $(subst .hh,-tmp.cc,$@) -d  $<
+-      rm $(subst .hh,-tmp.cc,$@)
+-      mv $(subst .hh,-tmp.hh,$@) $@
++$(outdir)/%.cc $(outdir)/%.hh: %.yy
++      $(BISON) -d -o $(outdir)/$*.cc $<
+ $(outdir)/%.cc: %.ll
+       $(FLEX) -Cfe -p -p -o$@ $<
+diff --git a/stepmake/stepmake/c-rules.make b/stepmake/stepmake/c-rules.make
+index 620275b..954e7a3 100644
+--- a/stepmake/stepmake/c-rules.make
++++ b/stepmake/stepmake/c-rules.make
+@@ -12,14 +12,8 @@ $(outdir)/%.lo: %.c
+ $(outdir)/%.lo: %.c
+       $(DO_LO_DEP) $(CC) -c $(ALL_CFLAGS) $(PIC_FLAGS) -o $@ $<
+-$(outdir)/%.c: %.y
+-      $(BISON) $<
+-      mv $(*F).tab.c $@
+-
+-$(outdir)/%.h: %.y
+-      $(BISON) -d $<
+-      mv $(*F).tab.h $@
+-      rm -f $(*F).tab.c # if this happens in the wrong order it triggers recompile of the .cc file
++$(outdir)/%.c $(outdir)/%.h: %.y
++      $(BISON) -d -o $(outdir)/$*.c $<
+ $(outdir)/%.c: %.l
+       $(FLEX) -Cfe -p -p -o$@ $<
+-- 
+1.8.4.rc3
index a329a4a0b91a513afc149ee5e51853e65a4616bf..9e37f9f0e1b613601ffb8acfe1405687e9475d6b 100644 (file)
@@ -1 +1,2 @@
 fix_freetype_inclusions
+fix_bison_parser_generation_rules