Jim Meyering wrote:

Ahh... "in a fresh checkout".  Now I see.  Sorry it took so long.
Steven, this ought to solve your problem, too.
Here's a patch for that, along with a small fix for gen/Makefile.am:

2006-12-05  Jim Meyering  <[EMAIL PROTECTED]>

        * gen/Makefile.am (timestamp): Remove unnecessary "; \",
        that could have obscured a failure.
        (gen-src.mk): Use echo 'var = '\\, rather than 'var = \'.
        Both work, but emacs' font-lock mode mishandles the latter.

        * bootstrap: Give JAVA and JAVAC default values, and export them.
        Don't define abs_srcdir; no longer needed.
        Also filter out gen/Makefile.am's echo warning: ...
        Add comments.

Index: gen/Makefile.am
===================================================================
--- gen/Makefile.am     (revision 482368)
+++ gen/Makefile.am     (working copy)
@@ -15,9 +15,9 @@
 timestamp: $(spec) $(java_sources) $(cxx_templates)
 if BUILD_IN_MESSAGE_TREE
        rm -f $(generated_sources)
-       (cd $(gentools_srcdir) && rm -f *.class && $(JAVAC) *.java);    \
-       $(JAVA) -cp $(gentools_dir)/src org.apache.qpid.gentools.Main   \
-         -c -o . -t $(gentools_dir)/templ.cpp $(spec)
+       cd $(gentools_srcdir) && rm -f *.class && $(JAVAC) *.java
+       $(JAVA) -cp $(gentools_dir)/src org.apache.qpid.gentools.Main \
+               -c -o . -t $(gentools_dir)/templ.cpp $(spec)
 else
        echo "warning: failed to regenerate gen/*.{cpp,h}" 1>&2
 endif
@@ -28,15 +28,15 @@

 DISTCLEANFILES = gen-src.mk
 gen-src.mk: timestamp
-       ( echo 'generated_sources = \'                                  \
+       ( echo 'generated_sources = '\\                                 \
          && ls *.cpp *.h | sort -u | sed 's/.*/  & \\/;$$s/ \\//'  \
        ) > [EMAIL PROTECTED]
 if BUILD_IN_MESSAGE_TREE
        ( echo if BUILD_IN_MESSAGE_TREE;                                \
-         echo 'java_sources = \'                                       \
+         echo 'java_sources = '\\                                      \
            && find $(gentools_srcdir) -name '*.java'                   \
                | sort -u | sed 's/.*/  & \\/;$$s/ \\//';           \
-         echo 'cxx_templates = \'                                      \
+         echo 'cxx_templates = '\\                                     \
            && find $(gentools_dir)/templ.cpp -name '*.tmpl'            \
                | sort -u | sed 's/.*/  & \\/;$$s/ \\//';           \
          echo endif                                                    \
Index: bootstrap
===================================================================
--- bootstrap   (revision 482368)
+++ bootstrap   (working copy)
@@ -4,13 +4,22 @@
 autoheader
 libtoolize --automake

+# These are needed only if you don't already have the gen/*.{h,cpp} files.
+: ${JAVA=java}
+: ${JAVAC=javac}
+export JAVA JAVAC
+
 # If we're building in the qpid tree, we can generate
 # some Makefile snippets:

 if test -d ../gentools && test -d ../specs; then
+  # Transform gen/Makefile.am, removing automake-constructs and the
+  # contents of the sole automake-else clause (the warning), then
+  # use the result to run the rules that create gen-src.mk, a file
+  # that must be created before we run automake.
   (cd gen && rm -f gen-src.mk
-    perl -ne '/^(abs_srcdir|if|else|endif|include)\b/ or print' Makefile.am \
-       | make -f - abs_srcdir=`pwd` srcdir=. gen-src.mk > /dev/null )
+    perl -ne '/warning:|^(if|else|endif|include)\b/ or print' Makefile.am \
+       | make -f - srcdir=. gen-src.mk > /dev/null )
 fi

 # Generate (for automake) lots of repetitive parts of tests/Makefile.am.


Applied as rev 482637.

Reply via email to