From b9d2b4bc80748d0a6a7209d0ce5dce97565c83ae Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Mon, 4 Dec 2006 17:03:39 +0000 Subject: 2006-12-01 Jim Meyering * configure.ac: Use an automake conditional to indicate when we have access to files outside of the current hierarchy, and when we have the tools (java and javac) to build some generated files. * gen/Makefile.am: Don't use $(abs_srcdir); not needed. (timestamp): Depend on java sources and C++ template files, if we're building in a qpid tree. Use $(JAVA) and $(JAVAC), rather than hard-coding those names. (gen-src.mk) [$(java_sources), $(cxx_templates)]: New rules to generate these lists of file names. * bootstrap: Also generate gen/gen-src.mk. But do that only if we're in a qpid hierarchy. Redirect make's stdout to /dev/null. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@482255 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/gen/Makefile.am | 38 +++++++++++--------- cpp/gen/gen-src.mk | 99 ----------------------------------------------------- 2 files changed, 22 insertions(+), 115 deletions(-) delete mode 100644 cpp/gen/gen-src.mk (limited to 'cpp/gen') diff --git a/cpp/gen/Makefile.am b/cpp/gen/Makefile.am index 1f38a419d6..8c179dfd06 100644 --- a/cpp/gen/Makefile.am +++ b/cpp/gen/Makefile.am @@ -1,6 +1,3 @@ -# TODO aconway 2006-11-30: nasty hack, should be done by automake? -abs_srcdir = @abs_srcdir@ - include gen-src.mk BUILT_SOURCES = $(generated_sources) @@ -10,21 +7,20 @@ BUILT_SOURCES = $(generated_sources) EXTRA_DIST = $(BUILT_SOURCES) MAINTAINERCLEANFILES = $(BUILT_SOURCES) -gentools_dir = $(abs_srcdir)/../../gentools -spec_dir = $(abs_srcdir)/../../specs +gentools_dir = $(srcdir)/../../gentools +spec_dir = $(srcdir)/../../specs spec = $(spec_dir)/amqp-8.0.xml +gentools_srcdir = $(gentools_dir)/src/org/apache/qpid/gentools -# FIXME: add dependencies? -timestamp: $(spec) - if test -d $(gentools_dir); then \ - rm -f $(generated_sources); \ - (cd $(gentools_dir)/src/org/apache/qpid/gentools && \ - 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; \ - fi +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) +else + echo "warning: failed to regenerate gen/*.{cpp,h}" 1>&2 +endif touch timestamp EXTRA_DIST += timestamp @@ -35,4 +31,14 @@ gen-src.mk: timestamp ( echo 'generated_sources = \' \ && ls *.cpp *.h | sort -u | sed 's/.*/ & \\/;$$s/ \\//' \ ) > $@-t +if BUILD_IN_MESSAGE_TREE + ( echo 'java_sources = \' \ + && find $(gentools_srcdir) -name '*.java' \ + | sort -u | sed 's/.*/ & \\/;$$s/ \\//' \ + ) >> $@-t + ( echo 'cxx_templates = \' \ + && find $(gentools_dir)/templ.cpp -name '*.tmpl' \ + | sort -u | sed 's/.*/ & \\/;$$s/ \\//' \ + ) >> $@-t +endif mv $@-t $@ diff --git a/cpp/gen/gen-src.mk b/cpp/gen/gen-src.mk deleted file mode 100644 index 607bda2bd7..0000000000 --- a/cpp/gen/gen-src.mk +++ /dev/null @@ -1,99 +0,0 @@ -generated_sources = \ - AccessRequestBody.h \ - AccessRequestOkBody.h \ - AMQP_ClientOperations.h \ - AMQP_ClientProxy.cpp \ - AMQP_ClientProxy.h \ - AMQP_Constants.h \ - AMQP_MethodVersionMap.cpp \ - AMQP_MethodVersionMap.h \ - AMQP_ServerOperations.h \ - AMQP_ServerProxy.cpp \ - AMQP_ServerProxy.h \ - BasicAckBody.h \ - BasicCancelBody.h \ - BasicCancelOkBody.h \ - BasicConsumeBody.h \ - BasicConsumeOkBody.h \ - BasicDeliverBody.h \ - BasicGetBody.h \ - BasicGetEmptyBody.h \ - BasicGetOkBody.h \ - BasicPublishBody.h \ - BasicQosBody.h \ - BasicQosOkBody.h \ - BasicRecoverBody.h \ - BasicRejectBody.h \ - BasicReturnBody.h \ - ChannelAlertBody.h \ - ChannelCloseBody.h \ - ChannelCloseOkBody.h \ - ChannelFlowBody.h \ - ChannelFlowOkBody.h \ - ChannelOpenBody.h \ - ChannelOpenOkBody.h \ - ConnectionCloseBody.h \ - ConnectionCloseOkBody.h \ - ConnectionOpenBody.h \ - ConnectionOpenOkBody.h \ - ConnectionRedirectBody.h \ - ConnectionSecureBody.h \ - ConnectionSecureOkBody.h \ - ConnectionStartBody.h \ - ConnectionStartOkBody.h \ - ConnectionTuneBody.h \ - ConnectionTuneOkBody.h \ - DtxSelectBody.h \ - DtxSelectOkBody.h \ - DtxStartBody.h \ - DtxStartOkBody.h \ - ExchangeDeclareBody.h \ - ExchangeDeclareOkBody.h \ - ExchangeDeleteBody.h \ - ExchangeDeleteOkBody.h \ - FileAckBody.h \ - FileCancelBody.h \ - FileCancelOkBody.h \ - FileConsumeBody.h \ - FileConsumeOkBody.h \ - FileDeliverBody.h \ - FileOpenBody.h \ - FileOpenOkBody.h \ - FilePublishBody.h \ - FileQosBody.h \ - FileQosOkBody.h \ - FileRejectBody.h \ - FileReturnBody.h \ - FileStageBody.h \ - QueueBindBody.h \ - QueueBindOkBody.h \ - QueueDeclareBody.h \ - QueueDeclareOkBody.h \ - QueueDeleteBody.h \ - QueueDeleteOkBody.h \ - QueuePurgeBody.h \ - QueuePurgeOkBody.h \ - StreamCancelBody.h \ - StreamCancelOkBody.h \ - StreamConsumeBody.h \ - StreamConsumeOkBody.h \ - StreamDeliverBody.h \ - StreamPublishBody.h \ - StreamQosBody.h \ - StreamQosOkBody.h \ - StreamReturnBody.h \ - TestContentBody.h \ - TestContentOkBody.h \ - TestIntegerBody.h \ - TestIntegerOkBody.h \ - TestStringBody.h \ - TestStringOkBody.h \ - TestTableBody.h \ - TestTableOkBody.h \ - TunnelRequestBody.h \ - TxCommitBody.h \ - TxCommitOkBody.h \ - TxRollbackBody.h \ - TxRollbackOkBody.h \ - TxSelectBody.h \ - TxSelectOkBody.h -- cgit v1.2.1