m4_include([config/saga_boost.m4]) m4_include([config/saga_antlr.m4]) m4_include([config/saga_ldl.m4]) AC_DEFUN([AX_SAGA_CHECK_BASE], [ SAGA_ROOT=`pwd` export SAGA_ROOT AC_SUBST(SAGA_ROOT) CACHE="$SAGA_ROOT/config/saga-config.cache" export CACHE rm "$CACHE" # get version SAGA_VERSION=`grep 'Version:' VERSION | cut -f 2 -d ' '` export SAGA_VERSION AC_SUBST(SAGA_VERSION) AC_MSG_CHECKING([operating system type]) SAGA_OSTYPE="SAGA_"`uname | tr 'a-z' 'A-Z'` if test "x$SAGA_OSTYPE" = "x"; then SAGA_OSTYPE=UNKNOWN fi if test "x$SAGA_OSTYPE" = "xSAGA_DARWIN"; then SAGA_OSTYPE=SAGA_APPLE fi AC_MSG_RESULT([$SAGA_OSTYPE]) AC_SUBST(SAGA_OSTYPE) AC_DEFINE_UNQUOTED([SAGA_OSTYPE], [$SAGA_OSTYPE]) AC_DEFINE_UNQUOTED([$SAGA_OSTYPE], [1]) LANG=C export LANG AC_LANG(C++) AC_REQUIRE_CPP AC_ARG_VAR AC_PROG_CC AC_PROG_CXX AC_PROG_CXXCPP # check cmopiler version - works only for gcc/g++ cxx_version=`$CXX -v 2>&1 | grep -e '^gcc version' | cut -f 3 -d ' '` if test "x$cxx_version" != "x"; then AC_MSG_CHECKING([gcc version >= 3.4]) cxx_version_major=`echo $cxx_version | cut -f 1 -d '.'` cxx_version_minor=`echo $cxx_version | cut -f 2 -d '.'` cxx_version_ok=1 if test "0$cxx_version_major" -lt "04"; then if test "0$cxx_version_major" -lt "03"; then $cxx_version_ok=0 else # for v3.x if test "0$cxx_version_minor" -lt "04"; then $cxx_version_ok=0 fi fi fi if test "$cxx_version_ok" -eq "0"; then AC_MSG_FAILURE([Sorry, SAGA does not build with gcc prior to version 3.4 (found $cxx_version_major.$cxx_version_minor)]) fi AC_MSG_RESULT([$cxx_version - ok]) # version is ok CXX_VERSION=$cxx_version AC_SUBST(CXX_VERSION) # check if the compiler supports the visibility flag echo "int main () {return 0;}" | $CXX -fvisibility=default -E -c - >& /dev/null if test "x$?" = "x0"; then SAGA_GCC_VISIBILITY="-fvisibility=default" AC_DEFINE([SAGA_GCC_HAVE_VISIBILITY], [1], [gcc understands visibility pragmas]) else SAGA_GCC_VISIBILITY="" fi AC_SUBST(SAGA_GCC_VISIBILITY) fi ###################################################################### # enable debug AC_ARG_ENABLE([debug], [AS_HELP_STRING([--disable-debug], [build debug version w/o optimization (default: yes)])], [], [enable_debug=yes]) if test "x$enable_debug" = "xyes"; then SAGA_CXXFLAGS_DEBUG="($CXXFLAGS)" SAGA_CXXFLAGS=`echo $CXXFLAGS | sed -e 's/-O.//g'` SAGA_HAVE_DEBUG=yes AC_DEFINE([SAGA_HAVE_DEBUG], [yes]) else SAGA_CXXFLAGS_DEBUG= SAGA_CXXFLAGS=`echo $CXXFLAGS | sed -e 's/-g//g'` SAGA_HAVE_DEBUG=no fi export SAGA_CXXFLAGS export SAGA_CXXFLAGS_DEBUG AC_SUBST(SAGA_HAVE_DEBUG) ###################################################################### # enable saga-lite AC_ARG_ENABLE([lite], [AS_HELP_STRING([--disable-lite], [build statically linked version (default: yes)])], [], [enable_lite=yes]) if test "x$enable_lite" = "xyes"; then SAGA_HAVE_LITE=yes AC_DEFINE([SAGA_HAVE_LITE], [yes], [build lite version?]) else SAGA_HAVE_LITE=no fi AC_SUBST(SAGA_HAVE_LITE) ###################################################################### # lets see if we can find readline, for the saga-shell AC_ARG_WITH([readline], [AS_HELP_STRING([--with-readline], [support fancy command line editing @<:@default=check@:>@])], [], [with_readline=check]) LIBADD_READLINE= if test "x$with_readline" != "xno" ; then AC_CHECK_LIB([readline], [readline], [AC_SUBST([LIBADD_READLINE], ["-lreadline -lncurses"]) SAGA_HAVE_READLINE=1 AC_DEFINE_UNQUOTED([SAGA_HAVE_READLINE], [$SAGA_HAVE_READLINE]) ], [if test "x$with_readline" != xcheck; then AC_MSG_FAILURE( [--with-readline was given, but test for readline failed]) fi], -lncurses) fi if test "x$SAGA_HAVE_READLINE" = "x1" ; then AC_CHECK_LIB([readline], [history_list], SAGA_HAVE_HISTORY_LIST=1 [ AC_DEFINE_UNQUOTED([SAGA_HAVE_HISTORY_LIST], [$SAGA_HAVE_HISTORY_LIST])]) fi SAGA_CPP=$CPP SAGA_CXX=$CXX SAGA_CC=$CC SAGA_LD=$CXX SAGA_CPPFLAGS="-E" SAGA_CPPINCS="$CPPFLAGS" SAGA_CCFLAGS=$CFLAGS SAGA_LDFLAGS_SYS="$LDFLAGS" SAGA_LDFLAGS_READLINE="$LIBADD_READLINE" SAGA_ARFLAGS="rcs" if test "_$SAGA_CPP" = "_" ; then SAGA_CPP=$CXX fi if test "_$SAGA_LD" = "_" ; then SAGA_LD=$CXX fi AC_SUBST(SAGA_CXX) AC_SUBST(SAGA_CPP) AC_SUBST(SAGA_CC) AC_SUBST(SAGA_LD) AC_SUBST(SAGA_CPPINCS) AC_SUBST(SAGA_CPPFLAGS) AC_SUBST(SAGA_CXXFLAGS) AC_SUBST(SAGA_CCFLAGS) AC_SUBST(SAGA_LDFLAGS_READLINE) AC_SUBST(SAGA_LDFLAGS_SYS) AC_SUBST(SAGA_ARFLAGS) AC_PATH_PROG(SAGA_AR, ar) AC_PATH_PROG(SAGA_CP, cp) AC_PATH_PROG(SAGA_LN, ln) AC_PATH_PROG(SAGA_LS, ls) AC_PATH_PROG(SAGA_MV, mv) AC_PATH_PROG(SAGA_RM, rm) AC_PATH_PROG(SAGA_SH, sh) AC_PATH_PROG(SAGA_TR, tr) AC_PATH_PROG(SAGA_AWK, awk) AC_PATH_PROG(SAGA_CAT, cat) AC_PATH_PROG(SAGA_CUT, cut) AC_PATH_PROG(SAGA_ENV, env) AC_PATH_PROG(SAGA_PWD, pwd) AC_PATH_PROG(SAGA_RPM, rpmbuild) AC_PATH_PROG(SAGA_SED, sed) AC_PATH_PROG(SAGA_TAR, tar) AC_PATH_PROG(SAGA_DATE, date) AC_PATH_PROG(SAGA_EXPR, expr) AC_PATH_PROG(SAGA_GREP, grep) AC_PATH_PROG(SAGA_GZIP, gzip) AC_PATH_PROG(SAGA_ECHO, echo) AC_PATH_PROG(SAGA_FIND, find) AC_PATH_PROG(SAGA_GZIP, gzip) AC_PATH_PROG(SAGA_TEST, test) AC_PATH_PROG(SAGA_TRUE, true) AC_PATH_PROG(SAGA_MKDIR, mkdir) AC_PATH_PROG(SAGA_RMDIR, rmdir) AC_PATH_PROG(SAGA_TOUCH, touch) AC_PATH_PROG(SAGA_FALSE, false) AC_PATH_PROG(SAGA_DOXYGEN, doxygen) # check if pwd understands -P AC_MSG_CHECKING(for -P flag on pwd) test=`cd / && $SAGA_PWD -P 2>&1` if test "$test" = "/"; then SAGA_PWD="$SAGA_PWD -P" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi AC_MSG_CHECKING(for /dev/null) if test -w /dev/null; then SAGA_DEVNULL=/dev/null else SAGA_DEVNULL=/tmp/remove_me.saga fi AC_SUBST(SAGA_DEVNULL) AC_MSG_RESULT([$SAGA_DEVNULL]) old_cppflags=$CPPFLAGS CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" AC_MSG_CHECKING([for long type]) SAGA_TYPE_SIZE=unique AC_RUN_IFELSE([ #include int main () { return ! (boost::is_same ::value); } ], [SAGA_TYPE_LONG=int AC_DEFINE([SAGA_TYPE_LONG_IS_INT], [1])]) AC_MSG_RESULT([$SAGA_TYPE_SIZE]) AC_MSG_CHECKING([for long long type]) SAGA_TYPE_SIZE=unique AC_RUN_IFELSE([ #include int main () { return ! (boost::is_same ::value); } ], [SAGA_TYPE_LONGLONG=int AC_DEFINE([SAGA_TYPE_LONGLONG_IS_INT], [1])]) AC_MSG_RESULT([$SAGA_TYPE_SIZE]) AC_MSG_CHECKING([for size_t type]) SAGA_TYPE_SIZE=unique AC_RUN_IFELSE([ #include int main () { return ! (boost::is_same ::value); } ], [SAGA_TYPE_SIZE=int AC_DEFINE([SAGA_TYPE_SIZE_IS_INT], [1])]) AC_RUN_IFELSE([ #include int main () { return ! (boost::is_same ::value); } ], [SAGA_TYPE_SIZE=long AC_DEFINE([SAGA_TYPE_SIZE_IS_LONG], [1])]) AC_RUN_IFELSE([ #include int main () { return ! (boost::is_same ::value); } ], [SAGA_TYPE_SIZE="long long" AC_DEFINE([SAGA_TYPE_SIZE_IS_LONGLONG], [1])]) AC_MSG_RESULT([$SAGA_TYPE_SIZE]) AC_MSG_CHECKING([for ssize_t type]) SAGA_TYPE_SSIZE=unique AC_RUN_IFELSE([ #include int main () { return ! (boost::is_same ::value); } ], [SAGA_TYPE_SSIZE=int AC_DEFINE([SAGA_TYPE_SSIZE_IS_INT], [1])]) AC_RUN_IFELSE([ #include int main () { return ! (boost::is_same ::value); } ], [SAGA_TYPE_SSIZE=long AC_DEFINE([SAGA_TYPE_SSIZE_IS_LONG], [1])]) AC_RUN_IFELSE([ #include int main () { return ! (boost::is_same ::value); } ], [SAGA_TYPE_SSIZE="long long" AC_DEFINE([SAGA_TYPE_SSIZE_IS_LONGLONG], [1])]) AC_RUN_IFELSE([ #include int main () { return ! (boost::is_same ::value); } ], [SAGA_TYPE_SSIZE=size_t AC_DEFINE([SAGA_TYPE_SSIZE_IS_SIZE], [1])]) AC_MSG_RESULT([$SAGA_TYPE_SSIZE]) AC_MSG_CHECKING([for off_t type]) SAGA_TYPE_OFF=unique AC_RUN_IFELSE([ #include int main () { return ! (boost::is_same ::value); } ], [SAGA_TYPE_OFF=int AC_DEFINE([SAGA_TYPE_OFF_IS_INT], [1])]) AC_RUN_IFELSE([ #include int main () { return ! (boost::is_same ::value); } ], [SAGA_TYPE_OFF=long AC_DEFINE([SAGA_TYPE_OFF_IS_LONG], [1])]) AC_RUN_IFELSE([ #include int main () { return ! (boost::is_same ::value); } ], [SAGA_TYPE_OFF="long long" AC_DEFINE([SAGA_TYPE_OFF_IS_LONGLONG], [1])]) AC_RUN_IFELSE([ #include int main () { return ! (boost::is_same ::value); } ], [SAGA_TYPE_OFF=size_t AC_DEFINE([SAGA_TYPE_OFF_IS_SIZE], [1])]) AC_RUN_IFELSE([ #include int main () { return ! (boost::is_same ::value); } ], [SAGA_TYPE_OFF=ssize_t AC_DEFINE([SAGA_TYPE_OFF_IS_SSIZE], [1])]) AC_MSG_RESULT([$SAGA_TYPE_OFF]) CPPFLAGS=$old_cppflags ########################################################### # # lets see who finds this... # inspired by : configure of kvirc 2.0 # AC_MSG_CHECKING(number of dimensions) AC_MSG_RESULT([3.5*pi (spatial) + 1 (temporal)]) AC_MSG_CHECKING(type of universe) AC_MSG_RESULT([4 bosons, 3 fermions, 1 higgs - ok, standard universe]) AC_MSG_CHECKING(if e=mc^2) AC_MSG_RESULT([ok]) AC_MSG_CHECKING(validity of Maxwell laws on this machine) AC_MSG_RESULT([ok]) AC_MSG_CHECKING(fundamental symmetry group) AC_MSG_RESULT([E8 (nice)]) # ########################################################### ]) AC_DEFUN([AX_SAGA_CHECK_BINDINGS], [ AC_MSG_CHECKING([available bindings]) SAGA_HAVE_BINDING_C=no SAGA_HAVE_BINDING_PYTHON=no AC_ARG_WITH([bindings], AS_HELP_STRING([--with-bindings=all], [comma separated list of SAGA language bindings to build. possible values: C, Python, all (default is all).]), [ if test "$withval" = "no"; then want_bindings="" elif test "$withval" = "yes"; then want_bindings="all" else want_bindings=$withval fi ], [want_bindings="all"]) if test "x$want_bindings" = "xall"; then want_bindings="C,Python" fi while $TRUE do this_binding=`echo $want_bindings | cut -f1 -d','` want_bindings=`echo $want_bindings | grep ',' | cut -f2- -d','` if test "x$this_binding" = "x"; then break fi case "$this_binding" in C ) build_bindings="$build_bindings$this_binding " SAGA_HAVE_BINDING_C=yes AC_SUBST([SAGA_HAVE_BINDING_C]) AC_DEFINE([SAGA_HAVE_BINDING_C], [1]) ;; Python ) build_bindings="$build_bindings$this_binding " SAGA_HAVE_BINDING_PYTHON=yes AC_SUBST([SAGA_HAVE_BINDING_PYTHON]) AC_DEFINE([SAGA_HAVE_BINDING_PYTHON], [1]) ;; * ) AC_MSG_ERROR(unknown binding '$this_binding') ;; esac done SAGA_BUILD_BINDINGS=$build_bindings export SAGA_BUILD_BINDINGS AC_SUBST(SAGA_BUILD_BINDINGS) export SAGA_HAVE_BINDING_C export SAGA_HAVE_BINDING_PYTHON echo "export SAGA_HAVE_BINDING_C=$SAGA_HAVE_BINDING_C" >> $CACHE echo "export SAGA_HAVE_BINDING_PYTHON=$SAGA_HAVE_BINDING_PYTHON" >> $CACHE echo "" >> $CACHE AC_MSG_RESULT([$build_bindings]) ]) AC_DEFUN([AX_SAGA_CHECK_PACKAGES], [ AC_MSG_CHECKING([available packages]) SAGA_HAVE_PACKAGE_JOB=no SAGA_HAVE_PACKAGE_FILE=no SAGA_HAVE_PACKAGE_REPLICA=no SAGA_HAVE_PACKAGE_NAMESPACE=no SAGA_HAVE_PACKAGE_STREAM=no SAGA_HAVE_PACKAGE_RPC=no SAGA_HAVE_PACKAGE_ADVERT=no SAGA_HAVE_PACKAGE_SD=no SAGA_HAVE_PACKAGE_CPR=no AC_ARG_WITH([packages], AS_HELP_STRING([--with-packages=all], [comma separated list of SAGA API packages to build. possible values: job, namespace, file, replica, stream, rpc, advert, sd, cpr, all (default is all w/o sd,cpr).]), [ if test "$withval" = "no"; then want_packages="" elif test "$withval" = "yes"; then want_packages="all" want_packages="job,namespace,file,replica,stream,rpc,advert" else want_packages=$withval fi ], [ want_packages="all" want_packages="job,namespace,file,replica,stream,rpc,advert" ]) if test "x$want_packages" = "x"; then AC_MSG_ERROR("It makes no sense to build SAGA withpout any API packages.") fi if test "x$want_packages" = "xall"; then want_packages="job,namespace,file,replica,stream,rpc,advert,sd,cpr" fi while $TRUE do this_package=`echo $want_packages | cut -f1 -d','` want_packages=`echo $want_packages | grep ',' | cut -f2- -d','` if test "x$this_package" == "x"; then break fi build_this_package="$this_package " case "$this_package" in job ) SAGA_HAVE_PACKAGE_JOB=yes ;; file ) SAGA_HAVE_PACKAGE_FILE=yes SAGA_HAVE_PACKAGE_NAMESPACE=yes ;; replica ) SAGA_HAVE_PACKAGE_REPLICA=yes SAGA_HAVE_PACKAGE_NAMESPACE=yes ;; namespace ) SAGA_HAVE_PACKAGE_NAMESPACE=yes ;; stream ) SAGA_HAVE_PACKAGE_STREAM=yes ;; rpc ) SAGA_HAVE_PACKAGE_RPC=yes ;; advert ) SAGA_HAVE_PACKAGE_ADVERT=yes SAGA_HAVE_PACKAGE_NAMESPACE=yes ;; sd ) SAGA_HAVE_PACKAGE_SD=yes ;; cpr ) SAGA_HAVE_PACKAGE_CPR=yes SAGA_HAVE_PACKAGE_JOB=yes SAGA_HAVE_PACKAGE_NAMESPACE=yes ;; * ) build_this_package="" AC_MSG_ERROR(unknown package type '$this_package') ;; esac build_packages="$build_packages$build_this_package" done if test "$SAGA_HAVE_PACKAGE_JOB" = "yes"; then AC_SUBST([SAGA_HAVE_PACKAGE_JOB]) AC_DEFINE([SAGA_HAVE_PACKAGE_JOB], [1]) SAGA_PACKAGE_LDFLAGS="$SAGA_PACKAGE_LDFLAGS -lsaga_package_job" fi if test "$SAGA_HAVE_PACKAGE_FILE" = "yes"; then AC_SUBST([SAGA_HAVE_PACKAGE_FILE]) AC_DEFINE([SAGA_HAVE_PACKAGE_FILE], [1]) SAGA_PACKAGE_LDFLAGS="$SAGA_PACKAGE_LDFLAGS -lsaga_package_file" fi if test "$SAGA_HAVE_PACKAGE_REPLICA" = "yes"; then AC_SUBST([SAGA_HAVE_PACKAGE_REPLICA]) AC_DEFINE([SAGA_HAVE_PACKAGE_REPLICA], [1]) SAGA_PACKAGE_LDFLAGS="$SAGA_PACKAGE_LDFLAGS -lsaga_package_replica" fi if test "$SAGA_HAVE_PACKAGE_NAMESPACE" = "yes"; then AC_SUBST([SAGA_HAVE_PACKAGE_NAMESPACE]) AC_DEFINE([SAGA_HAVE_PACKAGE_NAMESPACE], [1]) SAGA_PACKAGE_LDFLAGS="$SAGA_PACKAGE_LDFLAGS -lsaga_package_namespace" fi if test "$SAGA_HAVE_PACKAGE_STREAM" = "yes"; then AC_SUBST([SAGA_HAVE_PACKAGE_STREAM]) AC_DEFINE([SAGA_HAVE_PACKAGE_STREAM], [1]) SAGA_PACKAGE_LDFLAGS="$SAGA_PACKAGE_LDFLAGS -lsaga_package_stream" fi if test "$SAGA_HAVE_PACKAGE_RPC" = "yes"; then AC_SUBST([SAGA_HAVE_PACKAGE_RPC]) AC_DEFINE([SAGA_HAVE_PACKAGE_RPC], [1]) SAGA_PACKAGE_LDFLAGS="$SAGA_PACKAGE_LDFLAGS -lsaga_package_rpc" fi if test "$SAGA_HAVE_PACKAGE_ADVERT" = "yes"; then AC_SUBST([SAGA_HAVE_PACKAGE_ADVERT]) AC_DEFINE([SAGA_HAVE_PACKAGE_ADVERT], [1]) SAGA_PACKAGE_LDFLAGS="$SAGA_PACKAGE_LDFLAGS -lsaga_package_advert" fi if test "$SAGA_HAVE_PACKAGE_SD" = "yes"; then AC_SUBST([SAGA_HAVE_PACKAGE_SD]) AC_DEFINE([SAGA_HAVE_PACKAGE_SD], [1]) SAGA_PACKAGE_LDFLAGS="$SAGA_PACKAGE_LDFLAGS -lsaga_package_sd" fi if test "$SAGA_HAVE_PACKAGE_CPR" = "yes"; then AC_SUBST([SAGA_HAVE_PACKAGE_CPR]) AC_DEFINE([SAGA_HAVE_PACKAGE_CPR], [1]) SAGA_PACKAGE_LDFLAGS="$SAGA_PACKAGE_LDFLAGS -lsaga_package_cpr" fi export SAGA_PACKAGE_LDFLAGS AC_SUBST(SAGA_PACKAGE_LDFLAGS) SAGA_BUILD_PACKAGES=$build_packages export SAGA_BUILD_PACKAGES AC_SUBST(SAGA_BUILD_PACKAGES) export SAGA_HAVE_PACKAGE_JOB export SAGA_HAVE_PACKAGE_FILE export SAGA_HAVE_PACKAGE_REPLICA export SAGA_HAVE_PACKAGE_NAMESPACE export SAGA_HAVE_PACKAGE_STREAM export SAGA_HAVE_PACKAGE_RPC export SAGA_HAVE_PACKAGE_ADVERT export SAGA_HAVE_PACKAGE_SD export SAGA_HAVE_PACKAGE_CPR echo "export SAGA_HAVE_PACKAGE_JOB=$SAGA_HAVE_PACKAGE_JOB" >> $CACHE echo "export SAGA_HAVE_PACKAGE_FILE=$SAGA_HAVE_PACKAGE_FILE" >> $CACHE echo "export SAGA_HAVE_PACKAGE_REPLICA=$SAGA_HAVE_PACKAGE_REPLICA" >> $CACHE echo "export SAGA_HAVE_PACKAGE_NAMESPACE=$SAGA_HAVE_PACKAGE_NAMESPACE" >> $CACHE echo "export SAGA_HAVE_PACKAGE_STREAM=$SAGA_HAVE_PACKAGE_STREAM" >> $CACHE echo "export SAGA_HAVE_PACKAGE_RPC=$SAGA_HAVE_PACKAGE_RPC" >> $CACHE echo "export SAGA_HAVE_PACKAGE_ADVERT=$SAGA_HAVE_PACKAGE_ADVERT" >> $CACHE echo "export SAGA_HAVE_PACKAGE_SD=$SAGA_HAVE_PACKAGE_SD" >> $CACHE echo "export SAGA_HAVE_PACKAGE_CPR=$SAGA_HAVE_PACKAGE_CPR" >> $CACHE echo "" >> $CACHE AC_MSG_RESULT([$build_packages]) ]) AC_DEFUN([AX_SAGA_CHECK_ADAPTORS], [ # first, get a list of possible/known adaptor sets SAGA_HAVE_ADAPTOR_JOB=no SAGA_HAVE_ADAPTOR_FILE=no SAGA_HAVE_ADAPTOR_REPLICA=no SAGA_HAVE_ADAPTOR_NAMESPACE=no SAGA_HAVE_ADAPTOR_STREAM=no SAGA_HAVE_ADAPTOR_RPC=no SAGA_HAVE_ADAPTOR_ADVERT=no SAGA_HAVE_ADAPTOR_SD=no SAGA_HAVE_ADAPTOR_CPR=no AC_MSG_CHECKING([available adaptors]) adaptors_avail=`ls adaptors/*/` AC_ARG_WITH([adaptors], AS_HELP_STRING([--with-adaptors=all], [comma separated list of SAGA adaptors to build. possible values: job, file, replica, stream, rpc, advert, sd, cpr, all (default is all w/o sd,cpr).]), [ if test "$withval" = "no"; then want_adaptors="" elif test "$withval" = "yes"; then want_adaptors="all" want_adaptors="job,namespace,file,replica,stream,rpc,advert" else want_adaptors=$withval fi ], [ want_adaptors="all" want_adaptors="job,namespace,file,replica,stream,rpc,advert" ]) if test "x$want_adaptors" = "x"; then AC_MSG_WARN("It makes not much sense to build SAGA withpout any API adaptors.") else if test "x$want_adaptors" = "xall"; then want_adaptors="job,namespace,file,replica,stream,rpc,advert,sd,cpr" fi while $TRUE do this_adaptor=`echo $want_adaptors | cut -f1 -d','` want_adaptors=`echo $want_adaptors | grep ',' | cut -f2- -d','` if test "x$this_adaptor" == "x"; then break fi case "$this_adaptor" in job ) if test "$SAGA_HAVE_PACKAGE_JOB" = "yes"; then AC_SUBST([SAGA_HAVE_ADAPTOR_JOB]) AC_DEFINE([SAGA_HAVE_ADAPTOR_JOB], [1]) SAGA_HAVE_ADAPTOR_JOB=yes build_adaptors="${build_adaptors}job " fi ;; file ) if test "$SAGA_HAVE_PACKAGE_FILE" = "yes"; then AC_SUBST([SAGA_HAVE_ADAPTOR_FILE]) AC_DEFINE([SAGA_HAVE_ADAPTOR_FILE], [1]) SAGA_HAVE_ADAPTOR_FILE=yes build_adaptors="${build_adaptors}file " fi ;; replica ) if test "$SAGA_HAVE_PACKAGE_REPLICA" = "yes"; then AC_SUBST([SAGA_HAVE_ADAPTOR_REPLICA]) AC_DEFINE([SAGA_HAVE_ADAPTOR_REPLICA], [1]) SAGA_HAVE_ADAPTOR_REPLICA=yes build_adaptors="${build_adaptors}replica " fi ;; namespace ) if test "$SAGA_HAVE_PACKAGE_NAMESPACE" = "yes"; then AC_SUBST([SAGA_HAVE_ADAPTOR_NAMESPACE]) AC_DEFINE([SAGA_HAVE_ADAPTOR_NAMESPACE], [1]) SAGA_HAVE_ADAPTOR_NAMESPACE=yes build_adaptors="${build_adaptors}namespace " fi ;; stream ) if test "$SAGA_HAVE_PACKAGE_STREAM" = "yes"; then AC_SUBST([SAGA_HAVE_ADAPTOR_STREAM]) AC_DEFINE([SAGA_HAVE_ADAPTOR_STREAM], [1]) SAGA_HAVE_ADAPTOR_STREAM=yes build_adaptors="${build_adaptors}stream " fi ;; rpc ) if test "$SAGA_HAVE_PACKAGE_RPC" = "yes"; then AC_SUBST([SAGA_HAVE_ADAPTOR_RPC]) AC_DEFINE([SAGA_HAVE_ADAPTOR_RPC], [1]) SAGA_HAVE_ADAPTOR_RPC=yes build_adaptors="${build_adaptors}rpc " fi ;; advert ) if test "$SAGA_HAVE_PACKAGE_ADVERT" = "yes"; then AC_SUBST([SAGA_HAVE_ADAPTOR_ADVERT]) AC_DEFINE([SAGA_HAVE_ADAPTOR_ADVERT], [1]) SAGA_HAVE_ADAPTOR_ADVERT=yes build_adaptors="${build_adaptors}advert " fi ;; sd ) if test "$SAGA_HAVE_PACKAGE_SD" = "yes"; then AC_SUBST([SAGA_HAVE_ADAPTOR_SD]) AC_DEFINE([SAGA_HAVE_ADAPTOR_SD], [1]) SAGA_HAVE_ADAPTOR_SD=yes build_adaptors="${build_adaptors}sd " fi ;; cpr ) if test "$SAGA_HAVE_PACKAGE_CPR" = "yes"; then AC_SUBST([SAGA_HAVE_ADAPTOR_CPR]) AC_DEFINE([SAGA_HAVE_ADAPTOR_CPR], [1]) SAGA_HAVE_ADAPTOR_CPR=yes build_adaptors="${build_adaptors}cpr " fi ;; * ) AC_MSG_ERROR(unknown package type '$this_adaptor') ;; esac done fi # have none enabled, else SAGA_BUILD_ADAPTORS=$build_adaptors export SAGA_BUILD_ADAPTORS AC_SUBST(SAGA_BUILD_ADAPTORS) export SAGA_HAVE_ADAPTOR_JOB export SAGA_HAVE_ADAPTOR_FILE export SAGA_HAVE_ADAPTOR_REPLICA export SAGA_HAVE_ADAPTOR_NAMESPACE export SAGA_HAVE_ADAPTOR_STREAM export SAGA_HAVE_ADAPTOR_RPC export SAGA_HAVE_ADAPTOR_ADVERT export SAGA_HAVE_ADAPTOR_SD export SAGA_HAVE_ADAPTOR_CPR echo "export SAGA_HAVE_ADAPTOR_JOB=$SAGA_HAVE_ADAPTOR_JOB" >> $CACHE echo "export SAGA_HAVE_ADAPTOR_FILE=$SAGA_HAVE_ADAPTOR_FILE" >> $CACHE echo "export SAGA_HAVE_ADAPTOR_REPLICA=$SAGA_HAVE_ADAPTOR_REPLICA" >> $CACHE echo "export SAGA_HAVE_ADAPTOR_NAMESPACE=$SAGA_HAVE_ADAPTOR_NAMESPACE" >> $CACHE echo "export SAGA_HAVE_ADAPTOR_STREAM=$SAGA_HAVE_ADAPTOR_STREAM" >> $CACHE echo "export SAGA_HAVE_ADAPTOR_RPC=$SAGA_HAVE_ADAPTOR_RPC" >> $CACHE echo "export SAGA_HAVE_ADAPTOR_ADVERT=$SAGA_HAVE_ADAPTOR_ADVERT" >> $CACHE echo "export SAGA_HAVE_ADAPTOR_SD=$SAGA_HAVE_ADAPTOR_SD" >> $CACHE echo "export SAGA_HAVE_ADAPTOR_CPR=$SAGA_HAVE_ADAPTOR_CPR" >> $CACHE echo "" >> $CACHE AC_MSG_RESULT([$build_adaptors]) ]) AC_DEFUN([AX_SAGA_CHECK_ADAPTOR_SUITES], [ AC_MSG_CHECKING([available adaptor suites]) SAGA_HAVE_ADAPTOR_SUITE_DEFAULT=no SAGA_HAVE_ADAPTOR_SUITE_CONDOR=no SAGA_HAVE_ADAPTOR_SUITE_GLOBUS=no SAGA_HAVE_ADAPTOR_SUITE_OMII=no default="default,omii,globus" AC_ARG_WITH([adaptor_suites], AS_HELP_STRING([--with-adaptor_suites=], [comma separated list of SAGA adaptor suites to build. possible values: default, condor, globus, omii, all (default is "default,omii,globus").]), [ if test "$withval" = "no"; then want_adaptor_suites="" elif test "$withval" = "yes"; then want_adaptor_suites="$default" else want_adaptor_suites=$withval fi ], [want_adaptor_suites="$default"]) if test "x$want_adaptor_suites" = "xall"; then want_adaptor_suites="default,condor,globus,omii" fi while $TRUE do this_adaptor_suite=`echo $want_adaptor_suites | cut -f1 -d','` want_adaptor_suites=`echo $want_adaptor_suites | grep ',' | cut -f2- -d','` if test "x$this_adaptor_suite" = "x"; then break fi build_this_adaptor_suite="$this_adaptor_suite" case "$this_adaptor_suite" in default ) SAGA_HAVE_ADAPTOR_SUITE_DEFAULT=yes AC_SUBST([SAGA_HAVE_ADAPTOR_SUITE_DEFAULT]) AC_DEFINE([SAGA_HAVE_ADAPTOR_SUITE_DEFAULT], [1]) ;; condor ) SAGA_HAVE_ADAPTOR_SUITE_CONDOR=yes AC_SUBST([SAGA_HAVE_ADAPTOR_SUITE_CONDOR]) AC_DEFINE([SAGA_HAVE_ADAPTOR_SUITE_CONDOR], [1]) ;; globus ) SAGA_HAVE_ADAPTOR_SUITE_GLOBUS=yes AC_SUBST([SAGA_HAVE_ADAPTOR_SUITE_GLOBUS]) AC_DEFINE([SAGA_HAVE_ADAPTOR_SUITE_GLOBUS], [1]) build_adaptor_suites="$build_adaptor_suites$this_adaptor_suite " ;; omii ) SAGA_HAVE_ADAPTOR_SUITE_OMII=yes AC_SUBST([SAGA_HAVE_ADAPTOR_SUITE_OMII]) AC_DEFINE([SAGA_HAVE_ADAPTOR_SUITE_OMII], [1]) ;; * ) AC_MSG_ERROR(unknown adaptor_suite '$this_adaptor_suite') build_this_adaptor_suite="" ;; esac build_adaptor_suites="$build_adaptor_suites$build_this_adaptor_suite" done SAGA_BUILD_ADAPTOR_SUITES=$build_adaptor_suites export SAGA_BUILD_ADAPTOR_SUITES AC_SUBST(SAGA_BUILD_ADAPTOR_SUITES) export SAGA_HAVE_ADAPTOR_SUITE_DEFAULT export SAGA_HAVE_ADAPTOR_SUITE_CONDOR export SAGA_HAVE_ADAPTOR_SUITE_GLOBUS export SAGA_HAVE_ADAPTOR_SUITE_OMII echo "export SAGA_HAVE_ADAPTOR_SUITE_DEFAULT=$SAGA_HAVE_ADAPTOR_SUITE_DEFAULT" >> $CACHE echo "export SAGA_HAVE_ADAPTOR_SUITE_CONDOR=$SAGA_HAVE_ADAPTOR_SUITE_CONDOR" >> $CACHE echo "export SAGA_HAVE_ADAPTOR_SUITE_GLOBUS=$SAGA_HAVE_ADAPTOR_SUITE_GLOBUS" >> $CACHE echo "export SAGA_HAVE_ADAPTOR_SUITE_OMII=$SAGA_HAVE_ADAPTOR_SUITE_OMII" >> $CACHE echo "" >> $CACHE AC_MSG_RESULT([$build_adaptor_suites]) ])