2009-08-24 06:54:50 +00:00
|
|
|
# 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.
|
|
|
|
|
|
|
|
dnl run autogen.sh to generate the configure script.
|
|
|
|
|
2010-01-05 09:17:17 +00:00
|
|
|
AC_PREREQ(2.64)
|
2009-11-23 05:48:11 +00:00
|
|
|
AC_INIT(tuscany-sca, 1.0, dev@tuscany.apache.org)
|
|
|
|
AC_CONFIG_MACRO_DIR([m4])
|
2009-08-24 06:54:50 +00:00
|
|
|
AC_CANONICAL_SYSTEM
|
2009-09-06 00:14:47 +00:00
|
|
|
AM_CONFIG_HEADER(config.h)
|
2009-08-24 06:54:50 +00:00
|
|
|
AM_INIT_AUTOMAKE([tar-ustar])
|
|
|
|
AC_PREFIX_DEFAULT(/usr/local/tuscany/sca)
|
|
|
|
|
|
|
|
# Checks for programs.
|
2009-11-23 05:48:11 +00:00
|
|
|
AC_MSG_NOTICE([checking for programs])
|
2009-08-24 06:54:50 +00:00
|
|
|
AC_PROG_CXX
|
2009-11-23 05:48:11 +00:00
|
|
|
AC_PROG_AWK
|
2009-08-24 06:54:50 +00:00
|
|
|
AC_PROG_CC
|
|
|
|
AC_PROG_CPP
|
|
|
|
AC_PROG_INSTALL
|
|
|
|
AC_PROG_LN_S
|
|
|
|
AC_PROG_MAKE_SET
|
|
|
|
AC_PROG_LIBTOOL
|
|
|
|
|
|
|
|
# Check for running on Darwin
|
2009-11-23 05:48:11 +00:00
|
|
|
AC_MSG_CHECKING([if running on Darwin])
|
2009-08-24 06:54:50 +00:00
|
|
|
UNAME=`uname -s`
|
2010-01-02 10:27:26 +00:00
|
|
|
if test "${UNAME}" = "Darwin"; then
|
2009-08-24 06:54:50 +00:00
|
|
|
AC_DEFINE([IS_DARWIN], [1], [Set to 1 when running on Darwin - Mac OSX])
|
|
|
|
AC_MSG_RESULT(yes)
|
|
|
|
AC_SUBST([libsuffix],[".dylib"])
|
|
|
|
is_darwin=true
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
AC_SUBST([libsuffix],[".so"])
|
|
|
|
is_darwin=false
|
|
|
|
fi
|
2010-01-02 10:27:26 +00:00
|
|
|
AM_CONDITIONAL([DARWIN], [test "${is_darmin}" = "true"])
|
2009-08-24 06:54:50 +00:00
|
|
|
|
2009-11-23 05:48:11 +00:00
|
|
|
# Configure CURL_INCLUDE and CURL_LIB
|
|
|
|
AC_MSG_CHECKING([for curl])
|
|
|
|
AC_ARG_WITH([curl], [AC_HELP_STRING([--with-curl=PATH], [path to installed curl [default=/usr]])], [
|
2010-01-02 10:27:26 +00:00
|
|
|
CURL_INCLUDE="${withval}/include"
|
|
|
|
CURL_LIB="${withval}/lib"
|
|
|
|
AC_MSG_RESULT("${withval}")
|
2009-11-23 05:48:11 +00:00
|
|
|
], [
|
|
|
|
CURL_INCLUDE="/usr/include"
|
|
|
|
CURL_LIB="/usr/lib"
|
|
|
|
AC_MSG_RESULT(/usr)
|
|
|
|
])
|
|
|
|
AC_SUBST(CURL_INCLUDE)
|
|
|
|
AC_SUBST(CURL_LIB)
|
|
|
|
|
|
|
|
# Configure LIBXML2_INCLUDE and LIBXML2_LIB
|
|
|
|
AC_MSG_CHECKING([for libxml2])
|
|
|
|
AC_ARG_WITH([libxml2], [AC_HELP_STRING([--with-libxml2=PATH], [path to installed libxml2 [default=/usr]])], [
|
2010-01-02 10:27:26 +00:00
|
|
|
LIBXML2_INCLUDE="${withval}/include/libxml2"
|
|
|
|
LIBXML2_LIB="${withval}/lib"
|
|
|
|
AC_MSG_RESULT("${withval}")
|
2009-11-23 05:48:11 +00:00
|
|
|
], [
|
|
|
|
LIBXML2_INCLUDE="/usr/include/libxml2"
|
|
|
|
LIBXML2_LIB="/usr/lib"
|
|
|
|
AC_MSG_RESULT(/usr)
|
|
|
|
])
|
|
|
|
AC_SUBST(LIBXML2_INCLUDE)
|
|
|
|
AC_SUBST(LIBXML2_LIB)
|
|
|
|
|
|
|
|
# Configure LIBMOZJS_INCLUDE and LIBMOZJS_LIB
|
|
|
|
AC_MSG_CHECKING([for js-include])
|
|
|
|
AC_ARG_WITH([js-include], [AC_HELP_STRING([--with-js-include=PATH], [path to installed SpiderMonkey include dir
|
|
|
|
[default=/usr/include/xulrunner-1.9.1.5/unstable]])], [
|
2010-01-02 10:27:26 +00:00
|
|
|
JS_INCLUDE="${withval}"
|
|
|
|
AC_MSG_RESULT("${withval}")
|
2009-11-23 05:48:11 +00:00
|
|
|
], [
|
|
|
|
JS_INCLUDE="/usr/include/xulrunner-1.9.1.5/unstable"
|
|
|
|
AC_MSG_RESULT(/usr/include/xulrunner-1.9.1.5/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-1.9.1.5]])], [
|
2010-01-02 10:27:26 +00:00
|
|
|
JS_LIB="${withval}"
|
|
|
|
AC_MSG_RESULT("${withval}")
|
2009-11-23 05:48:11 +00:00
|
|
|
], [
|
|
|
|
JS_LIB="/usr/lib/xulrunner-1.9.1.5"
|
|
|
|
AC_MSG_RESULT(/usr/lib/xulrunner-1.9.1.5)
|
|
|
|
])
|
|
|
|
AC_SUBST(JS_INCLUDE)
|
|
|
|
AC_SUBST(JS_LIB)
|
|
|
|
|
|
|
|
# Configure APR and HTTPD
|
|
|
|
AC_MSG_CHECKING([for apr])
|
|
|
|
AC_ARG_WITH([apr], [AC_HELP_STRING([--with-apr=PATH], [path to installed apr [default=/usr/local/apache2]])], [
|
2010-01-02 10:27:26 +00:00
|
|
|
APR_INCLUDE="${withval}/include"
|
|
|
|
APR_LIB="${withval}/lib"
|
|
|
|
AC_MSG_RESULT("${withval}")
|
2009-11-23 05:48:11 +00:00
|
|
|
], [
|
|
|
|
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 httpd [default=/usr/local/apache2]])], [
|
2010-01-02 10:27:26 +00:00
|
|
|
HTTPD_INCLUDE="${withval}/include"
|
|
|
|
AC_MSG_RESULT("${withval}")
|
2009-11-23 05:48:11 +00:00
|
|
|
], [
|
|
|
|
HTTPD_INCLUDE="/usr/local/apache2/include"
|
|
|
|
AC_MSG_RESULT(/usr/local/apache2/lib)
|
|
|
|
])
|
|
|
|
AC_SUBST(HTTPD_INCLUDE)
|
|
|
|
|
2010-01-05 09:16:29 +00:00
|
|
|
# Configure PYTHON_INCLUDE and PYTHON_LIB
|
|
|
|
AC_MSG_CHECKING([for python])
|
|
|
|
AC_ARG_WITH([curl], [AC_HELP_STRING([--with-python=PATH], [path to installed python 2.6 [default=/usr]])], [
|
|
|
|
PYTHON_INCLUDE="${withval}/include"
|
|
|
|
PYTHON_LIB="${withval}/lib"
|
|
|
|
AC_MSG_RESULT("${withval}")
|
|
|
|
], [
|
|
|
|
PYTHON_INCLUDE="/usr/include"
|
|
|
|
PYTHON_LIB="/usr/lib"
|
|
|
|
AC_MSG_RESULT(/usr)
|
|
|
|
])
|
|
|
|
AC_SUBST(PYTHON_INCLUDE)
|
|
|
|
AC_SUBST(PYTHON_LIB)
|
|
|
|
|
2009-08-24 06:54:50 +00:00
|
|
|
# Checks for libraries.
|
2010-01-02 10:27:26 +00:00
|
|
|
original_LIBS="${LIBS}"
|
2009-11-23 05:48:11 +00:00
|
|
|
AC_MSG_NOTICE([checking for libraries])
|
2010-01-02 10:27:26 +00:00
|
|
|
LIBS="-L${CURL_LIB} ${original_LIBS}"
|
2009-11-23 05:48:11 +00:00
|
|
|
AC_CHECK_LIB([curl], [curl_global_init], [], [AC_MSG_ERROR([couldn't find a suitable libcurl, use --with-curl=PATH])])
|
2010-01-02 10:27:26 +00:00
|
|
|
LIBS="-L${JS_LIB} ${original_LIBS}"
|
2009-11-23 05:48:11 +00:00
|
|
|
AC_CHECK_LIB([mozjs], [JS_NewContext], [], [AC_MSG_ERROR([couldn't find a suitable libmozjs, use --with-js-lib=PATH])])
|
2010-01-02 10:27:26 +00:00
|
|
|
LIBS="${original_LIBS}"
|
2009-11-23 05:48:11 +00:00
|
|
|
AC_CHECK_LIB([pthread], [pthread_create], [], [AC_MSG_ERROR([couldn't find a suitable libpthread])])
|
2010-01-02 10:27:26 +00:00
|
|
|
LIBS="-L${LIBXML2_LIB} ${original_LIBS}"
|
2009-11-23 05:48:11 +00:00
|
|
|
AC_CHECK_LIB([xml2], [xmlInitParser], [], [AC_MSG_ERROR([couldn't find a suitable libxml2, use --with-libxml2=PATH])])
|
2010-01-02 10:27:26 +00:00
|
|
|
LIBS="-L${APR_LIB} ${original_LIBS}"
|
2009-11-23 05:48:11 +00:00
|
|
|
AC_CHECK_LIB([apr-1], [apr_pool_initialize], [], [AC_MSG_ERROR([couldn't find a suitable libapr-1, use --with-apr=PATH])])
|
|
|
|
AC_CHECK_LIB([aprutil-1], [apr_memcache_replace], [], [AC_MSG_ERROR([couldn't find a suitable libaprutil-1, use --with-apr=PATH])])
|
2010-01-05 09:16:29 +00:00
|
|
|
LIBS="-L${PYTHON_LIB} ${original_LIBS}"
|
|
|
|
AC_CHECK_LIB([python2.6], [Py_Initialize], [], [AC_MSG_ERROR([couldn't find a suitable libpython2.6, use --with-python=PATH])])
|
2010-01-02 10:27:26 +00:00
|
|
|
LIBS="${original_LIBS}"
|
2009-08-24 06:54:50 +00:00
|
|
|
|
|
|
|
# Checks for header files.
|
2009-11-23 05:48:11 +00:00
|
|
|
AC_MSG_NOTICE([checking for header files])
|
2009-08-24 06:54:50 +00:00
|
|
|
AC_HEADER_DIRENT
|
|
|
|
AC_HEADER_STDC
|
2009-11-23 05:48:11 +00:00
|
|
|
AC_CHECK_HEADERS([string.h sys/time.h])
|
2009-08-24 06:54:50 +00:00
|
|
|
|
|
|
|
# Checks for typedefs, structures, and compiler characteristics.
|
2009-11-23 05:48:11 +00:00
|
|
|
AC_MSG_NOTICE([checking for typedefs, structures, and compiler characteristics])
|
2009-08-24 06:54:50 +00:00
|
|
|
AC_HEADER_STDBOOL
|
|
|
|
AC_C_CONST
|
|
|
|
AC_C_INLINE
|
2009-11-23 05:48:11 +00:00
|
|
|
AC_TYPE_SIZE_T
|
2009-08-24 06:54:50 +00:00
|
|
|
|
|
|
|
# Checks for library functions.
|
2009-11-23 05:48:11 +00:00
|
|
|
AC_MSG_NOTICE([checking for library functions])
|
|
|
|
AC_CHECK_FUNCS([gettimeofday select])
|
|
|
|
|
|
|
|
# Configure GCC C++ compile options
|
2010-01-02 10:27:26 +00:00
|
|
|
cxxflags=""
|
|
|
|
ldflags="${LDFLAGS}"
|
|
|
|
|
|
|
|
# Configure 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]])],
|
2009-11-30 08:36:59 +00:00
|
|
|
[ case "${enableval}" in
|
|
|
|
no)
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
AC_MSG_RESULT(yes)
|
|
|
|
want_maintainer_mode=true
|
|
|
|
;;
|
|
|
|
esac ],
|
|
|
|
[ AC_MSG_RESULT(no)])
|
2010-01-02 10:27:26 +00:00
|
|
|
if test "${want_maintainer_mode}" = "true"; then
|
2010-01-05 09:16:29 +00:00
|
|
|
cxxflags="${cxxflags} -D_DEBUG -O0 -ggdb -g3 -Werror -Wall -Wextra -Wno-ignored-qualifiers -Winit-self -Wmissing-include-dirs -Wcast-qual -Wcast-align -Wwrite-strings -Wpointer-arith -Wconversion -Waddress -Wlogical-op -Wredundant-decls -std=c++0x -fmessage-length=0"
|
2010-01-02 10:27:26 +00:00
|
|
|
ldflags="${ldflags} -pg"
|
2009-11-30 08:36:59 +00:00
|
|
|
else
|
2010-01-02 10:27:26 +00:00
|
|
|
cxxflags="${cxxflags} -O3 -std=c++0x -fmessage-length=0"
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Configure profiling
|
|
|
|
AC_MSG_CHECKING([whether to compile with profiling])
|
|
|
|
AC_ARG_ENABLE(profiling, [AS_HELP_STRING([--enable-profiling], [compile with profiling [default=no]])],
|
|
|
|
[ case "${enableval}" in
|
|
|
|
no)
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
AC_MSG_RESULT(yes)
|
|
|
|
want_profiling=true
|
|
|
|
;;
|
|
|
|
esac ],
|
|
|
|
[ AC_MSG_RESULT(no)])
|
|
|
|
if test "${want_profiling}" = "true"; then
|
|
|
|
cxxflags="${cxxflags} -pg"
|
|
|
|
ldflags="${ldflags} -pg"
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Configure multi-threading support
|
|
|
|
AC_MSG_CHECKING([whether to compile for multi-threaded execution])
|
|
|
|
AC_ARG_ENABLE(threads, [AS_HELP_STRING([--enable-threads], [compile for multi-threaded execution [default=no]])],
|
|
|
|
[ case "${enableval}" in
|
|
|
|
no)
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
AC_MSG_RESULT(yes)
|
|
|
|
want_threads=true
|
|
|
|
;;
|
|
|
|
esac ],
|
|
|
|
[ AC_MSG_RESULT(no)])
|
|
|
|
if test "${want_threads}" = "true"; then
|
|
|
|
LIBS="${original_LIBS}"
|
|
|
|
AC_CHECK_LIB([pthread], [pthread_create], [], [AC_MSG_ERROR([couldn't find a suitable libpthread])])
|
|
|
|
LIBS="${original_LIBS}"
|
|
|
|
cxxflags="${cxxflags} -D_REENTRANT"
|
|
|
|
ldflags="${ldflags} -lpthread"
|
2009-11-30 08:36:59 +00:00
|
|
|
fi
|
2010-01-02 10:27:26 +00:00
|
|
|
AC_SUBST([CXXFLAGS], ["${cxxflags}"])
|
|
|
|
AC_SUBST([LDFLAGS], ["${ldflags}"])
|
2009-08-24 06:54:50 +00:00
|
|
|
|
2009-11-23 05:48:11 +00:00
|
|
|
# Configure exuberant ctags
|
|
|
|
TAGSFILE="`pwd`/tags"
|
2010-01-02 10:27:26 +00:00
|
|
|
AC_SUBST([CTAGSFLAGS], ["${CTAGSFLAGS} --c++-kinds=+p --fields=+iaS --extra=+q --append --tag-relative=yes -f ${TAGSFILE}"])
|
2009-11-23 05:48:11 +00:00
|
|
|
|
|
|
|
# Configure TUSCANY_SCACPP
|
2010-01-02 10:27:26 +00:00
|
|
|
TUSCANY_SCACPP=`echo "${TUSCANY_SCACPP}"`
|
|
|
|
if test "${TUSCANY_SCACPP}" = ""; then
|
2009-09-06 00:14:47 +00:00
|
|
|
SCAPWD=`pwd`
|
2010-01-02 10:27:26 +00:00
|
|
|
AC_SUBST([TUSCANY_SCACPP], ["${SCAPWD}"])
|
2009-09-06 00:14:47 +00:00
|
|
|
fi
|
|
|
|
|
2009-11-23 05:48:11 +00:00
|
|
|
# Configure Doxygen build
|
|
|
|
AC_MSG_CHECKING([whether to build Doxygen documentation])
|
|
|
|
AC_ARG_ENABLE(doxygen, [AS_HELP_STRING([--enable-doxygen], [build Doxygen documentation [default=no]])],
|
2009-08-24 06:54:50 +00:00
|
|
|
[ case "${enableval}" in
|
|
|
|
no)
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
AC_MSG_RESULT(yes)
|
2010-01-02 10:27:26 +00:00
|
|
|
AC_PATH_PROG(DOXYGEN, doxygen, , ${PATH})
|
|
|
|
if test "${DOXYGEN}" = ""; then
|
2009-11-23 05:48:11 +00:00
|
|
|
AC_MSG_ERROR([could not find doxygen])
|
|
|
|
fi
|
2009-08-24 06:54:50 +00:00
|
|
|
want_doxygen=true
|
|
|
|
;;
|
|
|
|
esac ],
|
2009-11-23 05:48:11 +00:00
|
|
|
[ AC_MSG_RESULT(no)])
|
2010-01-02 10:27:26 +00:00
|
|
|
AM_CONDITIONAL([WANT_DOXYGEN], [test "${want_doxygen}" = "true"])
|
2009-08-24 06:54:50 +00:00
|
|
|
|
|
|
|
AC_CONFIG_FILES([Makefile
|
2009-10-03 21:50:33 +00:00
|
|
|
kernel/Makefile
|
|
|
|
modules/Makefile
|
2009-10-18 22:25:08 +00:00
|
|
|
modules/atom/Makefile
|
2010-01-05 09:16:29 +00:00
|
|
|
modules/scheme/Makefile
|
2009-10-26 05:13:21 +00:00
|
|
|
modules/http/Makefile
|
2009-10-03 21:50:50 +00:00
|
|
|
modules/json/Makefile
|
2010-01-05 09:16:29 +00:00
|
|
|
modules/python/Makefile
|
2009-11-16 06:01:30 +00:00
|
|
|
modules/scdl/Makefile
|
2009-11-23 05:48:11 +00:00
|
|
|
modules/server/Makefile
|
|
|
|
components/Makefile
|
|
|
|
components/cache/Makefile
|
|
|
|
components/store/Makefile
|
2009-11-23 05:59:08 +00:00
|
|
|
samples/Makefile
|
2009-10-03 21:50:33 +00:00
|
|
|
test/Makefile
|
|
|
|
test/store-script/Makefile
|
|
|
|
doc/Makefile
|
|
|
|
doc/Doxyfile
|
2009-08-24 06:54:50 +00:00
|
|
|
])
|
|
|
|
AC_OUTPUT
|
2009-11-23 05:48:11 +00:00
|
|
|
|