gcc PR libstdc++/36101, gcc PR libstdc++/42813
authorJoern Rennecke <joern.rennecke@embecosm.com>
Fri, 22 Jan 2010 16:28:25 +0000 (16:28 +0000)
committerJoern Rennecke <joern.rennecke@embecosm.com>
Fri, 22 Jan 2010 16:28:25 +0000 (16:28 +0000)
* configure.ac (target_configdirs): Substitute.
* Makefile.def: Bootstrap target module libgomp.
Add dependency of all-target-libstdc++-v3 on configure-target-libgomp.
* Makefile.tpl (TARGET_CONFIGDIRS): New makefile variable.
(BASE_TARGET_EXPORTS): Export TARGET_CONFIGDIRS.
* configure, Makefile.in: Regenerate.

ChangeLog
Makefile.def
Makefile.in
Makefile.tpl
configure
configure.ac

index de6535f22a1d8ab177ac0fa3f46ef3f48b9d943a..651e83c1406ee35b7488d525b74379a98e63f73a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2010-01-22  Joern Rennecke  <amylaar@spamcop.net>
+
+       gcc PR libstdc++/36101, gcc PR libstdc++/42813
+       * configure.ac (target_configdirs): Substitute.
+       * Makefile.def: Bootstrap target module libgomp.
+       Add dependency of all-target-libstdc++-v3 on configure-target-libgomp.
+       * Makefile.tpl (TARGET_CONFIGDIRS): New makefile variable.
+       (BASE_TARGET_EXPORTS): Export TARGET_CONFIGDIRS.
+       * configure, Makefile.in: Regenerate.
+
 2009-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
        * libtool.m4: Sync from git Libtool.
index f5c2e11f990d22af2f304582111435d6fdd934b7..ba2376719459f2c9de81db41f94ebaeb56020eb9 100644 (file)
@@ -174,7 +174,7 @@ target_modules = { module= boehm-gc; };
 target_modules = { module= qthreads; };
 target_modules = { module= rda; };
 target_modules = { module= libada; };
-target_modules = { module= libgomp; lib_path=.libs; };
+target_modules = { module= libgomp; bootstrap= true; lib_path=.libs; };
 
 // These are (some of) the make targets to be done in each subdirectory.
 // Not all; these are the ones which don't have special options.
@@ -547,6 +547,10 @@ dependencies = { module=all-target-libobjc; on=all-target-libiberty; };
 dependencies = { module=all-target-libobjc; on=all-target-boehm-gc; };
 dependencies = { module=all-target-libstdc++-v3; on=all-target-libiberty; };
 dependencies = { module=configure-target-libstdc++-v3; on=configure-target-libgomp; };
+// parallel_list.o and parallel_settings.o depend on omp.h, which is
+// generated by the libgomp configure.  Unfortunately, due to the use of
+//  recursive make, we can't be that specific.
+dependencies = { module=all-target-libstdc++-v3; on=configure-target-libgomp; };
 
 // Target modules in the 'src' repository.
 lang_env_dependencies = { module=examples; };
index 6f1c1403fbb04f40d586793c73800a6f4b4af268..8f9be0cbc67fca6bf0b1c51f939cd1eaa8661993 100644 (file)
@@ -173,6 +173,7 @@ EXTRA_BUILD_FLAGS = \
 
 # This is the list of directories to built for the host system.
 SUBDIRS = @configdirs@
+TARGET_CONFIGDIRS = @target_configdirs@
 # This is set by the configure script to the arguments to use when configuring
 # directories built for the host system.
 HOST_CONFIGARGS = @host_configargs@
@@ -284,7 +285,8 @@ BASE_TARGET_EXPORTS = \
 @if gcc-bootstrap
        $(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
 @endif gcc-bootstrap
-       $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR);
+       $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
+       TARGET_CONFIGDIRS="$(TARGET_CONFIGDIRS)"; export TARGET_CONFIGDIRS;
 
 RAW_CXX_TARGET_EXPORTS = \
        $(BASE_TARGET_EXPORTS) \
@@ -1120,7 +1122,9 @@ all-target: maybe-all-target-boehm-gc
 all-target: maybe-all-target-qthreads
 all-target: maybe-all-target-rda
 all-target: maybe-all-target-libada
+@if target-libgomp-no-bootstrap
 all-target: maybe-all-target-libgomp
+@endif target-libgomp-no-bootstrap
 
 # Do a target for all the subdirectories.  A ``make do-X'' will do a
 # ``make X'' in all subdirectories (because, in general, there is a
@@ -54629,7 +54633,6 @@ configure-target-libgomp: stage_current
 @if target-libgomp
 maybe-configure-target-libgomp: configure-target-libgomp
 configure-target-libgomp: 
