From 147fbe5a558094f5690636476ca8da648703141a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20v=2E=20L=C3=B6wis?= <martin@v.loewis.de>
Date: Sun, 7 Aug 2005 21:09:30 +0000
Subject: Patch #1239112: Correct LINKCC C++ test. Fixes #1189330. Backported
 to 2.4.

---
 Misc/NEWS    |  3 +++
 configure    | 10 ++++++----
 configure.in |  8 +++++---
 3 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/Misc/NEWS b/Misc/NEWS
index ef879c4..10e43bc 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -391,6 +391,9 @@ Library
 Build
 -----
 
+- Bug #1189330: configure did not correctly determine the necessary
+  value of LINKCC if python was built with GCC 4.0.
+
 - Upgrade Windows build to zlib 1.2.3 which eliminates a potential security
   vulnerability in zlib 1.2.1 and 1.2.2.
 
diff --git a/configure b/configure
index 2e45be0..26403dd 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.in Revision: 1.484 .
+# From configure.in Revision: 1.485 .
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.59 for python 2.5.
 #
@@ -3265,9 +3265,11 @@ then
         if test -z "$CXX"; then
               LINKCC="\$(PURIFY) \$(CC)"
         else
-              echo 'void foo();int main(){foo();}void foo(){}' > conftest.$ac_ext
-              $CXX -c conftest.$ac_ext 2>&5
-              if $CC -o conftest$ac_exeext conftest.$ac_objext 2>&5 \
+              echo 'extern "C" void foo();int main(){foo();}' > conftest_a.cc
+              $CXX -c conftest_a.cc # 2>&5
+              echo 'void foo(){}' > conftest_b.$ac_ext
+              $CC -c conftest_b.$ac_ext # 2>&5
+              if $CC -o conftest$ac_exeext conftest_a.$ac_objext conftest_b.$ac_objext 2>&5 \
                  && test -s conftest$ac_exeext && ./conftest$ac_exeext
               then
                  LINKCC="\$(PURIFY) \$(CC)"
diff --git a/configure.in b/configure.in
index 101fd44..7d6fe82 100644
--- a/configure.in
+++ b/configure.in
@@ -471,9 +471,11 @@ then
         if test -z "$CXX"; then
               LINKCC="\$(PURIFY) \$(CC)"
         else
-              echo 'void foo();int main(){foo();}void foo(){}' > conftest.$ac_ext
-              $CXX -c conftest.$ac_ext 2>&5
-              if $CC -o conftest$ac_exeext conftest.$ac_objext 2>&5 \
+              echo 'extern "C" void foo();int main(){foo();}' > conftest_a.cc
+              $CXX -c conftest_a.cc # 2>&5
+              echo 'void foo(){}' > conftest_b.$ac_ext
+              $CC -c conftest_b.$ac_ext # 2>&5
+              if $CC -o conftest$ac_exeext conftest_a.$ac_objext conftest_b.$ac_objext 2>&5 \
                  && test -s conftest$ac_exeext && ./conftest$ac_exeext
               then
                  LINKCC="\$(PURIFY) \$(CC)"
-- 
cgit v0.12

