diff mbox

libstdc++/61011 fix --disable-libstdcxx in top-level configure

Message ID 20140530170921.GK6953@redhat.com
State New
Headers show

Commit Message

Jonathan Wakely May 30, 2014, 5:09 p.m. UTC
PING

This is a change to top-level configure, not libstdc++ itself, so I
need approval.


On 20/05/14 15:59 +0100, Jonathan Wakely wrote:
>On 20/05/14 15:53 +0100, Jonathan Wakely wrote:
>>The first part of this patch fixes the PR, we should be adding
>>target-libstdc++-v3 to noconfigdirs, not libstdc++-v3.
>>
>>The second part disables the target libs that can't be bootstrapped
>>without libstdc++.
>>
>>libcilkrts and libsanitizer use lots of std:: stuff.
>>libitm only uses std::atomic, but in any case fails to build when
>>--disable-libstdcxx is used, with this error:
>>
>>xg++: error: unrecognized command line option ‘-funconfigured-libstdc++-v3’
>>
>>Bootstrapped with and without --disable-libstdcxx and tested on
>>x86_64-linux.
>>
>>  	PR libstdc++/61011
>>  	* configure.ac (--disable-libstdcxx): Set noconfigdirs correctly.
>>  	Disable libcilkrts, libitm, libsanitizer when not building libstdc++.
>>  	* configure: Regenerate.
>>
>>OK for trunk?
>
>With the patch this time ...

commit c384fef85bca43046b65eb02267169a5613af2b8
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Tue May 20 12:13:43 2014 +0100

    	PR libstdc++/61011
    	* configure.ac (--disable-libstdcxx): Set noconfigdirs correctly.
    	Disable libcilkrts, libitm, libsanitizer when not building libstdc++.
    	* configure: Regenerate.

Comments

Jeff Law May 30, 2014, 5:11 p.m. UTC | #1
On 05/30/14 11:09, Jonathan Wakely wrote:
> PING
>
> This is a change to top-level configure, not libstdc++ itself, so I
> need approval.
>
>
> On 20/05/14 15:59 +0100, Jonathan Wakely wrote:
>> On 20/05/14 15:53 +0100, Jonathan Wakely wrote:
>>> The first part of this patch fixes the PR, we should be adding
>>> target-libstdc++-v3 to noconfigdirs, not libstdc++-v3.
>>>
>>> The second part disables the target libs that can't be bootstrapped
>>> without libstdc++.
>>>
>>> libcilkrts and libsanitizer use lots of std:: stuff.
>>> libitm only uses std::atomic, but in any case fails to build when
>>> --disable-libstdcxx is used, with this error:
>>>
>>> xg++: error: unrecognized command line option
>>> ‘-funconfigured-libstdc++-v3’
>>>
>>> Bootstrapped with and without --disable-libstdcxx and tested on
>>> x86_64-linux.
>>>
>>>      PR libstdc++/61011
>>>      * configure.ac (--disable-libstdcxx): Set noconfigdirs correctly.
>>>      Disable libcilkrts, libitm, libsanitizer when not building
>>> libstdc++.
>>>      * configure: Regenerate.
>>>
>>> OK for trunk?
>>
>> With the patch this time ...
>
> commit c384fef85bca43046b65eb02267169a5613af2b8
> Author: Jonathan Wakely <jwakely@redhat.com>
> Date:   Tue May 20 12:13:43 2014 +0100
>
>         PR libstdc++/61011
>         * configure.ac (--disable-libstdcxx): Set noconfigdirs correctly.
>         Disable libcilkrts, libitm, libsanitizer when not building
> libstdc++.
>         * configure: Regenerate.
While it may be a top-level configure change, I'd consider it part of 
the libstdc++ world by extension.  Approved.

Jeff
diff mbox

Patch

diff --git a/configure.ac b/configure.ac
index 07c3a66..548525b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -435,7 +435,7 @@  AS_HELP_STRING([--disable-libstdcxx],
 ENABLE_LIBSTDCXX=$enableval,
 ENABLE_LIBSTDCXX=default)
 [if test "${ENABLE_LIBSTDCXX}" = "no" ; then
-  noconfigdirs="$noconfigdirs libstdc++-v3"
+  noconfigdirs="$noconfigdirs target-libstdc++-v3"
 fi]
 
 # Save it here so that, even in case of --enable-libgcj, if the Java
@@ -2057,9 +2057,17 @@  case ,${enable_languages},:${enable_objc_gc} in
     ;;
 esac
 
-# Disable libitm, libsanitizer, libvtv if we're not building C++
+# Disable libcilkrts, libitm, libsanitizer, libvtv if we're not building C++
 case ,${enable_languages}, in
-  *,c++,*) ;;
+  *,c++,*)
+    # Disable libcilkrts, libitm, libsanitizer if we're not building libstdc++
+    case "${noconfigdirs}" in
+      *target-libstdc++-v3*)
+        noconfigdirs="$noconfigdirs target-libcilkrts target-libitm target-libsanitizer"
+        ;;
+      *) ;;
+    esac
+    ;;
   *)
     noconfigdirs="$noconfigdirs target-libcilkrts target-libitm target-libsanitizer target-libvtv"
     ;;