OSDN Git Service

gcc/
[pf3gnuchains/gcc-fork.git] / Makefile.in
index c3cf121..945fc5d 100644 (file)
@@ -640,6 +640,26 @@ HOST_LIB_PATH_libelf = \
 @endif libelf
 
 
+CXX_FOR_TARGET_FLAG_TO_PASS = \
+       "CXX_FOR_TARGET=$(CXX_FOR_TARGET)"
+@if target-libstdc++-v3
+# CXX_FOR_TARGET is tricky to get right for target libs that require a
+# functional C++ compiler.  When we recurse, if we expand
+# CXX_FOR_TARGET before configuring libstdc++-v3, we won't get
+# libstdc++ include flags from the script.  Instead, we get an
+# -funconfigured-* word, so that we'll get errors if this invalid C++
+# command line is used for anything, but also so that we can use the
+# word to decide whether or not to pass on this CXX_FOR_TARGET.  If we
+# don't pass it on, sub-make will use the default definition, that
+# re-expands it at the time of use, so we'll get it right when we need
+# it.  One potential exception is the expansion of CXX_FOR_TARGET
+# passed down as part of CXX within TARGET_FLAGS, but this wouldn't
+# really work, for C++ host programs can't depend on the current-stage
+# C++ target library.
+CXX_FOR_TARGET_FLAG_TO_PASS = \
+       $(shell if echo "$(CXX_FOR_TARGET)" | grep " -funconfigured-" > /dev/null; then :; else echo '"CXX_FOR_TARGET=$(CXX_FOR_TARGET)"'; fi)
+@endif target-libstdc++-v3
+
 # Flags to pass down to all sub-makes.
 BASE_FLAGS_TO_PASS = \
        "DESTDIR=$(DESTDIR)" \
@@ -707,7 +727,6 @@ BASE_FLAGS_TO_PASS = \
        "CC_FOR_TARGET=$(CC_FOR_TARGET)" \
        "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
        "CPPFLAGS_FOR_TARGET=$(CPPFLAGS_FOR_TARGET)" \
-       "CXX_FOR_TARGET=$(CXX_FOR_TARGET)" \
        "CXXFLAGS_FOR_TARGET=$(CXXFLAGS_FOR_TARGET)" \
        "DLLTOOL_FOR_TARGET=$(DLLTOOL_FOR_TARGET)" \
        "FLAGS_FOR_TARGET=$(FLAGS_FOR_TARGET)" \
@@ -747,6 +766,7 @@ BASE_FLAGS_TO_PASS = \
        "STAGEfeedback_CFLAGS=$(STAGEfeedback_CFLAGS)" \
        "STAGEfeedback_CXXFLAGS=$(STAGEfeedback_CXXFLAGS)" \
        "STAGEfeedback_TFLAGS=$(STAGEfeedback_TFLAGS)" \
+       $(CXX_FOR_TARGET_FLAG_TO_PASS) \
        "TFLAGS=$(TFLAGS)" \
        "CONFIG_SHELL=$(SHELL)" \
        "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)"