1 # =========================================================================== 2 # https://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 (a] spaceroots.org> 18 # Copyright (c) 2013 Bastien Roucaries <roucaries.bastien+autoconf (a] 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 9 26 27 AU_ALIAS([AC_CXX_NAMESPACES], [AX_CXX_NAMESPACES]) 28 AC_DEFUN([AX_CXX_NAMESPACES], 29 [AC_CACHE_CHECK(whether the compiler implements namespaces, 30 ax_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 ]) 37 if test "$ax_cv_cxx_namespaces" = yes; then 38 AC_DEFINE(HAVE_NAMESPACES,,[define if the compiler implements namespaces]) 39 fi 40 ]) 41