diff --git a/Makefile.def b/Makefile.def index 792919e561c..3e00a729a0c 100644 --- a/Makefile.def +++ b/Makefile.def @@ -164,6 +164,7 @@ host_modules= { module= libcc1; extra_configure_flags=--enable-shared; }; host_modules= { module= gotools; }; host_modules= { module= libctf; bootstrap=true; }; host_modules= { module= libsframe; bootstrap=true; }; +host_modules= { module= libgrust; }; target_modules = { module= libstdc++-v3; bootstrap=true; @@ -207,6 +208,7 @@ target_modules = { module= libgm2; lib_path=.libs; }; target_modules = { module= libgomp; bootstrap= true; lib_path=.libs; }; target_modules = { module= libitm; lib_path=.libs; }; target_modules = { module= libatomic; bootstrap=true; lib_path=.libs; }; +target_modules = { module= libgrust; }; // 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. @@ -670,6 +672,7 @@ dependencies = { module=all-target-libphobos; on=all-target-libatomic; }; dependencies = { module=configure-target-libstdc++-v3; on=configure-target-libgomp; }; dependencies = { module=configure-target-libsanitizer; on=all-target-libstdc++-v3; }; dependencies = { module=configure-target-libvtv; on=all-target-libstdc++-v3; }; +dependencies = { module=configure-target-libgrust; on=all-target-libstdc++-v3; }; // 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. diff --git a/Makefile.in b/Makefile.in index 9a58d5a4f20..a1f64a2ab5a 100644 --- a/Makefile.in +++ b/Makefile.in @@ -322,6 +322,7 @@ BASE_TARGET_EXPORTS = \ RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ READELF="$(READELF_FOR_TARGET)"; export READELF; \ STRIP="$(STRIP_FOR_TARGET)"; export STRIP; \ + SYSROOT_CFLAGS_FOR_TARGET="$(SYSROOT_CFLAGS_FOR_TARGET)"; export SYSROOT_CFLAGS_FOR_TARGET; \ WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ WINDMC="$(WINDMC_FOR_TARGET)"; export WINDMC; \ @if gcc-bootstrap @@ -640,6 +641,10 @@ STAGEtrain_TFLAGS = $(filter-out -fchecking=1,$(STAGE3_TFLAGS)) STAGEfeedback_CFLAGS = $(STAGE4_CFLAGS) -fprofile-use -fprofile-reproducible=parallel-runs STAGEfeedback_TFLAGS = $(STAGE4_TFLAGS) +# Disable warnings as errors for a few reasons: +# - sources for gen* binaries do not have .gcda files available +# - inlining decisions generate extra warnings +STAGEfeedback_CONFIGURE_FLAGS = $(filter-out --enable-werror-always,$(STAGE_CONFIGURE_FLAGS)) STAGEautoprofile_CFLAGS = $(filter-out -gtoggle,$(STAGE2_CFLAGS)) -g STAGEautoprofile_TFLAGS = $(STAGE2_TFLAGS) @@ -1130,7 +1135,8 @@ configure-host: \ maybe-configure-libcc1 \ maybe-configure-gotools \ maybe-configure-libctf \ - maybe-configure-libsframe + maybe-configure-libsframe \ + maybe-configure-libgrust .PHONY: configure-target configure-target: \ maybe-configure-target-libstdc++-v3 \ @@ -1155,7 +1161,8 @@ configure-target: \ maybe-configure-target-libgm2 \ maybe-configure-target-libgomp \ maybe-configure-target-libitm \ - maybe-configure-target-libatomic + maybe-configure-target-libatomic \ + maybe-configure-target-libgrust # The target built for a native non-bootstrap build. .PHONY: all @@ -1311,6 +1318,7 @@ all-host: maybe-all-libctf @if libsframe-no-bootstrap all-host: maybe-all-libsframe @endif libsframe-no-bootstrap +all-host: maybe-all-libgrust .PHONY: all-target @@ -1355,6 +1363,7 @@ all-target: maybe-all-target-libitm @if target-libatomic-no-bootstrap all-target: maybe-all-target-libatomic @endif target-libatomic-no-bootstrap +all-target: maybe-all-target-libgrust # 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 @@ -1425,6 +1434,7 @@ info-host: maybe-info-libcc1 info-host: maybe-info-gotools info-host: maybe-info-libctf info-host: maybe-info-libsframe +info-host: maybe-info-libgrust .PHONY: info-target @@ -1451,6 +1461,7 @@ info-target: maybe-info-target-libgm2 info-target: maybe-info-target-libgomp info-target: maybe-info-target-libitm info-target: maybe-info-target-libatomic +info-target: maybe-info-target-libgrust .PHONY: do-dvi do-dvi: @@ -1516,6 +1527,7 @@ dvi-host: maybe-dvi-libcc1 dvi-host: maybe-dvi-gotools dvi-host: maybe-dvi-libctf dvi-host: maybe-dvi-libsframe +dvi-host: maybe-dvi-libgrust .PHONY: dvi-target @@ -1542,6 +1554,7 @@ dvi-target: maybe-dvi-target-libgm2 dvi-target: maybe-dvi-target-libgomp dvi-target: maybe-dvi-target-libitm dvi-target: maybe-dvi-target-libatomic +dvi-target: maybe-dvi-target-libgrust .PHONY: do-pdf do-pdf: @@ -1607,6 +1620,7 @@ pdf-host: maybe-pdf-libcc1 pdf-host: maybe-pdf-gotools pdf-host: maybe-pdf-libctf pdf-host: maybe-pdf-libsframe +pdf-host: maybe-pdf-libgrust .PHONY: pdf-target @@ -1633,6 +1647,7 @@ pdf-target: maybe-pdf-target-libgm2 pdf-target: maybe-pdf-target-libgomp pdf-target: maybe-pdf-target-libitm pdf-target: maybe-pdf-target-libatomic +pdf-target: maybe-pdf-target-libgrust .PHONY: do-html do-html: @@ -1698,6 +1713,7 @@ html-host: maybe-html-libcc1 html-host: maybe-html-gotools html-host: maybe-html-libctf html-host: maybe-html-libsframe +html-host: maybe-html-libgrust .PHONY: html-target @@ -1724,6 +1740,7 @@ html-target: maybe-html-target-libgm2 html-target: maybe-html-target-libgomp html-target: maybe-html-target-libitm html-target: maybe-html-target-libatomic +html-target: maybe-html-target-libgrust .PHONY: do-TAGS do-TAGS: @@ -1789,6 +1806,7 @@ TAGS-host: maybe-TAGS-libcc1 TAGS-host: maybe-TAGS-gotools TAGS-host: maybe-TAGS-libctf TAGS-host: maybe-TAGS-libsframe +TAGS-host: maybe-TAGS-libgrust .PHONY: TAGS-target @@ -1815,6 +1833,7 @@ TAGS-target: maybe-TAGS-target-libgm2 TAGS-target: maybe-TAGS-target-libgomp TAGS-target: maybe-TAGS-target-libitm TAGS-target: maybe-TAGS-target-libatomic +TAGS-target: maybe-TAGS-target-libgrust .PHONY: do-install-info do-install-info: @@ -1880,6 +1899,7 @@ install-info-host: maybe-install-info-libcc1 install-info-host: maybe-install-info-gotools install-info-host: maybe-install-info-libctf install-info-host: maybe-install-info-libsframe +install-info-host: maybe-install-info-libgrust .PHONY: install-info-target @@ -1906,6 +1926,7 @@ install-info-target: maybe-install-info-target-libgm2 install-info-target: maybe-install-info-target-libgomp install-info-target: maybe-install-info-target-libitm install-info-target: maybe-install-info-target-libatomic +install-info-target: maybe-install-info-target-libgrust .PHONY: do-install-dvi do-install-dvi: @@ -1971,6 +1992,7 @@ install-dvi-host: maybe-install-dvi-libcc1 install-dvi-host: maybe-install-dvi-gotools install-dvi-host: maybe-install-dvi-libctf install-dvi-host: maybe-install-dvi-libsframe +install-dvi-host: maybe-install-dvi-libgrust .PHONY: install-dvi-target @@ -1997,6 +2019,7 @@ install-dvi-target: maybe-install-dvi-target-libgm2 install-dvi-target: maybe-install-dvi-target-libgomp install-dvi-target: maybe-install-dvi-target-libitm install-dvi-target: maybe-install-dvi-target-libatomic +install-dvi-target: maybe-install-dvi-target-libgrust .PHONY: do-install-pdf do-install-pdf: @@ -2062,6 +2085,7 @@ install-pdf-host: maybe-install-pdf-libcc1 install-pdf-host: maybe-install-pdf-gotools install-pdf-host: maybe-install-pdf-libctf install-pdf-host: maybe-install-pdf-libsframe +install-pdf-host: maybe-install-pdf-libgrust .PHONY: install-pdf-target @@ -2088,6 +2112,7 @@ install-pdf-target: maybe-install-pdf-target-libgm2 install-pdf-target: maybe-install-pdf-target-libgomp install-pdf-target: maybe-install-pdf-target-libitm install-pdf-target: maybe-install-pdf-target-libatomic +install-pdf-target: maybe-install-pdf-target-libgrust .PHONY: do-install-html do-install-html: @@ -2153,6 +2178,7 @@ install-html-host: maybe-install-html-libcc1 install-html-host: maybe-install-html-gotools install-html-host: maybe-install-html-libctf install-html-host: maybe-install-html-libsframe +install-html-host: maybe-install-html-libgrust .PHONY: install-html-target @@ -2179,6 +2205,7 @@ install-html-target: maybe-install-html-target-libgm2 install-html-target: maybe-install-html-target-libgomp install-html-target: maybe-install-html-target-libitm install-html-target: maybe-install-html-target-libatomic +install-html-target: maybe-install-html-target-libgrust .PHONY: do-installcheck do-installcheck: @@ -2244,6 +2271,7 @@ installcheck-host: maybe-installcheck-libcc1 installcheck-host: maybe-installcheck-gotools installcheck-host: maybe-installcheck-libctf installcheck-host: maybe-installcheck-libsframe +installcheck-host: maybe-installcheck-libgrust .PHONY: installcheck-target @@ -2270,6 +2298,7 @@ installcheck-target: maybe-installcheck-target-libgm2 installcheck-target: maybe-installcheck-target-libgomp installcheck-target: maybe-installcheck-target-libitm installcheck-target: maybe-installcheck-target-libatomic +installcheck-target: maybe-installcheck-target-libgrust .PHONY: do-mostlyclean do-mostlyclean: @@ -2335,6 +2364,7 @@ mostlyclean-host: maybe-mostlyclean-libcc1 mostlyclean-host: maybe-mostlyclean-gotools mostlyclean-host: maybe-mostlyclean-libctf mostlyclean-host: maybe-mostlyclean-libsframe +mostlyclean-host: maybe-mostlyclean-libgrust .PHONY: mostlyclean-target @@ -2361,6 +2391,7 @@ mostlyclean-target: maybe-mostlyclean-target-libgm2 mostlyclean-target: maybe-mostlyclean-target-libgomp mostlyclean-target: maybe-mostlyclean-target-libitm mostlyclean-target: maybe-mostlyclean-target-libatomic +mostlyclean-target: maybe-mostlyclean-target-libgrust .PHONY: do-clean do-clean: @@ -2426,6 +2457,7 @@ clean-host: maybe-clean-libcc1 clean-host: maybe-clean-gotools clean-host: maybe-clean-libctf clean-host: maybe-clean-libsframe +clean-host: maybe-clean-libgrust .PHONY: clean-target @@ -2452,6 +2484,7 @@ clean-target: maybe-clean-target-libgm2 clean-target: maybe-clean-target-libgomp clean-target: maybe-clean-target-libitm clean-target: maybe-clean-target-libatomic +clean-target: maybe-clean-target-libgrust .PHONY: do-distclean do-distclean: @@ -2517,6 +2550,7 @@ distclean-host: maybe-distclean-libcc1 distclean-host: maybe-distclean-gotools distclean-host: maybe-distclean-libctf distclean-host: maybe-distclean-libsframe +distclean-host: maybe-distclean-libgrust .PHONY: distclean-target @@ -2543,6 +2577,7 @@ distclean-target: maybe-distclean-target-libgm2 distclean-target: maybe-distclean-target-libgomp distclean-target: maybe-distclean-target-libitm distclean-target: maybe-distclean-target-libatomic +distclean-target: maybe-distclean-target-libgrust .PHONY: do-maintainer-clean do-maintainer-clean: @@ -2608,6 +2643,7 @@ maintainer-clean-host: maybe-maintainer-clean-libcc1 maintainer-clean-host: maybe-maintainer-clean-gotools maintainer-clean-host: maybe-maintainer-clean-libctf maintainer-clean-host: maybe-maintainer-clean-libsframe +maintainer-clean-host: maybe-maintainer-clean-libgrust .PHONY: maintainer-clean-target @@ -2634,6 +2670,7 @@ maintainer-clean-target: maybe-maintainer-clean-target-libgm2 maintainer-clean-target: maybe-maintainer-clean-target-libgomp maintainer-clean-target: maybe-maintainer-clean-target-libitm maintainer-clean-target: maybe-maintainer-clean-target-libatomic +maintainer-clean-target: maybe-maintainer-clean-target-libgrust # Here are the targets which correspond to the do-X targets. @@ -2756,7 +2793,8 @@ check-host: \ maybe-check-libcc1 \ maybe-check-gotools \ maybe-check-libctf \ - maybe-check-libsframe + maybe-check-libsframe \ + maybe-check-libgrust .PHONY: check-target check-target: \ @@ -2782,7 +2820,8 @@ check-target: \ maybe-check-target-libgm2 \ maybe-check-target-libgomp \ maybe-check-target-libitm \ - maybe-check-target-libatomic + maybe-check-target-libatomic \ + maybe-check-target-libgrust do-check: @: $(MAKE); $(unstage) @@ -2894,7 +2933,8 @@ install-host-nogcc: \ maybe-install-libcc1 \ maybe-install-gotools \ maybe-install-libctf \ - maybe-install-libsframe + maybe-install-libsframe \ + maybe-install-libgrust .PHONY: install-host install-host: \ @@ -2950,7 +2990,8 @@ install-host: \ maybe-install-libcc1 \ maybe-install-gotools \ maybe-install-libctf \ - maybe-install-libsframe + maybe-install-libsframe \ + maybe-install-libgrust .PHONY: install-target install-target: \ @@ -2976,7 +3017,8 @@ install-target: \ maybe-install-target-libgm2 \ maybe-install-target-libgomp \ maybe-install-target-libitm \ - maybe-install-target-libatomic + maybe-install-target-libatomic \ + maybe-install-target-libgrust uninstall: @echo "the uninstall target is not supported in this tree" @@ -3061,7 +3103,8 @@ install-strip-host: \ maybe-install-strip-libcc1 \ maybe-install-strip-gotools \ maybe-install-strip-libctf \ - maybe-install-strip-libsframe + maybe-install-strip-libsframe \ + maybe-install-strip-libgrust .PHONY: install-strip-target install-strip-target: \ @@ -3087,7 +3130,8 @@ install-strip-target: \ maybe-install-strip-target-libgm2 \ maybe-install-strip-target-libgomp \ maybe-install-strip-target-libitm \ - maybe-install-strip-target-libatomic + maybe-install-strip-target-libatomic \ + maybe-install-strip-target-libgrust ### other supporting targets @@ -43943,6 +43987,474 @@ maintainer-clean-libsframe: +.PHONY: configure-libgrust maybe-configure-libgrust +maybe-configure-libgrust: +@if gcc-bootstrap +configure-libgrust: stage_current +@endif gcc-bootstrap +@if libgrust +maybe-configure-libgrust: configure-libgrust +configure-libgrust: + @: $(MAKE); $(unstage) + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + test ! -f $(HOST_SUBDIR)/libgrust/Makefile || exit 0; \ + $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libgrust; \ + $(HOST_EXPORTS) \ + echo Configuring in $(HOST_SUBDIR)/libgrust; \ + cd "$(HOST_SUBDIR)/libgrust" || exit 1; \ + case $(srcdir) in \ + /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \ + *) topdir=`echo $(HOST_SUBDIR)/libgrust/ | \ + sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ + esac; \ + module_srcdir=libgrust; \ + $(SHELL) \ + $$s/$$module_srcdir/configure \ + --srcdir=$${topdir}/$$module_srcdir \ + $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \ + --target=${target_alias} \ + || exit 1 +@endif libgrust + + + + + +.PHONY: all-libgrust maybe-all-libgrust +maybe-all-libgrust: +@if gcc-bootstrap +all-libgrust: stage_current +@endif gcc-bootstrap +@if libgrust +TARGET-libgrust=all +maybe-all-libgrust: all-libgrust +all-libgrust: configure-libgrust + @: $(MAKE); $(unstage) + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + (cd $(HOST_SUBDIR)/libgrust && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(STAGE1_FLAGS_TO_PASS) \ + $(TARGET-libgrust)) +@endif libgrust + + + + +.PHONY: check-libgrust maybe-check-libgrust +maybe-check-libgrust: +@if libgrust +maybe-check-libgrust: check-libgrust + +check-libgrust: + @: $(MAKE); $(unstage) + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + (cd $(HOST_SUBDIR)/libgrust && \ + $(MAKE) $(FLAGS_TO_PASS) check) + +@endif libgrust + +.PHONY: install-libgrust maybe-install-libgrust +maybe-install-libgrust: +@if libgrust +maybe-install-libgrust: install-libgrust + +install-libgrust: installdirs + @: $(MAKE); $(unstage) + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + (cd $(HOST_SUBDIR)/libgrust && \ + $(MAKE) $(FLAGS_TO_PASS) install) + +@endif libgrust + +.PHONY: install-strip-libgrust maybe-install-strip-libgrust +maybe-install-strip-libgrust: +@if libgrust +maybe-install-strip-libgrust: install-strip-libgrust + +install-strip-libgrust: installdirs + @: $(MAKE); $(unstage) + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + (cd $(HOST_SUBDIR)/libgrust && \ + $(MAKE) $(FLAGS_TO_PASS) install-strip) + +@endif libgrust + +# Other targets (info, dvi, pdf, etc.) + +.PHONY: maybe-info-libgrust info-libgrust +maybe-info-libgrust: +@if libgrust +maybe-info-libgrust: info-libgrust + +info-libgrust: \ + configure-libgrust + @: $(MAKE); $(unstage) + @[ -f ./libgrust/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing info in libgrust"; \ + (cd $(HOST_SUBDIR)/libgrust && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + info) \ + || exit 1 + +@endif libgrust + +.PHONY: maybe-dvi-libgrust dvi-libgrust +maybe-dvi-libgrust: +@if libgrust +maybe-dvi-libgrust: dvi-libgrust + +dvi-libgrust: \ + configure-libgrust + @: $(MAKE); $(unstage) + @[ -f ./libgrust/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing dvi in libgrust"; \ + (cd $(HOST_SUBDIR)/libgrust && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + dvi) \ + || exit 1 + +@endif libgrust + +.PHONY: maybe-pdf-libgrust pdf-libgrust +maybe-pdf-libgrust: +@if libgrust +maybe-pdf-libgrust: pdf-libgrust + +pdf-libgrust: \ + configure-libgrust + @: $(MAKE); $(unstage) + @[ -f ./libgrust/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing pdf in libgrust"; \ + (cd $(HOST_SUBDIR)/libgrust && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + pdf) \ + || exit 1 + +@endif libgrust + +.PHONY: maybe-html-libgrust html-libgrust +maybe-html-libgrust: +@if libgrust +maybe-html-libgrust: html-libgrust + +html-libgrust: \ + configure-libgrust + @: $(MAKE); $(unstage) + @[ -f ./libgrust/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing html in libgrust"; \ + (cd $(HOST_SUBDIR)/libgrust && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + html) \ + || exit 1 + +@endif libgrust + +.PHONY: maybe-TAGS-libgrust TAGS-libgrust +maybe-TAGS-libgrust: +@if libgrust +maybe-TAGS-libgrust: TAGS-libgrust + +TAGS-libgrust: \ + configure-libgrust + @: $(MAKE); $(unstage) + @[ -f ./libgrust/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing TAGS in libgrust"; \ + (cd $(HOST_SUBDIR)/libgrust && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + TAGS) \ + || exit 1 + +@endif libgrust + +.PHONY: maybe-install-info-libgrust install-info-libgrust +maybe-install-info-libgrust: +@if libgrust +maybe-install-info-libgrust: install-info-libgrust + +install-info-libgrust: \ + configure-libgrust \ + info-libgrust + @: $(MAKE); $(unstage) + @[ -f ./libgrust/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing install-info in libgrust"; \ + (cd $(HOST_SUBDIR)/libgrust && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + install-info) \ + || exit 1 + +@endif libgrust + +.PHONY: maybe-install-dvi-libgrust install-dvi-libgrust +maybe-install-dvi-libgrust: +@if libgrust +maybe-install-dvi-libgrust: install-dvi-libgrust + +install-dvi-libgrust: \ + configure-libgrust \ + dvi-libgrust + @: $(MAKE); $(unstage) + @[ -f ./libgrust/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing install-dvi in libgrust"; \ + (cd $(HOST_SUBDIR)/libgrust && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + install-dvi) \ + || exit 1 + +@endif libgrust + +.PHONY: maybe-install-pdf-libgrust install-pdf-libgrust +maybe-install-pdf-libgrust: +@if libgrust +maybe-install-pdf-libgrust: install-pdf-libgrust + +install-pdf-libgrust: \ + configure-libgrust \ + pdf-libgrust + @: $(MAKE); $(unstage) + @[ -f ./libgrust/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing install-pdf in libgrust"; \ + (cd $(HOST_SUBDIR)/libgrust && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + install-pdf) \ + || exit 1 + +@endif libgrust + +.PHONY: maybe-install-html-libgrust install-html-libgrust +maybe-install-html-libgrust: +@if libgrust +maybe-install-html-libgrust: install-html-libgrust + +install-html-libgrust: \ + configure-libgrust \ + html-libgrust + @: $(MAKE); $(unstage) + @[ -f ./libgrust/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing install-html in libgrust"; \ + (cd $(HOST_SUBDIR)/libgrust && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + install-html) \ + || exit 1 + +@endif libgrust + +.PHONY: maybe-installcheck-libgrust installcheck-libgrust +maybe-installcheck-libgrust: +@if libgrust +maybe-installcheck-libgrust: installcheck-libgrust + +installcheck-libgrust: \ + configure-libgrust + @: $(MAKE); $(unstage) + @[ -f ./libgrust/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing installcheck in libgrust"; \ + (cd $(HOST_SUBDIR)/libgrust && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + installcheck) \ + || exit 1 + +@endif libgrust + +.PHONY: maybe-mostlyclean-libgrust mostlyclean-libgrust +maybe-mostlyclean-libgrust: +@if libgrust +maybe-mostlyclean-libgrust: mostlyclean-libgrust + +mostlyclean-libgrust: + @: $(MAKE); $(unstage) + @[ -f ./libgrust/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing mostlyclean in libgrust"; \ + (cd $(HOST_SUBDIR)/libgrust && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + mostlyclean) \ + || exit 1 + +@endif libgrust + +.PHONY: maybe-clean-libgrust clean-libgrust +maybe-clean-libgrust: +@if libgrust +maybe-clean-libgrust: clean-libgrust + +clean-libgrust: + @: $(MAKE); $(unstage) + @[ -f ./libgrust/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing clean in libgrust"; \ + (cd $(HOST_SUBDIR)/libgrust && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + clean) \ + || exit 1 + +@endif libgrust + +.PHONY: maybe-distclean-libgrust distclean-libgrust +maybe-distclean-libgrust: +@if libgrust +maybe-distclean-libgrust: distclean-libgrust + +distclean-libgrust: + @: $(MAKE); $(unstage) + @[ -f ./libgrust/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing distclean in libgrust"; \ + (cd $(HOST_SUBDIR)/libgrust && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + distclean) \ + || exit 1 + +@endif libgrust + +.PHONY: maybe-maintainer-clean-libgrust maintainer-clean-libgrust +maybe-maintainer-clean-libgrust: +@if libgrust +maybe-maintainer-clean-libgrust: maintainer-clean-libgrust + +maintainer-clean-libgrust: + @: $(MAKE); $(unstage) + @[ -f ./libgrust/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + for flag in $(EXTRA_HOST_FLAGS) ; do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + echo "Doing maintainer-clean in libgrust"; \ + (cd $(HOST_SUBDIR)/libgrust && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + maintainer-clean) \ + || exit 1 + +@endif libgrust + + + # --------------------------------------- # Modules which run on the target machine # --------------------------------------- @@ -62017,6 +62529,491 @@ maintainer-clean-target-libatomic: + + +.PHONY: configure-target-libgrust maybe-configure-target-libgrust +maybe-configure-target-libgrust: +@if gcc-bootstrap +configure-target-libgrust: stage_current +@endif gcc-bootstrap +@if target-libgrust +maybe-configure-target-libgrust: configure-target-libgrust +configure-target-libgrust: + @: $(MAKE); $(unstage) + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + echo "Checking multilib configuration for libgrust..."; \ + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgrust; \ + $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libgrust/multilib.tmp 2> /dev/null; \ + if test -r $(TARGET_SUBDIR)/libgrust/multilib.out; then \ + if cmp -s $(TARGET_SUBDIR)/libgrust/multilib.tmp $(TARGET_SUBDIR)/libgrust/multilib.out; then \ + rm -f $(TARGET_SUBDIR)/libgrust/multilib.tmp; \ + else \ + rm -f $(TARGET_SUBDIR)/libgrust/Makefile; \ + mv $(TARGET_SUBDIR)/libgrust/multilib.tmp $(TARGET_SUBDIR)/libgrust/multilib.out; \ + fi; \ + else \ + mv $(TARGET_SUBDIR)/libgrust/multilib.tmp $(TARGET_SUBDIR)/libgrust/multilib.out; \ + fi; \ + test ! -f $(TARGET_SUBDIR)/libgrust/Makefile || exit 0; \ + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgrust; \ + $(NORMAL_TARGET_EXPORTS) \ + echo Configuring in $(TARGET_SUBDIR)/libgrust; \ + cd "$(TARGET_SUBDIR)/libgrust" || exit 1; \ + case $(srcdir) in \ + /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \ + *) topdir=`echo $(TARGET_SUBDIR)/libgrust/ | \ + sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ + esac; \ + module_srcdir=libgrust; \ + rm -f no-such-file || : ; \ + CONFIG_SITE=no-such-file $(SHELL) \ + $$s/$$module_srcdir/configure \ + --srcdir=$${topdir}/$$module_srcdir \ + $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \ + --target=${target_alias} \ + || exit 1 +@endif target-libgrust + + + + + +.PHONY: all-target-libgrust maybe-all-target-libgrust +maybe-all-target-libgrust: +@if gcc-bootstrap +all-target-libgrust: stage_current +@endif gcc-bootstrap +@if target-libgrust +TARGET-target-libgrust=all +maybe-all-target-libgrust: all-target-libgrust +all-target-libgrust: configure-target-libgrust + @: $(MAKE); $(unstage) + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + (cd $(TARGET_SUBDIR)/libgrust && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) \ + $(TARGET-target-libgrust)) +@endif target-libgrust + + + + + +.PHONY: check-target-libgrust maybe-check-target-libgrust +maybe-check-target-libgrust: +@if target-libgrust +maybe-check-target-libgrust: check-target-libgrust + +check-target-libgrust: + @: $(MAKE); $(unstage) + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + (cd $(TARGET_SUBDIR)/libgrust && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) check) + +@endif target-libgrust + +.PHONY: install-target-libgrust maybe-install-target-libgrust +maybe-install-target-libgrust: +@if target-libgrust +maybe-install-target-libgrust: install-target-libgrust + +install-target-libgrust: installdirs + @: $(MAKE); $(unstage) + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + (cd $(TARGET_SUBDIR)/libgrust && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) install) + +@endif target-libgrust + +.PHONY: install-strip-target-libgrust maybe-install-strip-target-libgrust +maybe-install-strip-target-libgrust: +@if target-libgrust +maybe-install-strip-target-libgrust: install-strip-target-libgrust + +install-strip-target-libgrust: installdirs + @: $(MAKE); $(unstage) + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + (cd $(TARGET_SUBDIR)/libgrust && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) install-strip) + +@endif target-libgrust + +# Other targets (info, dvi, pdf, etc.) + +.PHONY: maybe-info-target-libgrust info-target-libgrust +maybe-info-target-libgrust: +@if target-libgrust +maybe-info-target-libgrust: info-target-libgrust + +info-target-libgrust: \ + configure-target-libgrust + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libgrust/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing info in $(TARGET_SUBDIR)/libgrust"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libgrust && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + info) \ + || exit 1 + +@endif target-libgrust + +.PHONY: maybe-dvi-target-libgrust dvi-target-libgrust +maybe-dvi-target-libgrust: +@if target-libgrust +maybe-dvi-target-libgrust: dvi-target-libgrust + +dvi-target-libgrust: \ + configure-target-libgrust + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libgrust/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing dvi in $(TARGET_SUBDIR)/libgrust"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libgrust && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + dvi) \ + || exit 1 + +@endif target-libgrust + +.PHONY: maybe-pdf-target-libgrust pdf-target-libgrust +maybe-pdf-target-libgrust: +@if target-libgrust +maybe-pdf-target-libgrust: pdf-target-libgrust + +pdf-target-libgrust: \ + configure-target-libgrust + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libgrust/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing pdf in $(TARGET_SUBDIR)/libgrust"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libgrust && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + pdf) \ + || exit 1 + +@endif target-libgrust + +.PHONY: maybe-html-target-libgrust html-target-libgrust +maybe-html-target-libgrust: +@if target-libgrust +maybe-html-target-libgrust: html-target-libgrust + +html-target-libgrust: \ + configure-target-libgrust + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libgrust/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing html in $(TARGET_SUBDIR)/libgrust"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libgrust && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + html) \ + || exit 1 + +@endif target-libgrust + +.PHONY: maybe-TAGS-target-libgrust TAGS-target-libgrust +maybe-TAGS-target-libgrust: +@if target-libgrust +maybe-TAGS-target-libgrust: TAGS-target-libgrust + +TAGS-target-libgrust: \ + configure-target-libgrust + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libgrust/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing TAGS in $(TARGET_SUBDIR)/libgrust"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libgrust && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + TAGS) \ + || exit 1 + +@endif target-libgrust + +.PHONY: maybe-install-info-target-libgrust install-info-target-libgrust +maybe-install-info-target-libgrust: +@if target-libgrust +maybe-install-info-target-libgrust: install-info-target-libgrust + +install-info-target-libgrust: \ + configure-target-libgrust \ + info-target-libgrust + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libgrust/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing install-info in $(TARGET_SUBDIR)/libgrust"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libgrust && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + install-info) \ + || exit 1 + +@endif target-libgrust + +.PHONY: maybe-install-dvi-target-libgrust install-dvi-target-libgrust +maybe-install-dvi-target-libgrust: +@if target-libgrust +maybe-install-dvi-target-libgrust: install-dvi-target-libgrust + +install-dvi-target-libgrust: \ + configure-target-libgrust \ + dvi-target-libgrust + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libgrust/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing install-dvi in $(TARGET_SUBDIR)/libgrust"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libgrust && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + install-dvi) \ + || exit 1 + +@endif target-libgrust + +.PHONY: maybe-install-pdf-target-libgrust install-pdf-target-libgrust +maybe-install-pdf-target-libgrust: +@if target-libgrust +maybe-install-pdf-target-libgrust: install-pdf-target-libgrust + +install-pdf-target-libgrust: \ + configure-target-libgrust \ + pdf-target-libgrust + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libgrust/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing install-pdf in $(TARGET_SUBDIR)/libgrust"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libgrust && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + install-pdf) \ + || exit 1 + +@endif target-libgrust + +.PHONY: maybe-install-html-target-libgrust install-html-target-libgrust +maybe-install-html-target-libgrust: +@if target-libgrust +maybe-install-html-target-libgrust: install-html-target-libgrust + +install-html-target-libgrust: \ + configure-target-libgrust \ + html-target-libgrust + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libgrust/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing install-html in $(TARGET_SUBDIR)/libgrust"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libgrust && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + install-html) \ + || exit 1 + +@endif target-libgrust + +.PHONY: maybe-installcheck-target-libgrust installcheck-target-libgrust +maybe-installcheck-target-libgrust: +@if target-libgrust +maybe-installcheck-target-libgrust: installcheck-target-libgrust + +installcheck-target-libgrust: \ + configure-target-libgrust + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libgrust/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing installcheck in $(TARGET_SUBDIR)/libgrust"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libgrust && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + installcheck) \ + || exit 1 + +@endif target-libgrust + +.PHONY: maybe-mostlyclean-target-libgrust mostlyclean-target-libgrust +maybe-mostlyclean-target-libgrust: +@if target-libgrust +maybe-mostlyclean-target-libgrust: mostlyclean-target-libgrust + +mostlyclean-target-libgrust: + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libgrust/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing mostlyclean in $(TARGET_SUBDIR)/libgrust"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libgrust && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + mostlyclean) \ + || exit 1 + +@endif target-libgrust + +.PHONY: maybe-clean-target-libgrust clean-target-libgrust +maybe-clean-target-libgrust: +@if target-libgrust +maybe-clean-target-libgrust: clean-target-libgrust + +clean-target-libgrust: + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libgrust/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing clean in $(TARGET_SUBDIR)/libgrust"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libgrust && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + clean) \ + || exit 1 + +@endif target-libgrust + +.PHONY: maybe-distclean-target-libgrust distclean-target-libgrust +maybe-distclean-target-libgrust: +@if target-libgrust +maybe-distclean-target-libgrust: distclean-target-libgrust + +distclean-target-libgrust: + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libgrust/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing distclean in $(TARGET_SUBDIR)/libgrust"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libgrust && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + distclean) \ + || exit 1 + +@endif target-libgrust + +.PHONY: maybe-maintainer-clean-target-libgrust maintainer-clean-target-libgrust +maybe-maintainer-clean-target-libgrust: +@if target-libgrust +maybe-maintainer-clean-target-libgrust: maintainer-clean-target-libgrust + +maintainer-clean-target-libgrust: + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libgrust/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(NORMAL_TARGET_EXPORTS) \ + echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libgrust"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libgrust && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \ + "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \ + "RANLIB=$${RANLIB}" \ + "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \ + maintainer-clean) \ + || exit 1 + +@endif target-libgrust + + + @if target-libgomp .PHONY: check-target-libgomp-c++ check-target-libgomp-c++: @@ -62055,8 +63052,16 @@ cross: all-build all-gas all-ld @if gcc +.PHONY: gcc-site.exp +gcc-site.exp: + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) site.exp); + + .PHONY: check-gcc-c check-c -check-gcc-c: +check-gcc-c: gcc-site.exp r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(HOST_EXPORTS) \ @@ -62064,7 +63069,7 @@ check-gcc-c: check-c: check-gcc-c .PHONY: check-gcc-c++ check-c++ -check-gcc-c++: +check-gcc-c++: gcc-site.exp r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(HOST_EXPORTS) \ @@ -62072,7 +63077,7 @@ check-gcc-c++: check-c++: check-gcc-c++ check-target-libstdc++-v3 check-target-libitm-c++ check-target-libgomp-c++ .PHONY: check-gcc-fortran check-fortran -check-gcc-fortran: +check-gcc-fortran: gcc-site.exp r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(HOST_EXPORTS) \ @@ -62080,7 +63085,7 @@ check-gcc-fortran: check-fortran: check-gcc-fortran check-target-libquadmath check-target-libgfortran check-target-libgomp-fortran .PHONY: check-gcc-ada check-ada -check-gcc-ada: +check-gcc-ada: gcc-site.exp r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(HOST_EXPORTS) \ @@ -62088,7 +63093,7 @@ check-gcc-ada: check-ada: check-gcc-ada check-target-libada .PHONY: check-gcc-objc check-objc -check-gcc-objc: +check-gcc-objc: gcc-site.exp r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(HOST_EXPORTS) \ @@ -62096,7 +63101,7 @@ check-gcc-objc: check-objc: check-gcc-objc check-target-libobjc .PHONY: check-gcc-obj-c++ check-obj-c++ -check-gcc-obj-c++: +check-gcc-obj-c++: gcc-site.exp r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(HOST_EXPORTS) \ @@ -62104,7 +63109,7 @@ check-gcc-obj-c++: check-obj-c++: check-gcc-obj-c++ .PHONY: check-gcc-go check-go -check-gcc-go: +check-gcc-go: gcc-site.exp r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(HOST_EXPORTS) \ @@ -62112,7 +63117,7 @@ check-gcc-go: check-go: check-gcc-go check-target-libgo check-gotools .PHONY: check-gcc-m2 check-m2 -check-gcc-m2: +check-gcc-m2: gcc-site.exp r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(HOST_EXPORTS) \ @@ -62120,7 +63125,7 @@ check-gcc-m2: check-m2: check-gcc-m2 check-target-libgm2 .PHONY: check-gcc-d check-d -check-gcc-d: +check-gcc-d: gcc-site.exp r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(HOST_EXPORTS) \ @@ -62128,7 +63133,7 @@ check-gcc-d: check-d: check-gcc-d check-target-libphobos .PHONY: check-gcc-jit check-jit -check-gcc-jit: +check-gcc-jit: gcc-site.exp r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(HOST_EXPORTS) \ @@ -62136,7 +63141,7 @@ check-gcc-jit: check-jit: check-gcc-jit .PHONY: check-gcc-rust check-rust -check-gcc-rust: +check-gcc-rust: gcc-site.exp r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(HOST_EXPORTS) \ @@ -65597,6 +66602,7 @@ configure-stagetrain-target-libatomic: maybe-all-stagetrain-gcc configure-stagefeedback-target-libatomic: maybe-all-stagefeedback-gcc configure-stageautoprofile-target-libatomic: maybe-all-stageautoprofile-gcc configure-stageautofeedback-target-libatomic: maybe-all-stageautofeedback-gcc +configure-target-libgrust: stage_last @endif gcc-bootstrap @if gcc-no-bootstrap @@ -65623,6 +66629,7 @@ configure-target-libgm2: maybe-all-gcc configure-target-libgomp: maybe-all-gcc configure-target-libitm: maybe-all-gcc configure-target-libatomic: maybe-all-gcc +configure-target-libgrust: maybe-all-gcc @endif gcc-no-bootstrap @@ -66932,6 +67939,7 @@ all-target-libgo: maybe-all-target-libbacktrace all-target-libgo: maybe-all-target-libatomic configure-target-libgm2: maybe-all-target-libstdc++-v3 all-target-libgm2: maybe-all-target-libatomic +configure-target-libgrust: maybe-all-target-libstdc++-v3 configure-target-newlib: maybe-all-binutils configure-target-newlib: maybe-all-ld configure-target-libgfortran: maybe-all-target-libbacktrace @@ -67041,6 +68049,7 @@ configure-target-libgm2: maybe-all-target-libgcc configure-target-libgomp: maybe-all-target-libgcc configure-target-libitm: maybe-all-target-libgcc configure-target-libatomic: maybe-all-target-libgcc +configure-target-libgrust: maybe-all-target-libgcc @endif gcc-no-bootstrap @@ -67089,6 +68098,8 @@ configure-target-libitm: maybe-all-target-libstdc++-v3 configure-target-libatomic: maybe-all-target-newlib maybe-all-target-libgloss +configure-target-libgrust: maybe-all-target-newlib maybe-all-target-libgloss + CONFIGURE_GDB_TK = @CONFIGURE_GDB_TK@ GDB_TK = @GDB_TK@ diff --git a/Makefile.tpl b/Makefile.tpl index 17e585df541..adbcbdd1d57 100644 --- a/Makefile.tpl +++ b/Makefile.tpl @@ -325,6 +325,7 @@ BASE_TARGET_EXPORTS = \ RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ READELF="$(READELF_FOR_TARGET)"; export READELF; \ STRIP="$(STRIP_FOR_TARGET)"; export STRIP; \ + SYSROOT_CFLAGS_FOR_TARGET="$(SYSROOT_CFLAGS_FOR_TARGET)"; export SYSROOT_CFLAGS_FOR_TARGET; \ WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ WINDMC="$(WINDMC_FOR_TARGET)"; export WINDMC; \ @if gcc-bootstrap @@ -563,6 +564,10 @@ STAGEtrain_TFLAGS = $(filter-out -fchecking=1,$(STAGE3_TFLAGS)) STAGEfeedback_CFLAGS = $(STAGE4_CFLAGS) -fprofile-use -fprofile-reproducible=parallel-runs STAGEfeedback_TFLAGS = $(STAGE4_TFLAGS) +# Disable warnings as errors for a few reasons: +# - sources for gen* binaries do not have .gcda files available +# - inlining decisions generate extra warnings +STAGEfeedback_CONFIGURE_FLAGS = $(filter-out --enable-werror-always,$(STAGE_CONFIGURE_FLAGS)) STAGEautoprofile_CFLAGS = $(filter-out -gtoggle,$(STAGE2_CFLAGS)) -g STAGEautoprofile_TFLAGS = $(STAGE2_TFLAGS) @@ -1637,9 +1642,17 @@ cross: all-build all-gas all-ld @endif gcc-no-bootstrap @if gcc + +.PHONY: gcc-site.exp +gcc-site.exp: + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) site.exp); + [+ FOR languages +] .PHONY: check-gcc-[+language+] check-[+language+] -check-gcc-[+language+]: +check-gcc-[+language+]: gcc-site.exp r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(HOST_EXPORTS) \ diff --git a/configure b/configure index be73a3daee9..670684d83d1 100755 --- a/configure +++ b/configure @@ -2829,7 +2829,7 @@ build_tools="build-texinfo build-flex build-bison build-m4 build-fixincludes" # these libraries are used by various programs built for the host environment #f -host_libs="gettext libiberty opcodes bfd readline tcl tk itcl libgui zlib libbacktrace libcpp libcody libdecnumber gmp mpfr mpc isl libiconv libctf libsframe" +host_libs="gettext libiberty opcodes bfd readline tcl tk itcl libgui zlib libbacktrace libcpp libcody libdecnumber gmp mpfr mpc isl libiconv libctf libsframe libgrust " # these tools are built for the host environment # Note, the powerpc-eabi build depends on sim occurring before gdb in order to @@ -2860,6 +2860,7 @@ target_libraries="target-libgcc \ target-libada \ target-libgm2 \ target-libgo \ + target-libgrust \ target-libphobos \ target-zlib" @@ -8504,6 +8505,20 @@ else fi fi +case $target in + *-darwin2* | *-darwin1[56789]*) + # For these versions, we default to using embedded rpaths. + if test "x$enable_darwin_at_rpath" != "xno"; then + poststage1_ldflags="$poststage1_ldflags -nodefaultrpaths" + fi + ;; + *-darwin*) + # For these versions, we only use embedded rpaths on demand. + if test "x$enable_darwin_at_rpath" = "xyes"; then + poststage1_ldflags="$poststage1_ldflags -nodefaultrpaths" + fi + ;; +esac # GCC GRAPHITE dependency isl. @@ -9273,6 +9288,17 @@ case ,${enable_languages}, in ;; esac +case ,${enable_languages}, in + *,rust,*) + case " ${noconfigdirs} " in + *\ target-libstdc++-v3\ *) + # Disable target libgrust if we're not building target libstdc++. + noconfigdirs="$noconfigdirs target-libgrust" + ;; + esac + ;; +esac + # If gcc/ is not in the source tree then we'll not be building a # target compiler, assume in that case we don't want to build any # target libraries or tools. @@ -9695,6 +9721,12 @@ case "${target}" in spu-*-*) target_makefile_frag="config/mt-spu" ;; + loongarch*-*linux* | loongarch*-*gnu*) + target_makefile_frag="config/mt-loongarch-gnu" + ;; + loongarch*-*elf*) + target_makefile_frag="config/mt-loongarch-elf" + ;; mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*) target_makefile_frag="config/mt-sde" ;; diff --git a/configure.ac b/configure.ac index 76d36e7b358..88b4800e298 100644 --- a/configure.ac +++ b/configure.ac @@ -133,7 +133,7 @@ build_tools="build-texinfo build-flex build-bison build-m4 build-fixincludes" # these libraries are used by various programs built for the host environment #f -host_libs="gettext libiberty opcodes bfd readline tcl tk itcl libgui zlib libbacktrace libcpp libcody libdecnumber gmp mpfr mpc isl libiconv libctf libsframe" +host_libs="gettext libiberty opcodes bfd readline tcl tk itcl libgui zlib libbacktrace libcpp libcody libdecnumber gmp mpfr mpc isl libiconv libctf libsframe libgrust " # these tools are built for the host environment # Note, the powerpc-eabi build depends on sim occurring before gdb in order to @@ -164,6 +164,7 @@ target_libraries="target-libgcc \ target-libada \ target-libgm2 \ target-libgo \ + target-libgrust \ target-libphobos \ target-zlib" @@ -1867,6 +1868,20 @@ AC_ARG_WITH(boot-ldflags, if test "$poststage1_libs" = ""; then poststage1_ldflags="-static-libstdc++ -static-libgcc" fi]) +case $target in + *-darwin2* | *-darwin1[[56789]]*) + # For these versions, we default to using embedded rpaths. + if test "x$enable_darwin_at_rpath" != "xno"; then + poststage1_ldflags="$poststage1_ldflags -nodefaultrpaths" + fi + ;; + *-darwin*) + # For these versions, we only use embedded rpaths on demand. + if test "x$enable_darwin_at_rpath" = "xyes"; then + poststage1_ldflags="$poststage1_ldflags -nodefaultrpaths" + fi + ;; +esac AC_SUBST(poststage1_ldflags) # GCC GRAPHITE dependency isl. @@ -2469,6 +2484,17 @@ case ,${enable_languages}, in ;; esac +case ,${enable_languages}, in + *,rust,*) + case " ${noconfigdirs} " in + *\ target-libstdc++-v3\ *) + # Disable target libgrust if we're not building target libstdc++. + noconfigdirs="$noconfigdirs target-libgrust" + ;; + esac + ;; +esac + # If gcc/ is not in the source tree then we'll not be building a # target compiler, assume in that case we don't want to build any # target libraries or tools. @@ -2822,6 +2848,12 @@ case "${target}" in spu-*-*) target_makefile_frag="config/mt-spu" ;; + loongarch*-*linux* | loongarch*-*gnu*) + target_makefile_frag="config/mt-loongarch-gnu" + ;; + loongarch*-*elf*) + target_makefile_frag="config/mt-loongarch-elf" + ;; mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*) target_makefile_frag="config/mt-sde" ;;