diff options
Diffstat (limited to 'sca-cpp/trunk')
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 + |