mirror of https://github.com/BOINC/boinc.git
107 lines
2.9 KiB
Plaintext
107 lines
2.9 KiB
Plaintext
# Berkeley Open Infrastructure for Network Computing
|
|
# http://boinc.berkeley.edu
|
|
# Copyright (C) 2005 University of California
|
|
#
|
|
# This is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU Lesser General Public
|
|
# License as published by the Free Software Foundation;
|
|
# either version 2.1 of the License, or (at your option) any later version.
|
|
#
|
|
# This software is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
# See the GNU Lesser General Public License for more details.
|
|
#
|
|
# To view the GNU Lesser General Public License visit
|
|
# http://www.gnu.org/copyleft/lesser.html
|
|
# or write to the Free Software Foundation, Inc.,
|
|
# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
#
|
|
# Revision Log:
|
|
# $Log$
|
|
# Revision 1.4 2005/12/24 20:08:03 rwalton
|
|
# *** empty log message ***
|
|
#
|
|
# Revision 1.3 2005/05/10 15:43:56 korpela
|
|
# Fixed bug in caching of SAH_FUNCS_IN_NAMESPACE results.
|
|
#
|
|
# Revision 1.2 2005/05/06 00:31:05 korpela
|
|
# Added caching of results to SAH_CHECK_NAMESPACES and SAH_FUNCS_IN_NAMESPACE
|
|
#
|
|
# Revision 1.1 2003/12/11 18:38:24 korpela
|
|
# Added checked macro files into boinc
|
|
#
|
|
# Revision 1.5 2003/12/03 23:46:11 korpela
|
|
# Fixed "sah_namespaces.m4" not to rely on "tr".
|
|
#
|
|
#
|
|
|
|
AC_PREREQ([2.54])
|
|
|
|
|
|
AC_DEFUN([SAH_LC_TO_DEFN],[
|
|
$1=`echo $2 | $AWK '{split($[]1,a,"(");print a[[ 1 ]]}' | $as_tr_cpp`
|
|
])
|
|
|
|
AC_DEFUN([SAH_NS_TO_DEFN],[
|
|
$1=`echo $2 | $as_tr_cpp`
|
|
])
|
|
|
|
AC_DEFUN([SAH_CHECK_NAMESPACES],[
|
|
AC_LANG_PUSH(C++)
|
|
AC_CACHE_CHECK([for C++ namespaces],
|
|
[sah_cv_have_namespaces],[
|
|
AC_COMPILE_IFELSE([
|
|
AC_LANG_PROGRAM([
|
|
#define CONFIG_TEST
|
|
namespace foo {
|
|
int foo(void) { return(0); }
|
|
}
|
|
],[
|
|
return foo::foo();
|
|
])
|
|
], [sah_cv_have_namespaces="yes"], [sah_cv_have_namespaces="no"])
|
|
])
|
|
if test "${sah_cv_have_namespaces}" = "yes" ; then
|
|
AC_DEFINE(HAVE_NAMESPACES,[1],[Define if your C++ compiler supports namespaces])
|
|
fi
|
|
AC_LANG_POP(C++)
|
|
])
|
|
|
|
AC_DEFUN([SAH_FUNCS_IN_NAMESPACE],[
|
|
AC_LANG_PUSH(C++)
|
|
for func_name in $1
|
|
do
|
|
func_name=m4_quote($func_name)
|
|
t_ns=m4_quote($2)
|
|
SAH_LC_TO_DEFN(ac_func_upper,[$func_name])
|
|
SAH_LC_TO_DEFN(ac_namespace_upper,[$t_ns])
|
|
ac_uc_defn=`echo HAVE_"$ac_namespace_upper"_$ac_func_upper`
|
|
AC_CACHE_CHECK([for $func_name in namespace $t_ns],
|
|
[sah_cv_func_$2_$ac_func_upper],[
|
|
AC_LINK_IFELSE(
|
|
[AC_LANG_PROGRAM([[
|
|
#define CONFIG_TEST
|
|
$sah_cxx_includes
|
|
]],
|
|
[[
|
|
$2::$func_name ;
|
|
]])],
|
|
[
|
|
eval sah_cv_func_$2_$ac_func_upper="yes"
|
|
],
|
|
[
|
|
eval sah_cv_func_$2_$ac_func_upper="no"
|
|
]
|
|
)
|
|
])
|
|
if test "`eval echo '${'sah_cv_func_$2_$ac_func_upper'}'`" = "yes" ; then
|
|
AC_DEFINE_UNQUOTED([$ac_uc_defn], [1],
|
|
["Define to 1 if $func_name is in namespace $t_ns::" ])
|
|
fi
|
|
done
|
|
AC_LANG_POP(C++)
|
|
])
|
|
|
|
|