From e5a49fff24c79431782da107185431b7835ef492 Mon Sep 17 00:00:00 2001 From: jsdelfino Date: Sat, 29 May 2010 19:44:35 +0000 Subject: 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 --- sca-cpp/trunk/Makefile.am | 9 +- sca-cpp/trunk/README | 25 ++++- sca-cpp/trunk/components/cache/Makefile.am | 3 + sca-cpp/trunk/components/cache/memcache.composite | 2 +- sca-cpp/trunk/components/chat/Makefile.am | 5 +- sca-cpp/trunk/components/chat/chat.composite | 4 +- sca-cpp/trunk/components/log/Makefile.am | 9 +- sca-cpp/trunk/components/log/log.composite | 4 +- sca-cpp/trunk/components/nosqldb/Makefile.am | 3 + sca-cpp/trunk/components/nosqldb/nosqldb.composite | 2 +- sca-cpp/trunk/components/nosqldb/tinycdb.hpp | 108 ++++++++++++++------- sca-cpp/trunk/components/queue/Makefile.am | 5 + sca-cpp/trunk/components/queue/queue.composite | 6 +- sca-cpp/trunk/components/sqldb/Makefile.am | 5 +- sca-cpp/trunk/components/sqldb/sqldb.composite | 2 +- sca-cpp/trunk/components/webservice/Makefile.am | 14 ++- sca-cpp/trunk/components/webservice/axis2-conf | 4 +- .../components/webservice/webservice.composite | 4 +- sca-cpp/trunk/configure.ac | 13 +-- sca-cpp/trunk/kernel/Makefile.am | 7 +- sca-cpp/trunk/kernel/kernel-test.cpp | 2 +- sca-cpp/trunk/kernel/lambda-test.cpp | 25 +++++ sca-cpp/trunk/modules/http/Makefile.am | 7 +- sca-cpp/trunk/modules/java/Makefile.am | 4 +- sca-cpp/trunk/modules/python/Makefile.am | 2 +- sca-cpp/trunk/modules/server/Makefile.am | 10 +- sca-cpp/trunk/modules/server/domain-test.composite | 2 +- sca-cpp/trunk/modules/wsgi/Makefile.am | 4 +- sca-cpp/trunk/samples/Makefile.am | 3 + sca-cpp/trunk/samples/store-cpp/Makefile.am | 7 +- sca-cpp/trunk/samples/store-cpp/store.composite | 8 +- sca-cpp/trunk/samples/store-gae/Makefile.am | 6 +- sca-cpp/trunk/samples/store-java/Makefile.am | 7 +- sca-cpp/trunk/samples/store-java/store.composite | 2 +- sca-cpp/trunk/samples/store-nosql/Makefile.am | 8 ++ sca-cpp/trunk/samples/store-nosql/store.composite | 2 +- sca-cpp/trunk/samples/store-python/Makefile.am | 5 + sca-cpp/trunk/samples/store-python/store.composite | 2 +- sca-cpp/trunk/samples/store-scheme/Makefile.am | 6 +- sca-cpp/trunk/samples/store-scheme/store.composite | 2 +- sca-cpp/trunk/samples/store-sql/Makefile.am | 8 ++ sca-cpp/trunk/samples/store-sql/store.composite | 2 +- sca-cpp/trunk/ubuntu/ubuntu-bin-image | 13 +-- sca-cpp/trunk/ubuntu/ubuntu-gcc-4.5 | 3 +- sca-cpp/trunk/ubuntu/ubuntu-install | 16 +-- 45 files changed, 275 insertions(+), 115 deletions(-) (limited to 'sca-cpp/trunk') 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"> - + 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"> - + sca1@localhost sca1 @@ -32,7 +32,7 @@ - + sca2@localhost sca2 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"> - + default @@ -39,7 +39,7 @@ - + default 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"> - + tmp/test.cdb 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 post(const value& key, const value& val, TinyCDB& cdb); - //friend const failable put(const value& key, const value& val, TinyCDB& cdb); - //friend const failable get(const value& key, const TinyCDB& cdb); - //friend const failable del(const value& key, TinyCDB& cdb); - //friend const failable rewrite(const lambda(buffer& buf, const unsigned int klen, const unsigned int vlen)>& update, const lambda(struct cdb_make&)>& finish, TinyCDB& cdb); - //friend const failable rewrite(const lambda(buffer& buf, const unsigned int klen, const unsigned int vlen)>& update, const lambda(struct cdb_make&)>& finish, buffer& buf, const int fd, TinyCDB& cdb); - friend const string dbname(const TinyCDB& cdb); friend const failable cdbopen(TinyCDB& cdb); friend const failable cdbclose(TinyCDB& cdb); @@ -306,6 +299,29 @@ const failable rewrite(const lambda(buffer& buf, const unsi /** * Post a new item to the database. */ +struct postUpdate { + const string ks; + postUpdate(const string& ks) : ks(ks) { + } + const failable operator()(buffer& buf, const unsigned int klen, unused const unsigned int vlen) const { + if (ks == string((char*)buf, klen)) + return mkfailure("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 operator()(struct cdb_make& cdbm) const { + if (cdb_make_add(&cdbm, c_str(ks), length(ks), c_str(vs), length(vs)) == -1) + return mkfailure("Could not add entry"); + return true; + } +}; + const failable 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 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 { - if (ks == string((char*)buf, klen)) - return mkfailure("Key already exists"); - return true; - }; + const lambda(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 { - if (cdb_make_add(&cdbm, c_str(ks), length(ks), c_str(vs), length(vs)) == -1) - return mkfailure("Could not add entry"); - return true; - }; + const lambda(struct cdb_make& cdbm)> finish = postFinish(ks, vs); // Rewrite the db const failable r = rewrite(update, finish, cdb); @@ -337,6 +345,29 @@ const failable 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 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 operator()(struct cdb_make& cdbm) const { + if (cdb_make_add(&cdbm, c_str(ks), length(ks), c_str(vs), length(vs)) == -1) + return mkfailure("Could not add entry"); + return true; + } +}; + const failable 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 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 { - if (ks == string((char*)buf, klen)) - return false; - return true; - }; + const lambda(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 { - if (cdb_make_add(&cdbm, c_str(ks), length(ks), c_str(vs), length(vs)) == -1) - return mkfailure("Could not add entry"); - return true; - }; + const lambda(struct cdb_make& cdbm)> finish = putFinish(ks, vs); // Rewrite the db const failable r = rewrite(update, finish, cdb); @@ -394,6 +417,25 @@ const failable 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 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 operator()(unused struct cdb_make& cdbm) const { + return true; + } +}; + const failable del(const value& key, TinyCDB& cdb) { debug(key, "tinycdb::delete::key"); debug(dbname(cdb), "tinycdb::delete::dbname"); @@ -401,18 +443,10 @@ const failable 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 { - if (ks == string((char*)buf, klen)) - return false; - return true; - }; + const lambda(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 { - // hack: reference a variable from outer scope to workaround GCC internal error - const string xs(ks); - return true; - }; + const lambda(struct cdb_make& cdbm)> finish = delFinish(); // Rewrite the db const failable 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"> - + print @@ -31,7 +31,7 @@ - + print printq @@ -46,7 +46,7 @@ - + report 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"> - + dbname=db test 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"> - + http://localhost:9090/axis2/services/echo @@ -31,7 +31,7 @@ - + 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 > sq(dynlambda("csquare", dl)); assert(hasContent(sq)); lambda 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 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 s = seq(0.0, 4999.0); + list r = map([](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 @@ - + 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"> - + USD @@ -32,7 +32,7 @@ - + @@ -43,14 +43,14 @@ - + - + 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 @@ - + 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 @@ - + tmp/store.cdb 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 @@ - + 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 @@ - + 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 @@ - + dbname=db store 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 -- cgit v1.2.3