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
This commit is contained in:
jsdelfino 2010-06-05 05:38:55 +00:00
commit 70520addf9
33 changed files with 815 additions and 607 deletions

View file

@ -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

View file

@ -17,6 +17,3 @@
SUBDIRS = cache chat log nosqldb queue sqldb webservice
includedir = $(prefix)/include/components
nobase_include_HEADERS = */*.hpp

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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}")
], [
PYTHON_PREFIX="/usr"
PYTHON_INCLUDE="/usr/include"
PYTHON_LIB="/usr/lib"
CURL_PREFIX="/usr"
LIBCURL_INCLUDE="/usr/include"
LIBCURL_LIB="/usr/lib"
AC_MSG_RESULT(/usr)
])
AC_SUBST(PYTHON_PREFIX)
AC_SUBST(PYTHON_INCLUDE)
AC_SUBST(PYTHON_LIB)
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}")
], [
APR_INCLUDE="/usr/include/apr-1.0"
APR_LIB="/usr/lib"
AC_MSG_RESULT(/usr)
])
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,39 +489,55 @@ 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)
# 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_libcloud=true
;;
esac ],
[ AC_MSG_RESULT(no)])
if test "${want_libcloud}" = "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)
# 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_LIBCLOUD], false)
fi
# Enable Web service component.
AC_MSG_CHECKING([whether to enable the Web service component])
@ -521,51 +553,33 @@ AC_ARG_ENABLE(webservice, [AS_HELP_STRING([--enable-webservice], [enable Web ser
esac ],
[ AC_MSG_RESULT(no)])
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_WEBSERVICE], 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]])],
[ case "${enableval}" in
no)
AC_MSG_RESULT(no)
;;
*)
AC_MSG_RESULT(yes)
want_nosqldb=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])
else
AM_CONDITIONAL([WANT_NOSQLDB], 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

View file

@ -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));

View file

@ -17,6 +17,3 @@
SUBDIRS = scheme atom rss json scdl http rss server python wsgi java
includedir = $(prefix)/include/modules
nobase_include_HEADERS = */*.hpp

View file

@ -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

View file

@ -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

View file

@ -26,6 +26,7 @@
* CURL HTTP client functions.
*/
#include <unistd.h>
#include <curl/curl.h>
#include <curl/types.h>
#include <curl/easy.h>

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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
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
# Install Libcurl
sudo apt-get -y install curl libcurl4-openssl-dev
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
# Build Libxml2
sudo apt-get -y install libxml2 libxml2-dev
if [ "$?" != "0" ]; then
exit $?
fi
# Build PostgreSQL
sudo apt-get -y install libreadline-dev
# Install TraceMonkey
sudo apt-get -y install xulrunner-1.9.1 xulrunner-1.9.1-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
./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

View file

@ -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