mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-08 15:54:57 +01:00
Initial revision
git-svn-id: svn://localhost/trunk/ardour2@4 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
commit
d09f6b3016
1253 changed files with 292928 additions and 0 deletions
195
libs/glibmm2/scripts/cxx_std.m4
Normal file
195
libs/glibmm2/scripts/cxx_std.m4
Normal file
|
|
@ -0,0 +1,195 @@
|
|||
cv_cxx_has_namespace_std
|
||||
## GLIBMM_CXX_HAS_NAMESPACE_STD()
|
||||
##
|
||||
## Test whether libstdc++ declares namespace std. For safety,
|
||||
## also check whether several randomly selected STL symbols
|
||||
## are available in namespace std.
|
||||
##
|
||||
## On success, #define GLIBMM_HAVE_NAMESPACE_STD to 1.
|
||||
##
|
||||
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],
|
||||
[
|
||||
AC_TRY_COMPILE(
|
||||
[
|
||||
#include <algorithm>
|
||||
#include <iterator>
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
],[
|
||||
using std::min;
|
||||
using std::find;
|
||||
using std::copy;
|
||||
using std::bidirectional_iterator_tag;
|
||||
using std::string;
|
||||
using std::istream;
|
||||
using std::cout;
|
||||
],
|
||||
[gtkmm_cv_cxx_has_namespace_std="yes"],
|
||||
[gtkmm_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
|
||||
])
|
||||
|
||||
|
||||
## GLIBMM_CXX_HAS_STD_ITERATOR_TRAITS()
|
||||
##
|
||||
## Check for standard-conform std::iterator_traits<>, and
|
||||
## #define GLIBMM_HAVE_STD_ITERATOR_TRAITS on success.
|
||||
##
|
||||
AC_DEFUN([GLIBMM_CXX_HAS_STD_ITERATOR_TRAITS],
|
||||
[
|
||||
AC_REQUIRE([GLIBMM_CXX_HAS_NAMESPACE_STD])
|
||||
|
||||
AC_CACHE_CHECK(
|
||||
[whether the C++ library supports std::iterator_traits],
|
||||
[gtkmm_cv_cxx_has_std_iterator_traits],
|
||||
[
|
||||
AC_TRY_COMPILE(
|
||||
[
|
||||
#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"]
|
||||
)
|
||||
])
|
||||
|
||||
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
|
||||
])
|
||||
|
||||
|
||||
## GLIBMM_CXX_HAS_SUN_REVERSE_ITERATOR()
|
||||
##
|
||||
## Check for Sun libCstd style std::reverse_iterator,
|
||||
## and #define GLIBMM_HAVE_SUN_REVERSE_ITERATOR if found.
|
||||
##
|
||||
AC_DEFUN([GLIBMM_CXX_HAS_SUN_REVERSE_ITERATOR],
|
||||
[
|
||||
AC_REQUIRE([GLIBMM_CXX_HAS_NAMESPACE_STD])
|
||||
|
||||
AC_CACHE_CHECK(
|
||||
[for non-standard Sun libCstd reverse_iterator],
|
||||
[gtkmm_cv_cxx_has_sun_reverse_iterator],
|
||||
[
|
||||
AC_TRY_COMPILE(
|
||||
[
|
||||
#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"]
|
||||
)
|
||||
])
|
||||
|
||||
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
|
||||
])
|
||||
|
||||
|
||||
## GLIBMM_CXX_HAS_TEMPLATE_SEQUENCE_CTORS()
|
||||
##
|
||||
## Check whether the STL containers have templated sequence ctors,
|
||||
## and #define GLIBMM_HAVE_TEMPLATE_SEQUENCE_CTORS on success.
|
||||
##
|
||||
AC_DEFUN([GLIBMM_CXX_HAS_TEMPLATE_SEQUENCE_CTORS],
|
||||
[
|
||||
AC_REQUIRE([GLIBMM_CXX_HAS_NAMESPACE_STD])
|
||||
|
||||
AC_CACHE_CHECK(
|
||||
[whether STL containers have templated sequence constructors],
|
||||
[gtkmm_cv_cxx_has_template_sequence_ctors],
|
||||
[
|
||||
AC_TRY_COMPILE(
|
||||
[
|
||||
#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"]
|
||||
)
|
||||
])
|
||||
|
||||
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
|
||||
])
|
||||
|
||||
## GLIBMM_CXX_ALLOWS_STATIC_INLINE_NPOS()
|
||||
##
|
||||
## Check whether the a static member variable may be initialized inline to std::string::npos.
|
||||
## The MipsPro (IRIX) compiler does not like this.
|
||||
## and #define GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS on success.
|
||||
##
|
||||
AC_DEFUN([GLIBMM_CXX_ALLOWS_STATIC_INLINE_NPOS],
|
||||
[
|
||||
AC_REQUIRE([GLIBMM_CXX_HAS_NAMESPACE_STD])
|
||||
|
||||
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],
|
||||
[
|
||||
AC_TRY_COMPILE(
|
||||
[
|
||||
#include <string>
|
||||
#include <iostream>
|
||||
|
||||
class ustringtest
|
||||
{
|
||||
public:
|
||||
//The MipsPro compiler (IRIX) says "The indicated constant value is not known",
|
||||
//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"]
|
||||
)
|
||||
])
|
||||
|
||||
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
|
||||
])
|
||||
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue