blob: 6e79fc41f59f2ea7973307d99b92d5ea6c3489fe [file] [log] [blame]
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 <cc++/config.h>
#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