]> git.saurik.com Git - wxWidgets.git/commitdiff
Check for vsnprintf while using namespace std if its not found when not.
authorDavid Elliott <dfe@tgwbd.org>
Thu, 20 Jan 2005 17:03:58 +0000 (17:03 +0000)
committerDavid Elliott <dfe@tgwbd.org>
Thu, 20 Jan 2005 17:03:58 +0000 (17:03 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31519 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

configure
configure.in

index 2288d3eab5515827afca06ab487c0b115d2fe507..62b84788616ab87e3d381b8f9301e18fe8ab6038 100755 (executable)
--- a/configure
+++ b/configure
@@ -29407,12 +29407,66 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
+                                                                                                                        cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+                            #include <stdio.h>
+                            #include <stdarg.h>
+                            using namespace std;
+
+int
+main ()
+{
+
+                            char *buf;
+                            va_list ap;
+                            vsnprintf(buf, 10u, "%s", ap);
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_cxx_werror_flag"                         || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  wx_cv_func_vsnprintf_decl=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
 wx_cv_func_vsnprintf_decl=no
 
 fi
 rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 
 
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+
 fi
 echo "$as_me:$LINENO: result: $wx_cv_func_vsnprintf_decl" >&5
 echo "${ECHO_T}$wx_cv_func_vsnprintf_decl" >&6
index fc4a6193a7620868e7ee54b7c4de28fb69722f2e..3e7247716c30c7176e43bdc4968e18ff7f0cc4a5 100644 (file)
@@ -3688,7 +3688,27 @@ if test "$ac_cv_func_vsnprintf" = "yes"; then
                     vsnprintf(buf, 10u, "%s", ap);
                 ],
                 wx_cv_func_vsnprintf_decl=yes,
-                wx_cv_func_vsnprintf_decl=no
+                [
+                    dnl Metrowerks does provide a vsnprintf declaration
+                    dnl but in C++ mode it's always in std namespace.
+                    dnl FIXME: Do we have any UNIX C++ compilers that would
+                    dnl fail this test if using namespace std; was
+                    dnl simply always included?
+                    AC_TRY_COMPILE(
+                        [
+                            #include <stdio.h>
+                            #include <stdarg.h>
+                            using namespace std;
+                        ],
+                        [
+                            char *buf;
+                            va_list ap;
+                            vsnprintf(buf, 10u, "%s", ap);
+                        ],
+                        wx_cv_func_vsnprintf_decl=yes,
+                        wx_cv_func_vsnprintf_decl=no
+                    )
+                ]
             )
         ]
     )