summaryrefslogtreecommitdiff
path: root/build/cxx_std.m4
diff options
context:
space:
mode:
authorKrzesimir Nowak <qdlacz@gmail.com>2011-09-21 19:22:35 +0200
committerKrzesimir Nowak <qdlacz@gmail.com>2011-09-22 10:27:53 +0200
commitd1a70549a88dd1f0f5dc81ecd37428103e8aeec8 (patch)
treecb06b28f1478bad0a2feef3a8e556f1a2ee0acf7 /build/cxx_std.m4
parent1d82282f18fb23dc25fe9cc5657ed16aeff11481 (diff)
downloadglibmm-d1a70549a88dd1f0f5dc81ecd37428103e8aeec8.tar.gz
Don't use obsolete macros.
* autogen.sh: Warn about everything during autoreconf. * configure.ac: Replaced obsolete macros with their modern counterparts. * build/c_std.m4: Ditto. * build/cxx.m4: Ditto. * build/cxx_std.m4: Ditto. * build/sun.m4: Ditto. * build/macros.m4: Ditto. Removed all unused macros and renamed to... * build/debug.m4: ...this, because only macro for debugging refcount has left. * build/glibmm_check_perl.m4: Deleted. None of the macros there was used. * build/dk-feature.m4: Use AS_VAR_IF. * Makefile.am: Removed distribution of deleted m4 file.
Diffstat (limited to 'build/cxx_std.m4')
-rw-r--r--build/cxx_std.m4131
1 files changed, 69 insertions, 62 deletions
diff --git a/build/cxx_std.m4 b/build/cxx_std.m4
index aa3d5c90..6708dc51 100644
--- a/build/cxx_std.m4
+++ b/build/cxx_std.m4
@@ -1,3 +1,22 @@
+## Copyright (c) 2009, 2011 Openismus GmbH <http://www.openismus.com/>
+##
+## This file is part of glibmm.
+##
+## glibmm 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.
+##
+## glibmm 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.
+##
+## You should have received a copy of the GNU Lesser General Public License
+## along with this library. If not, see <http://www.gnu.org/licenses/>.
+
+#serial 20110910
+
## GLIBMM_CXX_HAS_NAMESPACE_STD()
##
## Test whether libstdc++ declares namespace std. For safety,
@@ -10,15 +29,15 @@ AC_DEFUN([GLIBMM_CXX_HAS_NAMESPACE_STD],
[
AC_CACHE_CHECK(
[whether C++ library symbols are declared in namespace std],
- [gtkmm_cv_cxx_has_namespace_std],
+ [glibmm_cv_cxx_has_namespace_std],
[
- AC_TRY_COMPILE(
- [
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+ [[
#include <algorithm>
#include <iterator>
#include <iostream>
#include <string>
- ],[
+ ]],[[
using std::min;
using std::find;
using std::copy;
@@ -26,17 +45,15 @@ AC_DEFUN([GLIBMM_CXX_HAS_NAMESPACE_STD],
using std::string;
using std::istream;
using std::cout;
- ],
- [gtkmm_cv_cxx_has_namespace_std="yes"],
- [gtkmm_cv_cxx_has_namespace_std="no"]
+ ]])],
+ [glibmm_cv_cxx_has_namespace_std='yes'],
+ [glibmm_cv_cxx_has_namespace_std='no']
)
])
- if test "x${gtkmm_cv_cxx_has_namespace_std}" = "xyes"; then
- {
- AC_DEFINE([GLIBMM_HAVE_NAMESPACE_STD],[1], [Defined when the libstdc++ declares the std-namespace])
- }
- fi
+ AS_VAR_IF([glibmm_cv_cxx_has_namespace_std], ['yes'],
+ [AC_DEFINE([GLIBMM_HAVE_NAMESPACE_STD], [1],
+ [Defined when the libstdc++ declares the std-namespace])])[]dnl
])
@@ -51,27 +68,25 @@ AC_DEFUN([GLIBMM_CXX_HAS_STD_ITERATOR_TRAITS],
AC_CACHE_CHECK(
[whether the C++ library supports std::iterator_traits],
- [gtkmm_cv_cxx_has_std_iterator_traits],
+ [glibmm_cv_cxx_has_std_iterator_traits],
[
- AC_TRY_COMPILE(
- [
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+ [[
#include <iterator>
#ifdef GLIBMM_HAVE_NAMESPACE_STD
using namespace std;
#endif
- ],[
+ ]],[[
typedef iterator_traits<char*>::value_type ValueType;
- ],
- [gtkmm_cv_cxx_has_std_iterator_traits="yes"],
- [gtkmm_cv_cxx_has_std_iterator_traits="no"]
+ ]])],
+ [glibmm_cv_cxx_has_std_iterator_traits='yes'],
+ [glibmm_cv_cxx_has_std_iterator_traits='no']
)
])
- if test "x${gtkmm_cv_cxx_has_std_iterator_traits}" = "xyes"; then
- {
- AC_DEFINE([GLIBMM_HAVE_STD_ITERATOR_TRAITS],[1], [Defined if std::iterator_traits<> is standard-conforming])
- }
- fi
+ AS_VAR_IF([glibmm_cv_cxx_has_std_iterator_traits], ['yes'],
+ [AC_DEFINE([GLIBMM_HAVE_STD_ITERATOR_TRAITS], [1],
+ [Defined if std::iterator_traits<> is standard-conforming])])[]dnl
])
@@ -86,27 +101,25 @@ AC_DEFUN([GLIBMM_CXX_HAS_SUN_REVERSE_ITERATOR],
AC_CACHE_CHECK(
[for non-standard Sun libCstd reverse_iterator],
- [gtkmm_cv_cxx_has_sun_reverse_iterator],
+ [glibmm_cv_cxx_has_sun_reverse_iterator],
[
- AC_TRY_COMPILE(
- [
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+ [[
#include <iterator>
#ifdef GLIBMM_HAVE_NAMESPACE_STD
using namespace std;
#endif
- ],[
+ ]],[[
typedef reverse_iterator<char*,random_access_iterator_tag,char,char&,char*,int> ReverseIter;
- ],
- [gtkmm_cv_cxx_has_sun_reverse_iterator="yes"],
- [gtkmm_cv_cxx_has_sun_reverse_iterator="no"]
+ ]])],
+ [glibmm_cv_cxx_has_sun_reverse_iterator='yes'],
+ [glibmm_cv_cxx_has_sun_reverse_iterator='no']
)
])
- if test "x${gtkmm_cv_cxx_has_sun_reverse_iterator}" = "xyes"; then
- {
- AC_DEFINE([GLIBMM_HAVE_SUN_REVERSE_ITERATOR],[1], [Defined if std::reverse_iterator is in Sun libCstd style])
- }
- fi
+ AS_VAR_IF([glibmm_cv_cxx_has_sun_reverse_iterator], ['yes'],
+ [AC_DEFINE([GLIBMM_HAVE_SUN_REVERSE_ITERATOR], [1],
+ [Defined if std::reverse_iterator is in Sun libCstd style])])[]dnl
])
@@ -121,33 +134,31 @@ AC_DEFUN([GLIBMM_CXX_HAS_TEMPLATE_SEQUENCE_CTORS],
AC_CACHE_CHECK(
[whether STL containers have templated sequence constructors],
- [gtkmm_cv_cxx_has_template_sequence_ctors],
+ [glibmm_cv_cxx_has_template_sequence_ctors],
[
- AC_TRY_COMPILE(
- [
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+ [[
#include <vector>
#include <deque>
#include <list>
#ifdef GLIBMM_HAVE_NAMESPACE_STD
using namespace std;
#endif
- ],[
+ ]],[[
const int array[8] = { 0, };
vector<int> test_vector (&array[0], &array[8]);
deque<short> test_deque (test_vector.begin(), test_vector.end());
list<long> test_list (test_deque.begin(), test_deque.end());
test_vector.assign(test_list.begin(), test_list.end());
- ],
- [gtkmm_cv_cxx_has_template_sequence_ctors="yes"],
- [gtkmm_cv_cxx_has_template_sequence_ctors="no"]
+ ]])],
+ [glibmm_cv_cxx_has_template_sequence_ctors='yes'],
+ [glibmm_cv_cxx_has_template_sequence_ctors='no']
)
])
- if test "x${gtkmm_cv_cxx_has_template_sequence_ctors}" = "xyes"; then
- {
- AC_DEFINE([GLIBMM_HAVE_TEMPLATE_SEQUENCE_CTORS],[1], [Defined if the STL containers have templated sequence ctors])
- }
- fi
+ AS_VAR_IF([glibmm_cv_cxx_has_template_sequence_ctors], ['yes'],
+ [AC_DEFINE([GLIBMM_HAVE_TEMPLATE_SEQUENCE_CTORS], [1],
+ [Defined if the STL containers have templated sequence ctors])])[]dnl
])
## GLIBMM_CXX_ALLOWS_STATIC_INLINE_NPOS()
@@ -162,10 +173,10 @@ AC_DEFUN([GLIBMM_CXX_ALLOWS_STATIC_INLINE_NPOS],
AC_CACHE_CHECK(
[whether the compiler allows a static member variable to be initialized inline to std::string::npos],
- [gtkmm_cv_cxx_has_allows_static_inline_npos],
+ [glibmm_cv_cxx_has_allows_static_inline_npos],
[
- AC_TRY_COMPILE(
- [
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+ [[
#include <string>
#include <iostream>
@@ -176,19 +187,15 @@ AC_DEFUN([GLIBMM_CXX_ALLOWS_STATIC_INLINE_NPOS],
//so we need to initalize the static member data elsewhere.
static const std::string::size_type ustringnpos = std::string::npos;
};
- ],[
+ ]],[[
std::cout << "npos=" << ustringtest::ustringnpos << std::endl;
- ],
- [gtkmm_cv_cxx_has_allows_static_inline_npos="yes"],
- [gtkmm_cv_cxx_has_allows_static_inline_npos="no"]
+ ]])],
+ [glibmm_cv_cxx_has_allows_static_inline_npos='yes'],
+ [glibmm_cv_cxx_has_allows_static_inline_npos='no']
)
])
- if test "x${gtkmm_cv_cxx_has_allows_static_inline_npos}" = "xyes"; then
- {
- AC_DEFINE([GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS],[1], [Defined if a static member variable may be initialized inline to std::string::npos])
- }
- fi
+ AS_VAR_IF([glibmm_cv_cxx_has_allows_static_inline_npos], ['yes'],
+ [AC_DEFINE([GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS], [1],
+ [Defined if a static member variable may be initialized inline to std::string::npos])])[]dnl
])
-
-