dnl Copyright (C) 2000-2003 Open Source Telecom Corporation. dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by dnl the Free Software Foundation; either version 2 of the License, or dnl (at your option) any later version. dnl dnl This program is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the dnl GNU General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. dnl dnl As a special exception to the GNU General Public License, if you dnl distribute this file as part of a program that contains a configuration dnl script generated by Autoconf, you may include it under the same dnl distribution terms that you use for the rest of that program. dnl OST_CCXX2_VERSION([MINIMUM-VERSION[,ACTION-IF-FOUND[,ACTION-IF-NOT-FOUND]]]) dnl Test for usable version of CommonC++ AC_DEFUN([OST_CCXX2_DYNLOADER],[ ost_cv_dynloader=`$CCGNU2_CONFIG --dso` if test "$ost_cv_dynloader" = "yes" ; then MODULE_FLAGS=`$CCGNU2_CONFIG --module` AC_SUBST(MODULE_FLAGS) fi ]) AC_DEFUN([OST_CCXX2_LD_THREADING],[ LD_THREADING=`$CCGNU2_CONFIG --cclibs` AC_SUBST(LD_THREADING) ]) AC_DEFUN([OST_CCXX2_VERSION], [ if test -d ${exec_prefix}/bin ; then PATH=${exec_prefix}/bin:$PATH elif test -d ${prefix}/bin ; then PATH=${prefix}/bin:$PATH ; fi AC_PATH_PROG(CCGNU2_CONFIG, ccgnu2-config, no) ccgnu2_version=ifelse([$1], ,0.99.0,$1) AC_MSG_CHECKING(for commoncpp2 version >= $ccgnu2_version) if test "$CCGNU2_CONFIG" = "no" ; then AC_MSG_RESULT(not found) echo "*** The ccgnu2-config script installed by commoncpp2 0.99" echo "*** or later could not be found." echo "*** You need to install GNU Common C++ 2, whose later releases are" echo "*** available from http://www.gnu.org/software/commoncpp/ and any" echo "*** GNU mirror." ifelse([$3], , :, [$3]) exit -1 else config_version=`$CCGNU2_CONFIG --version` ccgnu2_config_major_version=`echo $config_version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` ccgnu2_config_minor_version=`echo $config_version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` ccgnu2_config_micro_version=`echo $config_version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` ccgnu2_check_major_version=`echo "$ccgnu2_version" | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` ccgnu2_check_minor_version=`echo "$ccgnu2_version" | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` ccgnu2_check_micro_version=`echo "$ccgnu2_version" | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` version_ok=no if test $ccgnu2_config_major_version -gt $ccgnu2_check_major_version ; then version_ok=yes elif test $ccgnu2_config_major_version -eq $ccgnu2_check_major_version \ && test $ccgnu2_config_minor_version -gt $ccgnu2_check_minor_version ; then version_ok=yes elif test $ccgnu2_config_major_version -eq $ccgnu2_check_major_version \ && test $ccgnu2_config_minor_version -eq $ccgnu2_check_minor_version \ && test $ccgnu2_config_micro_version -ge $ccgnu2_check_micro_version; then version_ok=yes fi if test "$version_ok" = "no"; then AC_MSG_RESULT(no) ost_cv_ccxx_config=false echo "*** An old version of CommonC++ of $config_version was found." echo "*** You need a version of commoncpp2 newer than $ccgnu2_version. The latest version of" echo "*** CommonC++ is always available from ftp://ftp.gnu.org/gnu/commonc++/." ifelse([$3], , :, [$3]) else AC_MSG_RESULT(yes) ost_cv_ccxx_config=true SINGLE_FLAGS="$CXXFLAGS" SINGLE_LIBS="$LIBS" AC_SUBST(SINGLE_LIBS) AC_SUBST(SINGLE_FLAGS) CXXFLAGS="$CXXFLAGS "`$CCGNU2_CONFIG --flags` GNULIBS="$LIBS "`$CCGNU2_CONFIG --gnulibs` EXTLIBS=`$CCGNU2_CONFIG --extlibs` LIBS="$LIBS `$CCGNU2_CONFIG --stdlibs`" AC_SUBST(GNULIBS) AC_SUBST(EXTLIBS) fi fi ]) AC_DEFUN([OST_CCXX2_CHECK], [ if test -d ${exec_prefix}/bin ; then PATH=${exec_prefix}/bin:$PATH elif test -d ${prefix}/bin ; then PATH=${prefix}/bin:$PATH ; fi AC_PATH_PROG(CCGNU2_CONFIG, ccgnu2-config, no) ccgnu2_version=ifelse([$1], ,0.99.0,$1) AC_MSG_CHECKING(for commoncpp2 version >= $ccgnu2_version) if test "$CCGNU2_CONFIG" = "no" ; then AC_MSG_RESULT(not found) echo "*** The ccgnu2-config script installed by commoncpp2 0.99" echo "*** or later could not be found." echo "*** You need to install GNU Common C++ 2, whose later releases are" echo "*** available from http://www.gnu.org/software/commoncpp/ and any" echo "*** GNU mirror." ifelse([$3], , :, [$3]) exit -1 else config_version=`$CCGNU2_CONFIG --version` ccgnu2_config_major_version=`echo $config_version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` ccgnu2_config_minor_version=`echo $config_version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` ccgnu2_config_micro_version=`echo $config_version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` ccgnu2_check_major_version=`echo "$ccgnu2_version" | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` ccgnu2_check_minor_version=`echo "$ccgnu2_version" | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` ccgnu2_check_micro_version=`echo "$ccgnu2_version" | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` version_ok=no if test $ccgnu2_config_major_version -gt $ccgnu2_check_major_version ; then version_ok=yes elif test $ccgnu2_config_major_version -eq $ccgnu2_check_major_version \ && test $ccgnu2_config_minor_version -gt $ccgnu2_check_minor_version ; then version_ok=yes elif test $ccgnu2_config_major_version -eq $ccgnu2_check_major_version \ && test $ccgnu2_config_minor_version -eq $ccgnu2_check_minor_version \ && test $ccgnu2_config_micro_version -ge $ccgnu2_check_micro_version; then version_ok=yes fi if test "$version_ok" = "no"; then AC_MSG_RESULT(no) ost_cv_ccxx_config=false echo "*** An old version of CommonC++ of $config_version was found." echo "*** You need a version of commoncpp2 newer than $ccgnu2_version. The latest version of" echo "*** CommonC++ is always available from ftp://ftp.gnu.org/gnu/commonc++/." ifelse([$3], , :, [$3]) else AC_MSG_RESULT(yes) ost_cv_ccxx_config=true CCFLAGS2=`$CCGNU2_CONFIG --flags` LDCCGNU2=`$CCGNU2_CONFIG --gnulibs` LDCCEXT2=`$CCGNU2_CONFIG --stdlibs` AC_SUBST(LDCCGNU2) AC_SUBST(LDCCEXT2) AC_SUBST(CCFLAGS2) fi fi ]) AC_DEFUN([OST_CCXX2_FOX],[ AC_LANG_SAVE AC_LANG_CPLUSPLUS ost_cv_lib_fox=false AC_CHECK_HEADERS(fox/fx.h,[ AC_DEFINE(HAVE_FOX_FX_H) ost_cv_lib_fox=true]) AC_LANG_RESTORE ]) dnl OST_CCXX2_XML([ACTION-IF-TRUE[,ACTION-IF-FALSE]]) AC_DEFUN([OST_CCXX2_HOARD],[ AC_ARG_ENABLE(hoard, [--disable-hoard Disable hoard support]) AC_ARG_ENABLE(mpatrol, [--enable-mpatrol Enable mpatrol debugging]) if test "$enable_mpatrol" = "yes" ; then LIBS="$LIBS -lmpatrolmt -lbfd -liberty" elif test "$enable_hoard" != "no" ; then AC_CHECK_LIB(hoard, free, [LIBS="$LIBS -lhoard"]) fi ]) AC_DEFUN([OST_CCXX2_XML], [ AC_MSG_CHECKING(for commoncpp2 xml parsing) AC_LANG_PUSH(C++) AC_REQUIRE_CPP AC_TRY_RUN([ #include #ifndef COMMON_XML_PARSING #error "" #endif int main() { return 0; } ], ost_cv_ccxx_xml=yes, ost_cv_ccxx_xml=no) AC_LANG_POP(C++) if test "x$ost_cv_ccxx_xml" = "xyes" ; then AC_MSG_RESULT(yes) AC_DEFINE(HAVE_OST_CCXX2_XML_PARSING, 1, [Define this if the CommonC++ library was compiled with XML parsing support]) ifelse([$1], , :, [$1]) else AC_MSG_RESULT(no) ifelse([$2], , :, [$2]) fi ]) dnl ACCONFIG TEMPLATE dnl #undef CCXX_CONFIG_H_ dnl #undef HAVE_FOX_FX_H dnl END ACCONFIG