]> granicus.if.org Git - postgresql/commitdiff
Add configure checks to see if 'using namespace std' and
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 30 Mar 2000 05:29:21 +0000 (05:29 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 30 Mar 2000 05:29:21 +0000 (05:29 +0000)
'#include <string>' work in the local C++ compiler.

src/Makefile.global.in
src/configure.in
src/include/config.h.in

index 658a2b1d8915f4f2b021ed16c7328827de8b360b..e721282f1ace6a2a033f21bfeffed3839985c3b3 100644 (file)
@@ -7,7 +7,7 @@
 #
 #
 # IDENTIFICATION
-#    $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.67 2000/03/08 01:58:15 momjian Exp $
+#    $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.68 2000/03/30 05:29:20 tgl Exp $
 #
 # NOTES
 #    Essentially all Postgres make files include this file and use the
@@ -105,7 +105,7 @@ ODBCINST= $(POSTGRESDIR)
 # (that is, prepend '#', don't set it to "0" or "no").
 
 # Compile libpq++
-@HAVECXX@
+HAVE_Cplusplus=@HAVECXX@
 
 # Comment out ENFORCE_ALIGNMENT if you do NOT want unaligned access to
 # multi-byte types to generate a bus error.
index 2eb07db88c19863b06266b4387c2d90758f47a02..9139b8da966f615c09a16b281db7286b1ca8dd4d 100644 (file)
@@ -488,7 +488,7 @@ AC_SUBST(USE_ODBC)
 AC_SUBST(MULTIBYTE)
 
 dnl Check for C++ support (allow override if needed)
-HAVECXX='HAVE_Cplusplus=true'
+HAVECXX='true'
 AC_ARG_WITH(CXX,
     [  --with-CXX=compiler     use specific C++ compiler
   --without-CXX           prevent building C++ code ],
@@ -498,7 +498,7 @@ AC_ARG_WITH(CXX,
            AC_MSG_ERROR([*** You must supply an argument to the --with-CC option.])
          ;;
        n | no)
-           HAVECXX='HAVE_Cplusplus=false'
+           HAVECXX='false'
          ;;
        esac
        CXX="$withval"
@@ -506,6 +506,29 @@ AC_ARG_WITH(CXX,
     [   AC_PROG_CXX])
 AC_SUBST(HAVECXX)
 
+if test "$HAVECXX" = 'true' ; then
+    AC_LANG_CPLUSPLUS
+
+    dnl check whether "using namespace std" works on this C++ compiler
+    AC_MSG_CHECKING([for namespace std in C++])
+    AC_TRY_COMPILE([#include <stdio.h>
+#include <stdlib.h>
+using namespace std;
+], [],
+    [AC_DEFINE(HAVE_NAMESPACE_STD) AC_MSG_RESULT(yes)],
+    [AC_MSG_RESULT(no)])
+
+    dnl check whether "#include <string>" works on this C++ compiler
+    AC_MSG_CHECKING([for include <string> in C++])
+    AC_TRY_COMPILE([#include <stdio.h>
+#include <stdlib.h>
+#include <string>
+], [],
+    [AC_DEFINE(HAVE_CXX_STRING_HEADER) AC_MSG_RESULT(yes)],
+    [AC_MSG_RESULT(no)])
+
+fi
+
 dnl make sure we revert to C compiler, not C++, for subsequent tests
 AC_LANG_C
 
index b7a95be0ed27856d98d8c833f9ae8c3c9ab6f1fe..028acf81283da554090204c3626199592d990cd4 100644 (file)
@@ -8,7 +8,7 @@
  * or in config.h afterwards.  Of course, if you edit config.h, then your
  * changes will be overwritten the next time you run configure.
  *
- * $Id: config.h.in,v 1.110 2000/03/17 05:29:06 tgl Exp $
+ * $Id: config.h.in,v 1.111 2000/03/30 05:29:21 tgl Exp $
  */
 
 #ifndef CONFIG_H
@@ -529,6 +529,13 @@ extern void srandom(unsigned int seed);
 /* Define if POSIX signal interface is available */
 #undef USE_POSIX_SIGNALS
 
+/* Define if C++ compiler accepts "using namespace std" */
+#undef HAVE_NAMESPACE_STD
+
+/* Define if C++ compiler accepts "#include <string>" */
+#undef HAVE_CXX_STRING_HEADER
+
+
 /*
  * Pull in OS-specific declarations (using link created by configure)
  */