qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jim Meyering <...@meyering.net>
Subject [C++] fix for recent rename-provoked build problems
Date Fri, 05 Jan 2007 15:12:59 GMT
Here's a patch that fixes the recent problem where "make"
would failure like this:

  *** No rule to make target ../../gentools/templ.cpp/AMQP_HighestVersion.cpp.tmpl

I tested it by corrupting gen/gen-src.mk like this:
  perl -pi.bak -e s/estVersion.h.t// gen/gen-src.mk
Then ran "make" and confirmed there was no error.
Without the newly-emitted lines, I get this error:

  make[2]: *** No rule to make target `../../gentools/templ.cpp/AMQP_Highmpl', needed by `timestamp'.
 Stop.

Jim


2007-01-05  Jim Meyering  <meyering@redhat.com>

	* gen/Makefile.am (gen-src.mk) [CAN_GENERATE_CODE]: Emit an empty
	dependency for each generated file, in case they are renamed,
        removed, or no longer generated.  Otherwise, "./bootstrap --build"
        would fail with e.g., `*** No rule to make target
	../../gentools/templ.cpp/AMQP_HighestVersion.cpp.tmpl'.

Index: gen/Makefile.am
===================================================================
--- gen/Makefile.am	(revision 493033)
+++ gen/Makefile.am	(working copy)
@@ -11,7 +11,7 @@
 # Don't attempt to run the code generator unless configure has set
 # CAN_GENERATE_CODE, indicating that the amqp.xml and tools needed
 # to run the code generator are available.
-# 
+#
 if CAN_GENERATE_CODE

 gentools_dir = $(srcdir)/../../gentools
@@ -40,6 +40,11 @@
 	  echo 'cxx_templates = '\\					\
 	    && find $(gentools_dir)/templ.cpp -name '*.tmpl'		\
 		| sort -u | sed 's/.*/  & \\/;$$s/ \\//';		\
+	  echo '# Empty rules, in case any of these files is removed,';	\
+	  echo '# renamed, or no longer generated.';			\
+	  echo '$$(spec):';						\
+	  echo '$$(java_sources):';					\
+	  echo '$$(cxx_templates):';					\
 	  echo endif							\
 	) >> $@-t
 	mv $@-t $@

Mime
View raw message