summaryrefslogtreecommitdiff
path: root/Final/cpp/gen
diff options
context:
space:
mode:
authorRajith Muditha Attapattu <rajith@apache.org>2007-10-31 18:29:09 +0000
committerRajith Muditha Attapattu <rajith@apache.org>2007-10-31 18:29:09 +0000
commitacaf7d59a7c287d0f06a18973b3487a515fa6ff8 (patch)
treeb642d1805bd567a157f390f9766e8246a3af251d /Final/cpp/gen
parente0651286d49afecdf9fc7daa55f2f5d48c7d33b0 (diff)
downloadqpid-python-acaf7d59a7c287d0f06a18973b3487a515fa6ff8.tar.gz
Creating a tag for the latest java RC. This will be promoted as the Final release if the RC is good
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/tags/M2@590781 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'Final/cpp/gen')
-rw-r--r--Final/cpp/gen/Makefile.am50
-rwxr-xr-xFinal/cpp/gen/make-gen-src-mk.sh48
2 files changed, 98 insertions, 0 deletions
diff --git a/Final/cpp/gen/Makefile.am b/Final/cpp/gen/Makefile.am
new file mode 100644
index 0000000000..3398f01330
--- /dev/null
+++ b/Final/cpp/gen/Makefile.am
@@ -0,0 +1,50 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+include gen-src.mk
+
+BUILT_SOURCES = $(generated_sources) $(generated_headers)
+pkginclude_HEADERS=$(generated_headers)
+
+# Distribute the generated sources, at least for now, since
+# the generator code is in java.
+EXTRA_DIST = $(BUILT_SOURCES)
+DISTCLEANFILES = $(BUILT_SOURCES) timestamp gen-src.mk
+
+# 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
+spec_dir = $(srcdir)/../../specs
+spec = $(spec_dir)/amqp.0-8.xml
+gentools_srcdir = $(gentools_dir)/src/org/apache/qpid/gentools
+
+$(BUILT_SOURCES) timestamp: $(spec) $(java_sources) $(cxx_templates)
+ 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)
+ touch timestamp
+
+gen-src.mk: timestamp
+ ./make-gen-src-mk.sh $(gentools_dir) $(gentools_srcdir) > $@-t
+ mv $@-t $@
+endif
diff --git a/Final/cpp/gen/make-gen-src-mk.sh b/Final/cpp/gen/make-gen-src-mk.sh
new file mode 100755
index 0000000000..fdaa848001
--- /dev/null
+++ b/Final/cpp/gen/make-gen-src-mk.sh
@@ -0,0 +1,48 @@
+#!/bin/sh
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+# Generate the gen-src.mk makefile fragment, to stdout.
+# Usage: <gentools_dir> <gentools_srcdir>
+
+gentools_dir=$1
+gentools_srcdir=$2
+
+wildcard() { echo `ls $* 2>/dev/null` ; }
+
+cat <<EOF
+generated_sources = `wildcard *.cpp`
+
+generated_headers = `wildcard *.h`
+
+if CAN_GENERATE_CODE
+
+java_sources = `wildcard $gentools_srcdir/*.java`
+
+cxx_templates = `wildcard $gentools_dir/templ.cpp/*.tmpl`
+
+# Empty rules in case one of these files is removed,
+# renamed or no longer generated.
+\$(spec):
+\$(java_sources):
+\$(cxx_templates):
+endif
+
+EOF
+
+