From 911e63d0e72aaf928548703237fe9ac1dcbb4c45 Mon Sep 17 00:00:00 2001 From: Joern Rennecke Date: Fri, 22 Jan 2010 16:28:25 +0000 Subject: [PATCH] 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. --- ChangeLog | 10 + Makefile.def | 6 +- Makefile.in | 564 ++++++++++++++++++++++++++++++++++++++++++++++++++- Makefile.tpl | 4 +- configure | 2 + configure.ac | 1 + 6 files changed, 581 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index de6535f22a1..651e83c1406 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2010-01-22 Joern Rennecke + + 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 * libtool.m4: Sync from git Libtool. diff --git a/Makefile.def b/Makefile.def index f5c2e11f990..ba237671945 100644 --- a/Makefile.def +++ b/Makefile.def @@ -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; }; diff --git a/Makefile.in b/Makefile.in index 6f1c1403fbb..8f9be0cbc67 100644 --- a/Makefile.in +++ b/Makefile.in @@ -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 diff --git a/Makefile.tpl b/Makefile.tpl index ac62666d073..889c040c5b2 100644 --- a/Makefile.tpl +++ b/Makefile.tpl @@ -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) \ diff --git a/configure b/configure index 9aa46858f2f..e8d6b6f8bc1 100755 --- 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. diff --git a/configure.ac b/configure.ac index 596b527fcba..90299d654de 100644 --- a/configure.ac +++ b/configure.ac @@ -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) -- 2.30.2