More build improvements, added a configure option to turn on debugging and profiling, fixed compile and link options to support multithreading where applicable, moved non-building tools to contrib, and adjusted the top readmes and build instructions.

git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@885350 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
jsdelfino 2009-11-30 08:36:59 +00:00
commit 0b9d0491fe
23 changed files with 162 additions and 38 deletions

View file

@ -1,2 +1,5 @@
Apache Tuscany SCA Runtime
==========================
The Apache Software Foundation (http://www.apache.org/)

View file

@ -0,0 +1,12 @@
Apache Tuscany SCA Runtime
==========================
For a log of all changes see the Tuscany commits mailing list:
commits@tuscany.apache.org
Archives:
http://www.mail-archive.com/commits@tuscany.apache.org
To subscribe send an email to:
commits-subscribe@tuscany.apache.org

View file

@ -10,7 +10,10 @@ HTTP server and APR
httpd-2.2-13
libapr-1-0.3.8
libaprutil-1-0.3.9
(the easiest is to build httpd using configure --with-included-apr)
Recommended httpd configure options:
--with-included-apr to build httpd with the included APR distribution,
--with-mpm=worker to run the Tuscany httpd modules in multiple threads.
XML
libxml2-2.7.5
@ -19,11 +22,14 @@ JSON
SpiderMonkey libmozjs
(included in xulrunner-1.9.1.5)
To configure the build do this:
To configure the Tuscany build do this:
./autogen.sh
./configure --prefix=<install dir>
To configure where to find dependencies, see:
To turn on debugging, profiling and strict warning compile options:
./configure --enable-maintainer-mode
To configure where to find dependencies, see the configure help:
./configure --help
To build the runtime, do this:
@ -45,6 +51,3 @@ make dist
To build a binary distribution, do this:
make bindist
Layout
======

View file

@ -175,3 +175,29 @@
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed 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.

View file

@ -0,0 +1,13 @@
Apache Tuscany SCA Runtime
==========================
For any news see the Tuscany development mailing list:
dev@tuscany.apache.org
Archives:
http://www.mail-archive.com/dev@tuscany.apache.org
http://marc.info/?l=tuscany-dev
To subscribe send an email to:
dev-subscribe@tuscany.apache.org

View file

@ -1,8 +1,8 @@
Apache Tuscany SCA Runtime
==========================
Getting the code
================
Getting the source code
=======================
To checkout the source code with commit access, do this:
git svn init -s https://svn.apache.org/repos/asf/tuscany/sca-cpp tuscany-sca-cpp
@ -19,16 +19,55 @@ or
svn checkout http://svn.apache.org/repos/asf/tuscany/sca-cpp tuscany-sca-cpp
Layout
======
Here's a rough guide to the Tuscany SCA source tree:
/
|-- trunk Master development branch
| |
| |-- kernel SCA runtime kernel
| |
| |-- modules Modules that plug into the runtime
| | |-- atom AtomPub encoding support
| | |-- json JSON-RPC encoding support
| | |-- http HTTP protocol support
| | |-- eval Scheme script evaluator
| | |-- server HTTPD server integration
| |
| |-- components Useful SCA components
| | |-- cache Memcached-based cache component
| | |-- store Persistent store component
| |
| |-- test Integration tests
| |
| |-- samples Sample Applications
| |
| |-- contrib Various contributions to the project
|
|-- branches Topic and release branches
|
|-- tags Release tags
Building
========
See the INSTALL file.
Contributing to the project
===========================
To contribute to the project or report issues see the mailing list:
To contribute to the project or report issues see the Tuscany development
mailing list:
dev@tuscany.apache.org
Archives:
http://www.mail-archive.com/dev@tuscany.apache.org
http://marc.info/?l=tuscany-dev
To subscribe:
To subscribe send an email to:
dev-subscribe@tuscany.apache.org

View file

@ -15,17 +15,20 @@
# specific language governing permissions and limitations
# under the License.
noinst_PROGRAMS = mcache-test
noinst_PROGRAMS = mcache-test mcache-client-test
INCLUDES = -I. -I$(top_builddir)/kernel -I${LIBXML2_INCLUDE} -I${APR_INCLUDE}
INCLUDES = -I. -I$(top_builddir)/kernel -I${LIBXML2_INCLUDE} -I${APR_INCLUDE} -I${JS_INCLUDE} -I${CURL_INCLUDE}
compdir=$(prefix)/components/cache
comp_LTLIBRARIES = libmcache.la
libmcache_la_SOURCES = mcache.cpp
libmcache_la_LIBADD = -lpthread -L${APR_LIB} -lapr-1 -laprutil-1
libmcache_la_LIBADD = -L${APR_LIB} -lapr-1 -laprutil-1
mcache_test_SOURCES = mcache-test.cpp
mcache_test_LDADD = -lpthread -L${LIBXML2_LIB} -lxml2 -L${APR_LIB} -lapr-1 -laprutil-1
mcache_test_LDADD = -L${LIBXML2_LIB} -lxml2 -L${APR_LIB} -lapr-1 -laprutil-1
TESTS = memcached-test
mcache_client_test_SOURCES = mcache-client-test.cpp
mcache_client_test_LDADD = -L${LIBXML2_LIB} -lxml2 -L${APR_LIB} -lapr-1 -laprutil-1 -L${CURL_LIB} -lcurl -L${JS_LIB} -lmozjs
TESTS = memcached-test memcached-server-test

View file

@ -158,7 +158,25 @@ AC_MSG_NOTICE([checking for library functions])
AC_CHECK_FUNCS([gettimeofday select])
# Configure GCC C++ compile options
AC_SUBST([CXXFLAGS], ["${CXXFLAGS} -D_DEBUG -O0 -g3 -Wall -std=c++0x -fmessage-length=0"])
# Configure debugging, profiling and compile-time warnings
AC_MSG_CHECKING([whether to compile for debugging and profiling])
AC_ARG_ENABLE(maintainer-mode, [AS_HELP_STRING([--enable-maintainer-mode], [compile for debugging and profiling [default=no]])],
[ case "${enableval}" in
no)
AC_MSG_RESULT(no)
;;
*)
AC_MSG_RESULT(yes)
want_maintainer_mode=true
;;
esac ],
[ AC_MSG_RESULT(no)])
if test "$want_maintainer_mode" = "true"; then
AC_SUBST([CXXFLAGS], ["-D_DEBUG -O0 -g3 -pg -Wall -Wextra -Wno-ignored-qualifiers -Winit-self -Wmissing-include-dirs -Wcast-qual -Wcast-align -Wwrite-strings -Wpointer-arith -Wconversion -Waddress -Wlogical-op -Wredundant-decls -std=c++0x -fmessage-length=0"])
AC_SUBST([LDFLAGS], ["${LDFLAGS} -pg"])
else
AC_SUBST([CXXFLAGS], ["-O3 -std=c++0x -fmessage-length=0"])
fi
# Configure exuberant ctags
TAGSFILE="`pwd`/tags"
@ -166,7 +184,7 @@ AC_SUBST([CTAGSFLAGS], ["${CTAGSFLAGS} --c++-kinds=+p --fields=+iaS --extra=+q -
# Configure TUSCANY_SCACPP
TUSCANY_SCACPP=`echo "$TUSCANY_SCACPP"`
if test "x$TUSCANY_SCACPP" = "x"; then
if test "$TUSCANY_SCACPP" = ""; then
SCAPWD=`pwd`
AC_SUBST([TUSCANY_SCACPP], ["$SCAPWD"])
fi
@ -181,14 +199,14 @@ AC_ARG_ENABLE(doxygen, [AS_HELP_STRING([--enable-doxygen], [build Doxygen docume
*)
AC_MSG_RESULT(yes)
AC_PATH_PROG(DOXYGEN, doxygen, , $PATH)
if test x$DOXYGEN = x; then
if test "$DOXYGEN" = ""; then
AC_MSG_ERROR([could not find doxygen])
fi
want_doxygen=true
;;
esac ],
[ AC_MSG_RESULT(no)])
AM_CONDITIONAL([WANT_DOXYGEN], [test x$want_doxygen = xtrue])
AM_CONDITIONAL([WANT_DOXYGEN], [test "$want_doxygen" = "true"])
AC_CONFIG_FILES([Makefile
kernel/Makefile

View file

@ -60,9 +60,6 @@ tags
doxygen
# Specific ignores
sca/runtime/extensions/cpp/tools/scagen/docs/
account_client
calculator_client
kernel-test
xsd-test
atom-test
@ -72,6 +69,7 @@ json-test
cache-test
client-test
mcache-test
mcache-client-test
curl-test
scdl-test
store-function-test

View file

@ -26,16 +26,18 @@ include_HEADERS = *.hpp
INCLUDES = -I. -I$(top_builddir)/kernel -I${LIBXML2_INCLUDE} -I${APR_INCLUDE}
kernel_test_SOURCES = kernel-test.cpp
kernel_test_CXXFLAGS = $(CXXFLAGS) -D_REENTRANT
kernel_test_LDADD = -lpthread -L${LIBXML2_LIB} -lxml2 -L${APR_LIB} -lapr-1 -laprutil-1
libdynlib_test_la_SOURCES = dynlib-test.cpp
libdynlib_test_la_LIBADD = -lpthread -L${LIBXML2_LIB} -lxml2 -L${APR_LIB} -lapr-1 -laprutil-1
libdynlib_test_la_CXXFLAGS = $(CXXFLAGS) -D_REENTRANT
libdynlib_test_la_LIBADD = -lpthread -L${APR_LIB} -lapr-1 -laprutil-1
cache_test_SOURCES = cache-test.cpp
cache_test_LDADD = -lpthread -L${LIBXML2_LIB} -lxml2 -L${APR_LIB} -lapr-1 -laprutil-1
cache_test_LDADD = -L${LIBXML2_LIB} -lxml2 -L${APR_LIB} -lapr-1 -laprutil-1
xsd_test_SOURCES = xsd-test.cpp
xsd_test_LDADD = -lpthread -L${LIBXML2_LIB} -lxml2 -L${APR_LIB} -lapr-1 -laprutil-1
xsd_test_LDADD = -L${LIBXML2_LIB} -lxml2 -L${APR_LIB} -lapr-1 -laprutil-1
TESTS = kernel-test diskcache-test

View file

@ -20,7 +20,7 @@ noinst_PROGRAMS = atom-test
INCLUDES = -I. -I$(top_builddir)/kernel -I${LIBXML2_INCLUDE} -I${APR_INCLUDE}
atom_test_SOURCES = atom-test.cpp
atom_test_LDADD = -lpthread -L${LIBXML2_LIB} -lxml2 -L${APR_LIB} -lapr-1 -laprutil-1
atom_test_LDADD = -L${LIBXML2_LIB} -lxml2 -L${APR_LIB} -lapr-1 -laprutil-1
TESTS = atom-test

View file

@ -23,10 +23,10 @@ nobase_data_DATA = *.xsd
INCLUDES = -I. -I$(top_builddir)/kernel -I${LIBXML2_INCLUDE} -I${APR_INCLUDE}
eval_test_SOURCES = eval-test.cpp
eval_test_LDADD = -lpthread -L${LIBXML2_LIB} -lxml2 -L${APR_LIB} -lapr-1 -laprutil-1
eval_test_LDADD = -L${LIBXML2_LIB} -lxml2 -L${APR_LIB} -lapr-1 -laprutil-1
eval_shell_SOURCES = eval-shell.cpp
eval_shell_LDADD = -lpthread -L${LIBXML2_LIB} -lxml2 -L${APR_LIB} -lapr-1 -laprutil-1
eval_shell_LDADD = -L${LIBXML2_LIB} -lxml2 -L${APR_LIB} -lapr-1 -laprutil-1
TESTS = eval-test

View file

@ -20,6 +20,6 @@ noinst_PROGRAMS = curl-test
INCLUDES = -I. -I$(top_builddir)/kernel -I${LIBXML2_INCLUDE} -I${HTTPD_INCLUDE} -I${APR_INCLUDE} -I${JS_INCLUDE} -I${CURL_INCLUDE}
curl_test_SOURCES = curl-test.cpp
curl_test_LDADD = -lpthread -L${LIBXML2_LIB} -lxml2 -L${APR_LIB} -lapr-1 -laprutil-1 -L${CURL_LIB} -lcurl -L${JS_LIB} -lmozjs
curl_test_LDADD = -L${LIBXML2_LIB} -lxml2 -L${APR_LIB} -lapr-1 -laprutil-1 -L${CURL_LIB} -lcurl -L${JS_LIB} -lmozjs
TESTS = httpd-test http-test

View file

@ -20,7 +20,7 @@ noinst_PROGRAMS = json-test
INCLUDES = -I. -I$(top_builddir)/kernel -I${LIBXML2_INCLUDE} -I${APR_INCLUDE} -I${JS_INCLUDE}
json_test_SOURCES = json-test.cpp
json_test_LDADD = -lpthread -L${LIBXML2_LIB} -lxml2 -L${APR_LIB} -lapr-1 -laprutil-1 -L${JS_LIB} -lmozjs
json_test_LDADD = -L${LIBXML2_LIB} -lxml2 -L${APR_LIB} -lapr-1 -laprutil-1 -L${JS_LIB} -lmozjs
TESTS = json-test

View file

@ -20,7 +20,7 @@ noinst_PROGRAMS = scdl-test
INCLUDES = -I. -I$(top_builddir)/kernel -I${LIBXML2_INCLUDE} -I${APR_INCLUDE}
scdl_test_SOURCES = scdl-test.cpp
scdl_test_LDADD = -lpthread -L${LIBXML2_LIB} -lxml2 -L${APR_LIB} -lapr-1 -laprutil-1
scdl_test_LDADD = -L${LIBXML2_LIB} -lxml2 -L${APR_LIB} -lapr-1 -laprutil-1
TESTS = scdl-test

View file

@ -23,14 +23,21 @@ lib_LTLIBRARIES = libmod_tuscany_eval.la libmod_tuscany_wiring.la
INCLUDES = -I. -I$(top_builddir)/kernel -I${LIBXML2_INCLUDE} -I${HTTPD_INCLUDE} -I${APR_INCLUDE} -I${JS_INCLUDE} -I${CURL_INCLUDE}
libmod_tuscany_eval_la_SOURCES = mod-eval.cpp
libmod_tuscany_eval_la_CXXFLAGS = $(CXXFLAGS) -D_REENTRANT
libmod_tuscany_eval_la_LIBADD = -lpthread -L${LIBXML2_LIB} -lxml2 -L${APR_LIB} -lapr-1 -laprutil-1 -L${CURL_LIB} -lcurl -L${JS_LIB} -lmozjs
libmod_tuscany_wiring_la_SOURCES = mod-wiring.cpp
libmod_tuscany_wiring_la_CXXFLAGS = $(CXXFLAGS) -D_REENTRANT
libmod_tuscany_wiring_la_LIBADD = -lpthread -L${LIBXML2_LIB} -lxml2 -L${APR_LIB} -lapr-1 -laprutil-1 -L${CURL_LIB} -lcurl -L${JS_LIB} -lmozjs
testdir=$(prefix)/test
test_LTLIBRARIES = libimpl-test.la
libimpl_test_la_SOURCES = impl-test.cpp
libimpl_test_la_CXXFLAGS = $(CXXFLAGS) -D_REENTRANT
libimpl_test_la_LIBADD = -lpthread -L${APR_LIB} -lapr-1 -laprutil-1
client_test_SOURCES = client-test.cpp
client_test_LDADD = -lpthread -L${LIBXML2_LIB} -lxml2 -L${APR_LIB} -lapr-1 -laprutil-1 -L${CURL_LIB} -lcurl -L${JS_LIB} -lmozjs
TESTS = httpd-test http-test wiring-test
client_test_LDADD = -L${LIBXML2_LIB} -lxml2 -L${APR_LIB} -lapr-1 -laprutil-1 -L${CURL_LIB} -lcurl -L${JS_LIB} -lmozjs
TESTS = httpd-test server-test wiring-test

View file

@ -22,7 +22,7 @@ noinst_HEADERS = *.hpp
INCLUDES = -I. -I$(top_builddir)/kernel -I${LIBXML2_INCLUDE} -I${APR_INCLUDE}
store_function_test_SOURCES = store-function-test.cpp
store_function_test_LDADD = -lpthread -L${LIBXML2_LIB} -lxml2 -L${APR_LIB} -lapr-1 -laprutil-1
store_function_test_LDADD = -L${LIBXML2_LIB} -lxml2 -L${APR_LIB} -lapr-1 -laprutil-1
TESTS = store-function-test

View file

@ -22,7 +22,7 @@ noinst_HEADERS = *.hpp
INCLUDES = -I. -I$(top_builddir)/kernel -I${LIBXML2_INCLUDE} -I${APR_INCLUDE}
store_object_test_SOURCES = store-object-test.cpp
store_object_test_LDADD = -lpthread -L${LIBXML2_LIB} -lxml2 -L${APR_LIB} -lapr-1 -laprutil-1
store_object_test_LDADD = -L${LIBXML2_LIB} -lxml2 -L${APR_LIB} -lapr-1 -laprutil-1
TESTS = store-object-test

View file

@ -20,7 +20,7 @@ noinst_PROGRAMS = store-script-test
INCLUDES = -I. -I$(top_builddir)/kernel -I$(top_builddir)/modules/eval -I${LIBXML2_INCLUDE} -I${APR_INCLUDE} -I${JS_INCLUDE}
store_script_test_SOURCES = store-script-test.cpp
store_script_test_LDADD = -lpthread -L${LIBXML2_LIB} -lxml2 -L${APR_LIB} -lapr-1 -laprutil-1 -L${JS_LIB} -lmozjs
store_script_test_LDADD = -L${LIBXML2_LIB} -lxml2 -L${APR_LIB} -lapr-1 -laprutil-1 -L${JS_LIB} -lmozjs
TESTS = store-script-test store-http-test
TESTS = store-script-test store-composite-test