Permalink
Browse files

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
  • Loading branch information...
1 parent ee4aaae commit 18a90d16259971d8d076e98463327b7492f728b6 @bufferoverflow bufferoverflow committed Oct 24, 2012
View
@@ -612,6 +612,7 @@ AC_CONFIG_FILES([
test/py.twisted/Makefile
test/rb/Makefile
tutorial/Makefile
+ tutorial/cpp/Makefile
tutorial/java/Makefile
tutorial/js/Makefile
])
View
@@ -20,7 +20,7 @@
SUBDIRS =
if WITH_CPP
-#SUBDIRS += cpp
+SUBDIRS += cpp
endif
if WITH_JAVA
@@ -52,5 +52,5 @@ endif
#
# generate html for ThriftTest.thrift
#
-check-local:
+all-local:
$(top_builddir)/compiler/cpp/thrift --gen html -r $(top_srcdir)/tutorial/tutorial.thrift
View
@@ -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
View
@@ -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
@@ -24,6 +24,9 @@ clean-local:
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
View
@@ -106,6 +106,7 @@
<target name="clean">
<delete dir="${build}" />
+ <delete dir="${gen}"/>
<delete file="tutorial.jar" />
</target>
View
@@ -24,6 +24,9 @@ clean-local:
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
View
@@ -83,6 +83,7 @@
<target name="clean">
<delete dir="${build}" />
+ <delete dir="gen-js"/>
<delete file="tutorial-js.jar" />
</target>

0 comments on commit 18a90d1

Please sign in to comment.