• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# ===========================================================================
2#     http://www.gnu.org/software/autoconf-archive/ax_cxx_namespaces.html
3# ===========================================================================
4#
5# SYNOPSIS
6#
7#   AX_CXX_NAMESPACES
8#
9# DESCRIPTION
10#
11#   If the compiler can prevent names clashes using namespaces, define
12#   HAVE_NAMESPACES.
13#
14# LICENSE
15#
16#   Copyright (c) 2008 Todd Veldhuizen
17#   Copyright (c) 2008 Luc Maisonobe <luc@spaceroots.org>
18#   Copyright (c) 2013 Bastien Roucaries <roucaries.bastien+autoconf@gmail.com>
19#
20#   Copying and distribution of this file, with or without modification, are
21#   permitted in any medium without royalty provided the copyright notice
22#   and this notice are preserved. This file is offered as-is, without any
23#   warranty.
24
25#serial 8
26
27AU_ALIAS([AC_CXX_NAMESPACES], [AX_CXX_NAMESPACES])
28AC_DEFUN([AX_CXX_NAMESPACES],
29[AC_CACHE_CHECK(whether the compiler implements namespaces,
30ax_cv_cxx_namespaces,
31[AC_LANG_PUSH([C++])
32 AC_COMPILE_IFELSE([AC_LANG_SOURCE([namespace Outer { namespace Inner { int i = 0; }}
33                                   using namespace Outer::Inner; int foo(void) { return i;} ])],
34                   ax_cv_cxx_namespaces=yes, ax_cv_cxx_namespaces=no)
35 AC_LANG_POP
36])
37if test "$ax_cv_cxx_namespaces" = yes; then
38  AC_DEFINE(HAVE_NAMESPACES,,[define if the compiler implements namespaces])
39fi
40])
41