aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2000-03-30 05:29:21 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2000-03-30 05:29:21 +0000
commit0a1ed443f85ba1ffec47a18e19386294b9cb86dc (patch)
treec82a49e697e653fc1e3d782fc9ee78a5de7c4b71 /src
parenta1916dafe06b570f4b69967e38d544e7a0f2f359 (diff)
downloadpostgresql-0a1ed443f85ba1ffec47a18e19386294b9cb86dc.tar.gz
postgresql-0a1ed443f85ba1ffec47a18e19386294b9cb86dc.zip
Add configure checks to see if 'using namespace std' and
'#include <string>' work in the local C++ compiler.
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.global.in4
-rw-r--r--src/configure.in27
-rw-r--r--src/include/config.h.in9
3 files changed, 35 insertions, 5 deletions
diff --git a/src/Makefile.global.in b/src/Makefile.global.in
index 658a2b1d891..e721282f1ac 100644
--- a/src/Makefile.global.in
+++ b/src/Makefile.global.in
@@ -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.
diff --git a/src/configure.in b/src/configure.in
index 2eb07db88c1..9139b8da966 100644
--- a/src/configure.in
+++ b/src/configure.in
@@ -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
diff --git a/src/include/config.h.in b/src/include/config.h.in
index b7a95be0ed2..028acf81283 100644
--- a/src/include/config.h.in
+++ b/src/include/config.h.in
@@ -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)
*/