summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2010-06-05 05:38:55 +0000
committerjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2010-06-05 05:38:55 +0000
commit70520addf9ca828a9e1c08652999902bdc8d1809 (patch)
treeac364cba9028a1c121a6edfaa23fea76d812e6f3
parent69c6e0618ad4f18d18771ef91aacbb5c5a68f3a2 (diff)
Add build support for a minimum distribution using prebuilt dependencies from Ubuntu 9.10.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@951656 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--sca-cpp/trunk/INSTALL39
-rw-r--r--sca-cpp/trunk/components/Makefile.am3
-rw-r--r--sca-cpp/trunk/components/cache/Makefile.am3
-rw-r--r--sca-cpp/trunk/components/chat/Makefile.am3
-rw-r--r--sca-cpp/trunk/components/log/Makefile.am3
-rw-r--r--sca-cpp/trunk/components/nosqldb/Makefile.am6
-rw-r--r--sca-cpp/trunk/components/queue/Makefile.am3
-rw-r--r--sca-cpp/trunk/components/sqldb/Makefile.am3
-rw-r--r--sca-cpp/trunk/components/webservice/Makefile.am3
-rw-r--r--sca-cpp/trunk/configure.ac724
-rw-r--r--sca-cpp/trunk/kernel/kernel-test.cpp2
-rw-r--r--sca-cpp/trunk/modules/Makefile.am3
-rw-r--r--sca-cpp/trunk/modules/atom/Makefile.am3
-rw-r--r--sca-cpp/trunk/modules/http/Makefile.am10
-rw-r--r--sca-cpp/trunk/modules/http/curl.hpp1
-rwxr-xr-xsca-cpp/trunk/modules/http/httpd-conf26
-rwxr-xr-xsca-cpp/trunk/modules/http/httpd-restart4
-rwxr-xr-xsca-cpp/trunk/modules/http/httpd-start4
-rwxr-xr-xsca-cpp/trunk/modules/http/httpd-stop4
-rw-r--r--sca-cpp/trunk/modules/java/Makefile.am12
-rw-r--r--sca-cpp/trunk/modules/json/Makefile.am3
-rw-r--r--sca-cpp/trunk/modules/python/Makefile.am6
-rw-r--r--sca-cpp/trunk/modules/rss/Makefile.am3
-rw-r--r--sca-cpp/trunk/modules/scdl/Makefile.am3
-rw-r--r--sca-cpp/trunk/modules/scheme/Makefile.am3
-rw-r--r--sca-cpp/trunk/modules/server/Makefile.am6
-rw-r--r--sca-cpp/trunk/samples/store-java/Makefile.am6
-rw-r--r--sca-cpp/trunk/samples/store-nosql/Makefile.am3
-rw-r--r--sca-cpp/trunk/ubuntu/Makefile.am2
-rwxr-xr-xsca-cpp/trunk/ubuntu/ubuntu-bin-image4
-rwxr-xr-xsca-cpp/trunk/ubuntu/ubuntu-dev-image6
-rwxr-xr-xsca-cpp/trunk/ubuntu/ubuntu-install226
-rwxr-xr-xsca-cpp/trunk/ubuntu/ubuntu-install-all292
33 files changed, 815 insertions, 607 deletions
diff --git a/sca-cpp/trunk/INSTALL b/sca-cpp/trunk/INSTALL
index df4714ec9e..e89d7c5921 100644
--- a/sca-cpp/trunk/INSTALL
+++ b/sca-cpp/trunk/INSTALL
@@ -1,16 +1,22 @@
Apache Tuscany SCA Runtime
==========================
-Automated installation from scratch on Ubuntu 9.10
-==================================================
+Automated installation on Ubuntu 9.10
+=====================================
-Tuscany provides an automated install script for Ubuntu 9.10. You can start
-with a fresh Ubuntu Server 9.10 system, the ubuntu-install script takes care
-of all the download, build and installation steps for you.
+Tuscany provides two automated install scripts for Ubuntu 9.10. You can start
+with a fresh Ubuntu Server 9.10 system and these scripts will take care of all
+the download, build and installation steps for you.
-The required system tools and libraries are downloaded and installed using
-apt-get. The Tuscany project and its dependencies (Apache HTTPD server, Apache
-Axis2/C etc) are downloaded, built and installed in the current directory.
+ubuntu/ubuntu-install:
+Minimum build and installation using dependencies (Apache HTTPD server,
+Memcached etc) from your Ubuntu 9.10 system.
+
+ubuntu/ubuntu-install-all:
+Complete build and installation with most dependencies built from source.
+
+System dependencies are downloaded and installed using sudo apt-get. Source
+dependencies are downloaded and built in the current directory.
To run the automated installation:
mkdir tuscany
@@ -19,12 +25,11 @@ wget http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/ubuntu/ubuntu-install
chmod +x ./ubuntu-install
./ubuntu-install
-The script will display each command as it's executed.
+The installation script will display each command as it's executed.
That's all you need to do to build and install the Tuscany SCA runtime on
Ubuntu 9.10.
-
For manual build and install steps on other systems or if you need to customize
your installation, read on...
@@ -129,9 +134,6 @@ To enable support for Python component implementations:
To enable support for Java component implementations:
--enable-java
-To build the Web service utility component (requires Apache Axis2/C):
---enable-webservice
-
To build the Queue utility component (requires Apache Qpid/C++):
--enable-queue
@@ -139,9 +141,15 @@ To build the Chat utility component (requires Libstrophe and optionally Apache
Vysper if you want to run the tests with a local Vysper XMPP server):
--enable-chat
+To build the Log utility component (requires Facebook Scribe and Apache Thrift):
+--enable-log
+
To build the SQL Database utility component (requires PostgreSQL):
--enable-sqldb
+To build the Web service utility component (requires Apache Axis2/C):
+--enable-webservice
+
To generate doxygen documentation, add:
--enable-doxygen
@@ -161,6 +169,7 @@ dependencies installed under $HOME:
--with-curl=$HOME/curl-7.19.5-bin --with-libxml2=/usr \
--with-js-include=/usr/include/xulrunner-1.9.1.8/unstable \
--with-js-lib=/usr/lib/xulrunner-1.9.1.8 \
+--enable-libcloud \
--with-libcloud=$HOME/libcloud-0.3.1-bin \
--enable-threads \
--enable-python --with-python=/usr \
@@ -209,8 +218,8 @@ Apache HTTPD, including APR, using the HTTP prefork MPM (recommended):
wget http://www.apache.org/dist/httpd/httpd-2.2.15.tar.gz
tar xzf httpd-2.2.15.tar.gz
cd httpd-2.2.15
-./configure --enable-ssl --enable-proxy --enable-rewrite --with-included-apr \
---with-mpm=prefork --prefix=$HOME/httpd-2.2.15-bin
+./configure --enable-ssl --enable-proxy --enable-mods-shared=most \
+--with-included-apr --with-mpm=prefork --prefix=$HOME/httpd-2.2.15-bin
make
make install
export PATH=$HOME/httpd-2-2.15-bin/bin:$PATH
diff --git a/sca-cpp/trunk/components/Makefile.am b/sca-cpp/trunk/components/Makefile.am
index bce570da90..e0e5f5e935 100644
--- a/sca-cpp/trunk/components/Makefile.am
+++ b/sca-cpp/trunk/components/Makefile.am
@@ -17,6 +17,3 @@
SUBDIRS = cache chat log nosqldb queue sqldb webservice
-includedir = $(prefix)/include/components
-nobase_include_HEADERS = */*.hpp
-
diff --git a/sca-cpp/trunk/components/cache/Makefile.am b/sca-cpp/trunk/components/cache/Makefile.am
index df802babab..4af8acd6bf 100644
--- a/sca-cpp/trunk/components/cache/Makefile.am
+++ b/sca-cpp/trunk/components/cache/Makefile.am
@@ -15,6 +15,9 @@
# specific language governing permissions and limitations
# under the License.
+incl_HEADERS = *.hpp
+incldir = $(prefix)/include/components/cache
+
dist_comp_SCRIPTS = memcached-start memcached-stop
compdir=$(prefix)/components/cache
diff --git a/sca-cpp/trunk/components/chat/Makefile.am b/sca-cpp/trunk/components/chat/Makefile.am
index 5e48f74065..64b1e070d3 100644
--- a/sca-cpp/trunk/components/chat/Makefile.am
+++ b/sca-cpp/trunk/components/chat/Makefile.am
@@ -21,6 +21,9 @@ if WANT_CHAT
INCLUDES = -I${LIBSTROPHE_INCLUDE}
+incl_HEADERS = *.hpp
+incldir = $(prefix)/include/components/chat
+
dist_comp_SCRIPTS = vysper-start vysper-stop vysper-classpath
compdir=$(prefix)/components/chat
diff --git a/sca-cpp/trunk/components/log/Makefile.am b/sca-cpp/trunk/components/log/Makefile.am
index 6b03c215c9..0408607b59 100644
--- a/sca-cpp/trunk/components/log/Makefile.am
+++ b/sca-cpp/trunk/components/log/Makefile.am
@@ -19,6 +19,9 @@ if WANT_LOG
INCLUDES = -I${THRIFT_INCLUDE} -I${FB303_INCLUDE}
+incl_HEADERS = *.hpp
+incldir = $(prefix)/include/components/log
+
dist_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
diff --git a/sca-cpp/trunk/components/nosqldb/Makefile.am b/sca-cpp/trunk/components/nosqldb/Makefile.am
index 99a21d7607..30beaccdbf 100644
--- a/sca-cpp/trunk/components/nosqldb/Makefile.am
+++ b/sca-cpp/trunk/components/nosqldb/Makefile.am
@@ -15,10 +15,11 @@
# specific language governing permissions and limitations
# under the License.
-if WANT_NOSQLDB
-
INCLUDES = -I${TINYCDB_INCLUDE}
+incl_HEADERS = *.hpp
+incldir = $(prefix)/include/components/nosqldb
+
dist_comp_SCRIPTS = tinycdb
compdir=$(prefix)/components/nosqldb
@@ -46,4 +47,3 @@ dist_noinst_SCRIPTS = nosqldb-test server-test
noinst_PROGRAMS = tinycdb-test client-test
TESTS = nosqldb-test server-test
-endif
diff --git a/sca-cpp/trunk/components/queue/Makefile.am b/sca-cpp/trunk/components/queue/Makefile.am
index cbd81a5993..ef96cd7107 100644
--- a/sca-cpp/trunk/components/queue/Makefile.am
+++ b/sca-cpp/trunk/components/queue/Makefile.am
@@ -19,6 +19,9 @@ if WANT_QUEUE
INCLUDES = -I${QPIDC_INCLUDE}
+incl_HEADERS = *.hpp
+incldir = $(prefix)/include/components/queue
+
dist_comp_SCRIPTS = qpidd-start qpidd-stop
compdir=$(prefix)/components/queue
diff --git a/sca-cpp/trunk/components/sqldb/Makefile.am b/sca-cpp/trunk/components/sqldb/Makefile.am
index d51b8aa7b1..e5c03f5190 100644
--- a/sca-cpp/trunk/components/sqldb/Makefile.am
+++ b/sca-cpp/trunk/components/sqldb/Makefile.am
@@ -19,6 +19,9 @@ if WANT_SQLDB
INCLUDES = -I${PGSQL_INCLUDE}
+incl_HEADERS = *.hpp
+incldir = $(prefix)/include/components/sqldb
+
dist_comp_SCRIPTS = pgsql-start pgsql-stop pgsql
compdir=$(prefix)/components/sqldb
diff --git a/sca-cpp/trunk/components/webservice/Makefile.am b/sca-cpp/trunk/components/webservice/Makefile.am
index 4d659db44e..d53b7e6d0c 100644
--- a/sca-cpp/trunk/components/webservice/Makefile.am
+++ b/sca-cpp/trunk/components/webservice/Makefile.am
@@ -19,6 +19,9 @@ if WANT_WEBSERVICE
INCLUDES = -I${AXIS2C_INCLUDE}
+incl_HEADERS = *.hpp
+incldir = $(prefix)/include/components/webservice
+
dist_comp_SCRIPTS = axis2-conf
compdir=$(prefix)/components/webservice
diff --git a/sca-cpp/trunk/configure.ac b/sca-cpp/trunk/configure.ac
index 805c08c993..79e6bbdac5 100644
--- a/sca-cpp/trunk/configure.ac
+++ b/sca-cpp/trunk/configure.ac
@@ -48,130 +48,10 @@ AC_PROG_LN_S
AC_PROG_MAKE_SET
AC_PROG_LIBTOOL
-# Check for running on Darwin.
-AC_MSG_CHECKING([if running on Darwin])
-UNAME=`uname -s`
-if test "${UNAME}" = "Darwin"; then
- AC_DEFINE([IS_DARWIN], 1, [running on Darwin])
- AC_MSG_RESULT(yes)
- AC_SUBST([libsuffix],[".dylib"])
- AM_CONDITIONAL([DARWIN], true)
-else
- AC_MSG_RESULT(no)
- AC_SUBST([libsuffix],[".so"])
- AM_CONDITIONAL([DARWIN], false)
-fi
-
-# Configure path to CURL.
-AC_MSG_CHECKING([for curl])
-AC_ARG_WITH([curl], [AC_HELP_STRING([--with-curl=PATH], [path to installed curl [default=/usr]])], [
- CURL_PREFIX="${withval}"
- LIBCURL_INCLUDE="${withval}/include"
- LIBCURL_LIB="${withval}/lib"
- AC_MSG_RESULT("${withval}")
-], [
- CURL_PREFIX="/usr"
- LIBCURL_INCLUDE="/usr/include"
- LIBCURL_LIB="/usr/lib"
- AC_MSG_RESULT(/usr)
-])
-AC_SUBST(CURL_PREFIX)
-AC_SUBST(LIBCURL_INCLUDE)
-AC_SUBST(LIBCURL_LIB)
-
-# Configure path to libxml2 includes and lib.
-AC_MSG_CHECKING([for libxml2])
-AC_ARG_WITH([libxml2], [AC_HELP_STRING([--with-libxml2=PATH], [path to installed libxml2 [default=/usr]])], [
- LIBXML2_INCLUDE="${withval}/include/libxml2"
- LIBXML2_LIB="${withval}/lib"
- AC_MSG_RESULT("${withval}")
-], [
- LIBXML2_INCLUDE="/usr/include/libxml2"
- LIBXML2_LIB="/usr/lib"
- AC_MSG_RESULT(/usr)
-])
-AC_SUBST(LIBXML2_INCLUDE)
-AC_SUBST(LIBXML2_LIB)
-
-# Configure path to libmozjs includes and lib.
-AC_MSG_CHECKING([for js-include])
-xulrunner=`ls /usr/include | grep "xulrunner" | tail -1`
-if test "$xulrunner" = ""; then
- xulrunner="xulrunner-1.9.1.8"
-fi
-AC_ARG_WITH([js-include], [AC_HELP_STRING([--with-js-include=PATH], [path to installed SpiderMonkey include dir
- [default=/usr/include/$xulrunner/unstable]])], [
- JS_INCLUDE="${withval}"
- AC_MSG_RESULT("${withval}")
-], [
- JS_INCLUDE="/usr/include/$xulrunner/unstable"
- AC_MSG_RESULT(/usr/include/$xulrunner/unstable)
-])
-AC_MSG_CHECKING([for js-lib])
-AC_ARG_WITH([js-lib], [AC_HELP_STRING([--with-js-lib=PATH], [path to installed SpiderMonkey lib dir [default=/usr/lib/$xulrunner]])], [
- JS_LIB="${withval}"
- AC_MSG_RESULT("${withval}")
-], [
- JS_LIB="/usr/lib/$xulrunner"
- AC_MSG_RESULT(/usr/lib/$xulrunner)
-])
-AC_SUBST(JS_INCLUDE)
-AC_SUBST(JS_LIB)
-
-# Configure path to Apache APR and HTTPD includes and libs.
-AC_MSG_CHECKING([for apr])
-AC_ARG_WITH([apr], [AC_HELP_STRING([--with-apr=PATH], [path to installed Apache APR [default=/usr/local/apache2]])], [
- APR_INCLUDE="${withval}/include"
- APR_LIB="${withval}/lib"
- AC_MSG_RESULT("${withval}")
-], [
- APR_INCLUDE="/usr/local/apache2/include"
- APR_LIB="/usr/local/apache2/lib"
- AC_MSG_RESULT(/usr/local/apache2/lib)
-])
-AC_SUBST(APR_INCLUDE)
-AC_SUBST(APR_LIB)
-
-AC_MSG_CHECKING([for httpd])
-AC_ARG_WITH([httpd], [AC_HELP_STRING([--with-httpd=PATH], [path to installed Apache HTTPD [default=/usr/local/apache2]])], [
- HTTPD_PREFIX="${withval}"
- HTTPD_INCLUDE="${withval}/include"
- AC_MSG_RESULT("${withval}")
-], [
- HTTPD_PREFIX="/usr/local/apache2"
- HTTPD_INCLUDE="/usr/local/apache2/include"
- AC_MSG_RESULT(/usr/local/apache2/lib)
-])
-AC_SUBST(HTTPD_PREFIX)
-AC_SUBST(HTTPD_INCLUDE)
-
-# Configure path to memcached.
-AC_MSG_CHECKING([for memcached])
-AC_ARG_WITH([memcached], [AC_HELP_STRING([--with-memcached=PATH], [path to installed memcached [default=/usr]])], [
- MEMCACHED_PREFIX="${withval}"
- AC_MSG_RESULT("${withval}")
-], [
- MEMCACHED_PREFIX="/usr"
- AC_MSG_RESULT(/usr)
-])
-AC_SUBST(MEMCACHED_PREFIX)
-
-# Configure path to tinycdb.
-AC_MSG_CHECKING([for tinycdb])
-AC_ARG_WITH([tinycdb], [AC_HELP_STRING([--with-tinycdb=PATH], [path to installed tinycdb [default=/usr]])], [
- TINYCDB_PREFIX="${withval}"
- TINYCDB_INCLUDE="${withval}/include"
- TINYCDB_LIB="${withval}/lib"
- AC_MSG_RESULT("${withval}")
-], [
- TINYCDB_PREFIX="/usr"
- TINYCDB_INCLUDE="/usr/include"
- TINYCDB_LIB="/usr/lib"
- AC_MSG_RESULT(/usr)
-])
-AC_SUBST(TINYCDB_PREFIX)
-AC_SUBST(TINYCDB_INCLUDE)
-AC_SUBST(TINYCDB_LIB)
+# Initialize default GCC C++ and LD options.
+cxxflags=""
+ldflags="${LDFLAGS}"
+defaultlibs="${LIBS}"
# Configure TUSCANY_SCACPP path variable.
TUSCANY_SCACPP=`echo "${TUSCANY_SCACPP}"`
@@ -180,29 +60,6 @@ if test "${TUSCANY_SCACPP}" = ""; then
AC_SUBST([TUSCANY_SCACPP], ["${pwd}"])
fi
-# Initialize default GCC C++ and LD options.
-cxxflags=""
-ldflags="${LDFLAGS}"
-defaultlibs="${LIBS}"
-
-# Configure default includes.
-cxxflags="${cxxflags} ${INCLUDES} -I. -I${TUSCANY_SCACPP}/kernel -I${APR_INCLUDE} -I${LIBXML2_INCLUDE} -I${JS_INCLUDE} -I${LIBCURL_INCLUDE}"
-
-# Check for libraries required by all modules and add them to LD options.
-AC_MSG_NOTICE([checking for required libraries])
-LIBS="-L${APR_LIB} ${defaultlibs}"
-AC_CHECK_LIB([apr-1], [apr_pool_initialize], [AC_MSG_NOTICE([found])], [AC_MSG_ERROR([couldn't find a suitable libapr-1, use --with-apr=PATH])])
-ldflags="${ldflags} -ldl -L${APR_LIB} -R${APR_LIB} -lapr-1 -laprutil-1"
-
-# Check for libraries only required by some modules and add their search path to LD options.
-LIBS="-L${LIBCURL_LIB} ${defaultlibs}"
-AC_CHECK_LIB([curl], [curl_global_init], [], [AC_MSG_ERROR([couldn't find a suitable libcurl, use --with-libcurl=PATH])])
-LIBS="-L${JS_LIB} ${defaultlibs}"
-AC_CHECK_LIB([mozjs], [JS_NewContext], [], [AC_MSG_ERROR([couldn't find a suitable libmozjs, use --with-js-lib=PATH])])
-LIBS="-L${LIBXML2_LIB} ${defaultlibs}"
-AC_CHECK_LIB([xml2], [xmlInitParser], [], [AC_MSG_ERROR([couldn't find a suitable libxml2, use --with-libxml2=PATH])])
-ldflags="${ldflags} -L${LIBCURL_LIB} -R${LIBCURL_LIB} -L${JS_LIB} -R${JS_LIB} -L${LIBXML2_LIB} -R${LIBXML2_LIB}"
-
# Check for required header files.
AC_MSG_NOTICE([checking for header files])
AC_HEADER_DIRENT
@@ -220,6 +77,20 @@ AC_TYPE_SIZE_T
AC_MSG_NOTICE([checking for library functions])
AC_CHECK_FUNCS([gettimeofday select])
+# Check for running on Darwin.
+AC_MSG_CHECKING([if running on Darwin])
+UNAME=`uname -s`
+if test "${UNAME}" = "Darwin"; then
+ AC_DEFINE([IS_DARWIN], 1, [running on Darwin])
+ AC_MSG_RESULT(yes)
+ AC_SUBST([libsuffix],[".dylib"])
+ AM_CONDITIONAL([DARWIN], true)
+else
+ AC_MSG_RESULT(no)
+ AC_SUBST([libsuffix],[".so"])
+ AM_CONDITIONAL([DARWIN], false)
+fi
+
# Enable debugging and compile-time warnings.
AC_MSG_CHECKING([whether to compile with debugging and compile-time warnings])
AC_ARG_ENABLE(maintainer-mode, [AS_HELP_STRING([--enable-maintainer-mode], [compile with debugging and compile-time warnings [default=no]])],
@@ -317,26 +188,159 @@ else
AM_CONDITIONAL([WANT_DOXYGEN], false)
fi
-# Configure path to Python 2.6 includes and lib.
-AC_MSG_CHECKING([for python])
-AC_ARG_WITH([python], [AC_HELP_STRING([--with-python=PATH], [path to installed Python 2.6 [default=/usr]])], [
- PYTHON_PREFIX="${withval}"
- PYTHON_INCLUDE="${withval}/include"
- PYTHON_LIB="${withval}/lib"
+# Configure path to CURL.
+AC_MSG_CHECKING([for curl])
+AC_ARG_WITH([curl], [AC_HELP_STRING([--with-curl=PATH], [path to installed curl [default=/usr]])], [
+ CURL_PREFIX="${withval}"
+ LIBCURL_INCLUDE="${withval}/include"
+ LIBCURL_LIB="${withval}/lib"
+ AC_MSG_RESULT("${withval}")
+], [
+ CURL_PREFIX="/usr"
+ LIBCURL_INCLUDE="/usr/include"
+ LIBCURL_LIB="/usr/lib"
+ AC_MSG_RESULT(/usr)
+])
+AC_SUBST(CURL_PREFIX)
+AC_SUBST(LIBCURL_INCLUDE)
+AC_SUBST(LIBCURL_LIB)
+LIBS="-L${LIBCURL_LIB} ${defaultlibs}"
+AC_CHECK_LIB([curl], [curl_global_init], [], [AC_MSG_ERROR([couldn't find a suitable libcurl, use --with-libcurl=PATH])])
+
+# Configure path to libxml2 includes and lib.
+AC_MSG_CHECKING([for libxml2])
+AC_ARG_WITH([libxml2], [AC_HELP_STRING([--with-libxml2=PATH], [path to installed libxml2 [default=/usr]])], [
+ LIBXML2_INCLUDE="${withval}/include/libxml2"
+ LIBXML2_LIB="${withval}/lib"
+ AC_MSG_RESULT("${withval}")
+], [
+ LIBXML2_INCLUDE="/usr/include/libxml2"
+ LIBXML2_LIB="/usr/lib"
+ AC_MSG_RESULT(/usr)
+])
+AC_SUBST(LIBXML2_INCLUDE)
+AC_SUBST(LIBXML2_LIB)
+LIBS="-L${LIBXML2_LIB} ${defaultlibs}"
+AC_CHECK_LIB([xml2], [xmlInitParser], [], [AC_MSG_ERROR([couldn't find a suitable libxml2, use --with-libxml2=PATH])])
+
+# Configure path to libmozjs includes and lib.
+AC_MSG_CHECKING([for js-include])
+xulrunner=`ls /usr/include | grep "xulrunner" | tail -1`
+if test "$xulrunner" = ""; then
+ xulrunner="xulrunner-1.9.1.8"
+fi
+AC_ARG_WITH([js-include], [AC_HELP_STRING([--with-js-include=PATH], [path to installed SpiderMonkey include dir
+ [default=/usr/include/$xulrunner/unstable]])], [
+ JS_INCLUDE="${withval}"
+ AC_MSG_RESULT("${withval}")
+], [
+ JS_INCLUDE="/usr/include/$xulrunner/unstable"
+ AC_MSG_RESULT(/usr/include/$xulrunner/unstable)
+])
+AC_MSG_CHECKING([for js-lib])
+AC_ARG_WITH([js-lib], [AC_HELP_STRING([--with-js-lib=PATH], [path to installed SpiderMonkey lib dir [default=/usr/lib/$xulrunner]])], [
+ JS_LIB="${withval}"
+ AC_MSG_RESULT("${withval}")
+], [
+ JS_LIB="/usr/lib/$xulrunner"
+ AC_MSG_RESULT(/usr/lib/$xulrunner)
+])
+AC_SUBST(JS_INCLUDE)
+AC_SUBST(JS_LIB)
+LIBS="-L${JS_LIB} ${defaultlibs}"
+AC_CHECK_LIB([mozjs], [JS_NewContext], [], [AC_MSG_ERROR([couldn't find a suitable libmozjs, use --with-js-lib=PATH])])
+
+# Configure path to Apache APR and HTTPD includes and libs.
+AC_MSG_CHECKING([for apr])
+AC_ARG_WITH([apr], [AC_HELP_STRING([--with-apr=PATH], [path to installed Apache APR [default=/usr/apache2]])], [
+ APR_INCLUDE="${withval}/include"
+ APR_LIB="${withval}/lib"
AC_MSG_RESULT("${withval}")
], [
- PYTHON_PREFIX="/usr"
- PYTHON_INCLUDE="/usr/include"
- PYTHON_LIB="/usr/lib"
+ APR_INCLUDE="/usr/include/apr-1.0"
+ APR_LIB="/usr/lib"
AC_MSG_RESULT(/usr)
])
-AC_SUBST(PYTHON_PREFIX)
-AC_SUBST(PYTHON_INCLUDE)
-AC_SUBST(PYTHON_LIB)
+AC_SUBST(APR_INCLUDE)
+AC_SUBST(APR_LIB)
+LIBS="-L${APR_LIB} ${defaultlibs}"
+AC_CHECK_LIB([apr-1], [apr_pool_initialize], [], [AC_MSG_ERROR([couldn't find a suitable libapr-1, use --with-apr=PATH])])
+
+AC_MSG_CHECKING([for httpd])
+AC_ARG_WITH([httpd], [AC_HELP_STRING([--with-httpd=PATH], [path to installed Apache HTTPD [default=/usr]])], [
+ HTTPD_PREFIX="${withval}"
+ HTTPD_APACHECTL_PREFIX="${withval}/bin/apachectl"
+ HTTPD_MODULES_PREFIX="${withval}"
+ HTTPD_INCLUDE="${withval}/include"
+ AC_MSG_RESULT("${withval}")
+], [
+ HTTPD_PREFIX="/usr"
+ HTTPD_APACHECTL_PREFIX="/usr/sbin/apache2ctl"
+ HTTPD_MODULES_PREFIX="/usr/lib/apache2"
+ HTTPD_INCLUDE="/usr/include/apache2"
+ AC_MSG_RESULT(/usr)
+])
+AC_SUBST(HTTPD_PREFIX)
+AC_SUBST(HTTPD_APACHECTL_PREFIX)
+AC_SUBST(HTTPD_MODULES_PREFIX)
+AC_SUBST(HTTPD_INCLUDE)
+AC_MSG_CHECKING([for ${APACHECTL_PREFIX}])
+if test -x "${HTTPD_APACHECTL_PREFIX}"; then
+ AC_MSG_RESULT(found)
+else
+ AC_MSG_ERROR([couldn't find apachectl, use --with-httpd=PATH])
+fi
+AC_MSG_CHECKING([for ${HTTPD_PREFIX}/bin/htpasswd])
+if test -x "${HTTPD_PREFIX}/bin/htpasswd"; then
+ AC_MSG_RESULT(found)
+else
+ AC_MSG_ERROR([couldn't find htpasswd, use --with-httpd=PATH])
+fi
+
+# Configure path to memcached.
+AC_MSG_CHECKING([for memcached])
+AC_ARG_WITH([memcached], [AC_HELP_STRING([--with-memcached=PATH], [path to installed memcached [default=/usr]])], [
+ MEMCACHED_PREFIX="${withval}"
+ AC_MSG_RESULT("${withval}")
+], [
+ MEMCACHED_PREFIX="/usr"
+ AC_MSG_RESULT(/usr)
+])
+AC_SUBST(MEMCACHED_PREFIX)
+AC_MSG_CHECKING([for ${MEMCACHED_PREFIX}/bin/memcached])
+if test -x "${MEMCACHED_PREFIX}/bin/memcached"; then
+ AC_MSG_RESULT(found)
+else
+ AC_MSG_ERROR([couldn't find memcached, use --with-memcached=PATH])
+fi
+
+# Configure path to tinycdb.
+AC_MSG_CHECKING([for tinycdb])
+AC_ARG_WITH([tinycdb], [AC_HELP_STRING([--with-tinycdb=PATH], [path to installed tinycdb [default=/usr]])], [
+ TINYCDB_PREFIX="${withval}"
+ TINYCDB_INCLUDE="${withval}/include"
+ TINYCDB_LIB="${withval}/lib"
+ AC_MSG_RESULT("${withval}")
+], [
+ TINYCDB_PREFIX="/usr"
+ TINYCDB_INCLUDE="/usr/include"
+ TINYCDB_LIB="/usr/lib"
+ AC_MSG_RESULT(/usr)
+])
+AC_SUBST(TINYCDB_PREFIX)
+AC_SUBST(TINYCDB_INCLUDE)
+AC_SUBST(TINYCDB_LIB)
+LIBS="-L${TINYCDB_LIB} ${default_LIBS}"
+AC_CHECK_LIB([cdb], [cdb_make_start], [], [AC_MSG_ERROR([couldn't find a suitable libcdb, use --with-tinycdb=PATH])])
+
+# Configure default includes and ldflags
+cxxflags="${cxxflags} ${INCLUDES} -I. -I${TUSCANY_SCACPP}/kernel -I${APR_INCLUDE} -I${HTTPD_INCLUDE} -I${LIBXML2_INCLUDE} -I${JS_INCLUDE} -I${LIBCURL_INCLUDE}"
+ldflags="${ldflags} -ldl -L${APR_LIB} -R${APR_LIB} -lapr-1 -laprutil-1"
+ldflags="${ldflags} -L${LIBCURL_LIB} -R${LIBCURL_LIB} -L${JS_LIB} -R${JS_LIB} -L${LIBXML2_LIB} -R${LIBXML2_LIB}"
# Enable Python 2.6 support.
AC_MSG_CHECKING([whether to enable Python support])
-AC_ARG_ENABLE(python, [AS_HELP_STRING([--enable-python], [enable Python support [default=no]])],
+AC_ARG_ENABLE(python, [AS_HELP_STRING([--enable-python], [enable Python support [default=yes]])],
[ case "${enableval}" in
no)
AC_MSG_RESULT(no)
@@ -346,36 +350,38 @@ AC_ARG_ENABLE(python, [AS_HELP_STRING([--enable-python], [enable Python support
want_python=true
;;
esac ],
-[ AC_MSG_RESULT(no)])
+[
+ AC_MSG_RESULT(yes)
+ want_python=true
+])
if test "${want_python}" = "true"; then
+
+ # Configure path to Python 2.6 includes and lib.
+ AC_MSG_CHECKING([for python])
+ AC_ARG_WITH([python], [AC_HELP_STRING([--with-python=PATH], [path to installed Python 2.6 [default=/usr]])], [
+ PYTHON_PREFIX="${withval}"
+ PYTHON_INCLUDE="${withval}/include"
+ PYTHON_LIB="${withval}/lib"
+ AC_MSG_RESULT("${withval}")
+ ], [
+ PYTHON_PREFIX="/usr"
+ PYTHON_INCLUDE="/usr/include"
+ PYTHON_LIB="/usr/lib"
+ AC_MSG_RESULT(/usr)
+ ])
+ AC_SUBST(PYTHON_PREFIX)
+ AC_SUBST(PYTHON_INCLUDE)
+ AC_SUBST(PYTHON_LIB)
LIBS="-L${PYTHON_LIB} ${default_LIBS}"
AC_CHECK_LIB([python2.6], [Py_Initialize], [], [AC_MSG_ERROR([couldn't find a suitable libpython2.6, use --with-python=PATH])])
+
AM_CONDITIONAL([WANT_PYTHON], true)
AC_DEFINE([WANT_PYTHON], 1, [enable Python support])
+
else
AM_CONDITIONAL([WANT_PYTHON], false)
fi
-# Configure path to Java includes and lib.
-AC_MSG_CHECKING([for java])
-AC_ARG_WITH([java], [AC_HELP_STRING([--with-java=PATH], [path to installed Java [default=/usr/lib/jvm/default-java]])], [
- JAVA_PREFIX="${withval}"
- JAVA_INCLUDE="${withval}/include"
- JAVAC="${withval}/bin/javac"
- JAR="${withval}/bin/jar"
- AC_MSG_RESULT("${withval}")
-], [
- JAVA_PREFIX="/usr/lib/jvm/default-java"
- JAVA_INCLUDE="/usr/lib/jvm/default-java/include"
- JAVAC="/usr/lib/jvm/default-java/bin/javac"
- JAR="/usr/lib/jvm/default-java/bin/jar"
- AC_MSG_RESULT(/usr/lib/jvm/default-java)
-])
-AC_SUBST(JAVA_PREFIX)
-AC_SUBST(JAVA_INCLUDE)
-AC_SUBST(JAVAC)
-AC_SUBST(JAR)
-
# Enable Java support.
AC_MSG_CHECKING([whether to enable Java support])
AC_ARG_ENABLE(java, [AS_HELP_STRING([--enable-java], [enable Java support [default=no]])],
@@ -390,6 +396,27 @@ AC_ARG_ENABLE(java, [AS_HELP_STRING([--enable-java], [enable Java support [defau
esac ],
[ AC_MSG_RESULT(no)])
if test "${want_java}" = "true"; then
+
+ # Configure path to Java includes and lib.
+ AC_MSG_CHECKING([for java])
+ AC_ARG_WITH([java], [AC_HELP_STRING([--with-java=PATH], [path to installed Java [default=/usr/lib/jvm/default-java]])], [
+ JAVA_PREFIX="${withval}"
+ JAVA_INCLUDE="${withval}/include"
+ JAVAC="${withval}/bin/javac"
+ JAR="${withval}/bin/jar"
+ AC_MSG_RESULT("${withval}")
+ ], [
+ JAVA_PREFIX="/usr/lib/jvm/default-java"
+ JAVA_INCLUDE="/usr/lib/jvm/default-java/include"
+ JAVAC="/usr/lib/jvm/default-java/bin/javac"
+ JAR="/usr/lib/jvm/default-java/bin/jar"
+ AC_MSG_RESULT(/usr/lib/jvm/default-java)
+ ])
+ AC_SUBST(JAVA_PREFIX)
+ AC_SUBST(JAVA_INCLUDE)
+ AC_SUBST(JAVAC)
+ AC_SUBST(JAR)
+
# Detect most common Java VMs
if test -f "${JAVA_PREFIX}/jre/lib/i386/libjava.so"; then
if test -f "${JAVA_PREFIX}/jre/lib/i386/server/libjvm.so"; then
@@ -448,17 +475,6 @@ else
fi
AC_SUBST(JAVA_LDFLAGS)
-# Configure path to Google AppEngine SDK.
-AC_MSG_CHECKING([for gae])
-AC_ARG_WITH([gae], [AC_HELP_STRING([--with-gae=PATH], [path to installed Google AppEngine 1.3.2 [default=$HOME/google_appengine]])], [
- GAE_PREFIX="${withval}"
- AC_MSG_RESULT("${withval}")
-], [
- GAE_PREFIX="$HOME/google_appengine"
- AC_MSG_RESULT($HOME/google_appengine)
-])
-AC_SUBST(GAE_PREFIX)
-
# Enable support for Google AppEngine.
AC_MSG_CHECKING([whether to enable Google AppEngine support])
AC_ARG_ENABLE(gae, [AS_HELP_STRING([--enable-gae], [enable Google AppEngine support [default=no]])],
@@ -473,99 +489,97 @@ AC_ARG_ENABLE(gae, [AS_HELP_STRING([--enable-gae], [enable Google AppEngine supp
esac ],
[ AC_MSG_RESULT(no)])
if test "${want_gae}" = "true"; then
+
+ # Configure path to Google AppEngine SDK.
+ AC_MSG_CHECKING([for gae])
+ AC_ARG_WITH([gae], [AC_HELP_STRING([--with-gae=PATH], [path to installed Google AppEngine 1.3.2 [default=${HOME}/google_appengine]])], [
+ GAE_PREFIX="${withval}"
+ AC_MSG_RESULT("${withval}")
+ ], [
+ GAE_PREFIX="${HOME}/google_appengine"
+ AC_MSG_RESULT(${HOME}/google_appengine)
+ ])
+ AC_SUBST(GAE_PREFIX)
+
AM_CONDITIONAL([WANT_GAE], true)
AC_DEFINE([WANT_GAE], 1, [enable Google AppEngine support])
else
AM_CONDITIONAL([WANT_GAE], false)
fi
-# Configure path to Apache Libcloud.
-AC_MSG_CHECKING([for libcloud])
-AC_ARG_WITH([libcloud], [AC_HELP_STRING([--with-libcloud=PATH], [path to installed Apache Libcloud [default=/usr/local]])], [
- LIBCLOUD_LIB="${withval}/lib/python"
- AC_MSG_RESULT("${withval}")
-], [
- LIBCLOUD_LIB="/usr/local/lib/python2.6/site-packages"
- AC_MSG_RESULT(/usr/local)
-])
-AC_SUBST(LIBCLOUD_LIB)
-
-# Configure path to Apache Axis2C includes and lib.
-AC_MSG_CHECKING([for axis2c])
-AC_ARG_WITH([axis2c], [AC_HELP_STRING([--with-axis2c=PATH], [path to installed Apache Axis2C [default=/usr/local/axis2c]])], [
- AXIS2C_PREFIX="${withval}"
- AXIS2C_INCLUDE="${withval}/include/axis2-1.6.0"
- AXIS2C_LIB="${withval}/lib"
- AC_MSG_RESULT("${withval}")
-], [
- AXIS2C_PREFIX="/usr/local/axis2c"
- AXIS2C_INCLUDE="/usr/local/axis2c/include/axis2-1.6.0"
- AXIS2C_LIB="/usr/local/axis2c/lib"
- AC_MSG_RESULT(/usr/local/axis2c)
-])
-AC_SUBST(AXIS2C_PREFIX)
-AC_SUBST(AXIS2C_INCLUDE)
-AC_SUBST(AXIS2C_LIB)
-
-# Enable Web service component.
-AC_MSG_CHECKING([whether to enable the Web service component])
-AC_ARG_ENABLE(webservice, [AS_HELP_STRING([--enable-webservice], [enable Web service component [default=no]])],
+# Enable support for Libcloud.
+AC_MSG_CHECKING([whether to enable libcloud support])
+AC_ARG_ENABLE(libcloud, [AS_HELP_STRING([--enable-libcloud], [enable libcloud support [default=no]])],
[ case "${enableval}" in
no)
AC_MSG_RESULT(no)
;;
*)
AC_MSG_RESULT(yes)
- want_webservice=true
+ want_libcloud=true
;;
esac ],
[ AC_MSG_RESULT(no)])
-if test "${want_webservice}" = "true"; then
- LIBS="-L${AXIS2C_LIB} ${default_LIBS}"
- AC_CHECK_LIB([axis2_engine], [axis2_svc_client_create], [], [AC_MSG_ERROR([couldn't find a suitable libaxis2_engine, use --with-axis2c=PATH])])
- AM_CONDITIONAL([WANT_WEBSERVICE], true)
- AC_DEFINE([WANT_WEBSERVICE], 1, [enable Web service component])
+if test "${want_libcloud}" = "true"; then
+
+ # Configure path to Apache Libcloud.
+ AC_MSG_CHECKING([for libcloud])
+ AC_ARG_WITH([libcloud], [AC_HELP_STRING([--with-libcloud=PATH], [path to installed Apache libcloud [default=/usr/local]])], [
+ LIBCLOUD_LIB="${withval}/lib/python"
+ AC_MSG_RESULT("${withval}")
+ ], [
+ LIBCLOUD_LIB="/usr/local/lib/python2.6/site-packages"
+ AC_MSG_RESULT(/usr/local)
+ ])
+ AC_SUBST(LIBCLOUD_LIB)
+
+ AM_CONDITIONAL([WANT_LIBCLOUD], true)
+ AC_DEFINE([WANT_LIBCLOUD], 1, [enable libcloud support])
else
- AM_CONDITIONAL([WANT_WEBSERVICE], false)
+ AM_CONDITIONAL([WANT_LIBCLOUD], false)
fi
-# Enable NoSQL database component.
-AC_MSG_CHECKING([whether to enable the NoSQL database component])
-AC_ARG_ENABLE(nosqldb, [AS_HELP_STRING([--enable-nosqldb], [enable NoSQL database component [default=no]])],
+# Enable Web service component.
+AC_MSG_CHECKING([whether to enable the Web service component])
+AC_ARG_ENABLE(webservice, [AS_HELP_STRING([--enable-webservice], [enable Web service component [default=no]])],
[ case "${enableval}" in
no)
AC_MSG_RESULT(no)
;;
*)
AC_MSG_RESULT(yes)
- want_nosqldb=true
+ want_webservice=true
;;
esac ],
[ AC_MSG_RESULT(no)])
-if test "${want_nosqldb}" = "true"; then
- AM_CONDITIONAL([WANT_NOSQLDB], true)
- AC_DEFINE([WANT_NOSQLDB], 1, [enable NoSQL database component])
+if test "${want_webservice}" = "true"; then
+
+ # Configure path to Apache Axis2C includes and lib.
+ AC_MSG_CHECKING([for axis2c])
+ AC_ARG_WITH([axis2c], [AC_HELP_STRING([--with-axis2c=PATH], [path to installed Apache Axis2C [default=/usr/local/axis2c]])], [
+ AXIS2C_PREFIX="${withval}"
+ AXIS2C_INCLUDE="${withval}/include/axis2-1.6.0"
+ AXIS2C_LIB="${withval}/lib"
+ AC_MSG_RESULT("${withval}")
+ ], [
+ AXIS2C_PREFIX="/usr/local/axis2c"
+ AXIS2C_INCLUDE="/usr/local/axis2c/include/axis2-1.6.0"
+ AXIS2C_LIB="/usr/local/axis2c/lib"
+ AC_MSG_RESULT(/usr/local/axis2c)
+ ])
+ AC_SUBST(AXIS2C_PREFIX)
+ AC_SUBST(AXIS2C_INCLUDE)
+ AC_SUBST(AXIS2C_LIB)
+ LIBS="-L${AXIS2C_LIB} ${default_LIBS}"
+ AC_CHECK_LIB([axis2_engine], [axis2_svc_client_create], [], [AC_MSG_ERROR([couldn't find a suitable libaxis2_engine, use --with-axis2c=PATH])])
+
+ AM_CONDITIONAL([WANT_WEBSERVICE], true)
+ AC_DEFINE([WANT_WEBSERVICE], 1, [enable Web service component])
+
else
- AM_CONDITIONAL([WANT_NOSQLDB], false)
+ AM_CONDITIONAL([WANT_WEBSERVICE], false)
fi
-# Configure path to PostgreSQL.
-AC_MSG_CHECKING([for pgsql])
-AC_ARG_WITH([pgsql], [AC_HELP_STRING([--with-pgsql=PATH], [path to installed PostgreSQL [default=/usr/local/pgsql]])], [
- PGSQL_PREFIX="${withval}"
- PGSQL_INCLUDE="${withval}/include"
- PGSQL_LIB="${withval}/lib"
- AC_MSG_RESULT("${withval}")
-], [
- PGSQL_PREFIX="/usr/local/pgsql"
- PGSQL_INCLUDE="/usr/local/pgsql/include"
- PGSQL_LIB="/usr/local/pgsql/lib"
- AC_MSG_RESULT(/usr/local)
-])
-AC_SUBST(PGSQL_PREFIX)
-AC_SUBST(PGSQL_INCLUDE)
-AC_SUBST(PGSQL_LIB)
-
# Enable SQL Database component.
AC_MSG_CHECKING([whether to enable the SQL Database component])
AC_ARG_ENABLE(sqldb, [AS_HELP_STRING([--enable-sqldb], [enable SQL Database component [default=no]])],
@@ -580,29 +594,30 @@ AC_ARG_ENABLE(sqldb, [AS_HELP_STRING([--enable-sqldb], [enable SQL Database comp
esac ],
[ AC_MSG_RESULT(no)])
if test "${want_sqldb}" = "true"; then
+
+ # Configure path to PostgreSQL.
+ AC_MSG_CHECKING([for pgsql])
+ AC_ARG_WITH([pgsql], [AC_HELP_STRING([--with-pgsql=PATH], [path to installed PostgreSQL [default=/usr/local/pgsql]])], [
+ PGSQL_PREFIX="${withval}"
+ PGSQL_INCLUDE="${withval}/include"
+ PGSQL_LIB="${withval}/lib"
+ AC_MSG_RESULT("${withval}")
+ ], [
+ PGSQL_PREFIX="/usr/local/pgsql"
+ PGSQL_INCLUDE="/usr/local/pgsql/include"
+ PGSQL_LIB="/usr/local/pgsql/lib"
+ AC_MSG_RESULT(/usr/local)
+ ])
+ AC_SUBST(PGSQL_PREFIX)
+ AC_SUBST(PGSQL_INCLUDE)
+ AC_SUBST(PGSQL_LIB)
+
AM_CONDITIONAL([WANT_SQLDB], true)
AC_DEFINE([WANT_SQLDB], 1, [enable SQL Database component])
else
AM_CONDITIONAL([WANT_SQLDB], false)
fi
-# Configure path to Apache Qpid/C++.
-AC_MSG_CHECKING([for qpidc])
-AC_ARG_WITH([qpidc], [AC_HELP_STRING([--with-qpidc=PATH], [path to installed Apache Qpid/C++ [default=/usr/local]])], [
- QPIDC_PREFIX="${withval}"
- QPIDC_INCLUDE="${withval}/include"
- QPIDC_LIB="${withval}/lib"
- AC_MSG_RESULT("${withval}")
-], [
- QPIDC_PREFIX="/usr/local"
- QPIDC_INCLUDE="/usr/local/include"
- QPIDC_LIB="/usr/local/lib"
- AC_MSG_RESULT(/usr/local)
-])
-AC_SUBST(QPIDC_PREFIX)
-AC_SUBST(QPIDC_INCLUDE)
-AC_SUBST(QPIDC_LIB)
-
# Enable Queue component.
AC_MSG_CHECKING([whether to enable the Queue component])
AC_ARG_ENABLE(queue, [AS_HELP_STRING([--enable-queue], [enable Queue component [default=no]])],
@@ -617,42 +632,36 @@ AC_ARG_ENABLE(queue, [AS_HELP_STRING([--enable-queue], [enable Queue component [
esac ],
[ AC_MSG_RESULT(no)])
if test "${want_queue}" = "true"; then
+
+ # Configure path to Apache Qpid/C++.
+ AC_MSG_CHECKING([for qpidc])
+ AC_ARG_WITH([qpidc], [AC_HELP_STRING([--with-qpidc=PATH], [path to installed Apache Qpid/C++ [default=/usr/local]])], [
+ QPIDC_PREFIX="${withval}"
+ QPIDC_INCLUDE="${withval}/include"
+ QPIDC_LIB="${withval}/lib"
+ AC_MSG_RESULT("${withval}")
+ ], [
+ QPIDC_PREFIX="/usr/local"
+ QPIDC_INCLUDE="/usr/local/include"
+ QPIDC_LIB="/usr/local/lib"
+ AC_MSG_RESULT(/usr/local)
+ ])
+ AC_SUBST(QPIDC_PREFIX)
+ AC_SUBST(QPIDC_INCLUDE)
+ AC_SUBST(QPIDC_LIB)
+
if test "${want_threads}" != "true"; then
AC_MSG_ERROR([--enable-queue requires multi-threading, use --enable-threads])
fi
LIBS="-L${QPIDC_LIB} ${default_LIBS}"
AC_CHECK_LIB([qpidclient], [_init], [], [AC_MSG_ERROR([couldn't find a suitable libqpidclient, use --with-qpidc=PATH])])
+
AM_CONDITIONAL([WANT_QUEUE], true)
AC_DEFINE([WANT_QUEUE], 1, [enable Queue component])
else
AM_CONDITIONAL([WANT_QUEUE], false)
fi
-# Configure path to Libstrophe includes and lib.
-AC_MSG_CHECKING([for libstrophe])
-AC_ARG_WITH([libstrophe], [AC_HELP_STRING([--with-libstrophe=PATH], [path to libstrophe [default=${HOME}/libstrophe-bin]])], [
- LIBSTROPHE_INCLUDE="${withval}/include"
- LIBSTROPHE_LIB="${withval}/lib"
- AC_MSG_RESULT("${withval}")
-], [
- LIBSTROPHE_INCLUDE="${HOME}/libstrophe-bin/include"
- LIBSTROPHE_LIB="${HOME}/libstrophe-bin/lib"
- AC_MSG_RESULT(${HOME}/libstrophe-bin)
-])
-AC_SUBST(LIBSTROPHE_INCLUDE)
-AC_SUBST(LIBSTROPHE_LIB)
-
-# Configure path to Vysper
-AC_MSG_CHECKING([for vysper])
-AC_ARG_WITH([vysper], [AC_HELP_STRING([--with-vysper=PATH], [path to Apache Vysper [default=${HOME}/vysper-1.0.0]])], [
- VYSPER_PREFIX="${withval}"
- AC_MSG_RESULT("${withval}")
-], [
- VYSPER_PREFIX="${HOME}/vysper-1.0.0"
- AC_MSG_RESULT(${HOME}/vysper-1.0.0)
-])
-AC_SUBST(VYSPER_PREFIX)
-
# Enable Chat component.
AC_MSG_CHECKING([whether to enable the Chat component])
AC_ARG_ENABLE(chat, [AS_HELP_STRING([--enable-chat], [enable Chat component [default=no]])],
@@ -667,69 +676,51 @@ AC_ARG_ENABLE(chat, [AS_HELP_STRING([--enable-chat], [enable Chat component [def
esac ],
[ AC_MSG_RESULT(no)])
if test "${want_chat}" = "true"; then
+
+ # Configure path to Libstrophe includes and lib.
+ AC_MSG_CHECKING([for libstrophe])
+ AC_ARG_WITH([libstrophe], [AC_HELP_STRING([--with-libstrophe=PATH], [path to libstrophe [default=${HOME}/libstrophe-bin]])], [
+ LIBSTROPHE_INCLUDE="${withval}/include"
+ LIBSTROPHE_LIB="${withval}/lib"
+ AC_MSG_RESULT("${withval}")
+ ], [
+ LIBSTROPHE_INCLUDE="${HOME}/libstrophe-bin/include"
+ LIBSTROPHE_LIB="${HOME}/libstrophe-bin/lib"
+ AC_MSG_RESULT(${HOME}/libstrophe-bin)
+ ])
+ AC_SUBST(LIBSTROPHE_INCLUDE)
+ AC_SUBST(LIBSTROPHE_LIB)
if test "${want_threads}" != "true"; then
AC_MSG_ERROR([--enable-chat requires multi-threading, use --enable-threads])
fi
LIBS="-L${LIBSTROPHE_LIB} ${default_LIBS}"
AC_CHECK_LIB([strophe], [xmpp_initialize], [], [AC_MSG_ERROR([couldn't find a suitable libstrophe, use --with-libstrophe=PATH])], [-lssl -lresolv])
- AM_CONDITIONAL([WANT_CHAT], true)
- AC_DEFINE([WANT_CHAT], 1, [enable Chat component])
-
- # Check for Vysper
+
+ # Configure path to Vysper
+ AC_MSG_CHECKING([for vysper])
+ AC_ARG_WITH([vysper], [AC_HELP_STRING([--with-vysper=PATH], [path to Apache Vysper [default=${HOME}/vysper-1.0.0]])], [
+ VYSPER_PREFIX="${withval}"
+ AC_MSG_RESULT("${withval}")
+ ], [
+ VYSPER_PREFIX="${HOME}/vysper-1.0.0"
+ AC_MSG_RESULT(${HOME}/vysper-1.0.0)
+ ])
+ AC_SUBST(VYSPER_PREFIX)
AC_CHECK_FILE([${VYSPER_PREFIX}/lib/vysper-core-0.5.jar], [want_vysper=true], [])
if test "${want_vysper}" = "true"; then
AM_CONDITIONAL([WANT_VYSPER], true)
else
AM_CONDITIONAL([WANT_VYSPER], false)
fi
+
+ AM_CONDITIONAL([WANT_CHAT], true)
+ AC_DEFINE([WANT_CHAT], 1, [enable Chat component])
+
else
AM_CONDITIONAL([WANT_CHAT], false)
AM_CONDITIONAL([WANT_VYSPER], false)
fi
-# Configure path to Apache Thrift (and Facebook fb303).
-AC_MSG_CHECKING([for thrift])
-AC_ARG_WITH([thrift], [AC_HELP_STRING([--with-thrift=PATH], [path to installed Apache Thrift [default=/usr/local]])], [
- THRIFT_PREFIX="${withval}"
- THRIFT_INCLUDE="${withval}/include/thrift"
- THRIFT_LIB="${withval}/lib"
- FB303_PREFIX="${withval}/contrib/fb303"
- FB303_INCLUDE="${withval}/contrib/fb303/include/thrift"
- FB303_LIB="${withval}/contrib/fb303/lib"
- AC_MSG_RESULT("${withval}")
-], [
- THRIFT_PREFIX="/usr/local"
- THRIFT_INCLUDE="/usr/local/include"
- THRIFT_LIB="/usr/local/lib"
- FB303_PREFIX="/usr/local"
- FB303_INCLUDE="/usr/local/include"
- FB303_LIB="/usr/local/lib"
- AC_MSG_RESULT(/usr/local)
-])
-AC_SUBST(THRIFT_PREFIX)
-AC_SUBST(THRIFT_INCLUDE)
-AC_SUBST(THRIFT_LIB)
-AC_SUBST(FB303_PREFIX)
-AC_SUBST(FB303_INCLUDE)
-AC_SUBST(FB303_LIB)
-
-# Configure path to Facebook Scribe.
-AC_MSG_CHECKING([for scribe])
-AC_ARG_WITH([scribe], [AC_HELP_STRING([--with-scribe=PATH], [path to installed Facebook Scribe [default=/usr/local]])], [
- SCRIBE_PREFIX="${withval}"
- SCRIBE_INCLUDE="${withval}/include"
- SCRIBE_LIB="${withval}/lib"
- AC_MSG_RESULT("${withval}")
-], [
- SCRIBE_PREFIX="/usr/local"
- SCRIBE_INCLUDE="/usr/local/include"
- SCRIBE_LIB="/usr/local/lib"
- AC_MSG_RESULT(/usr/local)
-])
-AC_SUBST(SCRIBE_PREFIX)
-AC_SUBST(SCRIBE_INCLUDE)
-AC_SUBST(SCRIBE_LIB)
-
# Enable Log component.
AC_MSG_CHECKING([whether to enable the Log component])
AC_ARG_ENABLE(log, [AS_HELP_STRING([--enable-log], [enable Log component [default=no]])],
@@ -744,10 +735,55 @@ AC_ARG_ENABLE(log, [AS_HELP_STRING([--enable-log], [enable Log component [defaul
esac ],
[ AC_MSG_RESULT(no)])
if test "${want_log}" = "true"; then
+
+ # Configure path to Apache Thrift (and Facebook fb303).
+ AC_MSG_CHECKING([for thrift])
+ AC_ARG_WITH([thrift], [AC_HELP_STRING([--with-thrift=PATH], [path to installed Apache Thrift [default=/usr/local]])], [
+ THRIFT_PREFIX="${withval}"
+ THRIFT_INCLUDE="${withval}/include/thrift"
+ THRIFT_LIB="${withval}/lib"
+ FB303_PREFIX="${withval}/contrib/fb303"
+ FB303_INCLUDE="${withval}/contrib/fb303/include/thrift"
+ FB303_LIB="${withval}/contrib/fb303/lib"
+ AC_MSG_RESULT("${withval}")
+ ], [
+ THRIFT_PREFIX="/usr/local"
+ THRIFT_INCLUDE="/usr/local/include"
+ THRIFT_LIB="/usr/local/lib"
+ FB303_PREFIX="/usr/local"
+ FB303_INCLUDE="/usr/local/include"
+ FB303_LIB="/usr/local/lib"
+ AC_MSG_RESULT(/usr/local)
+ ])
+ AC_SUBST(THRIFT_PREFIX)
+ AC_SUBST(THRIFT_INCLUDE)
+ AC_SUBST(THRIFT_LIB)
+ AC_SUBST(FB303_PREFIX)
+ AC_SUBST(FB303_INCLUDE)
+ AC_SUBST(FB303_LIB)
+
+ # Configure path to Facebook Scribe.
+ AC_MSG_CHECKING([for scribe])
+ AC_ARG_WITH([scribe], [AC_HELP_STRING([--with-scribe=PATH], [path to installed Facebook Scribe [default=/usr/local]])], [
+ SCRIBE_PREFIX="${withval}"
+ SCRIBE_INCLUDE="${withval}/include"
+ SCRIBE_LIB="${withval}/lib"
+ AC_MSG_RESULT("${withval}")
+ ], [
+ SCRIBE_PREFIX="/usr/local"
+ SCRIBE_INCLUDE="/usr/local/include"
+ SCRIBE_LIB="/usr/local/lib"
+ AC_MSG_RESULT(/usr/local)
+ ])
+ AC_SUBST(SCRIBE_PREFIX)
+ AC_SUBST(SCRIBE_INCLUDE)
+ AC_SUBST(SCRIBE_LIB)
+
LIBS="-L${THRIFT_LIB} -L${FB303_LIB} -L${SCRIBE_LIB} ${default_LIBS}"
AC_CHECK_LIB([thrift], [_init], [], [AC_MSG_ERROR([couldn't find a suitable libthrift, use --with-thrift=PATH])])
AC_CHECK_LIB([fb303], [_init], [], [AC_MSG_ERROR([couldn't find a suitable libfb303, use --with-thrift=PATH])])
AC_CHECK_LIB([scribe], [_init], [], [AC_MSG_ERROR([couldn't find a suitable libscribe, use --with-scribe=PATH])])
+
AM_CONDITIONAL([WANT_LOG], true)
AC_DEFINE([WANT_LOG], 1, [enable Log component])
else
diff --git a/sca-cpp/trunk/kernel/kernel-test.cpp b/sca-cpp/trunk/kernel/kernel-test.cpp
index 177e2904ce..0096a9d6e3 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("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/modules/Makefile.am b/sca-cpp/trunk/modules/Makefile.am
index 9c47fd9fd8..2c74b1dbad 100644
--- a/sca-cpp/trunk/modules/Makefile.am
+++ b/sca-cpp/trunk/modules/Makefile.am
@@ -17,6 +17,3 @@
SUBDIRS = scheme atom rss json scdl http rss server python wsgi java
-includedir = $(prefix)/include/modules
-nobase_include_HEADERS = */*.hpp
-
diff --git a/sca-cpp/trunk/modules/atom/Makefile.am b/sca-cpp/trunk/modules/atom/Makefile.am
index 6eccee83c7..9a628ca969 100644
--- a/sca-cpp/trunk/modules/atom/Makefile.am
+++ b/sca-cpp/trunk/modules/atom/Makefile.am
@@ -15,6 +15,9 @@
# specific language governing permissions and limitations
# under the License.
+incl_HEADERS = *.hpp
+incldir = $(prefix)/include/modules/atom
+
atom_test_SOURCES = atom-test.cpp
atom_test_LDFLAGS = -lxml2
diff --git a/sca-cpp/trunk/modules/http/Makefile.am b/sca-cpp/trunk/modules/http/Makefile.am
index 224fcc1557..795137b6ca 100644
--- a/sca-cpp/trunk/modules/http/Makefile.am
+++ b/sca-cpp/trunk/modules/http/Makefile.am
@@ -17,6 +17,9 @@
INCLUDES = -I${HTTPD_INCLUDE}
+incl_HEADERS = *.hpp
+incldir = $(prefix)/include/modules/http
+
dist_mod_SCRIPTS = httpd-conf httpd-start httpd-stop httpd-restart httpd-ca-conf httpd-cert-conf httpd-ssl-conf
moddir=$(prefix)/modules/http
@@ -26,16 +29,21 @@ curl_test_LDFLAGS = -lxml2 -lcurl -lmozjs
curl_get_SOURCES = curl-get.cpp
curl_get_LDFLAGS = -lxml2 -lcurl -lmozjs
-mod_DATA = httpd.prefix curl.prefix
+mod_DATA = httpd.prefix httpd-apachectl.prefix httpd-modules.prefix curl.prefix
nobase_dist_mod_DATA = conf/*
EXTRA_DIST = htdocs/index.html
httpd.prefix: $(top_builddir)/config.status
echo ${HTTPD_PREFIX} >httpd.prefix
+httpd-apachectl.prefix: $(top_builddir)/config.status
+ echo ${HTTPD_APACHECTL_PREFIX} >httpd-apachectl.prefix
+httpd-modules.prefix: $(top_builddir)/config.status
+ echo ${HTTPD_MODULES_PREFIX} >httpd-modules.prefix
curl.prefix: $(top_builddir)/config.status
echo ${CURL_PREFIX} >curl.prefix
dist_noinst_SCRIPTS = httpd-test http-test
noinst_PROGRAMS = curl-test curl-get
TESTS = httpd-test http-test
+
diff --git a/sca-cpp/trunk/modules/http/curl.hpp b/sca-cpp/trunk/modules/http/curl.hpp
index 3d11ac56b1..61f40eb475 100644
--- a/sca-cpp/trunk/modules/http/curl.hpp
+++ b/sca-cpp/trunk/modules/http/curl.hpp
@@ -26,6 +26,7 @@
* CURL HTTP client functions.
*/
+#include <unistd.h>
#include <curl/curl.h>
#include <curl/types.h>
#include <curl/easy.h>
diff --git a/sca-cpp/trunk/modules/http/httpd-conf b/sca-cpp/trunk/modules/http/httpd-conf
index fa3ce09fc9..f720f40abd 100755
--- a/sca-cpp/trunk/modules/http/httpd-conf
+++ b/sca-cpp/trunk/modules/http/httpd-conf
@@ -25,6 +25,7 @@ port=$3
htdocs=`readlink -f $4`
user=`id -un`
group=`id -gn`
+modules_prefix=`cat $here/httpd-modules.prefix`
mkdir -p $root
mkdir -p $root/logs
@@ -34,6 +35,31 @@ cat >$root/conf/httpd.conf <<EOF
# Set server name
ServerName $host
+PidFile $root/logs/httpd.pid
+
+# Minimal set of modules
+LoadModule authn_file_module ${modules_prefix}/modules/mod_authn_file.so
+LoadModule authn_default_module ${modules_prefix}/modules/mod_authn_default.so
+LoadModule authz_host_module ${modules_prefix}/modules/mod_authz_host.so
+LoadModule authz_groupfile_module ${modules_prefix}/modules/mod_authz_groupfile.so
+LoadModule authz_user_module ${modules_prefix}/modules/mod_authz_user.so
+LoadModule authz_default_module ${modules_prefix}/modules/mod_authz_default.so
+LoadModule auth_basic_module ${modules_prefix}/modules/mod_auth_basic.so
+LoadModule filter_module ${modules_prefix}/modules/mod_filter.so
+LoadModule proxy_module ${modules_prefix}/modules/mod_proxy.so
+LoadModule proxy_connect_module ${modules_prefix}/modules/mod_proxy_connect.so
+LoadModule proxy_http_module ${modules_prefix}/modules/mod_proxy_http.so
+LoadModule proxy_balancer_module ${modules_prefix}/modules/mod_proxy_balancer.so
+LoadModule ssl_module ${modules_prefix}/modules/mod_ssl.so
+LoadModule mime_module ${modules_prefix}/modules/mod_mime.so
+LoadModule status_module ${modules_prefix}/modules/mod_status.so
+LoadModule asis_module ${modules_prefix}/modules/mod_asis.so
+LoadModule negotiation_module ${modules_prefix}/modules/mod_negotiation.so
+LoadModule dir_module ${modules_prefix}/modules/mod_dir.so
+LoadModule rewrite_module ${modules_prefix}/modules/mod_rewrite.so
+<IfModule !log_config_module>
+LoadModule log_config_module ${modules_prefix}/modules/mod_log_config.so
+</IfModule>
# Basic security precautions
User $user
diff --git a/sca-cpp/trunk/modules/http/httpd-restart b/sca-cpp/trunk/modules/http/httpd-restart
index 92f27eb0df..3e3b687f98 100755
--- a/sca-cpp/trunk/modules/http/httpd-restart
+++ b/sca-cpp/trunk/modules/http/httpd-restart
@@ -21,5 +21,5 @@
here=`readlink -f $0`; here=`dirname $here`
root=`readlink -f $1`
-httpd_prefix=`cat $here/httpd.prefix`
-$httpd_prefix/bin/apachectl -k graceful -d $root
+apachectl=`cat $here/httpd-apachectl.prefix`
+$apachectl -k graceful -d $root -f $root/conf/httpd.conf
diff --git a/sca-cpp/trunk/modules/http/httpd-start b/sca-cpp/trunk/modules/http/httpd-start
index 91fc5284af..5c006d1b54 100755
--- a/sca-cpp/trunk/modules/http/httpd-start
+++ b/sca-cpp/trunk/modules/http/httpd-start
@@ -21,5 +21,5 @@
here=`readlink -f $0`; here=`dirname $here`
root=`readlink -f $1`
-httpd_prefix=`cat $here/httpd.prefix`
-$httpd_prefix/bin/apachectl -E $root/logs/error_log -k start -d $root
+apachectl=`cat $here/httpd-apachectl.prefix`
+$apachectl -E $root/logs/error_log -k start -d $root -f $root/conf/httpd.conf
diff --git a/sca-cpp/trunk/modules/http/httpd-stop b/sca-cpp/trunk/modules/http/httpd-stop
index 7f4fe94629..09ac5d035f 100755
--- a/sca-cpp/trunk/modules/http/httpd-stop
+++ b/sca-cpp/trunk/modules/http/httpd-stop
@@ -21,5 +21,5 @@
here=`readlink -f $0`; here=`dirname $here`
root=`readlink -f $1`
-httpd_prefix=`cat $here/httpd.prefix`
-$httpd_prefix/bin/apachectl -k graceful-stop -d $root
+apachectl=`cat $here/httpd-apachectl.prefix`
+$apachectl -k graceful-stop -d $root -f $root/conf/httpd.conf
diff --git a/sca-cpp/trunk/modules/java/Makefile.am b/sca-cpp/trunk/modules/java/Makefile.am
index 0369121b73..39b7ad550a 100644
--- a/sca-cpp/trunk/modules/java/Makefile.am
+++ b/sca-cpp/trunk/modules/java/Makefile.am
@@ -16,12 +16,14 @@
# under the License.
JAVAROOT = $(top_builddir)/modules/java
-libdir = $(prefix)/modules/java
if WANT_JAVA
INCLUDES = -I${JAVA_INCLUDE}
+incl_HEADERS = *.hpp
+incldir = $(prefix)/include/modules/java
+
dist_mod_SCRIPTS = java-conf
moddir = $(prefix)/modules/java
@@ -32,7 +34,7 @@ java.prefix: $(top_builddir)/config.status
EXTRA_DIST = domain-test.composite
-lib_LTLIBRARIES = libmod_tuscany_java.la
+mod_LTLIBRARIES = libmod_tuscany_java.la
libmod_tuscany_java_la_SOURCES = mod-java.cpp
libmod_tuscany_java_la_LDFLAGS = -lxml2 -lcurl -lmozjs ${JAVA_LDFLAGS}
noinst_DATA = libmod_tuscany_java.so
@@ -48,14 +50,14 @@ java_test_LDFLAGS = ${JAVA_LDFLAGS}
java_shell_SOURCES = java-shell.cpp
java_shell_LDFLAGS = ${JAVA_LDFLAGS}
-dist_noinst_JAVA = org/apache/tuscany/*.java test/*.java
+dist_mod_JAVA = org/apache/tuscany/*.java test/*.java
jardir = ${prefix}/modules/java
jarfile = libmod-tuscany-java-${PACKAGE_VERSION}.jar
jar_DATA = ${jarfile}
-${jarfile}: ${noinst_JAVA}
+${jarfile}: ${dist_mod_JAVA}
${JAR} cf $@ org/apache/tuscany/*.class
-CLEANFILES = classnoinst.stamp ${jarfile} org/apache/tuscany/*.class test/*.class
+CLEANFILES = *.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/json/Makefile.am b/sca-cpp/trunk/modules/json/Makefile.am
index fd00ebb4af..7b5b3878db 100644
--- a/sca-cpp/trunk/modules/json/Makefile.am
+++ b/sca-cpp/trunk/modules/json/Makefile.am
@@ -15,6 +15,9 @@
# specific language governing permissions and limitations
# under the License.
+incl_HEADERS = *.hpp
+incldir = $(prefix)/include/modules/json
+
json_test_SOURCES = json-test.cpp
json_test_LDFLAGS = -lmozjs
diff --git a/sca-cpp/trunk/modules/python/Makefile.am b/sca-cpp/trunk/modules/python/Makefile.am
index f8b200d96a..2f56b9a1db 100644
--- a/sca-cpp/trunk/modules/python/Makefile.am
+++ b/sca-cpp/trunk/modules/python/Makefile.am
@@ -15,12 +15,14 @@
# specific language governing permissions and limitations
# under the License.
-libdir = $(prefix)/modules/python
if WANT_PYTHON
INCLUDES = -I${PYTHON_INCLUDE}
+incl_HEADERS = *.hpp
+incldir = $(prefix)/include/modules/python
+
dist_mod_SCRIPTS = python-conf
moddir = $(prefix)/modules/python
@@ -31,7 +33,7 @@ python.prefix: $(top_builddir)/config.status
EXTRA_DIST = domain-test.composite client-test.py server-test.py
-lib_LTLIBRARIES = libmod_tuscany_python.la
+mod_LTLIBRARIES = libmod_tuscany_python.la
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
diff --git a/sca-cpp/trunk/modules/rss/Makefile.am b/sca-cpp/trunk/modules/rss/Makefile.am
index 5254eacb25..06a67f3c3f 100644
--- a/sca-cpp/trunk/modules/rss/Makefile.am
+++ b/sca-cpp/trunk/modules/rss/Makefile.am
@@ -15,6 +15,9 @@
# specific language governing permissions and limitations
# under the License.
+incl_HEADERS = *.hpp
+incldir = $(prefix)/include/modules/rss
+
rss_test_SOURCES = rss-test.cpp
rss_test_LDFLAGS = -lxml2
diff --git a/sca-cpp/trunk/modules/scdl/Makefile.am b/sca-cpp/trunk/modules/scdl/Makefile.am
index bbd9c1500b..09cbd35ec0 100644
--- a/sca-cpp/trunk/modules/scdl/Makefile.am
+++ b/sca-cpp/trunk/modules/scdl/Makefile.am
@@ -15,6 +15,9 @@
# specific language governing permissions and limitations
# under the License.
+incl_HEADERS = *.hpp
+incldir = $(prefix)/include/modules/scdl
+
scdl_test_SOURCES = scdl-test.cpp
scdl_test_LDFLAGS = -lxml2
diff --git a/sca-cpp/trunk/modules/scheme/Makefile.am b/sca-cpp/trunk/modules/scheme/Makefile.am
index 40a6ba930f..c2a32af923 100644
--- a/sca-cpp/trunk/modules/scheme/Makefile.am
+++ b/sca-cpp/trunk/modules/scheme/Makefile.am
@@ -15,6 +15,9 @@
# specific language governing permissions and limitations
# under the License.
+incl_HEADERS = *.hpp
+incldir = $(prefix)/include/modules/scheme
+
eval_test_SOURCES = eval-test.cpp
eval_shell_SOURCES = eval-shell.cpp
diff --git a/sca-cpp/trunk/modules/server/Makefile.am b/sca-cpp/trunk/modules/server/Makefile.am
index d68a288d52..30c89da85d 100644
--- a/sca-cpp/trunk/modules/server/Makefile.am
+++ b/sca-cpp/trunk/modules/server/Makefile.am
@@ -17,13 +17,15 @@
INCLUDES = -I${HTTPD_INCLUDE}
+incl_HEADERS = *.hpp
+incldir = $(prefix)/include/modules/server
+
dist_mod_SCRIPTS = cpp-conf scheme-conf server-conf
moddir = $(prefix)/modules/server
EXTRA_DIST = domain-test.composite client-test.scm server-test.scm htdocs/*.xml htdocs/*.txt htdocs/*.html
-lib_LTLIBRARIES = libmod_tuscany_eval.la libmod_tuscany_wiring.la
-libdir = $(prefix)/modules/server
+mod_LTLIBRARIES = libmod_tuscany_eval.la libmod_tuscany_wiring.la
noinst_DATA = libmod_tuscany_eval.so libmod_tuscany_wiring.so
libmod_tuscany_eval_la_SOURCES = mod-eval.cpp
diff --git a/sca-cpp/trunk/samples/store-java/Makefile.am b/sca-cpp/trunk/samples/store-java/Makefile.am
index fc1323974e..45746281c0 100644
--- a/sca-cpp/trunk/samples/store-java/Makefile.am
+++ b/sca-cpp/trunk/samples/store-java/Makefile.am
@@ -23,10 +23,10 @@ dist_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}
-dist_noinst_JAVA = store/*.java
-CLEANFILES = classnoinst.stamp store/*.class
+dist_sample_JAVA = store/*.java
+CLEANFILES = *.stamp store/*.class
-nobase_dist_sample_DATA = store.composite htdocs/.htaccess htdocs/*.html htdocs/*.js store/*.class store/*.java
+nobase_dist_sample_DATA = store.composite htdocs/.htaccess htdocs/*.html htdocs/*.js store/*.*
dist_noinst_SCRIPTS = server-test
TESTS = server-test
diff --git a/sca-cpp/trunk/samples/store-nosql/Makefile.am b/sca-cpp/trunk/samples/store-nosql/Makefile.am
index a282cf8e0f..6d8efe115a 100644
--- a/sca-cpp/trunk/samples/store-nosql/Makefile.am
+++ b/sca-cpp/trunk/samples/store-nosql/Makefile.am
@@ -15,8 +15,6 @@
# specific language governing permissions and limitations
# under the License.
-if WANT_NOSQLDB
-
dist_sample_SCRIPTS = start stop ssl-start
sampledir = $(prefix)/samples/store-nosql
@@ -25,4 +23,3 @@ nobase_dist_sample_DATA = currency-converter.scm fruits-catalog.scm shopping-car
dist_noinst_SCRIPTS = server-test
TESTS = server-test
-endif
diff --git a/sca-cpp/trunk/ubuntu/Makefile.am b/sca-cpp/trunk/ubuntu/Makefile.am
index 9c519eded4..3e81baa328 100644
--- a/sca-cpp/trunk/ubuntu/Makefile.am
+++ b/sca-cpp/trunk/ubuntu/Makefile.am
@@ -15,5 +15,5 @@
# specific language governing permissions and limitations
# under the License.
-dist_noinst_SCRIPTS = ubuntu-bin-image ubuntu-dev-image ubuntu-gcc-4.5 ubuntu-install uec2-bin-image uec2-conf uec2-setenv uec2-start uec2-status uec2-stop
+dist_noinst_SCRIPTS = ubuntu-bin-image ubuntu-dev-image ubuntu-gcc-4.5 ubuntu-install ubuntu-install-all uec2-bin-image uec2-conf uec2-setenv uec2-start uec2-status uec2-stop
diff --git a/sca-cpp/trunk/ubuntu/ubuntu-bin-image b/sca-cpp/trunk/ubuntu/ubuntu-bin-image
index 4ba1a2fec4..523fcaff34 100755
--- a/sca-cpp/trunk/ubuntu/ubuntu-bin-image
+++ b/sca-cpp/trunk/ubuntu/ubuntu-bin-image
@@ -68,6 +68,6 @@ if [ "$?" != "0" ]; then
fi
# Download and install the Tuscany runtime
-wget http://people.apache.org/~jsdelfino/tuscany/test/tuscany-sca-cpp-1.0.0-SNAPSHOT.tar.gz
-tar xzf tuscany-sca-cpp-1.0.0-SNAPSHOT.tar.gz
+wget http://people.apache.org/~jsdelfino/tuscany/test/tuscany-sca-cpp-1.0.tar.gz
+tar xzf tuscany-sca-cpp-1.0.tar.gz
diff --git a/sca-cpp/trunk/ubuntu/ubuntu-dev-image b/sca-cpp/trunk/ubuntu/ubuntu-dev-image
index a2b45ece3b..3d3827bc81 100755
--- a/sca-cpp/trunk/ubuntu/ubuntu-dev-image
+++ b/sca-cpp/trunk/ubuntu/ubuntu-dev-image
@@ -32,7 +32,7 @@ cd /mnt/tuscany
# Download and run install script
sudo apt-get -y install wget
-wget http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/ubuntu/ubuntu-install
-chmod +x ./ubuntu-install
-./ubuntu-install
+wget http://svn.apache.org/repos/asf/tuscany/sca-cpp/trunk/ubuntu/ubuntu-install-all
+chmod +x ./ubuntu-install-all
+./ubuntu-install-all
diff --git a/sca-cpp/trunk/ubuntu/ubuntu-install b/sca-cpp/trunk/ubuntu/ubuntu-install
index 1b71610367..fc8eb32a15 100755
--- a/sca-cpp/trunk/ubuntu/ubuntu-install
+++ b/sca-cpp/trunk/ubuntu/ubuntu-install
@@ -18,6 +18,9 @@
# Install the required system tools and libraries, the runtime dependencies and
# the Tuscany SCA runtime on a fresh Ubuntu Server 9.10 system.
+# Build a minimal distribution including only the core runtime, support for
+# Python and C++ components, memcached and tinycdb.
+
# Display commands as they are executed
set -x
@@ -38,245 +41,48 @@ fi
# exit $?
#fi
-# Build Apache HTTP server
-sudo apt-get -y install libssl-dev
+# Install Apache HTTP server
+sudo apt-get -y install libssl-dev apache2 apache2-utils apache2-prefork-dev libaprutil1-dev libapr1-dev
if [ "$?" != "0" ]; then
exit $?
fi
-wget http://www.apache.org/dist/httpd/httpd-2.2.15.tar.gz
-tar xzf httpd-2.2.15.tar.gz
-cd httpd-2.2.15
-./configure --enable-ssl --enable-proxy --enable-rewrite --with-included-apr --with-mpm=prefork --prefix=$build/httpd-2.2.15-bin
-make
-make install
-if [ "$?" != "0" ]; then
- exit $?
-fi
-cd $build
-# Build Memcached
-sudo apt-get -y install libevent-dev
+# Install Memcached
+sudo apt-get -y install memcached
if [ "$?" != "0" ]; then
exit $?
fi
-wget http://memcached.googlecode.com/files/memcached-1.4.4.tar.gz
-tar xzf memcached-1.4.4.tar.gz
-cd memcached-1.4.4
-./configure --prefix=$build/memcached-1.4.4-bin
-make
-make install
-if [ "$?" != "0" ]; then
- exit $?
-fi
-cd $build
-# Build Tinycdb
-wget http://www.corpit.ru/mjt/tinycdb/tinycdb_0.77.tar.gz
-tar xzf tinycdb_0.77.tar.gz
-cd tinycdb-0.77
-make
-make prefix=$build/tinycdb-0.77-bin install
+# Install Tinycdb
+sudo apt-get -y install tinycdb libcdb-dev
if [ "$?" != "0" ]; then
exit $?
fi
-cd $build
-# Build Libcurl
-wget http://curl.haxx.se/download/curl-7.19.5.tar.gz
-tar xzf curl-7.19.5.tar.gz
-cd curl-7.19.5
-./configure --prefix=$build/curl-7.19.5-bin
-make
-make install
+# Install Libcurl
+sudo apt-get -y install curl libcurl4-openssl-dev
if [ "$?" != "0" ]; then
exit $?
fi
-cd $build
# Build Libxml2
-wget ftp://xmlsoft.org/libxml2/libxml2-sources-2.7.7.tar.gz
-tar xzf libxml2-sources-2.7.7.tar.gz
-cd libxml2-2.7.7
-./configure --prefix=$build/libxml2-2.7.7-bin
-make
-make install
-if [ "$?" != "0" ]; then
- exit $?
-fi
-cd $build
-
-# Build TraceMonkey
-sudo apt-get -y install autoconf2.13 zip
-if [ "$?" != "0" ]; then
- exit $?
-fi
-wget -O tracemonkey-e4364736e170.tar.gz http://hg.mozilla.org/tracemonkey/archive/e4364736e170.tar.gz
-tar xzf tracemonkey-e4364736e170.tar.gz
-cd tracemonkey-e4364736e170/js/src
-autoconf2.13
-./configure --prefix=$build/tracemonkey-bin
-make
-make install
-if [ "$?" != "0" ]; then
- exit $?
-fi
-cd $build
-
-# Install Google AppEngine SDK
-wget http://googleappengine.googlecode.com/files/google_appengine_1.3.2.zip
-unzip google_appengine_1.3.2.zip
-
-# Build Apache Axis2/C
-sudo apt-get -y install pkg-config
-if [ "$?" != "0" ]; then
- exit $?
-fi
-wget http://www.apache.org/dist/ws/axis2-c/1_6_0/axis2c-src-1.6.0.tar.gz
-tar xzf axis2c-src-1.6.0.tar.gz
-cd axis2c-src-1.6.0
-./configure --enable-libxml2 LIBXML2_CFLAGS="-I$build/libxml2-2.7.7-bin/include/libxml2" LIBXML2_LIBS="-L$build/libxml2-2.7.7-bin/lib -lxml2" --enable-openssl --with-apache2=$build/httpd-2.2.15-bin/include --prefix=$build/axis2c-1.6.0-bin
-make
-make install
-if [ "$?" != "0" ]; then
- exit $?
-fi
-export AXIS2C_HOME=$build/axis2c-1.6.0-bin
-cd samples
-./configure --prefix=$build/axis2c-1.6.0-bin --with-axis2=$build/axis2c-1.6.0-bin/include/axis2-1.6.0
-make
-make install
-if [ "$?" != "0" ]; then
- exit $?
-fi
-cd $build
-
-# Build Apache Qpid/C++
-sudo apt-get -y install libboost-dev libboost-program-options-dev libboost-filesystem-dev uuid-dev
-if [ "$?" != "0" ]; then
- exit $?
-fi
-sudo -s ln -s /usr/lib/libboost_program_options-mt.so /usr/lib/libboost_program_options.so
-sudo -s ln -s /usr/lib/libboost_filesystem-mt.so /usr/lib/libboost_filesystem.so
-wget http://www.apache.org/dist/qpid/0.6/qpid-cpp-0.6.tar.gz
-tar xzf qpid-cpp-0.6.tar.gz
-cd qpidc-0.6
-./configure --prefix=$build/qpidc-0.6-bin
-make
-make install
+sudo apt-get -y install libxml2 libxml2-dev
if [ "$?" != "0" ]; then
exit $?
fi
-cd $build
-
-# Build Libexpat
-wget http://sourceforge.net/projects/expat/files/expat/2.0.1/expat-2.0.1.tar.gz/download
-tar xzf expat-2.0.1.tar.gz
-cd expat-2.0.1
-./configure --prefix=$build/expat-2.0.1-bin
-make
-make install
-if [ "$?" != "0" ]; then
- exit $?
-fi
-cd $build
-
-# Build Libstrophe
-git clone git://github.com/jsdelfino/libstrophe.git
-cd libstrophe
-./bootstrap.sh
-./configure --prefix=$build/libstrophe-bin --with-expat=$build/expat-2.0.1-bin
-make
-make install
-if [ "$?" != "0" ]; then
- exit $?
-fi
-
-# Install Apache Vysper
-sudo apt-get -y install openjdk-6-jdk
-if [ "$?" != "0" ]; then
- exit $?
-fi
-wget http://www.apache.org/dist/mina/vysper/0.5/vysper-0.5-bin.tar.gz
-tar xzf vysper-0.5-bin.tar.gz
-if [ "$?" != "0" ]; then
- exit $?
-fi
-
-# Build PostgreSQL
-sudo apt-get -y install libreadline-dev
-if [ "$?" != "0" ]; then
- exit $?
-fi
-wget ftp://ftp9.us.postgresql.org/pub/mirrors/postgresql/source/v9.0beta1/postgresql-9.0beta1.tar.gz
-tar xzf postgresql-9.0beta1.tar.gz
-cd postgresql-9.0beta1
-./configure --prefix=$build/postgresql-9.0-bin
-make
-make install
-if [ "$?" != "0" ]; then
- exit $?
-fi
-cd $build
-
-# Build Apache Thrift
-sudo apt-get -y install bison flex
-if [ "$?" != "0" ]; then
- exit $?
-fi
-wget http://www.apache.org/dist/incubator/thrift/0.2.0-incubating/thrift-0.2.0-incubating.tar.gz
-tar xzf thrift-0.2.0-incubating.tar.gz
-cd thrift-0.2.0
-./bootstrap.sh
-./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
- exit $?
-fi
-cd $build
-
-# Build Facebook fb303
-cd thrift-0.2.0/contrib/fb303
-./bootstrap.sh
-./configure --prefix=$build/thrift-0.2.0-bin/contrib/fb303 PY_PREFIX=$build/thrift-0.2.0-bin/contrib/fb303 --with-thriftpath=$build/thrift-0.2.0-bin --disable-static
-make
-make install
-if [ "$?" != "0" ]; then
- exit $?
-fi
-cp cpp/lib/libfb303.so $build/thrift-0.2.0-bin/contrib/fb303/lib
-cd $build
-
-# Build Facebook Scribe
-wget http://github.com/downloads/facebook/scribe/scribe-2.2.tar.gz
-tar xzf scribe-2.2.tar.gz
-cd scribe
-./bootstrap.sh --prefix=$build/scribe-2.2-bin PY_PREFIX=$build/scribe-2.2-bin --with-thriftpath=$build/thrift-0.2.0-bin --with-fb303path=$build/thrift-0.2.0-bin/contrib/fb303 --disable-static
-make
-make install
-if [ "$?" != "0" ]; then
- exit $?
-fi
-cp src/lib/libscribe.so $build/scribe-2.2-bin/lib
-cd $build
-# Build Apache Libcloud
-wget http://www.apache.org/dist/incubator/libcloud/apache-libcloud-incubating-0.3.1.tar.bz2
-tar xjf apache-libcloud-incubating-0.3.1.tar.bz2
-cd apache-libcloud-0.3.1
-python setup.py build
-python setup.py install --home $build/libcloud-0.3.1-bin
+# Install TraceMonkey
+sudo apt-get -y install xulrunner-1.9.1 xulrunner-1.9.1-dev
if [ "$?" != "0" ]; then
exit $?
fi
-cd $build
# Build Tuscany SCA
git clone git://git.apache.org/tuscany-sca-cpp.git
cd tuscany-sca-cpp
cp etc/git-exclude .git/info/exclude
./bootstrap
-./configure --prefix=$build/tuscany-sca-cpp-bin --with-curl=$build/curl-7.19.5-bin --with-apr=$build/httpd-2.2.15-bin --with-httpd=$build/httpd-2.2.15-bin --with-memcached=$build/memcached-1.4.4-bin --with-tinycdb=$build/tinycdb-0.77-bin --with-js-include=$build/tracemonkey-bin/include/js --with-js-lib=$build/tracemonkey-bin/lib --with-libcloud=$build/libcloud-0.3.1-bin --enable-threads --enable-python --enable-gae --with-gae=$build/google_appengine --enable-java --with-java=/usr/lib/jvm/java-6-openjdk --enable-webservice --with-libxml2=$build/libxml2-2.7.7-bin --with-axis2c=$build/axis2c-1.6.0-bin --enable-queue --with-qpidc=$build/qpidc-0.6-bin --enable-chat --with-libstrophe=$build/libstrophe-bin --with-vysper=$build/vysper-0.5 --enable-sqldb --with-pgsql=$build/postgresql-9.0-bin --enable-log --with-thrift=$build/thrift-0.2.0-bin --with-scribe=$build/scribe-2.2-bin
+./configure --prefix=$build/tuscany-sca-cpp-bin
make
make install
if [ "$?" != "0" ]; then
@@ -285,5 +91,5 @@ fi
cd $build
# Create bin archive
-tar czf tuscany-sca-cpp-1.0.0-SNAPSHOT.tar.gz tuscany-sca-cpp tuscany-sca-cpp-bin axis2c-1.6.0-bin libxml2-2.7.7-bin curl-7.19.5-bin httpd-2.2.15-bin tracemonkey-bin google_appengine libstrophe-bin memcached-1.4.4-bin tinycdb-0.77-bin qpidc-0.6-bin vysper-0.5 postgresql-9.0-bin thrift-0.2.0-bin scribe-2.2-bin libcloud-0.3.1-bin
+tar czf tuscany-sca-cpp-1.0.tar.gz tuscany-sca-cpp tuscany-sca-cpp-bin
diff --git a/sca-cpp/trunk/ubuntu/ubuntu-install-all b/sca-cpp/trunk/ubuntu/ubuntu-install-all
new file mode 100755
index 0000000000..afa6ff3d28
--- /dev/null
+++ b/sca-cpp/trunk/ubuntu/ubuntu-install-all
@@ -0,0 +1,292 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# Install the required system tools and libraries, the runtime dependencies and
+# the Tuscany SCA runtime on a fresh Ubuntu Server 9.10 system.
+
+# Build a complete distribution including the core runtime, all modules and
+# components and dependencies from source.
+
+# Display commands as they are executed
+set -x
+
+# Build and install in the current directory
+build=`pwd`
+
+# Install core dev tools
+sudo apt-get -y install wget git-core autoconf automake libtool g++
+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
+if [ "$?" != "0" ]; then
+ exit $?
+fi
+wget http://www.apache.org/dist/httpd/httpd-2.2.15.tar.gz
+tar xzf httpd-2.2.15.tar.gz
+cd httpd-2.2.15
+./configure --enable-ssl --enable-proxy --enable-mods-shared=most --with-included-apr --with-mpm=prefork --prefix=$build/httpd-2.2.15-bin
+make
+make install
+if [ "$?" != "0" ]; then
+ exit $?
+fi
+cd $build
+
+# Build Memcached
+sudo apt-get -y install libevent-dev
+if [ "$?" != "0" ]; then
+ exit $?
+fi
+wget http://memcached.googlecode.com/files/memcached-1.4.4.tar.gz
+tar xzf memcached-1.4.4.tar.gz
+cd memcached-1.4.4
+./configure --prefix=$build/memcached-1.4.4-bin
+make
+make install
+if [ "$?" != "0" ]; then
+ exit $?
+fi
+cd $build
+
+# Build Tinycdb
+wget http://www.corpit.ru/mjt/tinycdb/tinycdb_0.77.tar.gz
+tar xzf tinycdb_0.77.tar.gz
+cd tinycdb-0.77
+make
+make prefix=$build/tinycdb-0.77-bin install
+if [ "$?" != "0" ]; then
+ exit $?
+fi
+cd $build
+
+# Build Libcurl
+wget http://curl.haxx.se/download/curl-7.19.5.tar.gz
+tar xzf curl-7.19.5.tar.gz
+cd curl-7.19.5
+./configure --prefix=$build/curl-7.19.5-bin
+make
+make install
+if [ "$?" != "0" ]; then
+ exit $?
+fi
+cd $build
+
+# Build Libxml2
+wget ftp://xmlsoft.org/libxml2/libxml2-sources-2.7.7.tar.gz
+tar xzf libxml2-sources-2.7.7.tar.gz
+cd libxml2-2.7.7
+./configure --prefix=$build/libxml2-2.7.7-bin
+make
+make install
+if [ "$?" != "0" ]; then
+ exit $?
+fi
+cd $build
+
+# Build TraceMonkey
+sudo apt-get -y install autoconf2.13 zip
+if [ "$?" != "0" ]; then
+ exit $?
+fi
+wget -O tracemonkey-e4364736e170.tar.gz http://hg.mozilla.org/tracemonkey/archive/e4364736e170.tar.gz
+tar xzf tracemonkey-e4364736e170.tar.gz
+cd tracemonkey-e4364736e170/js/src
+autoconf2.13
+./configure --prefix=$build/tracemonkey-bin
+make
+make install
+if [ "$?" != "0" ]; then
+ exit $?
+fi
+cd $build
+
+# Install Google AppEngine SDK
+wget http://googleappengine.googlecode.com/files/google_appengine_1.3.2.zip
+unzip google_appengine_1.3.2.zip
+
+# Build Apache Axis2/C
+sudo apt-get -y install pkg-config
+if [ "$?" != "0" ]; then
+ exit $?
+fi
+wget http://www.apache.org/dist/ws/axis2-c/1_6_0/axis2c-src-1.6.0.tar.gz
+tar xzf axis2c-src-1.6.0.tar.gz
+cd axis2c-src-1.6.0
+./configure --enable-libxml2 LIBXML2_CFLAGS="-I$build/libxml2-2.7.7-bin/include/libxml2" LIBXML2_LIBS="-L$build/libxml2-2.7.7-bin/lib -lxml2" --enable-openssl --with-apache2=$build/httpd-2.2.15-bin/include --prefix=$build/axis2c-1.6.0-bin
+make
+make install
+if [ "$?" != "0" ]; then
+ exit $?
+fi
+export AXIS2C_HOME=$build/axis2c-1.6.0-bin
+cd samples
+./configure --prefix=$build/axis2c-1.6.0-bin --with-axis2=$build/axis2c-1.6.0-bin/include/axis2-1.6.0
+make
+make install
+if [ "$?" != "0" ]; then
+ exit $?
+fi
+cd $build
+
+# Build Apache Qpid/C++
+sudo apt-get -y install libboost-dev libboost-program-options-dev libboost-filesystem-dev uuid-dev
+if [ "$?" != "0" ]; then
+ exit $?
+fi
+sudo -s ln -s /usr/lib/libboost_program_options-mt.so /usr/lib/libboost_program_options.so
+sudo -s ln -s /usr/lib/libboost_filesystem-mt.so /usr/lib/libboost_filesystem.so
+wget http://www.apache.org/dist/qpid/0.6/qpid-cpp-0.6.tar.gz
+tar xzf qpid-cpp-0.6.tar.gz
+cd qpidc-0.6
+./configure --prefix=$build/qpidc-0.6-bin
+make
+make install
+if [ "$?" != "0" ]; then
+ exit $?
+fi
+cd $build
+
+# Build Libexpat
+wget http://sourceforge.net/projects/expat/files/expat/2.0.1/expat-2.0.1.tar.gz/download
+tar xzf expat-2.0.1.tar.gz
+cd expat-2.0.1
+./configure --prefix=$build/expat-2.0.1-bin
+make
+make install
+if [ "$?" != "0" ]; then
+ exit $?
+fi
+cd $build
+
+# Build Libstrophe
+git clone git://github.com/jsdelfino/libstrophe.git
+cd libstrophe
+./bootstrap.sh
+./configure --prefix=$build/libstrophe-bin --with-expat=$build/expat-2.0.1-bin
+make
+make install
+if [ "$?" != "0" ]; then
+ exit $?
+fi
+
+# Install Apache Vysper
+sudo apt-get -y install openjdk-6-jdk
+if [ "$?" != "0" ]; then
+ exit $?
+fi
+wget http://www.apache.org/dist/mina/vysper/0.5/vysper-0.5-bin.tar.gz
+tar xzf vysper-0.5-bin.tar.gz
+if [ "$?" != "0" ]; then
+ exit $?
+fi
+
+# Build PostgreSQL
+sudo apt-get -y install libreadline-dev
+if [ "$?" != "0" ]; then
+ exit $?
+fi
+wget ftp://ftp9.us.postgresql.org/pub/mirrors/postgresql/source/v9.0beta1/postgresql-9.0beta1.tar.gz
+tar xzf postgresql-9.0beta1.tar.gz
+cd postgresql-9.0beta1
+./configure --prefix=$build/postgresql-9.0-bin
+make
+make install
+if [ "$?" != "0" ]; then
+ exit $?
+fi
+cd $build
+
+# Build Apache Thrift
+sudo apt-get -y install bison flex
+if [ "$?" != "0" ]; then
+ exit $?
+fi
+wget http://www.apache.org/dist/incubator/thrift/0.2.0-incubating/thrift-0.2.0-incubating.tar.gz
+tar xzf thrift-0.2.0-incubating.tar.gz
+cd thrift-0.2.0
+./bootstrap.sh
+./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
+ exit $?
+fi
+cd $build
+
+# Build Facebook fb303
+cd thrift-0.2.0/contrib/fb303
+./bootstrap.sh
+./configure --prefix=$build/thrift-0.2.0-bin/contrib/fb303 PY_PREFIX=$build/thrift-0.2.0-bin/contrib/fb303 --with-thriftpath=$build/thrift-0.2.0-bin --disable-static
+make
+make install
+if [ "$?" != "0" ]; then
+ exit $?
+fi
+cp cpp/lib/libfb303.so $build/thrift-0.2.0-bin/contrib/fb303/lib
+cd $build
+
+# Build Facebook Scribe
+wget http://github.com/downloads/facebook/scribe/scribe-2.2.tar.gz
+tar xzf scribe-2.2.tar.gz
+cd scribe
+./bootstrap.sh --prefix=$build/scribe-2.2-bin PY_PREFIX=$build/scribe-2.2-bin --with-thriftpath=$build/thrift-0.2.0-bin --with-fb303path=$build/thrift-0.2.0-bin/contrib/fb303 --disable-static
+make
+make install
+if [ "$?" != "0" ]; then
+ exit $?
+fi
+cp src/lib/libscribe.so $build/scribe-2.2-bin/lib
+cd $build
+
+# Build Apache Libcloud
+wget http://www.apache.org/dist/incubator/libcloud/apache-libcloud-incubating-0.3.1.tar.bz2
+tar xjf apache-libcloud-incubating-0.3.1.tar.bz2
+cd apache-libcloud-0.3.1
+python setup.py build
+python setup.py install --home $build/libcloud-0.3.1-bin
+if [ "$?" != "0" ]; then
+ exit $?
+fi
+cd $build
+
+# Build Tuscany SCA
+git clone git://git.apache.org/tuscany-sca-cpp.git
+cd tuscany-sca-cpp
+cp etc/git-exclude .git/info/exclude
+./bootstrap
+./configure --prefix=$build/tuscany-sca-cpp-bin --with-curl=$build/curl-7.19.5-bin --with-apr=$build/httpd-2.2.15-bin --with-httpd=$build/httpd-2.2.15-bin --with-memcached=$build/memcached-1.4.4-bin --with-tinycdb=$build/tinycdb-0.77-bin --with-js-include=$build/tracemonkey-bin/include/js --with-js-lib=$build/tracemonkey-bin/lib --with-libcloud=$build/libcloud-0.3.1-bin --enable-threads --enable-python --enable-gae --with-gae=$build/google_appengine --enable-java --with-java=/usr/lib/jvm/java-6-openjdk --enable-webservice --with-libxml2=$build/libxml2-2.7.7-bin --with-axis2c=$build/axis2c-1.6.0-bin --enable-queue --with-qpidc=$build/qpidc-0.6-bin --enable-chat --with-libstrophe=$build/libstrophe-bin --with-vysper=$build/vysper-0.5 --enable-sqldb --with-pgsql=$build/postgresql-9.0-bin --enable-log --with-thrift=$build/thrift-0.2.0-bin --with-scribe=$build/scribe-2.2-bin
+make
+make install
+if [ "$?" != "0" ]; then
+ exit $?
+fi
+cd $build
+
+# Create bin archive
+tar czf tuscany-sca-cpp-1.0.tar.gz tuscany-sca-cpp tuscany-sca-cpp-bin axis2c-1.6.0-bin libxml2-2.7.7-bin curl-7.19.5-bin httpd-2.2.15-bin tracemonkey-bin google_appengine libstrophe-bin memcached-1.4.4-bin tinycdb-0.77-bin qpidc-0.6-bin vysper-0.5 postgresql-9.0-bin thrift-0.2.0-bin scribe-2.2-bin libcloud-0.3.1-bin
+