-       @: $(MAKE); $(unstage)
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        echo "Checking multilib configuration for libgomp..."; \
@@ -54666,6 +54669,276 @@ configure-target-libgomp:
 
 
 
+.PHONY: configure-stage1-target-libgomp maybe-configure-stage1-target-libgomp
+maybe-configure-stage1-target-libgomp:
+@if target-libgomp-bootstrap
+maybe-configure-stage1-target-libgomp: configure-stage1-target-libgomp
+configure-stage1-target-libgomp:
+       @[ $(current_stage) = stage1 ] || $(MAKE) stage1-start
+       @$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgomp
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       TFLAGS="$(STAGE1_TFLAGS)"; \
+       echo "Checking multilib configuration for libgomp..."; \
+       $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libgomp/multilib.tmp 2> /dev/null ; \
+       if test -r $(TARGET_SUBDIR)/libgomp/multilib.out; then \
+         if cmp -s $(TARGET_SUBDIR)/libgomp/multilib.tmp $(TARGET_SUBDIR)/libgomp/multilib.out; then \
+           rm -f $(TARGET_SUBDIR)/libgomp/multilib.tmp; \
+         else \
+           rm -f $(TARGET_SUBDIR)/libgomp/Makefile; \
+           mv $(TARGET_SUBDIR)/libgomp/multilib.tmp $(TARGET_SUBDIR)/libgomp/multilib.out; \
+         fi; \
+       else \
+         mv $(TARGET_SUBDIR)/libgomp/multilib.tmp $(TARGET_SUBDIR)/libgomp/multilib.out; \
+       fi; \
+       test ! -f $(TARGET_SUBDIR)/libgomp/Makefile || exit 0; \
+       $(NORMAL_TARGET_EXPORTS) \
+       CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+       CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+       LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+       echo Configuring stage 1 in $(TARGET_SUBDIR)/libgomp ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgomp ; \
+       cd $(TARGET_SUBDIR)/libgomp || exit 1; \
+       case $(srcdir) in \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(TARGET_SUBDIR)/libgomp/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+       esac; \
+       srcdiroption="--srcdir=$${topdir}/libgomp"; \
+       libsrcdir="$$s/libgomp"; \
+       $(SHELL) $${libsrcdir}/configure \
+         $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+         --target=${target_alias} $${srcdiroption} \
+         $(STAGE1_CONFIGURE_FLAGS)
+@endif target-libgomp-bootstrap
+
+.PHONY: configure-stage2-target-libgomp maybe-configure-stage2-target-libgomp
+maybe-configure-stage2-target-libgomp:
+@if target-libgomp-bootstrap
+maybe-configure-stage2-target-libgomp: configure-stage2-target-libgomp
+configure-stage2-target-libgomp:
+       @[ $(current_stage) = stage2 ] || $(MAKE) stage2-start
+       @$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgomp
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       TFLAGS="$(STAGE2_TFLAGS)"; \
+       echo "Checking multilib configuration for libgomp..."; \
+       $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libgomp/multilib.tmp 2> /dev/null ; \
+       if test -r $(TARGET_SUBDIR)/libgomp/multilib.out; then \
+         if cmp -s $(TARGET_SUBDIR)/libgomp/multilib.tmp $(TARGET_SUBDIR)/libgomp/multilib.out; then \
+           rm -f $(TARGET_SUBDIR)/libgomp/multilib.tmp; \
+         else \
+           rm -f $(TARGET_SUBDIR)/libgomp/Makefile; \
+           mv $(TARGET_SUBDIR)/libgomp/multilib.tmp $(TARGET_SUBDIR)/libgomp/multilib.out; \
+         fi; \
+       else \
+         mv $(TARGET_SUBDIR)/libgomp/multilib.tmp $(TARGET_SUBDIR)/libgomp/multilib.out; \
+       fi; \
+       test ! -f $(TARGET_SUBDIR)/libgomp/Makefile || exit 0; \
+       $(NORMAL_TARGET_EXPORTS) \
+        \
+       CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+       CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+       LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+       echo Configuring stage 2 in $(TARGET_SUBDIR)/libgomp ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgomp ; \
+       cd $(TARGET_SUBDIR)/libgomp || exit 1; \
+       case $(srcdir) in \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(TARGET_SUBDIR)/libgomp/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+       esac; \
+       srcdiroption="--srcdir=$${topdir}/libgomp"; \
+       libsrcdir="$$s/libgomp"; \
+       $(SHELL) $${libsrcdir}/configure \
+         $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+         --target=${target_alias} $${srcdiroption} \
+         --with-build-libsubdir=$(HOST_SUBDIR) \
+         $(STAGE2_CONFIGURE_FLAGS)
+@endif target-libgomp-bootstrap
+
+.PHONY: configure-stage3-target-libgomp maybe-configure-stage3-target-libgomp
+maybe-configure-stage3-target-libgomp:
+@if target-libgomp-bootstrap
+maybe-configure-stage3-target-libgomp: configure-stage3-target-libgomp
+configure-stage3-target-libgomp:
+       @[ $(current_stage) = stage3 ] || $(MAKE) stage3-start
+       @$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgomp
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       TFLAGS="$(STAGE3_TFLAGS)"; \
+       echo "Checking multilib configuration for libgomp..."; \
+       $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libgomp/multilib.tmp 2> /dev/null ; \
+       if test -r $(TARGET_SUBDIR)/libgomp/multilib.out; then \
+         if cmp -s $(TARGET_SUBDIR)/libgomp/multilib.tmp $(TARGET_SUBDIR)/libgomp/multilib.out; then \
+           rm -f $(TARGET_SUBDIR)/libgomp/multilib.tmp; \
+         else \
+           rm -f $(TARGET_SUBDIR)/libgomp/Makefile; \
+           mv $(TARGET_SUBDIR)/libgomp/multilib.tmp $(TARGET_SUBDIR)/libgomp/multilib.out; \
+         fi; \
+       else \
+         mv $(TARGET_SUBDIR)/libgomp/multilib.tmp $(TARGET_SUBDIR)/libgomp/multilib.out; \
+       fi; \
+       test ! -f $(TARGET_SUBDIR)/libgomp/Makefile || exit 0; \
+       $(NORMAL_TARGET_EXPORTS) \
+        \
+       CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+       CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+       LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+       echo Configuring stage 3 in $(TARGET_SUBDIR)/libgomp ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgomp ; \
+       cd $(TARGET_SUBDIR)/libgomp || exit 1; \
+       case $(srcdir) in \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(TARGET_SUBDIR)/libgomp/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+       esac; \
+       srcdiroption="--srcdir=$${topdir}/libgomp"; \
+       libsrcdir="$$s/libgomp"; \
+       $(SHELL) $${libsrcdir}/configure \
+         $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+         --target=${target_alias} $${srcdiroption} \
+         --with-build-libsubdir=$(HOST_SUBDIR) \
+         $(STAGE3_CONFIGURE_FLAGS)
+@endif target-libgomp-bootstrap
+
+.PHONY: configure-stage4-target-libgomp maybe-configure-stage4-target-libgomp
+maybe-configure-stage4-target-libgomp:
+@if target-libgomp-bootstrap
+maybe-configure-stage4-target-libgomp: configure-stage4-target-libgomp
+configure-stage4-target-libgomp:
+       @[ $(current_stage) = stage4 ] || $(MAKE) stage4-start
+       @$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgomp
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       TFLAGS="$(STAGE4_TFLAGS)"; \
+       echo "Checking multilib configuration for libgomp..."; \
+       $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libgomp/multilib.tmp 2> /dev/null ; \
+       if test -r $(TARGET_SUBDIR)/libgomp/multilib.out; then \
+         if cmp -s $(TARGET_SUBDIR)/libgomp/multilib.tmp $(TARGET_SUBDIR)/libgomp/multilib.out; then \
+           rm -f $(TARGET_SUBDIR)/libgomp/multilib.tmp; \
+         else \
+           rm -f $(TARGET_SUBDIR)/libgomp/Makefile; \
+           mv $(TARGET_SUBDIR)/libgomp/multilib.tmp $(TARGET_SUBDIR)/libgomp/multilib.out; \
+         fi; \
+       else \
+         mv $(TARGET_SUBDIR)/libgomp/multilib.tmp $(TARGET_SUBDIR)/libgomp/multilib.out; \
+       fi; \
+       test ! -f $(TARGET_SUBDIR)/libgomp/Makefile || exit 0; \
+       $(NORMAL_TARGET_EXPORTS) \
+        \
+       CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+       CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+       LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+       echo Configuring stage 4 in $(TARGET_SUBDIR)/libgomp ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgomp ; \
+       cd $(TARGET_SUBDIR)/libgomp || exit 1; \
+       case $(srcdir) in \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(TARGET_SUBDIR)/libgomp/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+       esac; \
+       srcdiroption="--srcdir=$${topdir}/libgomp"; \
+       libsrcdir="$$s/libgomp"; \
+       $(SHELL) $${libsrcdir}/configure \
+         $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+         --target=${target_alias} $${srcdiroption} \
+         --with-build-libsubdir=$(HOST_SUBDIR) \
+         $(STAGE4_CONFIGURE_FLAGS)
+@endif target-libgomp-bootstrap
+
+.PHONY: configure-stageprofile-target-libgomp maybe-configure-stageprofile-target-libgomp
+maybe-configure-stageprofile-target-libgomp:
+@if target-libgomp-bootstrap
+maybe-configure-stageprofile-target-libgomp: configure-stageprofile-target-libgomp
+configure-stageprofile-target-libgomp:
+       @[ $(current_stage) = stageprofile ] || $(MAKE) stageprofile-start
+       @$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgomp
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       TFLAGS="$(STAGEprofile_TFLAGS)"; \
+       echo "Checking multilib configuration for libgomp..."; \
+       $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libgomp/multilib.tmp 2> /dev/null ; \
+       if test -r $(TARGET_SUBDIR)/libgomp/multilib.out; then \
+         if cmp -s $(TARGET_SUBDIR)/libgomp/multilib.tmp $(TARGET_SUBDIR)/libgomp/multilib.out; then \
+           rm -f $(TARGET_SUBDIR)/libgomp/multilib.tmp; \
+         else \
+           rm -f $(TARGET_SUBDIR)/libgomp/Makefile; \
+           mv $(TARGET_SUBDIR)/libgomp/multilib.tmp $(TARGET_SUBDIR)/libgomp/multilib.out; \
+         fi; \
+       else \
+         mv $(TARGET_SUBDIR)/libgomp/multilib.tmp $(TARGET_SUBDIR)/libgomp/multilib.out; \
+       fi; \
+       test ! -f $(TARGET_SUBDIR)/libgomp/Makefile || exit 0; \
+       $(NORMAL_TARGET_EXPORTS) \
+        \
+       CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+       CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+       LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+       echo Configuring stage profile in $(TARGET_SUBDIR)/libgomp ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgomp ; \
+       cd $(TARGET_SUBDIR)/libgomp || exit 1; \
+       case $(srcdir) in \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(TARGET_SUBDIR)/libgomp/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+       esac; \
+       srcdiroption="--srcdir=$${topdir}/libgomp"; \
+       libsrcdir="$$s/libgomp"; \
+       $(SHELL) $${libsrcdir}/configure \
+         $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+         --target=${target_alias} $${srcdiroption} \
+         --with-build-libsubdir=$(HOST_SUBDIR) \
+         $(STAGEprofile_CONFIGURE_FLAGS)
+@endif target-libgomp-bootstrap
+
+.PHONY: configure-stagefeedback-target-libgomp maybe-configure-stagefeedback-target-libgomp
+maybe-configure-stagefeedback-target-libgomp:
+@if target-libgomp-bootstrap
+maybe-configure-stagefeedback-target-libgomp: configure-stagefeedback-target-libgomp
+configure-stagefeedback-target-libgomp:
+       @[ $(current_stage) = stagefeedback ] || $(MAKE) stagefeedback-start
+       @$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgomp
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       TFLAGS="$(STAGEfeedback_TFLAGS)"; \
+       echo "Checking multilib configuration for libgomp..."; \
+       $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libgomp/multilib.tmp 2> /dev/null ; \
+       if test -r $(TARGET_SUBDIR)/libgomp/multilib.out; then \
+         if cmp -s $(TARGET_SUBDIR)/libgomp/multilib.tmp $(TARGET_SUBDIR)/libgomp/multilib.out; then \
+           rm -f $(TARGET_SUBDIR)/libgomp/multilib.tmp; \
+         else \
+           rm -f $(TARGET_SUBDIR)/libgomp/Makefile; \
+           mv $(TARGET_SUBDIR)/libgomp/multilib.tmp $(TARGET_SUBDIR)/libgomp/multilib.out; \
+         fi; \
+       else \
+         mv $(TARGET_SUBDIR)/libgomp/multilib.tmp $(TARGET_SUBDIR)/libgomp/multilib.out; \
+       fi; \
+       test ! -f $(TARGET_SUBDIR)/libgomp/Makefile || exit 0; \
+       $(NORMAL_TARGET_EXPORTS) \
+        \
+       CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+       CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+       LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+       echo Configuring stage feedback in $(TARGET_SUBDIR)/libgomp ; \
+       $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgomp ; \
+       cd $(TARGET_SUBDIR)/libgomp || exit 1; \
+       case $(srcdir) in \
+         /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+         *) topdir=`echo $(TARGET_SUBDIR)/libgomp/ | \
+               sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+       esac; \
+       srcdiroption="--srcdir=$${topdir}/libgomp"; \
+       libsrcdir="$$s/libgomp"; \
+       $(SHELL) $${libsrcdir}/configure \
+         $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+         --target=${target_alias} $${srcdiroption} \
+         --with-build-libsubdir=$(HOST_SUBDIR) \
+         $(STAGEfeedback_CONFIGURE_FLAGS)
+@endif target-libgomp-bootstrap
+
+
+
 
 
 .PHONY: all-target-libgomp maybe-all-target-libgomp
@@ -54677,7 +54950,6 @@ all-target-libgomp: stage_current
 TARGET-target-libgomp=all
 maybe-all-target-libgomp: all-target-libgomp
 all-target-libgomp: configure-target-libgomp
-       @: $(MAKE); $(unstage)
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(NORMAL_TARGET_EXPORTS)  \
@@ -54688,6 +54960,264 @@ all-target-libgomp: configure-target-libgomp
 
 
 
+.PHONY: all-stage1-target-libgomp maybe-all-stage1-target-libgomp
+.PHONY: clean-stage1-target-libgomp maybe-clean-stage1-target-libgomp
+maybe-all-stage1-target-libgomp:
+maybe-clean-stage1-target-libgomp:
+@if target-libgomp-bootstrap
+maybe-all-stage1-target-libgomp: all-stage1-target-libgomp
+all-stage1: all-stage1-target-libgomp
+TARGET-stage1-target-libgomp = $(TARGET-target-libgomp)
+all-stage1-target-libgomp: configure-stage1-target-libgomp
+       @[ $(current_stage) = stage1 ] || $(MAKE) stage1-start
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       TFLAGS="$(STAGE1_TFLAGS)"; \
+       $(NORMAL_TARGET_EXPORTS)  \
+       cd $(TARGET_SUBDIR)/libgomp && \
+       $(MAKE) $(BASE_FLAGS_TO_PASS) \
+               CFLAGS="$(CFLAGS_FOR_TARGET)" \
+               CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+               LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+               CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+               CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+               LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+               $(EXTRA_TARGET_FLAGS)   \
+               TFLAGS="$(STAGE1_TFLAGS)" \
+               $(TARGET-stage1-target-libgomp)
+
+maybe-clean-stage1-target-libgomp: clean-stage1-target-libgomp
+clean-stage1: clean-stage1-target-libgomp
+clean-stage1-target-libgomp:
+       @if [ $(current_stage) = stage1 ]; then \
+         [ -f $(TARGET_SUBDIR)/libgomp/Makefile ] || exit 0; \
+       else \
+         [ -f $(TARGET_SUBDIR)/stage1-libgomp/Makefile ] || exit 0; \
+         $(MAKE) stage1-start; \
+       fi; \
+       cd $(TARGET_SUBDIR)/libgomp && \
+       $(MAKE) $(EXTRA_TARGET_FLAGS)  \
+                clean
+@endif target-libgomp-bootstrap
+
+
+.PHONY: all-stage2-target-libgomp maybe-all-stage2-target-libgomp
+.PHONY: clean-stage2-target-libgomp maybe-clean-stage2-target-libgomp
+maybe-all-stage2-target-libgomp:
+maybe-clean-stage2-target-libgomp:
+@if target-libgomp-bootstrap
+maybe-all-stage2-target-libgomp: all-stage2-target-libgomp
+all-stage2: all-stage2-target-libgomp
+TARGET-stage2-target-libgomp = $(TARGET-target-libgomp)
+all-stage2-target-libgomp: configure-stage2-target-libgomp
+       @[ $(current_stage) = stage2 ] || $(MAKE) stage2-start
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       TFLAGS="$(STAGE2_TFLAGS)"; \
+       $(NORMAL_TARGET_EXPORTS) \
+         \
+       cd $(TARGET_SUBDIR)/libgomp && \
+       $(MAKE) $(BASE_FLAGS_TO_PASS) \
+               CFLAGS="$(CFLAGS_FOR_TARGET)" \
+               CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+               LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+               CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+               CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+               LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+               $(EXTRA_TARGET_FLAGS)   \
+               TFLAGS="$(STAGE2_TFLAGS)" \
+               $(TARGET-stage2-target-libgomp)
+
+maybe-clean-stage2-target-libgomp: clean-stage2-target-libgomp
+clean-stage2: clean-stage2-target-libgomp
+clean-stage2-target-libgomp:
+       @if [ $(current_stage) = stage2 ]; then \
+         [ -f $(TARGET_SUBDIR)/libgomp/Makefile ] || exit 0; \
+       else \
+         [ -f $(TARGET_SUBDIR)/stage2-libgomp/Makefile ] || exit 0; \
+         $(MAKE) stage2-start; \
+       fi; \
+       cd $(TARGET_SUBDIR)/libgomp && \
+       $(MAKE) $(EXTRA_TARGET_FLAGS)  \
+                 \
+                clean
+@endif target-libgomp-bootstrap
+
+
+.PHONY: all-stage3-target-libgomp maybe-all-stage3-target-libgomp
+.PHONY: clean-stage3-target-libgomp maybe-clean-stage3-target-libgomp
+maybe-all-stage3-target-libgomp:
+maybe-clean-stage3-target-libgomp:
+@if target-libgomp-bootstrap
+maybe-all-stage3-target-libgomp: all-stage3-target-libgomp
+all-stage3: all-stage3-target-libgomp
+TARGET-stage3-target-libgomp = $(TARGET-target-libgomp)
+all-stage3-target-libgomp: configure-stage3-target-libgomp
+       @[ $(current_stage) = stage3 ] || $(MAKE) stage3-start
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       TFLAGS="$(STAGE3_TFLAGS)"; \
+       $(NORMAL_TARGET_EXPORTS) \
+         \
+       cd $(TARGET_SUBDIR)/libgomp && \
+       $(MAKE) $(BASE_FLAGS_TO_PASS) \
+               CFLAGS="$(CFLAGS_FOR_TARGET)" \
+               CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+               LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+               CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+               CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+               LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+               $(EXTRA_TARGET_FLAGS)   \
+               TFLAGS="$(STAGE3_TFLAGS)" \
+               $(TARGET-stage3-target-libgomp)
+
+maybe-clean-stage3-target-libgomp: clean-stage3-target-libgomp
+clean-stage3: clean-stage3-target-libgomp
+clean-stage3-target-libgomp:
+       @if [ $(current_stage) = stage3 ]; then \
+         [ -f $(TARGET_SUBDIR)/libgomp/Makefile ] || exit 0; \
+       else \
+         [ -f $(TARGET_SUBDIR)/stage3-libgomp/Makefile ] || exit 0; \
+         $(MAKE) stage3-start; \
+       fi; \
+       cd $(TARGET_SUBDIR)/libgomp && \
+       $(MAKE) $(EXTRA_TARGET_FLAGS)  \
+                 \
+                clean
+@endif target-libgomp-bootstrap
+
+
+.PHONY: all-stage4-target-libgomp maybe-all-stage4-target-libgomp
+.PHONY: clean-stage4-target-libgomp maybe-clean-stage4-target-libgomp
+maybe-all-stage4-target-libgomp:
+maybe-clean-stage4-target-libgomp:
+@if target-libgomp-bootstrap
+maybe-all-stage4-target-libgomp: all-stage4-target-libgomp
+all-stage4: all-stage4-target-libgomp
+TARGET-stage4-target-libgomp = $(TARGET-target-libgomp)
+all-stage4-target-libgomp: configure-stage4-target-libgomp
+       @[ $(current_stage) = stage4 ] || $(MAKE) stage4-start
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       TFLAGS="$(STAGE4_TFLAGS)"; \
+       $(NORMAL_TARGET_EXPORTS) \
+         \
+       cd $(TARGET_SUBDIR)/libgomp && \
+       $(MAKE) $(BASE_FLAGS_TO_PASS) \
+               CFLAGS="$(CFLAGS_FOR_TARGET)" \
+               CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+               LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+               CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+               CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+               LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+               $(EXTRA_TARGET_FLAGS)   \
+               TFLAGS="$(STAGE4_TFLAGS)" \
+               $(TARGET-stage4-target-libgomp)
+
+maybe-clean-stage4-target-libgomp: clean-stage4-target-libgomp
+clean-stage4: clean-stage4-target-libgomp
+clean-stage4-target-libgomp:
+       @if [ $(current_stage) = stage4 ]; then \
+         [ -f $(TARGET_SUBDIR)/libgomp/Makefile ] || exit 0; \
+       else \
+         [ -f $(TARGET_SUBDIR)/stage4-libgomp/Makefile ] || exit 0; \
+         $(MAKE) stage4-start; \
+       fi; \
+       cd $(TARGET_SUBDIR)/libgomp && \
+       $(MAKE) $(EXTRA_TARGET_FLAGS)  \
+                 \
+                clean
+@endif target-libgomp-bootstrap
+
+
+.PHONY: all-stageprofile-target-libgomp maybe-all-stageprofile-target-libgomp
+.PHONY: clean-stageprofile-target-libgomp maybe-clean-stageprofile-target-libgomp
+maybe-all-stageprofile-target-libgomp:
+maybe-clean-stageprofile-target-libgomp:
+@if target-libgomp-bootstrap
+maybe-all-stageprofile-target-libgomp: all-stageprofile-target-libgomp
+all-stageprofile: all-stageprofile-target-libgomp
+TARGET-stageprofile-target-libgomp = $(TARGET-target-libgomp)
+all-stageprofile-target-libgomp: configure-stageprofile-target-libgomp
+       @[ $(current_stage) = stageprofile ] || $(MAKE) stageprofile-start
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       TFLAGS="$(STAGEprofile_TFLAGS)"; \
+       $(NORMAL_TARGET_EXPORTS) \
+         \
+       cd $(TARGET_SUBDIR)/libgomp && \
+       $(MAKE) $(BASE_FLAGS_TO_PASS) \
+               CFLAGS="$(CFLAGS_FOR_TARGET)" \
+               CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+               LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+               CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+               CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+               LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+               $(EXTRA_TARGET_FLAGS)   \
+               TFLAGS="$(STAGEprofile_TFLAGS)" \
+               $(TARGET-stageprofile-target-libgomp)
+
+maybe-clean-stageprofile-target-libgomp: clean-stageprofile-target-libgomp
+clean-stageprofile: clean-stageprofile-target-libgomp
+clean-stageprofile-target-libgomp:
+       @if [ $(current_stage) = stageprofile ]; then \
+         [ -f $(TARGET_SUBDIR)/libgomp/Makefile ] || exit 0; \
+       else \
+         [ -f $(TARGET_SUBDIR)/stageprofile-libgomp/Makefile ] || exit 0; \
+         $(MAKE) stageprofile-start; \
+       fi; \
+       cd $(TARGET_SUBDIR)/libgomp && \
+       $(MAKE) $(EXTRA_TARGET_FLAGS)  \
+                 \
+                clean
+@endif target-libgomp-bootstrap
+
+
+.PHONY: all-stagefeedback-target-libgomp maybe-all-stagefeedback-target-libgomp
+.PHONY: clean-stagefeedback-target-libgomp maybe-clean-stagefeedback-target-libgomp
+maybe-all-stagefeedback-target-libgomp:
+maybe-clean-stagefeedback-target-libgomp:
+@if target-libgomp-bootstrap
+maybe-all-stagefeedback-target-libgomp: all-stagefeedback-target-libgomp
+all-stagefeedback: all-stagefeedback-target-libgomp
+TARGET-stagefeedback-target-libgomp = $(TARGET-target-libgomp)
+all-stagefeedback-target-libgomp: configure-stagefeedback-target-libgomp
+       @[ $(current_stage) = stagefeedback ] || $(MAKE) stagefeedback-start
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       TFLAGS="$(STAGEfeedback_TFLAGS)"; \
+       $(NORMAL_TARGET_EXPORTS) \
+         \
+       cd $(TARGET_SUBDIR)/libgomp && \
+       $(MAKE) $(BASE_FLAGS_TO_PASS) \
+               CFLAGS="$(CFLAGS_FOR_TARGET)" \
+               CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+               LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+               CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+               CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+               LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+               $(EXTRA_TARGET_FLAGS)   \
+               TFLAGS="$(STAGEfeedback_TFLAGS)" \
+               $(TARGET-stagefeedback-target-libgomp)
+
+maybe-clean-stagefeedback-target-libgomp: clean-stagefeedback-target-libgomp
+clean-stagefeedback: clean-stagefeedback-target-libgomp
+clean-stagefeedback-target-libgomp:
+       @if [ $(current_stage) = stagefeedback ]; then \
+         [ -f $(TARGET_SUBDIR)/libgomp/Makefile ] || exit 0; \
+       else \
+         [ -f $(TARGET_SUBDIR)/stagefeedback-libgomp/Makefile ] || exit 0; \
+         $(MAKE) stagefeedback-start; \
+       fi; \
+       cd $(TARGET_SUBDIR)/libgomp && \
+       $(MAKE) $(EXTRA_TARGET_FLAGS)  \
+                 \
+                clean
+@endif target-libgomp-bootstrap
+
+
+
+
 
 
 .PHONY: check-target-libgomp maybe-check-target-libgomp
@@ -57133,7 +57663,12 @@ configure-target-boehm-gc: stage_last
 configure-target-qthreads: stage_last
 configure-target-rda: stage_last
 configure-target-libada: stage_last
-configure-target-libgomp: stage_last
+configure-stage1-target-libgomp: maybe-all-stage1-gcc
+configure-stage2-target-libgomp: maybe-all-stage2-gcc
+configure-stage3-target-libgomp: maybe-all-stage3-gcc
+configure-stage4-target-libgomp: maybe-all-stage4-gcc
+configure-stageprofile-target-libgomp: maybe-all-stageprofile-gcc
+configure-stagefeedback-target-libgomp: maybe-all-stagefeedback-gcc
 @endif gcc-bootstrap
 
 @if gcc-no-bootstrap
@@ -57874,6 +58409,21 @@ all-target-libobjc: maybe-all-target-libiberty
 all-target-libobjc: maybe-all-target-boehm-gc
 all-target-libstdc++-v3: maybe-all-target-libiberty
 configure-target-libstdc++-v3: maybe-configure-target-libgomp
+
+configure-stage1-target-libstdc++-v3: maybe-configure-stage1-target-libgomp
+configure-stage2-target-libstdc++-v3: maybe-configure-stage2-target-libgomp
+configure-stage3-target-libstdc++-v3: maybe-configure-stage3-target-libgomp
+configure-stage4-target-libstdc++-v3: maybe-configure-stage4-target-libgomp
+configure-stageprofile-target-libstdc++-v3: maybe-configure-stageprofile-target-libgomp
+configure-stagefeedback-target-libstdc++-v3: maybe-configure-stagefeedback-target-libgomp
+all-target-libstdc++-v3: maybe-configure-target-libgomp
+
+all-stage1-target-libstdc++-v3: maybe-configure-stage1-target-libgomp
+all-stage2-target-libstdc++-v3: maybe-configure-stage2-target-libgomp
+all-stage3-target-libstdc++-v3: maybe-configure-stage3-target-libgomp
+all-stage4-target-libstdc++-v3: maybe-configure-stage4-target-libgomp
+all-stageprofile-target-libstdc++-v3: maybe-configure-stageprofile-target-libgomp
+all-stagefeedback-target-libstdc++-v3: maybe-configure-stagefeedback-target-libgomp
 all-target-libgloss: maybe-all-target-newlib
 all-target-winsup: maybe-all-target-libiberty
 all-target-winsup: maybe-all-target-libtermcap
@@ -57895,6 +58445,12 @@ configure-stage3-target-libstdc++-v3: maybe-all-stage3-target-libgcc
 configure-stage4-target-libstdc++-v3: maybe-all-stage4-target-libgcc
 configure-stageprofile-target-libstdc++-v3: maybe-all-stageprofile-target-libgcc
 configure-stagefeedback-target-libstdc++-v3: maybe-all-stagefeedback-target-libgcc
+configure-stage1-target-libgomp: maybe-all-stage1-target-libgcc
+configure-stage2-target-libgomp: maybe-all-stage2-target-libgcc
+configure-stage3-target-libgomp: maybe-all-stage3-target-libgcc
+configure-stage4-target-libgomp: maybe-all-stage4-target-libgcc
+configure-stageprofile-target-libgomp: maybe-all-stageprofile-target-libgcc
+configure-stagefeedback-target-libgomp: maybe-all-stagefeedback-target-libgcc
 @endif gcc-bootstrap
 
 @if gcc-no-bootstrap
index ac62666d073d07cf47aa28aaa60073f71e980d05..889c040c5b2c3879fe5078497884fb83a3d39bfb 100644 (file)
@@ -176,6 +176,7 @@ EXTRA_BUILD_FLAGS = \
 
 # This is the list of directories to built for the host system.
 SUBDIRS = @configdirs@
+TARGET_CONFIGDIRS = @target_configdirs@
 # This is set by the configure script to the arguments to use when configuring
 # directories built for the host system.
 HOST_CONFIGARGS = @host_configargs@
@@ -287,7 +288,8 @@ BASE_TARGET_EXPORTS = \
 @if gcc-bootstrap
        $(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
 @endif gcc-bootstrap
-       $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR);
+       $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
+       TARGET_CONFIGDIRS="$(TARGET_CONFIGDIRS)"; export TARGET_CONFIGDIRS;
 
 RAW_CXX_TARGET_EXPORTS = \
        $(BASE_TARGET_EXPORTS) \
index 9aa46858f2fed8c838cf6d5b14d749554864b0b8..e8d6b6f8bc131d660d31419a3f29d927bb03515d 100755 (executable)
--- a/configure
+++ b/configure
@@ -656,6 +656,7 @@ CC_FOR_BUILD
 AS_FOR_BUILD
 AR_FOR_BUILD
 target_configargs
+target_configdirs
 configdirs
 host_configargs
 build_configdirs
@@ -7917,6 +7918,7 @@ done
 
 
 
+
 # Target module lists & subconfigure args.
 
 
index 596b527fcba6e80febcf51d065dae81f79c38fc1..90299d654dec23ca918e9658617232ace66da3cf 100644 (file)
@@ -3072,6 +3072,7 @@ AC_SUBST(build_configdirs)
 # Host module lists & subconfigure args.
 AC_SUBST(host_configargs)
 AC_SUBST(configdirs)
+AC_SUBST(target_configdirs)
 
 # Target module lists & subconfigure args.
 AC_SUBST(target_configargs)