summaryrefslogtreecommitdiffstats
path: root/sca-cpp
diff options
context:
space:
mode:
authorjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2010-05-29 19:44:35 +0000
committerjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2010-05-29 19:44:35 +0000
commite5a49fff24c79431782da107185431b7835ef492 (patch)
tree8bb6ca1aaad4fed82443dcb7d420533c31eb3eb4 /sca-cpp
parent7eef73b80c5f6c4f34f57cc48a46383689acecca (diff)
Fix distribution build, add missing files and samples and fix path to libraries. GCC 4.5 is used if available but not installed automatically.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@949435 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-cpp')
-rw-r--r--sca-cpp/trunk/Makefile.am9
-rw-r--r--sca-cpp/trunk/README25
-rw-r--r--sca-cpp/trunk/components/cache/Makefile.am3
-rw-r--r--sca-cpp/trunk/components/cache/memcache.composite2
-rw-r--r--sca-cpp/trunk/components/chat/Makefile.am5
-rw-r--r--sca-cpp/trunk/components/chat/chat.composite4
-rw-r--r--sca-cpp/trunk/components/log/Makefile.am9
-rw-r--r--sca-cpp/trunk/components/log/log.composite4
-rw-r--r--sca-cpp/trunk/components/nosqldb/Makefile.am3
-rw-r--r--sca-cpp/trunk/components/nosqldb/nosqldb.composite2
-rw-r--r--sca-cpp/trunk/components/nosqldb/tinycdb.hpp108
-rw-r--r--sca-cpp/trunk/components/queue/Makefile.am5
-rw-r--r--sca-cpp/trunk/components/queue/queue.composite6
-rw-r--r--sca-cpp/trunk/components/sqldb/Makefile.am5
-rw-r--r--sca-cpp/trunk/components/sqldb/sqldb.composite2
-rw-r--r--sca-cpp/trunk/components/webservice/Makefile.am14
-rwxr-xr-xsca-cpp/trunk/components/webservice/axis2-conf4
-rw-r--r--sca-cpp/trunk/components/webservice/webservice.composite4
-rw-r--r--sca-cpp/trunk/configure.ac13
-rw-r--r--sca-cpp/trunk/kernel/Makefile.am7
-rw-r--r--sca-cpp/trunk/kernel/kernel-test.cpp2
-rw-r--r--sca-cpp/trunk/kernel/lambda-test.cpp25
-rw-r--r--sca-cpp/trunk/modules/http/Makefile.am7
-rw-r--r--sca-cpp/trunk/modules/java/Makefile.am4
-rw-r--r--sca-cpp/trunk/modules/python/Makefile.am2
-rw-r--r--sca-cpp/trunk/modules/server/Makefile.am10
-rw-r--r--sca-cpp/trunk/modules/server/domain-test.composite2
-rw-r--r--sca-cpp/trunk/modules/wsgi/Makefile.am4
-rw-r--r--sca-cpp/trunk/samples/Makefile.am3
-rw-r--r--sca-cpp/trunk/samples/store-cpp/Makefile.am7
-rw-r--r--sca-cpp/trunk/samples/store-cpp/store.composite8
-rw-r--r--sca-cpp/trunk/samples/store-gae/Makefile.am6
-rw-r--r--sca-cpp/trunk/samples/store-java/Makefile.am7
-rw-r--r--sca-cpp/trunk/samples/store-java/store.composite2
-rw-r--r--sca-cpp/trunk/samples/store-nosql/Makefile.am8
-rw-r--r--sca-cpp/trunk/samples/store-nosql/store.composite2
-rw-r--r--sca-cpp/trunk/samples/store-python/Makefile.am5
-rw-r--r--sca-cpp/trunk/samples/store-python/store.composite2
-rw-r--r--sca-cpp/trunk/samples/store-scheme/Makefile.am6
-rw-r--r--sca-cpp/trunk/samples/store-scheme/store.composite2
-rw-r--r--sca-cpp/trunk/samples/store-sql/Makefile.am8
-rw-r--r--sca-cpp/trunk/samples/store-sql/store.composite2
-rwxr-xr-xsca-cpp/trunk/ubuntu/ubuntu-bin-image13
-rwxr-xr-xsca-cpp/trunk/ubuntu/ubuntu-gcc-4.53
-rwxr-xr-xsca-cpp/trunk/ubuntu/ubuntu-install16
45 files changed, 275 insertions, 115 deletions
diff --git a/sca-cpp/trunk/Makefile.am b/sca-cpp/trunk/Makefile.am
index 57c708912f..ec79336c2b 100644
--- a/sca-cpp/trunk/Makefile.am
+++ b/sca-cpp/trunk/Makefile.am
@@ -20,16 +20,9 @@ ACLOCAL_AMFLAGS = -I m4
SUBDIRS = kernel modules components doc samples
datadir=$(prefix)
-data_DATA = INSTALL README LICENSE COPYING NOTICE
+data_DATA = README LICENSE COPYING NOTICE
nobase_data_DATA = xsd/*.xsd xsd/external/*.xsd xsd/external/*.dtd
-install-data-hook:
- rm -rf $(prefix)/doc
- cp -r doc $(prefix)
- rm -f $(prefix)/doc/Makefile* $(prefix)/doc/Doxyfile*
- rm -rf `find $(prefix)/doc -type d -name .svn`
- rm -rf `find $(prefix)/doc -type d -name .deps`
-
dist-hook:
rm -rf `find $(distdir)/ -type d -name .svn`
rm -rf `find $(distdir)/ -type d -name .deps`
diff --git a/sca-cpp/trunk/README b/sca-cpp/trunk/README
index b5d45890c5..f79c296895 100644
--- a/sca-cpp/trunk/README
+++ b/sca-cpp/trunk/README
@@ -1,6 +1,29 @@
Apache Tuscany SCA Runtime
==========================
+Tuscany SCA Native is an SCA (Service Component Architecture) runtime written
+in C++ and integrated with the Apache HTTPD server.
+
+It supports SCA components written in C++ and Python. Experimental support
+for other programming languages is under construction. SCA bindings are
+available for the JSON-RPC and ATOMPub protocols.
+
+Several useful SCA components are provided on top of the SCA runtime, which
+can be used to help assemble distributed SCA composite applications:
+
+Cache: Key/value memory cache, using Memcached;
+Chat: XMPP chat, using Apache Vysper and Libstrophe;
+Log: distributed logger, using Facebook Scribe.
+Queue: AMQP queuing, using Apache Qpid/C;
+Sqldb: SQL database, using PostgreSQL;
+Store: Key/value persistent store, using TinyCDB;
+Webservice: Web service gateway, using Apache Axis2/C;
+
+These components present a simple ATOMPub REST interface, allowing you to send
+a message to a queue, a chat connection, or add an entry to a cache or a
+database for example, using a simple HTTP POST.
+
+
Getting the source code
=======================
@@ -61,7 +84,7 @@ Here's a rough guide to the Tuscany SCA source tree:
Building
========
-See the INSTALL file.
+See the INSTALL file at the root of the source tree.
Contributing to the project
diff --git a/sca-cpp/trunk/components/cache/Makefile.am b/sca-cpp/trunk/components/cache/Makefile.am
index 0a41f56dbe..150cf9ddae 100644
--- a/sca-cpp/trunk/components/cache/Makefile.am
+++ b/sca-cpp/trunk/components/cache/Makefile.am
@@ -24,6 +24,9 @@ memcached.prefix: $(top_builddir)/config.status
comp_LTLIBRARIES = libmemcache.la
libmemcache_la_SOURCES = memcache.cpp
+noinst_DATA = libmemcache.so
+libmemcache.so:
+ ln -s .libs/libmemcache.so
memcache_test_SOURCES = memcache-test.cpp
memcache_test_LDFLAGS = -lxml2
diff --git a/sca-cpp/trunk/components/cache/memcache.composite b/sca-cpp/trunk/components/cache/memcache.composite
index c9a147960e..654df6abbf 100644
--- a/sca-cpp/trunk/components/cache/memcache.composite
+++ b/sca-cpp/trunk/components/cache/memcache.composite
@@ -23,7 +23,7 @@
name="memcache">
<component name="memcache">
- <implementation.cpp path=".libs" library="libmemcache"/>
+ <implementation.cpp path="." library="libmemcache"/>
<service name="memcache">
<t:binding.http uri="memcache"/>
</service>
diff --git a/sca-cpp/trunk/components/chat/Makefile.am b/sca-cpp/trunk/components/chat/Makefile.am
index 804238a5d7..e7093caa2e 100644
--- a/sca-cpp/trunk/components/chat/Makefile.am
+++ b/sca-cpp/trunk/components/chat/Makefile.am
@@ -31,6 +31,9 @@ vysper.prefix: $(top_builddir)/config.status
comp_LTLIBRARIES = libchatter.la
libchatter_la_SOURCES = chatter.cpp
libchatter_la_LDFLAGS = -L${LIBSTROPHE_LIB} -R${LIBSTROPHE_LIB} -lstrophe -lexpat -lssl -lresolv
+noinst_DATA = libchatter.so
+libchatter.so:
+ ln -s .libs/libchatter.so
xmpp_test_SOURCES = xmpp-test.cpp
xmpp_test_LDFLAGS = -L${LIBSTROPHE_LIB} -R${LIBSTROPHE_LIB} -lstrophe -lexpat -lssl -lresolv
@@ -43,9 +46,7 @@ noinst_PROGRAMS = xmpp-test client-test
if WANT_VYSPER
AM_JAVACFLAGS = -cp `${top_builddir}/components/chat/vysper-classpath ${VYSPER_PREFIX}`${JAVAROOT}
-
noinst_JAVA = test/*.java
-
CLEANFILES = test/*.class
TESTS = echo-test
diff --git a/sca-cpp/trunk/components/chat/chat.composite b/sca-cpp/trunk/components/chat/chat.composite
index 569dbfc4b2..15901b51da 100644
--- a/sca-cpp/trunk/components/chat/chat.composite
+++ b/sca-cpp/trunk/components/chat/chat.composite
@@ -23,7 +23,7 @@
name="chat">
<component name="print-sender">
- <implementation.cpp path=".libs" library="libchatter"/>
+ <implementation.cpp path="." library="libchatter"/>
<property name="jid">sca1@localhost</property>
<property name="password">sca1</property>
<service name="print-sender">
@@ -32,7 +32,7 @@
</component>
<component name="print-chatter">
- <implementation.cpp path=".libs" library="libchatter"/>
+ <implementation.cpp path="." library="libchatter"/>
<property name="jid">sca2@localhost</property>
<property name="password">sca2</property>
<service name="print-chatter">
diff --git a/sca-cpp/trunk/components/log/Makefile.am b/sca-cpp/trunk/components/log/Makefile.am
index b572a7ca80..2dd4ab861a 100644
--- a/sca-cpp/trunk/components/log/Makefile.am
+++ b/sca-cpp/trunk/components/log/Makefile.am
@@ -19,10 +19,10 @@ if WANT_LOG
INCLUDES = -I${THRIFT_INCLUDE} -I${FB303_INCLUDE}
-comp_SCRIPTS = scribed-central-conf scribed-client-conf scribed-central-start scribed-central-stop scribed-client-start scribed-client-stop
+comp_SCRIPTS = scribed-central-conf scribed-client-conf scribed-central-start scribed-central-stop scribed-client-start scribed-client-stop scribe-cat
compdir=$(prefix)/components/log
-comp_DATA = scribe.prefix thrift.prefix
+comp_DATA = scribe.prefix thrift.prefix scribecat.py
scribe.prefix: $(top_builddir)/config.status
echo ${SCRIBE_PREFIX} >scribe.prefix
@@ -36,16 +36,21 @@ gen-cpp/fb303_constants.cpp gen-cpp/fb303_types.cpp gen-cpp/scribe_constants.cpp
CLEANFILES = gen-cpp/*
comp_LTLIBRARIES = liblog.la liblogger.la
+noinst_DATA = liblog.so liblogger.so
nodist_liblog_la_SOURCES = gen-cpp/fb303_constants.cpp gen-cpp/fb303_types.cpp gen-cpp/scribe_constants.cpp gen-cpp/scribe.cpp gen-cpp/scribe_types.cpp gen-cpp/FacebookService.cpp gen-cpp/scribe.h
liblog_la_CXXFLAGS = -Wno-unused-parameter
liblog_la_SOURCES = log.cpp
liblog_la_LDFLAGS = -L${THRIFT_LIB} -R${THRIFT_LIB} -lthrift -L${FB303_LIB} -R${FB303_LIB} -lfb303 -L${SCRIBE_LIB} -R${SCRIBE_LIB} -lscribe
+liblog.so:
+ ln -s .libs/liblog.so
nodist_liblogger_la_SOURCES = gen-cpp/fb303_constants.cpp gen-cpp/fb303_types.cpp gen-cpp/scribe_constants.cpp gen-cpp/scribe.cpp gen-cpp/scribe_types.cpp gen-cpp/FacebookService.cpp gen-cpp/scribe.h
liblogger_la_CXXFLAGS = -Wno-unused-parameter
liblogger_la_SOURCES = logger.cpp
liblogger_la_LDFLAGS = -L${THRIFT_LIB} -R${THRIFT_LIB} -lthrift -L${FB303_LIB} -R${FB303_LIB} -lfb303 -L${SCRIBE_LIB} -R${SCRIBE_LIB} -lscribe
+liblogger.so:
+ ln -s .libs/liblogger.so
client_test_SOURCES = client-test.cpp
client_test_LDFLAGS = -lxml2 -lcurl -lmozjs
diff --git a/sca-cpp/trunk/components/log/log.composite b/sca-cpp/trunk/components/log/log.composite
index b39a6a6c49..3e13c410fa 100644
--- a/sca-cpp/trunk/components/log/log.composite
+++ b/sca-cpp/trunk/components/log/log.composite
@@ -23,7 +23,7 @@
name="log">
<component name="log">
- <implementation.cpp path=".libs" library="liblog"/>
+ <implementation.cpp path="." library="liblog"/>
<property name="category">default</property>
<service name="log">
<t:binding.http uri="log"/>
@@ -39,7 +39,7 @@
</component>
<component name="logger">
- <implementation.cpp path=".libs" library="liblogger"/>
+ <implementation.cpp path="." library="liblogger"/>
<property name="category">default</property>
<service name="logger">
<t:binding.http uri="logger"/>
diff --git a/sca-cpp/trunk/components/nosqldb/Makefile.am b/sca-cpp/trunk/components/nosqldb/Makefile.am
index 608de23527..12e88308b9 100644
--- a/sca-cpp/trunk/components/nosqldb/Makefile.am
+++ b/sca-cpp/trunk/components/nosqldb/Makefile.am
@@ -27,9 +27,12 @@ tinycdb.prefix: $(top_builddir)/config.status
echo ${TINYCDB_PREFIX} >tinycdb.prefix
comp_LTLIBRARIES = libnosqldb.la
+noinst_DATA = libnosqldb.so
libnosqldb_la_SOURCES = nosqldb.cpp
libnosqldb_la_LDFLAGS = -L${TINYCDB_LIB} -R${TINYCDB_LIB} -lcdb
+libnosqldb.so:
+ ln -s .libs/libnosqldb.so
tinycdb_test_SOURCES = tinycdb-test.cpp
tinycdb_test_LDFLAGS = -L${TINYCDB_LIB} -R${TINYCDB_LIB} -lcdb
diff --git a/sca-cpp/trunk/components/nosqldb/nosqldb.composite b/sca-cpp/trunk/components/nosqldb/nosqldb.composite
index 812f0739fe..af2d3a18d7 100644
--- a/sca-cpp/trunk/components/nosqldb/nosqldb.composite
+++ b/sca-cpp/trunk/components/nosqldb/nosqldb.composite
@@ -23,7 +23,7 @@
name="nosqldb">
<component name="nosqldb">
- <implementation.cpp path=".libs" library="libnosqldb"/>
+ <implementation.cpp path="." library="libnosqldb"/>
<property name="dbname">tmp/test.cdb</property>
<service name="nosqldb">
<t:binding.http uri="nosqldb"/>
diff --git a/sca-cpp/trunk/components/nosqldb/tinycdb.hpp b/sca-cpp/trunk/components/nosqldb/tinycdb.hpp
index a22cd81fd1..143b3da308 100644
--- a/sca-cpp/trunk/components/nosqldb/tinycdb.hpp
+++ b/sca-cpp/trunk/components/nosqldb/tinycdb.hpp
@@ -120,13 +120,6 @@ private:
int fd;
struct stat st;
- //friend const failable<bool> post(const value& key, const value& val, TinyCDB& cdb);
- //friend const failable<bool> put(const value& key, const value& val, TinyCDB& cdb);
- //friend const failable<value> get(const value& key, const TinyCDB& cdb);
- //friend const failable<bool> del(const value& key, TinyCDB& cdb);
- //friend const failable<bool> rewrite(const lambda<failable<bool>(buffer& buf, const unsigned int klen, const unsigned int vlen)>& update, const lambda<failable<bool>(struct cdb_make&)>& finish, TinyCDB& cdb);
- //friend const failable<bool> rewrite(const lambda<failable<bool>(buffer& buf, const unsigned int klen, const unsigned int vlen)>& update, const lambda<failable<bool>(struct cdb_make&)>& finish, buffer& buf, const int fd, TinyCDB& cdb);
-
friend const string dbname(const TinyCDB& cdb);
friend const failable<int> cdbopen(TinyCDB& cdb);
friend const failable<bool> cdbclose(TinyCDB& cdb);
@@ -306,6 +299,29 @@ const failable<bool> rewrite(const lambda<failable<bool>(buffer& buf, const unsi
/**
* Post a new item to the database.
*/
+struct postUpdate {
+ const string ks;
+ postUpdate(const string& ks) : ks(ks) {
+ }
+ const failable<bool> operator()(buffer& buf, const unsigned int klen, unused const unsigned int vlen) const {
+ if (ks == string((char*)buf, klen))
+ return mkfailure<bool>("Key already exists");
+ return true;
+ }
+};
+
+struct postFinish {
+ const string ks;
+ const string vs;
+ postFinish(const string& ks, const string& vs) : ks(ks), vs(vs) {
+ }
+ const failable<bool> operator()(struct cdb_make& cdbm) const {
+ if (cdb_make_add(&cdbm, c_str(ks), length(ks), c_str(vs), length(vs)) == -1)
+ return mkfailure<bool>("Could not add entry");
+ return true;
+ }
+};
+
const failable<bool> post(const value& key, const value& val, TinyCDB& cdb) {
debug(key, "tinycdb::post::key");
debug(val, "tinycdb::post::value");
@@ -315,18 +331,10 @@ const failable<bool> post(const value& key, const value& val, TinyCDB& cdb) {
const string vs(scheme::writeValue(val));
// Process each entry and detect existing key
- auto update = [=](buffer& buf, const unsigned int klen, unused const unsigned int vlen)->const failable<bool> {
- if (ks == string((char*)buf, klen))
- return mkfailure<bool>("Key already exists");
- return true;
- };
+ const lambda<failable<bool>(buffer& buf, const unsigned int klen, const unsigned int vlen)> update = postUpdate(ks);
// Add the new entry to the db
- auto finish = [=](struct cdb_make& cdbm)->const failable<bool> {
- if (cdb_make_add(&cdbm, c_str(ks), length(ks), c_str(vs), length(vs)) == -1)
- return mkfailure<bool>("Could not add entry");
- return true;
- };
+ const lambda<failable<bool>(struct cdb_make& cdbm)> finish = postFinish(ks, vs);
// Rewrite the db
const failable<bool> r = rewrite(update, finish, cdb);
@@ -337,6 +345,29 @@ const failable<bool> post(const value& key, const value& val, TinyCDB& cdb) {
/**
* Update an item in the database. If the item doesn't exist it is added.
*/
+struct putUpdate {
+ const string ks;
+ putUpdate(const string& ks) : ks(ks) {
+ }
+ const failable<bool> operator()(buffer& buf, const unsigned int klen, unused const unsigned int vlen) const {
+ if (ks == string((char*)buf, klen))
+ return false;
+ return true;
+ }
+};
+
+struct putFinish {
+ const string ks;
+ const string vs;
+ putFinish(const string& ks, const string& vs) : ks(ks), vs(vs) {
+ }
+ const failable<bool> operator()(struct cdb_make& cdbm) const {
+ if (cdb_make_add(&cdbm, c_str(ks), length(ks), c_str(vs), length(vs)) == -1)
+ return mkfailure<bool>("Could not add entry");
+ return true;
+ }
+};
+
const failable<bool> put(const value& key, const value& val, TinyCDB& cdb) {
debug(key, "tinycdb::put::key");
debug(val, "tinycdb::put::value");
@@ -346,18 +377,10 @@ const failable<bool> put(const value& key, const value& val, TinyCDB& cdb) {
const string vs(scheme::writeValue(val));
// Process each entry and skip existing key
- auto update = [&](buffer& buf, const unsigned int klen, unused const unsigned int vlen)->const failable<bool> {
- if (ks == string((char*)buf, klen))
- return false;
- return true;
- };
+ const lambda<failable<bool>(buffer& buf, const unsigned int klen, const unsigned int vlen)> update = putUpdate(ks);
// Add the new entry to the db
- auto finish = [&](struct cdb_make& cdbm)->const failable<bool> {
- if (cdb_make_add(&cdbm, c_str(ks), length(ks), c_str(vs), length(vs)) == -1)
- return mkfailure<bool>("Could not add entry");
- return true;
- };
+ const lambda<failable<bool>(struct cdb_make& cdbm)> finish = putFinish(ks, vs);
// Rewrite the db
const failable<bool> r = rewrite(update, finish, cdb);
@@ -394,6 +417,25 @@ const failable<value> get(const value& key, TinyCDB& cdb) {
/**
* Delete an item from the database
*/
+struct delUpdate {
+ const string ks;
+ delUpdate(const string& ks) : ks(ks) {
+ }
+ const failable<bool> operator()(buffer& buf, const unsigned int klen, unused const unsigned int vlen) const {
+ if (ks == string((char*)buf, klen))
+ return false;
+ return true;
+ }
+};
+
+struct delFinish {
+ delFinish() {
+ }
+ const failable<bool> operator()(unused struct cdb_make& cdbm) const {
+ return true;
+ }
+};
+
const failable<bool> del(const value& key, TinyCDB& cdb) {
debug(key, "tinycdb::delete::key");
debug(dbname(cdb), "tinycdb::delete::dbname");
@@ -401,18 +443,10 @@ const failable<bool> del(const value& key, TinyCDB& cdb) {
const string ks(scheme::writeValue(key));
// Process each entry and skip existing key
- auto update = [=](buffer& buf, const unsigned int klen, unused const unsigned int vlen)->const failable<bool> {
- if (ks == string((char*)buf, klen))
- return false;
- return true;
- };
+ const lambda<failable<bool>(buffer& buf, const unsigned int klen, const unsigned int vlen)> update = delUpdate(ks);
// Nothing to do to finish
- auto finish = [=](unused struct cdb_make& cdbm)->const failable<bool> {
- // hack: reference a variable from outer scope to workaround GCC internal error
- const string xs(ks);
- return true;
- };
+ const lambda<failable<bool>(struct cdb_make& cdbm)> finish = delFinish();
// Rewrite the db
const failable<bool> r = rewrite(update, finish, cdb);
diff --git a/sca-cpp/trunk/components/queue/Makefile.am b/sca-cpp/trunk/components/queue/Makefile.am
index 856aef8ea0..2a6f83d5ce 100644
--- a/sca-cpp/trunk/components/queue/Makefile.am
+++ b/sca-cpp/trunk/components/queue/Makefile.am
@@ -27,12 +27,17 @@ qpidc.prefix: $(top_builddir)/config.status
echo ${QPIDC_PREFIX} >qpidc.prefix
comp_LTLIBRARIES = libqueue-sender.la libqueue-listener.la
+noinst_DATA = libqueue-sender.so libqueue-listener.so
libqueue_sender_la_SOURCES = queue-sender.cpp
libqueue_sender_la_LDFLAGS = -L${QPIDC_LIB} -R${QPIDC_LIB} -lqpidclient -lqpidcommon
+libqueue-sender.so:
+ ln -s .libs/libqueue-sender.so
libqueue_listener_la_SOURCES = queue-listener.cpp
libqueue_listener_la_LDFLAGS = -L${QPIDC_LIB} -R${QPIDC_LIB} -lqpidclient -lqpidcommon
+libqueue-listener.so:
+ ln -s .libs/libqueue-listener.so
qpid_test_SOURCES = qpid-test.cpp
qpid_test_LDFLAGS = -L${QPIDC_LIB} -R${QPIDC_LIB} -lqpidclient -lqpidcommon
diff --git a/sca-cpp/trunk/components/queue/queue.composite b/sca-cpp/trunk/components/queue/queue.composite
index 535680c6c3..e8fb1b1049 100644
--- a/sca-cpp/trunk/components/queue/queue.composite
+++ b/sca-cpp/trunk/components/queue/queue.composite
@@ -23,7 +23,7 @@
name="queue">
<component name="print-sender">
- <implementation.cpp path=".libs" library="libqueue-sender"/>
+ <implementation.cpp path="." library="libqueue-sender"/>
<property name="key">print</property>
<service name="print-sender">
<t:binding.http uri="print-sender"/>
@@ -31,7 +31,7 @@
</component>
<component name="print-listener">
- <implementation.cpp path=".libs" library="libqueue-listener"/>
+ <implementation.cpp path="." library="libqueue-listener"/>
<property name="key">print</property>
<property name="queue">printq</property>
<reference name="relay" target="print"/>
@@ -46,7 +46,7 @@
</component>
<component name="report-sender">
- <implementation.cpp path=".libs" library="libqueue-sender"/>
+ <implementation.cpp path="." library="libqueue-sender"/>
<property name="key">report</property>
<service name="report-sender">
<t:binding.http uri="report-sender"/>
diff --git a/sca-cpp/trunk/components/sqldb/Makefile.am b/sca-cpp/trunk/components/sqldb/Makefile.am
index d474dafb25..8abf252d92 100644
--- a/sca-cpp/trunk/components/sqldb/Makefile.am
+++ b/sca-cpp/trunk/components/sqldb/Makefile.am
@@ -19,7 +19,7 @@ if WANT_SQLDB
INCLUDES = -I${PGSQL_INCLUDE}
-comp_SCRIPTS = pgsql-start pgsql-stop
+comp_SCRIPTS = pgsql-start pgsql-stop pgsql
compdir=$(prefix)/components/sqldb
comp_DATA = pgsql.prefix
@@ -27,9 +27,12 @@ pgsql.prefix: $(top_builddir)/config.status
echo ${PGSQL_PREFIX} >pgsql.prefix
comp_LTLIBRARIES = libsqldb.la
+noinst_DATA = libsqldb.so
libsqldb_la_SOURCES = sqldb.cpp
libsqldb_la_LDFLAGS = -L${PGSQL_LIB} -R${PGSQL_LIB} -lpq
+libsqldb.so:
+ ln -s .libs/libsqldb.so
pgsql_test_SOURCES = pgsql-test.cpp
pgsql_test_LDFLAGS = -L${PGSQL_LIB} -R${PGSQL_LIB} -lpq
diff --git a/sca-cpp/trunk/components/sqldb/sqldb.composite b/sca-cpp/trunk/components/sqldb/sqldb.composite
index 9675340b0c..a27332e649 100644
--- a/sca-cpp/trunk/components/sqldb/sqldb.composite
+++ b/sca-cpp/trunk/components/sqldb/sqldb.composite
@@ -23,7 +23,7 @@
name="sqldb">
<component name="sqldb">
- <implementation.cpp path=".libs" library="libsqldb"/>
+ <implementation.cpp path="." library="libsqldb"/>
<property name="conninfo">dbname=db</property>
<property name="table">test</property>
<service name="sqldb">
diff --git a/sca-cpp/trunk/components/webservice/Makefile.am b/sca-cpp/trunk/components/webservice/Makefile.am
index 1f4ece7003..accc098b79 100644
--- a/sca-cpp/trunk/components/webservice/Makefile.am
+++ b/sca-cpp/trunk/components/webservice/Makefile.am
@@ -19,24 +19,36 @@ if WANT_WEBSERVICE
INCLUDES = -I${AXIS2C_INCLUDE}
-comp_DATA = axis2c.prefix
+comp_SCRIPTS = axis2-conf
compdir=$(prefix)/components/webservice
+
+comp_DATA = axis2c.prefix axis2.xml services.xml module.xml
+
axis2c.prefix: $(top_builddir)/config.status
echo ${AXIS2C_PREFIX} >axis2c.prefix
comp_LTLIBRARIES = libwebservice-client.la libwebservice-listener.la libaxis2-dispatcher.la libaxis2-service.la
+noinst_DATA = libwebservice-client.so libwebservice-listener.so libaxis2-dispatcher.so libaxis2-service.so
libwebservice_client_la_SOURCES = webservice-client.cpp
libwebservice_client_la_LDFLAGS = -lxml2 -L${AXIS2C_LIB} -R${AXIS2C_LIB} -laxis2_engine -laxis2_axiom -laxutil
+libwebservice-client.so:
+ ln -s .libs/libwebservice-client.so
libwebservice_listener_la_SOURCES = webservice-listener.cpp
libwebservice_listener_la_LDFLAGS = -lxml2 -L${AXIS2C_LIB} -R${AXIS2C_LIB} -laxis2_engine -laxis2_axiom -laxutil
+libwebservice-listener.so:
+ ln -s .libs/libwebservice-listener.so
libaxis2_dispatcher_la_SOURCES = axis2-dispatcher.cpp
libaxis2_dispatcher_la_LDFLAGS = -lxml2 -L${AXIS2C_LIB} -R${AXIS2C_LIB} -laxis2_engine -laxis2_axiom -laxutil
+libaxis2-dispatcher.so:
+ ln -s .libs/libaxis2-dispatcher.so
libaxis2_service_la_SOURCES = axis2-service.cpp
libaxis2_service_la_LDFLAGS = -lxml2 -L${AXIS2C_LIB} -R${AXIS2C_LIB} -laxis2_engine -laxis2_axiom -laxutil
+libaxis2-service.so:
+ ln -s .libs/libaxis2-service.so
axiom_test_SOURCES = axiom-test.cpp
axiom_test_LDFLAGS = -lxml2 -L${AXIS2C_LIB} -R${AXIS2C_LIB} -laxis2_engine -laxis2_axiom -laxutil
diff --git a/sca-cpp/trunk/components/webservice/axis2-conf b/sca-cpp/trunk/components/webservice/axis2-conf
index c731733662..2194144ae0 100755
--- a/sca-cpp/trunk/components/webservice/axis2-conf
+++ b/sca-cpp/trunk/components/webservice/axis2-conf
@@ -33,10 +33,10 @@ mkdir -p $root/axis2c/services
# Install Tuscany Axis2 module and service
mkdir -p $root/axis2c/modules/tuscany
-ln -f -s $here/.libs/libaxis2-dispatcher.so $root/axis2c/modules/tuscany/libaxis2-dispatcher.so
+ln -f -s $here/libaxis2-dispatcher.so $root/axis2c/modules/tuscany/libaxis2-dispatcher.so
ln -f -s $here/module.xml $root/axis2c/modules/tuscany/module.xml
mkdir -p $root/axis2c/services/tuscany
-ln -f -s $here/.libs/libaxis2-service.so $root/axis2c/services/tuscany/libaxis2-service.so
+ln -f -s $here/libaxis2-service.so $root/axis2c/services/tuscany/libaxis2-service.so
ln -f -s $here/services.xml $root/axis2c/services/tuscany/services.xml
cp $here/axis2.xml $root/axis2c/axis2.xml
diff --git a/sca-cpp/trunk/components/webservice/webservice.composite b/sca-cpp/trunk/components/webservice/webservice.composite
index 6d4055aad3..c01c9736bd 100644
--- a/sca-cpp/trunk/components/webservice/webservice.composite
+++ b/sca-cpp/trunk/components/webservice/webservice.composite
@@ -23,7 +23,7 @@
name="webservice-client">
<component name="webservice-client">
- <implementation.cpp path=".libs" library="libwebservice-client"/>
+ <implementation.cpp path="." library="libwebservice-client"/>
<property name="uri">http://localhost:9090/axis2/services/echo</property>
<service name="webservice-client">
<t:binding.jsonrpc uri="echo-client"/>
@@ -31,7 +31,7 @@
</component>
<component name="webservice-listener">
- <implementation.cpp path=".libs" library="libwebservice-listener"/>
+ <implementation.cpp path="." library="libwebservice-listener"/>
<service name="webservice-listener">
<t:binding.http uri="echo-listener"/>
</service>
diff --git a/sca-cpp/trunk/configure.ac b/sca-cpp/trunk/configure.ac
index 11f57ca008..cf53734b25 100644
--- a/sca-cpp/trunk/configure.ac
+++ b/sca-cpp/trunk/configure.ac
@@ -25,19 +25,20 @@ AM_CONFIG_HEADER(config.h)
AM_INIT_AUTOMAKE([tar-ustar])
AC_PREFIX_DEFAULT(/usr/local/tuscany/sca)
-# Require GCC 4.5
+# Check for required programs.
+AC_MSG_NOTICE([checking for programs])
AC_MSG_CHECKING([for gcc-4.5])
-if test -x "/usr/bin/gcc-4.5"; then
+if test -x "/usr/bin/g++-4.5"; then
+ # Use GCC 4.5 if available
CXX=/usr/bin/g++-4.5
CPP=/usr/bin/cpp-4.5
CC=/usr/bin/gcc-4.5
AC_MSG_RESULT(/usr/bin/gcc-4.5)
+ AM_CONDITIONAL([WANT_GCC45], true)
+ AC_DEFINE([WANT_GCC45], 1, [compile with gcc-4.5])
else
- AC_MSG_ERROR([could not find gcc-4.5])
+ AM_CONDITIONAL([WANT_GCC45], false)
fi
-
-# Check for required programs.
-AC_MSG_NOTICE([checking for programs])
AC_PROG_CXX
AC_PROG_AWK
AC_PROG_CC
diff --git a/sca-cpp/trunk/kernel/Makefile.am b/sca-cpp/trunk/kernel/Makefile.am
index 203dfbd269..a112ab5d0d 100644
--- a/sca-cpp/trunk/kernel/Makefile.am
+++ b/sca-cpp/trunk/kernel/Makefile.am
@@ -22,9 +22,12 @@ include_HEADERS = *.hpp
string_test_SOURCES = string-test.cpp
-test_LTLIBRARIES = libdynlib-test.la
-testdir = $(prefix)/test
+noinst_test_LTLIBRARIES = libdynlib-test.la
+noinst_testdir = `pwd`/tmp
libdynlib_test_la_SOURCES = dynlib-test.cpp
+noinst_DATA = libdynlib-test.so
+libdynlib-test.so:
+ ln -s .libs/libdynlib-test.so
kernel_test_SOURCES = kernel-test.cpp
diff --git a/sca-cpp/trunk/kernel/kernel-test.cpp b/sca-cpp/trunk/kernel/kernel-test.cpp
index 44ffe06b7b..177e2904ce 100644
--- a/sca-cpp/trunk/kernel/kernel-test.cpp
+++ b/sca-cpp/trunk/kernel/kernel-test.cpp
@@ -540,7 +540,7 @@ bool testStateMonad() {
}
bool testDynLib() {
- const lib dl(string(".libs/libdynlib-test") + dynlibExt);
+ const lib dl(string("libdynlib-test") + dynlibExt);
const failable<lambda<int(const int)> > sq(dynlambda<int(const int)>("csquare", dl));
assert(hasContent(sq));
lambda<int(const int)> l(content(sq));
diff --git a/sca-cpp/trunk/kernel/lambda-test.cpp b/sca-cpp/trunk/kernel/lambda-test.cpp
index de702b778a..a72f01fb43 100644
--- a/sca-cpp/trunk/kernel/lambda-test.cpp
+++ b/sca-cpp/trunk/kernel/lambda-test.cpp
@@ -27,9 +27,12 @@
#include "function.hpp"
#include "sstream.hpp"
#include "fstream.hpp"
+#include "perf.hpp"
namespace tuscany {
+#ifdef WANT_GCC45
+
const lambda<const int(const int)> inc(const int i) {
return [=](const int x)->const int {
return x + i;
@@ -64,12 +67,34 @@ bool testLambda() {
return true;
}
+const double fib_aux(const double n, const double a, const double b) {
+ return n == 0.0? a : fib_aux(n - 1.0, b, a + b);
+}
+
+const bool fibMapPerf() {
+ list<double> s = seq(0.0, 4999.0);
+ list<double> r = map<double, double>([](const double n)->const double { return fib_aux(n, 0.0, 1.0); }, s);
+ assert(5000 == length(r));
+ return true;
+}
+
+bool testCppPerf() {
+ cout << "Fibonacci map test " << (time([]()->const bool { return fibMapPerf(); }, 1, 1) / 5000) << " ms" << endl;
+ return true;
+}
+
+#endif
}
int main() {
tuscany::cout << "Testing..." << tuscany::endl;
+#ifdef WANT_GCC45
tuscany::testLambda();
+ tuscany::testCppPerf();
+#else
+ tuscany::cout << "Skipped GCC 4.5 tests" << tuscany::endl;
+#endif
tuscany::cout << "OK" << tuscany::endl;
diff --git a/sca-cpp/trunk/modules/http/Makefile.am b/sca-cpp/trunk/modules/http/Makefile.am
index 180529620c..04a60dbd0d 100644
--- a/sca-cpp/trunk/modules/http/Makefile.am
+++ b/sca-cpp/trunk/modules/http/Makefile.am
@@ -17,14 +17,15 @@
INCLUDES = -I${HTTPD_INCLUDE}
+mod_SCRIPTS = httpd-conf httpd-start httpd-stop httpd-restart httpd-ca-conf httpd-cert-conf httpd-ssl-conf
moddir=$(prefix)/modules/http
-mod_SCRIPTS = httpd-conf httpd-start httpd-stop httpd-restart
curl_test_SOURCES = curl-test.cpp
curl_test_LDFLAGS = -lxml2 -lcurl -lmozjs
-prefix_DATA = httpd.prefix curl.prefix
-prefixdir=$(prefix)/modules/http
+mod_DATA = httpd.prefix curl.prefix
+nobase_mod_DATA = conf/*
+
httpd.prefix: $(top_builddir)/config.status
echo ${HTTPD_PREFIX} >httpd.prefix
curl.prefix: $(top_builddir)/config.status
diff --git a/sca-cpp/trunk/modules/java/Makefile.am b/sca-cpp/trunk/modules/java/Makefile.am
index 293b9431b5..d377f570c6 100644
--- a/sca-cpp/trunk/modules/java/Makefile.am
+++ b/sca-cpp/trunk/modules/java/Makefile.am
@@ -35,7 +35,7 @@ libmod_tuscany_java_la_SOURCES = mod-java.cpp
libmod_tuscany_java_la_LDFLAGS = -lxml2 -lcurl -lmozjs ${JAVA_LDFLAGS}
noinst_DATA = libmod_tuscany_java.so
libmod_tuscany_java.so:
- ln -s .libs/libmod_tuscany_java.so libmod_tuscany_java.so
+ ln -s .libs/libmod_tuscany_java.so
jni_test_SOURCES = jni-test.cpp
jni_test_LDFLAGS = ${JAVA_LDFLAGS}
@@ -53,7 +53,7 @@ jar_DATA = ${jarfile}
${jarfile}: ${noinst_JAVA}
${JAR} cf $@ org/apache/tuscany/*.class
-CLEANFILES = ${jarfile} org/apache/tuscany/*.class test/*.class
+CLEANFILES = classnoinst.stamp ${jarfile} org/apache/tuscany/*.class test/*.class
client_test_SOURCES = client-test.cpp
client_test_LDFLAGS = -lxml2 -lcurl -lmozjs
diff --git a/sca-cpp/trunk/modules/python/Makefile.am b/sca-cpp/trunk/modules/python/Makefile.am
index c4e7b038e1..0e49cdfaad 100644
--- a/sca-cpp/trunk/modules/python/Makefile.am
+++ b/sca-cpp/trunk/modules/python/Makefile.am
@@ -37,7 +37,7 @@ libmod_tuscany_python_la_SOURCES = mod-python.cpp
libmod_tuscany_python_la_LDFLAGS = -lxml2 -lcurl -lmozjs -L${PYTHON_LIB} -R${PYTHON_LIB} -lpython2.6
noinst_DATA = libmod_tuscany_python.so
libmod_tuscany_python.so:
- ln -s .libs/libmod_tuscany_python.so libmod_tuscany_python.so
+ ln -s .libs/libmod_tuscany_python.so
python_test_SOURCES = python-test.cpp
python_test_LDFLAGS = -L${PYTHON_LIB} -R${PYTHON_LIB} -lpython2.6
diff --git a/sca-cpp/trunk/modules/server/Makefile.am b/sca-cpp/trunk/modules/server/Makefile.am
index 06323aad05..a14382e114 100644
--- a/sca-cpp/trunk/modules/server/Makefile.am
+++ b/sca-cpp/trunk/modules/server/Makefile.am
@@ -27,16 +27,20 @@ noinst_DATA = libmod_tuscany_eval.so libmod_tuscany_wiring.so
libmod_tuscany_eval_la_SOURCES = mod-eval.cpp
libmod_tuscany_eval_la_LDFLAGS = -lxml2 -lcurl -lmozjs
libmod_tuscany_eval.so:
- ln -s .libs/libmod_tuscany_eval.so libmod_tuscany_eval.so
+ ln -s .libs/libmod_tuscany_eval.so
libmod_tuscany_wiring_la_SOURCES = mod-wiring.cpp
libmod_tuscany_wiring_la_LDFLAGS = -lxml2 -lcurl -lmozjs
libmod_tuscany_wiring.so:
- ln -s .libs/libmod_tuscany_wiring.so libmod_tuscany_wiring.so
+ ln -s .libs/libmod_tuscany_wiring.so
-noinst_testdir = $(prefix)/test
noinst_test_LTLIBRARIES = libimpl-test.la
+noinst_testdir = `pwd`/tmp
+noinst_DATA += libimpl-test.so
+
libimpl_test_la_SOURCES = impl-test.cpp
+libimpl-test.so:
+ ln -s .libs/libimpl-test.so
client_test_SOURCES = client-test.cpp
client_test_LDFLAGS = -lxml2 -lcurl -lmozjs
diff --git a/sca-cpp/trunk/modules/server/domain-test.composite b/sca-cpp/trunk/modules/server/domain-test.composite
index ef85bb919b..048c451ef6 100644
--- a/sca-cpp/trunk/modules/server/domain-test.composite
+++ b/sca-cpp/trunk/modules/server/domain-test.composite
@@ -30,7 +30,7 @@
</component>
<component name="cpp-test">
- <implementation.cpp path=".libs" library="libimpl-test"/>
+ <implementation.cpp path="." library="libimpl-test"/>
<service name="cpp">
<t:binding.http uri="cpp"/>
</service>
diff --git a/sca-cpp/trunk/modules/wsgi/Makefile.am b/sca-cpp/trunk/modules/wsgi/Makefile.am
index 7678104761..9a8895bcab 100644
--- a/sca-cpp/trunk/modules/wsgi/Makefile.am
+++ b/sca-cpp/trunk/modules/wsgi/Makefile.am
@@ -19,9 +19,11 @@ if WANT_PYTHON
INCLUDES = -I${PYTHON_INCLUDE}
-mod_SCRIPTS = composite.py scdl.py util.py elemutil.py xmlutil.py atomutil.py jsonutil.py wsgi-start wsgi-stop
+mod_SCRIPTS = composite.py wsgi-start wsgi-stop gae-start gae-stop
moddir = $(prefix)/modules/wsgi
+mod_DATA = app.yaml scdl.py util.py elemutil.py xmlutil.py atomutil.py jsonutil.py
+
noinst_DATA = target.stamp
target.stamp: app.yaml *.py *.composite htdocs/*
diff --git a/sca-cpp/trunk/samples/Makefile.am b/sca-cpp/trunk/samples/Makefile.am
index a3e0cfa6b8..e2b74075f8 100644
--- a/sca-cpp/trunk/samples/Makefile.am
+++ b/sca-cpp/trunk/samples/Makefile.am
@@ -17,3 +17,6 @@
SUBDIRS = store-scheme store-cpp store-python store-java store-gae store-sql store-nosql
+sample_DATA = README
+sampledir=$(prefix)/samples
+
diff --git a/sca-cpp/trunk/samples/store-cpp/Makefile.am b/sca-cpp/trunk/samples/store-cpp/Makefile.am
index f429166519..c86d5a5ebc 100644
--- a/sca-cpp/trunk/samples/store-cpp/Makefile.am
+++ b/sca-cpp/trunk/samples/store-cpp/Makefile.am
@@ -15,9 +15,14 @@
# specific language governing permissions and limitations
# under the License.
-sample_LTLIBRARIES = libcurrency-converter.la libfruits-catalog.la libshopping-cart.la
+
+sample_SCRIPTS = start stop ssl-start
sampledir = $(prefix)/samples/store-cpp
+nobase_sample_DATA = currency-converter.cpp fruits-catalog.cpp shopping-cart.cpp store.composite htdocs/*
+
+sample_LTLIBRARIES = libcurrency-converter.la libfruits-catalog.la libshopping-cart.la
+
libcurrency_converter_la_SOURCES = currency-converter.cpp
libfruits_catalog_la_SOURCES = fruits-catalog.cpp
diff --git a/sca-cpp/trunk/samples/store-cpp/store.composite b/sca-cpp/trunk/samples/store-cpp/store.composite
index 056f7b4c68..abb38add02 100644
--- a/sca-cpp/trunk/samples/store-cpp/store.composite
+++ b/sca-cpp/trunk/samples/store-cpp/store.composite
@@ -23,7 +23,7 @@
name="store">
<component name="Catalog">
- <implementation.cpp path=".libs" library="libfruits-catalog"/>
+ <implementation.cpp path="." library="libfruits-catalog"/>
<property name="currencyCode">USD</property>
<service name="Catalog">
<t:binding.jsonrpc uri="catalog"/>
@@ -32,7 +32,7 @@
</component>
<component name="ShoppingCart">
- <implementation.cpp path=".libs" library="libshopping-cart"/>
+ <implementation.cpp path="." library="libshopping-cart"/>
<service name="ShoppingCart">
<t:binding.atom uri="shoppingCart"/>
</service>
@@ -43,14 +43,14 @@
</component>
<component name="CurrencyConverter">
- <implementation.cpp path=".libs" library="libcurrency-converter"/>
+ <implementation.cpp path="." library="libcurrency-converter"/>
<service name="CurrencyConverter">
<t:binding.jsonrpc uri="currencyConverter"/>
</service>
</component>
<component name="Cache">
- <implementation.cpp path="../../components/cache/.libs" library="libmemcache"/>
+ <implementation.cpp path="../../components/cache" library="libmemcache"/>
<service name="Cache">
<t:binding.atom uri="cache"/>
</service>
diff --git a/sca-cpp/trunk/samples/store-gae/Makefile.am b/sca-cpp/trunk/samples/store-gae/Makefile.am
index bb39293d21..ab014a0b7d 100644
--- a/sca-cpp/trunk/samples/store-gae/Makefile.am
+++ b/sca-cpp/trunk/samples/store-gae/Makefile.am
@@ -18,8 +18,10 @@
if WANT_PYTHON
if WANT_GAE
-noinst_DATA = target.stamp
+sample_SCRIPTS = start stop
+sampledir = $(prefix)/samples/store-gae
+BUILT_SOURCES = target.stamp
target.stamp: app.yaml *.py *.composite $(top_builddir)/modules/wsgi/*.py htdocs/*
mkdir -p target
cp app.yaml *.py *.composite `ls $(top_builddir)/modules/wsgi/*.py | grep -v "\-test"` target
@@ -29,6 +31,8 @@ target.stamp: app.yaml *.py *.composite $(top_builddir)/modules/wsgi/*.py htdocs
clean-local:
rm -rf target.stamp target
+nobase_sample_DATA = target/app.yaml target/*.py target/*.composite target/htdocs/*
+
TESTS = server-test
endif
diff --git a/sca-cpp/trunk/samples/store-java/Makefile.am b/sca-cpp/trunk/samples/store-java/Makefile.am
index d80aaabf0b..db05a48662 100644
--- a/sca-cpp/trunk/samples/store-java/Makefile.am
+++ b/sca-cpp/trunk/samples/store-java/Makefile.am
@@ -19,11 +19,14 @@ JAVAROOT = ${top_builddir}/samples/store-java
if WANT_JAVA
-AM_JAVACFLAGS = -cp ${top_builddir}/modules/java/libmod-tuscany-java-${PACKAGE_VERSION}.jar:${JAVAROOT}
+sample_SCRIPTS = start stop ssl-start
+sampledir=$(prefix)/samples/store-java
+AM_JAVACFLAGS = -cp ${top_builddir}/modules/java/libmod-tuscany-java-${PACKAGE_VERSION}.jar:${JAVAROOT}
noinst_JAVA = store/*.java
+CLEANFILES = classnoinst.stamp store/*.class
-CLEANFILES = store/*.class
+nobase_sample_DATA = store.composite htdocs/* store/*
TESTS = server-test
diff --git a/sca-cpp/trunk/samples/store-java/store.composite b/sca-cpp/trunk/samples/store-java/store.composite
index 8d733db134..242da7b00d 100644
--- a/sca-cpp/trunk/samples/store-java/store.composite
+++ b/sca-cpp/trunk/samples/store-java/store.composite
@@ -50,7 +50,7 @@
</component>
<component name="Cache">
- <implementation.cpp path="../../components/cache/.libs" library="libmemcache"/>
+ <implementation.cpp path="../../components/cache" library="libmemcache"/>
<service name="Cache">
<t:binding.atom uri="cache"/>
</service>
diff --git a/sca-cpp/trunk/samples/store-nosql/Makefile.am b/sca-cpp/trunk/samples/store-nosql/Makefile.am
index 345e58d544..fffb15ca56 100644
--- a/sca-cpp/trunk/samples/store-nosql/Makefile.am
+++ b/sca-cpp/trunk/samples/store-nosql/Makefile.am
@@ -15,5 +15,13 @@
# specific language governing permissions and limitations
# under the License.
+if WANT_NOSQLDB
+
+sample_SCRIPTS = start stop ssl-start
+sampledir = $(prefix)/samples/store-nosql
+
+nobase_sample_DATA = currency-converter.scm fruits-catalog.scm shopping-cart.scm store.scm store.composite htdocs/*
+
TESTS = server-test
+endif
diff --git a/sca-cpp/trunk/samples/store-nosql/store.composite b/sca-cpp/trunk/samples/store-nosql/store.composite
index 1912f3a3a1..85a6e278d4 100644
--- a/sca-cpp/trunk/samples/store-nosql/store.composite
+++ b/sca-cpp/trunk/samples/store-nosql/store.composite
@@ -60,7 +60,7 @@
</component>
<component name="NoSqldb">
- <implementation.cpp path="../../components/nosqldb/.libs" library="libnosqldb"/>
+ <implementation.cpp path="../../components/nosqldb" library="libnosqldb"/>
<property name="dbname">tmp/store.cdb</property>
<service name="NoSqldb">
<t:binding.atom uri="nosqldb"/>
diff --git a/sca-cpp/trunk/samples/store-python/Makefile.am b/sca-cpp/trunk/samples/store-python/Makefile.am
index 2bdd776e10..0a7a5c3ac7 100644
--- a/sca-cpp/trunk/samples/store-python/Makefile.am
+++ b/sca-cpp/trunk/samples/store-python/Makefile.am
@@ -17,6 +17,11 @@
if WANT_PYTHON
+sample_SCRIPTS = start stop ssl-start
+sampledir = $(prefix)/samples/store-python
+
+nobase_sample_DATA = currency-converter.py fruits-catalog.py shopping-cart.py store.py store.composite htdocs/*
+
TESTS = server-test
endif
diff --git a/sca-cpp/trunk/samples/store-python/store.composite b/sca-cpp/trunk/samples/store-python/store.composite
index 889f514624..045ebe6ec5 100644
--- a/sca-cpp/trunk/samples/store-python/store.composite
+++ b/sca-cpp/trunk/samples/store-python/store.composite
@@ -60,7 +60,7 @@
</component>
<component name="Cache">
- <implementation.cpp path="../../components/cache/.libs" library="libmemcache"/>
+ <implementation.cpp path="../../components/cache" library="libmemcache"/>
<service name="Cache">
<t:binding.atom uri="cache"/>
</service>
diff --git a/sca-cpp/trunk/samples/store-scheme/Makefile.am b/sca-cpp/trunk/samples/store-scheme/Makefile.am
index 77cceb8352..2f09025c58 100644
--- a/sca-cpp/trunk/samples/store-scheme/Makefile.am
+++ b/sca-cpp/trunk/samples/store-scheme/Makefile.am
@@ -15,8 +15,12 @@
# specific language governing permissions and limitations
# under the License.
-noinst_PROGRAMS = script-test
+sample_SCRIPTS = start stop ssl-start
+sampledir = $(prefix)/samples/store-scheme
+
+nobase_sample_DATA = currency-converter.scm fruits-catalog.scm shopping-cart.scm store.scm store.composite htdocs/*
+noinst_PROGRAMS = script-test
script_test_SOURCES = script-test.cpp
script_test_LDFLAGS = -lxml2 -lmozjs
diff --git a/sca-cpp/trunk/samples/store-scheme/store.composite b/sca-cpp/trunk/samples/store-scheme/store.composite
index 36b155b595..08aeb6601d 100644
--- a/sca-cpp/trunk/samples/store-scheme/store.composite
+++ b/sca-cpp/trunk/samples/store-scheme/store.composite
@@ -60,7 +60,7 @@
</component>
<component name="Cache">
- <implementation.cpp path="../../components/cache/.libs" library="libmemcache"/>
+ <implementation.cpp path="../../components/cache" library="libmemcache"/>
<service name="Cache">
<t:binding.atom uri="cache"/>
</service>
diff --git a/sca-cpp/trunk/samples/store-sql/Makefile.am b/sca-cpp/trunk/samples/store-sql/Makefile.am
index 345e58d544..9276a575da 100644
--- a/sca-cpp/trunk/samples/store-sql/Makefile.am
+++ b/sca-cpp/trunk/samples/store-sql/Makefile.am
@@ -15,5 +15,13 @@
# specific language governing permissions and limitations
# under the License.
+if WANT_SQLDB
+
+sample_SCRIPTS = start stop ssl-start
+sampledir = $(prefix)/samples/store-sql
+
+nobase_sample_DATA = currency-converter.scm fruits-catalog.scm shopping-cart.scm store.scm store.composite htdocs/*
+
TESTS = server-test
+endif
diff --git a/sca-cpp/trunk/samples/store-sql/store.composite b/sca-cpp/trunk/samples/store-sql/store.composite
index 58c2741a5e..e19cf66fd1 100644
--- a/sca-cpp/trunk/samples/store-sql/store.composite
+++ b/sca-cpp/trunk/samples/store-sql/store.composite
@@ -60,7 +60,7 @@
</component>
<component name="Sqldb">
- <implementation.cpp path="../../components/sqldb/.libs" library="libsqldb"/>
+ <implementation.cpp path="../../components/sqldb" library="libsqldb"/>
<property name="conninfo">dbname=db</property>
<property name="table">store</property>
<service name="Sqldb">
diff --git a/sca-cpp/trunk/ubuntu/ubuntu-bin-image b/sca-cpp/trunk/ubuntu/ubuntu-bin-image
index 57779c3d91..c3ef606ed0 100755
--- a/sca-cpp/trunk/ubuntu/ubuntu-bin-image
+++ b/sca-cpp/trunk/ubuntu/ubuntu-bin-image
@@ -35,12 +35,13 @@ sudo apt-get -y install wget git-core autoconf automake libtool g++
if [ "$?" != "0" ]; then
exit $?
fi
-wget http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/ubuntu/ubuntu-gcc-4.5
-chmod +x ./ubuntu-gcc-4.5
-./ubuntu-gcc-4.5
-if [ "$?" != "0" ]; then
- exit $?
-fi
+# Uncomment to install GCC 4.5
+#wget http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/ubuntu/ubuntu-gcc-4.5
+#chmod +x ./ubuntu-gcc-4.5
+#./ubuntu-gcc-4.5
+#if [ "$?" != "0" ]; then
+# exit $?
+#fi
sudo apt-get -y install libssl-dev
if [ "$?" != "0" ]; then
exit $?
diff --git a/sca-cpp/trunk/ubuntu/ubuntu-gcc-4.5 b/sca-cpp/trunk/ubuntu/ubuntu-gcc-4.5
index 0488672c1b..8464382d0a 100755
--- a/sca-cpp/trunk/ubuntu/ubuntu-gcc-4.5
+++ b/sca-cpp/trunk/ubuntu/ubuntu-gcc-4.5
@@ -15,7 +15,8 @@
# specific language governing permissions and limitations
# under the License.
-# Install GCC 4.5
+# Install GCC 4.5, useful if you want to use it and it's not already included
+# in your Linux distribution
# Display commands as they are executed
set -x
diff --git a/sca-cpp/trunk/ubuntu/ubuntu-install b/sca-cpp/trunk/ubuntu/ubuntu-install
index 3429a03b56..fa4d7e598b 100755
--- a/sca-cpp/trunk/ubuntu/ubuntu-install
+++ b/sca-cpp/trunk/ubuntu/ubuntu-install
@@ -30,13 +30,13 @@ if [ "$?" != "0" ]; then
exit $?
fi
-# Install GCC 4.5
-wget http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/ubuntu/ubuntu-gcc-4.5
-chmod +x ./ubuntu-gcc-4.5
-./ubuntu-gcc-4.5
-if [ "$?" != "0" ]; then
- exit $?
-fi
+# Uncomment to install GCC 4.5
+#wget http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/ubuntu/ubuntu-gcc-4.5
+#chmod +x ./ubuntu-gcc-4.5
+#./ubuntu-gcc-4.5
+#if [ "$?" != "0" ]; then
+# exit $?
+#fi
# Build Apache HTTP server
sudo apt-get -y install libssl-dev
@@ -227,7 +227,7 @@ wget http://www.apache.org/dist/incubator/thrift/0.2.0-incubating/thrift-0.2.0-i
tar xzf thrift-0.2.0-incubating.tar.gz
cd thrift-0.2.0
./bootstrap.sh
-./configure --prefix=$build/thrift-0.2.0-bin --with-java=no --with-erlang=no --with-perl=no --with-ruby=no --with-csharp=no --disable-static
+./configure --prefix=$build/thrift-0.2.0-bin PY_PREFIX=$build/thrift-0.2.0-bin --with-java=no --with-erlang=no --with-perl=no --with-ruby=no --with-csharp=no --disable-static
make
make install
if [ "$?" != "0" ]; then