THRIFT-1735 integrate tutorial into regular build
- cpp support
- cleanup stuff
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1401818 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/configure.ac b/configure.ac
index de47645..50e6896 100755
--- a/configure.ac
+++ b/configure.ac
@@ -612,6 +612,7 @@
test/py.twisted/Makefile
test/rb/Makefile
tutorial/Makefile
+ tutorial/cpp/Makefile
tutorial/java/Makefile
tutorial/js/Makefile
])
diff --git a/tutorial/Makefile.am b/tutorial/Makefile.am
index a6ff7c5..d82a056 100755
--- a/tutorial/Makefile.am
+++ b/tutorial/Makefile.am
@@ -20,7 +20,7 @@
SUBDIRS =
if WITH_CPP
-#SUBDIRS += cpp
+SUBDIRS += cpp
endif
if WITH_JAVA
@@ -52,5 +52,5 @@
#
# generate html for ThriftTest.thrift
#
-check-local:
+all-local:
$(top_builddir)/compiler/cpp/thrift --gen html -r $(top_srcdir)/tutorial/tutorial.thrift
diff --git a/tutorial/cpp/Makefile b/tutorial/cpp/Makefile
deleted file mode 100644
index e834dee..0000000
--- a/tutorial/cpp/Makefile
+++ /dev/null
@@ -1,35 +0,0 @@
-#
-# 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.
-#
-
-BOOST_DIR = /usr/local/boost/include/boost-1_33_1/
-THRIFT_DIR = /usr/local/include/thrift
-LIB_DIR = /usr/local/lib
-
-GEN_SRC = ../gen-cpp/SharedService.cpp ../gen-cpp/shared_types.cpp ../gen-cpp/tutorial_types.cpp ../gen-cpp/Calculator.cpp
-
-default: server client
-
-server: CppServer.cpp
- g++ -o CppServer -I${THRIFT_DIR} -I${BOOST_DIR} -I../gen-cpp -L${LIB_DIR} -lthrift CppServer.cpp ${GEN_SRC}
-
-client: CppClient.cpp
- g++ -o CppClient -I${THRIFT_DIR} -I${BOOST_DIR} -I../gen-cpp -L${LIB_DIR} -lthrift CppClient.cpp ${GEN_SRC}
-
-clean:
- $(RM) -r CppClient CppServer
diff --git a/tutorial/cpp/Makefile.am b/tutorial/cpp/Makefile.am
new file mode 100755
index 0000000..0157b8d
--- /dev/null
+++ b/tutorial/cpp/Makefile.am
@@ -0,0 +1,82 @@
+#
+# 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.
+#
+noinst_LTLIBRARIES = libtutorialgencpp.la
+nodist_libtutorialgencpp_la_SOURCES = \
+ gen-cpp/Calculator.cpp \
+ gen-cpp/Calculator.h \
+ gen-cpp/SharedService.cpp \
+ gen-cpp/SharedService.h \
+ gen-cpp/shared_constants.cpp \
+ gen-cpp/shared_constants.h \
+ gen-cpp/shared_types.cpp \
+ gen-cpp/shared_types.h \
+ gen-cpp/tutorial_constants.cpp \
+ gen-cpp/tutorial_constants.h \
+ gen-cpp/tutorial_types.cpp \
+ gen-cpp/tutorial_types.h
+
+
+
+libtutorialgencpp_la_LIBADD = $(top_builddir)/lib/cpp/libthrift.la
+
+noinst_PROGRAMS = \
+ TutorialServer \
+ TutorialClient
+
+TutorialServer_SOURCES = \
+ CppServer.cpp
+
+TutorialServer_LDADD = \
+ libtutorialgencpp.la \
+ $(top_builddir)/lib/cpp/libthrift.la
+
+TutorialClient_SOURCES = \
+ CppClient.cpp
+
+TutorialClient_LDADD = \
+ libtutorialgencpp.la \
+ $(top_builddir)/lib/cpp/libthrift.la
+
+#
+# Common thrift code generation rules
+#
+THRIFT = $(top_builddir)/compiler/cpp/thrift
+
+gen-cpp/Calculator.cpp gen-cpp/tutorial_types.cpp gen-cpp/tutorial_constants.cpp: $(top_srcdir)/tutorial/tutorial.thrift
+ $(THRIFT) --gen cpp -r $<
+
+INCLUDES = \
+ -I$(top_srcdir)/lib/cpp/src -Igen-cpp
+
+AM_CPPFLAGS = $(BOOST_CPPFLAGS) $(LIBEVENT_CPPFLAGS)
+AM_CXXFLAGS = -Wall
+AM_LDFLAGS = $(BOOST_LDFLAGS) $(LIBEVENT_LDFLAGS)
+
+clean-local:
+ $(RM) -r gen-cpp
+
+tutorialserver: all
+ ./TutorialServer
+
+tutorialclient: all
+ ./TutorialClient
+
+EXTRA_DIST = \
+ CppClient.cpp \
+ CppServer.cpp
diff --git a/tutorial/java/Makefile.am b/tutorial/java/Makefile.am
index 16ae399..3b2174a 100755
--- a/tutorial/java/Makefile.am
+++ b/tutorial/java/Makefile.am
@@ -24,6 +24,9 @@
ANT=$(ANT) ; if test -z "$$ANT" ; then ANT=: ; fi ; \
$$ANT $(ANT_FLAGS) clean
+all-local:
+ $(ANT) $(ANT_FLAGS) compile
+
check-local: all
$(ANT) $(ANT_FLAGS) test
diff --git a/tutorial/java/build.xml b/tutorial/java/build.xml
index 28c3bd6..eceeca7 100644
--- a/tutorial/java/build.xml
+++ b/tutorial/java/build.xml
@@ -106,6 +106,7 @@
<target name="clean">
<delete dir="${build}" />
+ <delete dir="${gen}"/>
<delete file="tutorial.jar" />
</target>
diff --git a/tutorial/js/Makefile.am b/tutorial/js/Makefile.am
index 1f57f20..c174500 100755
--- a/tutorial/js/Makefile.am
+++ b/tutorial/js/Makefile.am
@@ -24,6 +24,9 @@
ANT=$(ANT) ; if test -z "$$ANT" ; then ANT=: ; fi ; \
$$ANT $(ANT_FLAGS) clean
+all-local:
+ $(ANT) $(ANT_FLAGS) compile
+
check-local: all
$(ANT) $(ANT_FLAGS) test
diff --git a/tutorial/js/build.xml b/tutorial/js/build.xml
index 348f229..73d535d 100644
--- a/tutorial/js/build.xml
+++ b/tutorial/js/build.xml
@@ -83,6 +83,7 @@
<target name="clean">
<delete dir="${build}" />
+ <delete dir="gen-js"/>
<delete file="tutorial-js.jar" />
</target>