libtool-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GNU Libtool 1.5.8 released.


From: Peter O'Gorman
Subject: Re: GNU Libtool 1.5.8 released.
Date: Thu, 12 Aug 2004 13:13:34 +0900
User-agent: Mozilla Thunderbird 0.6 (Macintosh/20040502)

Joe Orton wrote:

On Wed, Aug 11, 2004 at 02:27:00AM +0900, Peter O'Gorman wrote:

Bob Friesenhahn wrote:

It has been reported a number of times, and I believe I expressed on the list that this was the single most significant bug related to libtool 1.5.

This should fix it. Please confirm.


As I understood it the only fix is to not use AC_PROG_CXX at all (i.e. require AC_LIBTOOL_TAGS), since that macro always sets CXX = g++ in the
case where it can't find a C++ compiler.  So with your patch, I still
get the same failure:

There's always more than one way to skin a cat.

I tried this without a c++ compiler, and with g++, it bootstrapped and passed all tests both times.

If Joe (or someone else) confirms it works, okay to apply?

Peter
--
Peter O'Gorman - http://www.pogma.com
Index: ChangeLog
2004-08-12  Peter O'Gorman  <address@hidden>

        * configure.ac, libtool.m4: Ensure that a c++ compiler exists before
        checking for the c++ preprocessor. Apparently reported by multiple
        people, multiple times.

Index: configure.ac
===================================================================
RCS file: /cvsroot/libtool/libtool/configure.ac,v
retrieving revision 1.14.2.13
diff -u -3 -p -u -r1.14.2.13 configure.ac
--- configure.ac 7 Aug 2004 14:03:38 -0000 1.14.2.13
+++ configure.ac 11 Aug 2004 22:33:51 -0000
@@ -104,7 +104,10 @@ AC_PROG_LN_S
 pushdef([AC_MSG_ERROR], [CXX=no])
 AC_PROG_CXX
 popdef([AC_MSG_ERROR])
-AM_CONDITIONAL(HAVE_CXX, [test "x$CXX" != xno])
+AM_CONDITIONAL(HAVE_CXX, 
+[test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+  ((test "X$CXX" = "Xg++" && `g++ -v >& /dev/null` ) || 
+  (test "X$CXX" != "Xg++")))])
 
 pushdef([AC_MSG_ERROR], [F77=no])
 AC_PROG_F77
Index: libtool.m4
===================================================================
RCS file: /cvsroot/libtool/libtool/Attic/libtool.m4,v
retrieving revision 1.314.2.46
diff -u -3 -p -u -r1.314.2.46 libtool.m4
--- libtool.m4 4 Aug 2004 14:12:05 -0000 1.314.2.46
+++ libtool.m4 11 Aug 2004 22:33:58 -0000
@@ -1688,7 +1688,9 @@ if test -f "$ltmain" && test -n "$tagnam
 
       case $tagname in
       CXX)
-       if test -n "$CXX" && test "X$CXX" != "Xno"; then
+       if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+           ((test "X$CXX" = "Xg++" && `g++ -v >& /dev/null` ) || 
+           (test "X$CXX" != "Xg++"))) ; then
          AC_LIBTOOL_LANG_CXX_CONFIG
        else
          tagname=""
@@ -2432,10 +2434,21 @@ AC_DEFUN([AC_LIBTOOL_CXX],
 # ---------------
 AC_DEFUN([_LT_AC_LANG_CXX],
 [AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([AC_PROG_CXXCPP])
+AC_REQUIRE([_LT_AC_PROG_CXXCPP])
 _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
 ])# _LT_AC_LANG_CXX
 
+# _LT_AC_PROG_CXXCPP
+# ---------------
+AC_DEFUN([_LT_AC_PROG_CXXCPP],
+[
+AC_REQUIRE([AC_PROG_CXX])
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+    ((test "X$CXX" = "Xg++" && `g++ -v >& /dev/null` ) || 
+    (test "X$CXX" != "Xg++"))) ; then
+  AC_PROG_CXXCPP
+fi
+])# _LT_AC_PROG_CXXCPP
 
 # AC_LIBTOOL_F77
 # --------------
@@ -2600,7 +2613,7 @@ AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [
 AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
 [AC_LANG_PUSH(C++)
 AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([AC_PROG_CXXCPP])
+AC_REQUIRE([_LT_AC_PROG_CXXCPP])
 
 _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
 _LT_AC_TAGVAR(allow_undefined_flag, $1)=

reply via email to

[Prev in Thread] Current Thread [Next in Thread]