From cf898ad31a103be8686c557d134dbcdc468adb9e Mon Sep 17 00:00:00 2001 From: Maximilian Downey Twiss <creatorsmithmdt@gmail.com> Date: Thu, 17 Nov 2022 13:51:26 +1100 Subject: [PATCH 04/56] Re-add autotools glue for Java front-end and library.
ChangeLog: * Makefile.def: Re-add GCJ and libjava. * Makefile.in: Regenerate. * Makefile.tpl: Re-add GCJ and libjava. * config-ml.in: Re-add GCJ. * configure: Regenerate. * configure.ac: Re-add GCJ and libjava, and add Java to the languages that require bdw-gc. config/ChangeLog: * multi.m4: Re-add GCJ. gcc/java/ChangeLog: * config-lang.in: Explicitly state target libraries rather than using removed libgcj_saved --- Makefile.def | 12 + Makefile.in | 534 ++++++++++++++++++++++++++++++++++++++++ Makefile.tpl | 9 + config-ml.in | 16 +- config/multi.m4 | 1 + configure | 247 ++++++++++++++++++- configure.ac | 34 ++- gcc/java/config-lang.in | 2 +- 8 files changed, 851 insertions(+), 4 deletions(-) diff --git a/Makefile.def b/Makefile.def index 02e63c57177..fbb907d1c7c 100644 --- a/Makefile.def +++ b/Makefile.def @@ -180,6 +180,8 @@ target_modules = { module= libtermcap; no_check=true; target_modules = { module= winsup; }; target_modules = { module= libgloss; no_check=true; }; target_modules = { module= libffi; no_install=true; }; +target_modules = { module= libjava; raw_cxx=true; + extra_configure_flags="$(EXTRA_CONFIGARGS_LIBJAVA)"; }; target_modules = { module= zlib; bootstrap=true; }; target_modules = { module= rda; }; target_modules = { module= libada; }; @@ -300,6 +302,7 @@ flags_to_pass = { flag= CXXFLAGS_FOR_TARGET ; }; flags_to_pass = { flag= DLLTOOL_FOR_TARGET ; }; flags_to_pass = { flag= DSYMUTIL_FOR_TARGET ; }; flags_to_pass = { flag= FLAGS_FOR_TARGET ; }; +flags_to_pass = { flag= GCJ_FOR_TARGET ; }; flags_to_pass = { flag= GFORTRAN_FOR_TARGET ; }; flags_to_pass = { flag= GOC_FOR_TARGET ; }; flags_to_pass = { flag= GOCFLAGS_FOR_TARGET ; }; @@ -598,6 +601,7 @@ dependencies = { module=all-m4; on=all-build-texinfo; }; // Target modules. These can also have dependencies on the language // environment (e.g. on libstdc++). By default target modules depend // on libgcc and newlib/libgloss. +lang_env_dependencies = { module=libjava; cxx=true; }; lang_env_dependencies = { module=libitm; cxx=true; }; lang_env_dependencies = { module=libffi; cxx=true; }; lang_env_dependencies = { module=newlib; no_c=true; }; @@ -615,6 +619,11 @@ dependencies = { module=configure-target-libgo; on=all-target-libstdc++-v3; }; dependencies = { module=all-target-libgo; on=all-target-libbacktrace; }; dependencies = { module=all-target-libgo; on=all-target-libffi; }; dependencies = { module=all-target-libgo; on=all-target-libatomic; }; +dependencies = { module=configure-target-libjava; on=configure-target-zlib; }; +dependencies = { module=configure-target-libjava; on=configure-target-libffi; }; +dependencies = { module=all-target-libjava; on=all-fastjar; }; +dependencies = { module=all-target-libjava; on=all-target-zlib; }; +dependencies = { module=all-target-libjava; on=all-target-libffi; }; dependencies = { module=configure-target-libphobos; on=configure-target-libbacktrace; }; dependencies = { module=configure-target-libphobos; on=configure-target-zlib; }; dependencies = { module=all-target-libphobos; on=all-target-libbacktrace; }; @@ -636,6 +645,7 @@ dependencies = { module=install-target-libsanitizer; on=install-target-libstdc++ dependencies = { module=install-target-libsanitizer; on=install-target-libgcc; }; dependencies = { module=install-target-libvtv; on=install-target-libstdc++-v3; }; dependencies = { module=install-target-libvtv; on=install-target-libgcc; }; +dependencies = { module=install-target-libjava; on=install-target-libgcc; }; dependencies = { module=install-target-libitm; on=install-target-libgcc; }; dependencies = { module=install-target-libobjc; on=install-target-libgcc; }; dependencies = { module=install-target-libstdc++-v3; on=install-target-libgcc; }; @@ -662,6 +672,8 @@ languages = { language=fortran; gcc-check-target=check-fortran; lib-check-target=check-target-libquadmath; lib-check-target=check-target-libgfortran; lib-check-target=check-target-libgomp-fortran; }; +languages = { language=java; gcc-check-target=check-java; + lib-check-target=check-target-libjava; }; languages = { language=ada; gcc-check-target=check-ada; lib-check-target=check-target-libada; }; languages = { language=objc; gcc-check-target=check-objc; diff --git a/Makefile.in b/Makefile.in index 6ffa9660c25..ebadff7cea3 100644 --- a/Makefile.in +++ b/Makefile.in @@ -158,6 +158,7 @@ BUILD_EXPORTS = \ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \ CXX="$(CXX_FOR_BUILD)"; export CXX; \ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \ + GCJ="$(GCJ_FOR_BUILD)"; export GCJ; \ GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \ GOC="$(GOC_FOR_BUILD)"; export GOC; \ GOCFLAGS="$(GOCFLAGS_FOR_BUILD)"; export GOCFLAGS; \ @@ -198,6 +199,7 @@ HOST_EXPORTS = \ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ CXX="$(CXX)"; export CXX; \ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + GCJ="$(GCJ)"; export GCJ; \ GFORTRAN="$(GFORTRAN)"; export GFORTRAN; \ GOC="$(GOC)"; export GOC; \ GDC="$(GDC)"; export GDC; \ @@ -301,6 +303,7 @@ BASE_TARGET_EXPORTS = \ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \ CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \ + GCJ="$(GCJ_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GCJ; \ GFORTRAN="$(GFORTRAN_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GFORTRAN; \ GOC="$(GOC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GOC; \ GDC="$(GDC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GDC; \ @@ -341,6 +344,8 @@ HOST_GMPINC = @gmpinc@ HOST_ISLLIBS = @isllibs@ HOST_ISLINC = @islinc@ +EXTRA_CONFIGARGS_LIBJAVA = @EXTRA_CONFIGARGS_LIBJAVA@ + # ---------------------------------------------- # Programs producing files for the BUILD machine # ---------------------------------------------- @@ -367,6 +372,7 @@ CXXFLAGS_FOR_BUILD = @CXXFLAGS_FOR_BUILD@ CXX_FOR_BUILD = @CXX_FOR_BUILD@ DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@ DSYMUTIL_FOR_BUILD = @DSYMUTIL_FOR_BUILD@ +GCJ_FOR_BUILD = @GCJ_FOR_BUILD@ GFORTRAN_FOR_BUILD = @GFORTRAN_FOR_BUILD@ GOC_FOR_BUILD = @GOC_FOR_BUILD@ GDC_FOR_BUILD = @GDC_FOR_BUILD@ @@ -652,6 +658,7 @@ CC_FOR_TARGET=$(STAGE_CC_WRAPPER) @CC_FOR_TARGET@ GCC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCC_FOR_TARGET@ CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @CXX_FOR_TARGET@ RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @RAW_CXX_FOR_TARGET@ +GCJ_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCJ_FOR_TARGET@ GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@ GOC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GOC_FOR_TARGET@ GDC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GDC_FOR_TARGET@ @@ -868,6 +875,7 @@ BASE_FLAGS_TO_PASS = \ "DLLTOOL_FOR_TARGET=$(DLLTOOL_FOR_TARGET)" \ "DSYMUTIL_FOR_TARGET=$(DSYMUTIL_FOR_TARGET)" \ "FLAGS_FOR_TARGET=$(FLAGS_FOR_TARGET)" \ + "GCJ_FOR_TARGET=$(GCJ_FOR_TARGET)" \ "GFORTRAN_FOR_TARGET=$(GFORTRAN_FOR_TARGET)" \ "GOC_FOR_TARGET=$(GOC_FOR_TARGET)" \ "GOCFLAGS_FOR_TARGET=$(GOCFLAGS_FOR_TARGET)" \ @@ -943,6 +951,7 @@ EXTRA_HOST_FLAGS = \ 'CXX=$(CXX)' \ 'DLLTOOL=$(DLLTOOL)' \ 'DSYMUTIL=$(DSYMUTIL)' \ + 'GCJ=$(GCJ)' \ 'GFORTRAN=$(GFORTRAN)' \ 'GOC=$(GOC)' \ 'GDC=$(GDC)' \ @@ -1002,6 +1011,7 @@ EXTRA_TARGET_FLAGS = \ 'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \ 'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \ 'DSYMUTIL=$$(DSYMUTIL_FOR_TARGET)' \ + 'GCJ=$$(GCJ_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \ 'GFORTRAN=$$(GFORTRAN_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \ 'GOC=$$(GOC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \ 'GOCFLAGS=$$(GOCFLAGS_FOR_TARGET)' \ @@ -1116,6 +1126,7 @@ configure-target: \ maybe-configure-target-winsup \ maybe-configure-target-libgloss \ maybe-configure-target-libffi \ + maybe-configure-target-libjava \ maybe-configure-target-zlib \ maybe-configure-target-rda \ maybe-configure-target-libada \ @@ -1304,6 +1315,7 @@ all-target: maybe-all-target-libtermcap all-target: maybe-all-target-winsup all-target: maybe-all-target-libgloss all-target: maybe-all-target-libffi +all-target: maybe-all-target-libjava @if target-zlib-no-bootstrap all-target: maybe-all-target-zlib @endif target-zlib-no-bootstrap @@ -1403,6 +1415,7 @@ info-target: maybe-info-target-libtermcap info-target: maybe-info-target-winsup info-target: maybe-info-target-libgloss info-target: maybe-info-target-libffi +info-target: maybe-info-target-libjava info-target: maybe-info-target-zlib info-target: maybe-info-target-rda info-target: maybe-info-target-libada @@ -1491,6 +1504,7 @@ dvi-target: maybe-dvi-target-libtermcap dvi-target: maybe-dvi-target-winsup dvi-target: maybe-dvi-target-libgloss dvi-target: maybe-dvi-target-libffi +dvi-target: maybe-dvi-target-libjava dvi-target: maybe-dvi-target-zlib dvi-target: maybe-dvi-target-rda dvi-target: maybe-dvi-target-libada @@ -1579,6 +1593,7 @@ pdf-target: maybe-pdf-target-libtermcap pdf-target: maybe-pdf-target-winsup pdf-target: maybe-pdf-target-libgloss pdf-target: maybe-pdf-target-libffi +pdf-target: maybe-pdf-target-libjava pdf-target: maybe-pdf-target-zlib pdf-target: maybe-pdf-target-rda pdf-target: maybe-pdf-target-libada @@ -1667,6 +1682,7 @@ html-target: maybe-html-target-libtermcap html-target: maybe-html-target-winsup html-target: maybe-html-target-libgloss html-target: maybe-html-target-libffi +html-target: maybe-html-target-libjava html-target: maybe-html-target-zlib html-target: maybe-html-target-rda html-target: maybe-html-target-libada @@ -1755,6 +1771,7 @@ TAGS-target: maybe-TAGS-target-libtermcap TAGS-target: maybe-TAGS-target-winsup TAGS-target: maybe-TAGS-target-libgloss TAGS-target: maybe-TAGS-target-libffi +TAGS-target: maybe-TAGS-target-libjava TAGS-target: maybe-TAGS-target-zlib TAGS-target: maybe-TAGS-target-rda TAGS-target: maybe-TAGS-target-libada @@ -1843,6 +1860,7 @@ install-info-target: maybe-install-info-target-libtermcap install-info-target: maybe-install-info-target-winsup install-info-target: maybe-install-info-target-libgloss install-info-target: maybe-install-info-target-libffi +install-info-target: maybe-install-info-target-libjava install-info-target: maybe-install-info-target-zlib install-info-target: maybe-install-info-target-rda install-info-target: maybe-install-info-target-libada @@ -1931,6 +1949,7 @@ install-dvi-target: maybe-install-dvi-target-libtermcap install-dvi-target: maybe-install-dvi-target-winsup install-dvi-target: maybe-install-dvi-target-libgloss install-dvi-target: maybe-install-dvi-target-libffi +install-dvi-target: maybe-install-dvi-target-libjava install-dvi-target: maybe-install-dvi-target-zlib install-dvi-target: maybe-install-dvi-target-rda install-dvi-target: maybe-install-dvi-target-libada @@ -2019,6 +2038,7 @@ install-pdf-target: maybe-install-pdf-target-libtermcap install-pdf-target: maybe-install-pdf-target-winsup install-pdf-target: maybe-install-pdf-target-libgloss install-pdf-target: maybe-install-pdf-target-libffi +install-pdf-target: maybe-install-pdf-target-libjava install-pdf-target: maybe-install-pdf-target-zlib install-pdf-target: maybe-install-pdf-target-rda install-pdf-target: maybe-install-pdf-target-libada @@ -2107,6 +2127,7 @@ install-html-target: maybe-install-html-target-libtermcap install-html-target: maybe-install-html-target-winsup install-html-target: maybe-install-html-target-libgloss install-html-target: maybe-install-html-target-libffi +install-html-target: maybe-install-html-target-libjava install-html-target: maybe-install-html-target-zlib install-html-target: maybe-install-html-target-rda install-html-target: maybe-install-html-target-libada @@ -2195,6 +2216,7 @@ installcheck-target: maybe-installcheck-target-libtermcap installcheck-target: maybe-installcheck-target-winsup installcheck-target: maybe-installcheck-target-libgloss installcheck-target: maybe-installcheck-target-libffi +installcheck-target: maybe-installcheck-target-libjava installcheck-target: maybe-installcheck-target-zlib installcheck-target: maybe-installcheck-target-rda installcheck-target: maybe-installcheck-target-libada @@ -2283,6 +2305,7 @@ mostlyclean-target: maybe-mostlyclean-target-libtermcap mostlyclean-target: maybe-mostlyclean-target-winsup mostlyclean-target: maybe-mostlyclean-target-libgloss mostlyclean-target: maybe-mostlyclean-target-libffi +mostlyclean-target: maybe-mostlyclean-target-libjava mostlyclean-target: maybe-mostlyclean-target-zlib mostlyclean-target: maybe-mostlyclean-target-rda mostlyclean-target: maybe-mostlyclean-target-libada @@ -2371,6 +2394,7 @@ clean-target: maybe-clean-target-libtermcap clean-target: maybe-clean-target-winsup clean-target: maybe-clean-target-libgloss clean-target: maybe-clean-target-libffi +clean-target: maybe-clean-target-libjava clean-target: maybe-clean-target-zlib clean-target: maybe-clean-target-rda clean-target: maybe-clean-target-libada @@ -2459,6 +2483,7 @@ distclean-target: maybe-distclean-target-libtermcap distclean-target: maybe-distclean-target-winsup distclean-target: maybe-distclean-target-libgloss distclean-target: maybe-distclean-target-libffi +distclean-target: maybe-distclean-target-libjava distclean-target: maybe-distclean-target-zlib distclean-target: maybe-distclean-target-rda distclean-target: maybe-distclean-target-libada @@ -2547,6 +2572,7 @@ maintainer-clean-target: maybe-maintainer-clean-target-libtermcap maintainer-clean-target: maybe-maintainer-clean-target-winsup maintainer-clean-target: maybe-maintainer-clean-target-libgloss maintainer-clean-target: maybe-maintainer-clean-target-libffi +maintainer-clean-target: maybe-maintainer-clean-target-libjava maintainer-clean-target: maybe-maintainer-clean-target-zlib maintainer-clean-target: maybe-maintainer-clean-target-rda maintainer-clean-target: maybe-maintainer-clean-target-libada @@ -2693,6 +2719,7 @@ check-target: \ maybe-check-target-winsup \ maybe-check-target-libgloss \ maybe-check-target-libffi \ + maybe-check-target-libjava \ maybe-check-target-zlib \ maybe-check-target-rda \ maybe-check-target-libada \ @@ -2882,6 +2909,7 @@ install-target: \ maybe-install-target-winsup \ maybe-install-target-libgloss \ maybe-install-target-libffi \ + maybe-install-target-libjava \ maybe-install-target-zlib \ maybe-install-target-rda \ maybe-install-target-libada \ @@ -2990,6 +3018,7 @@ install-strip-target: \ maybe-install-strip-target-winsup \ maybe-install-strip-target-libgloss \ maybe-install-strip-target-libffi \ + maybe-install-strip-target-libjava \ maybe-install-strip-target-zlib \ maybe-install-strip-target-rda \ maybe-install-strip-target-libada \ @@ -54702,6 +54731,491 @@ maintainer-clean-target-libffi: +.PHONY: configure-target-libjava maybe-configure-target-libjava +maybe-configure-target-libjava: +@if gcc-bootstrap +configure-target-libjava: stage_current +@endif gcc-bootstrap +@if target-libjava +maybe-configure-target-libjava: configure-target-libjava +configure-target-libjava: + @: $(MAKE); $(unstage) + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + echo "Checking multilib configuration for libjava..."; \ + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libjava; \ + $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libjava/multilib.tmp 2> /dev/null; \ + if test -r $(TARGET_SUBDIR)/libjava/multilib.out; then \ + if cmp -s $(TARGET_SUBDIR)/libjava/multilib.tmp $(TARGET_SUBDIR)/libjava/multilib.out; then \ + rm -f $(TARGET_SUBDIR)/libjava/multilib.tmp; \ + else \ + rm -f $(TARGET_SUBDIR)/libjava/Makefile; \ + mv $(TARGET_SUBDIR)/libjava/multilib.tmp $(TARGET_SUBDIR)/libjava/multilib.out; \ + fi; \ + else \ + mv $(TARGET_SUBDIR)/libjava/multilib.tmp $(TARGET_SUBDIR)/libjava/multilib.out; \ + fi; \ + test ! -f $(TARGET_SUBDIR)/libjava/Makefile || exit 0; \ + $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libjava; \ + $(RAW_CXX_TARGET_EXPORTS) \ + echo Configuring in $(TARGET_SUBDIR)/libjava; \ + cd "$(TARGET_SUBDIR)/libjava" || exit 1; \ + case $(srcdir) in \ + /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \ + *) topdir=`echo $(TARGET_SUBDIR)/libjava/ | \ + sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ + esac; \ + module_srcdir=libjava; \ + 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} $(EXTRA_CONFIGARGS_LIBJAVA) \ + || exit 1 +@endif target-libjava + + + + + +.PHONY: all-target-libjava maybe-all-target-libjava +maybe-all-target-libjava: +@if gcc-bootstrap +all-target-libjava: stage_current +@endif gcc-bootstrap +@if target-libjava +TARGET-target-libjava=all +maybe-all-target-libjava: all-target-libjava +all-target-libjava: configure-target-libjava + @: $(MAKE); $(unstage) + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(RAW_CXX_TARGET_EXPORTS) \ + (cd $(TARGET_SUBDIR)/libjava && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' \ + $(TARGET-target-libjava)) +@endif target-libjava + + + + + +.PHONY: check-target-libjava maybe-check-target-libjava +maybe-check-target-libjava: +@if target-libjava +maybe-check-target-libjava: check-target-libjava + +check-target-libjava: + @: $(MAKE); $(unstage) + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(RAW_CXX_TARGET_EXPORTS) \ + (cd $(TARGET_SUBDIR)/libjava && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' check) + +@endif target-libjava + +.PHONY: install-target-libjava maybe-install-target-libjava +maybe-install-target-libjava: +@if target-libjava +maybe-install-target-libjava: install-target-libjava + +install-target-libjava: installdirs + @: $(MAKE); $(unstage) + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(RAW_CXX_TARGET_EXPORTS) \ + (cd $(TARGET_SUBDIR)/libjava && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) install) + +@endif target-libjava + +.PHONY: install-strip-target-libjava maybe-install-strip-target-libjava +maybe-install-strip-target-libjava: +@if target-libjava +maybe-install-strip-target-libjava: install-strip-target-libjava + +install-strip-target-libjava: installdirs + @: $(MAKE); $(unstage) + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(RAW_CXX_TARGET_EXPORTS) \ + (cd $(TARGET_SUBDIR)/libjava && \ + $(MAKE) $(TARGET_FLAGS_TO_PASS) install-strip) + +@endif target-libjava + +# Other targets (info, dvi, pdf, etc.) + +.PHONY: maybe-info-target-libjava info-target-libjava +maybe-info-target-libjava: +@if target-libjava +maybe-info-target-libjava: info-target-libjava + +info-target-libjava: \ + configure-target-libjava + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(RAW_CXX_TARGET_EXPORTS) \ + echo "Doing info in $(TARGET_SUBDIR)/libjava"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libjava && \ + $(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-libjava + +.PHONY: maybe-dvi-target-libjava dvi-target-libjava +maybe-dvi-target-libjava: +@if target-libjava +maybe-dvi-target-libjava: dvi-target-libjava + +dvi-target-libjava: \ + configure-target-libjava + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(RAW_CXX_TARGET_EXPORTS) \ + echo "Doing dvi in $(TARGET_SUBDIR)/libjava"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libjava && \ + $(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-libjava + +.PHONY: maybe-pdf-target-libjava pdf-target-libjava +maybe-pdf-target-libjava: +@if target-libjava +maybe-pdf-target-libjava: pdf-target-libjava + +pdf-target-libjava: \ + configure-target-libjava + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(RAW_CXX_TARGET_EXPORTS) \ + echo "Doing pdf in $(TARGET_SUBDIR)/libjava"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libjava && \ + $(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-libjava + +.PHONY: maybe-html-target-libjava html-target-libjava +maybe-html-target-libjava: +@if target-libjava +maybe-html-target-libjava: html-target-libjava + +html-target-libjava: \ + configure-target-libjava + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(RAW_CXX_TARGET_EXPORTS) \ + echo "Doing html in $(TARGET_SUBDIR)/libjava"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libjava && \ + $(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-libjava + +.PHONY: maybe-TAGS-target-libjava TAGS-target-libjava +maybe-TAGS-target-libjava: +@if target-libjava +maybe-TAGS-target-libjava: TAGS-target-libjava + +TAGS-target-libjava: \ + configure-target-libjava + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(RAW_CXX_TARGET_EXPORTS) \ + echo "Doing TAGS in $(TARGET_SUBDIR)/libjava"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libjava && \ + $(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-libjava + +.PHONY: maybe-install-info-target-libjava install-info-target-libjava +maybe-install-info-target-libjava: +@if target-libjava +maybe-install-info-target-libjava: install-info-target-libjava + +install-info-target-libjava: \ + configure-target-libjava \ + info-target-libjava + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(RAW_CXX_TARGET_EXPORTS) \ + echo "Doing install-info in $(TARGET_SUBDIR)/libjava"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libjava && \ + $(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-libjava + +.PHONY: maybe-install-dvi-target-libjava install-dvi-target-libjava +maybe-install-dvi-target-libjava: +@if target-libjava +maybe-install-dvi-target-libjava: install-dvi-target-libjava + +install-dvi-target-libjava: \ + configure-target-libjava \ + dvi-target-libjava + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(RAW_CXX_TARGET_EXPORTS) \ + echo "Doing install-dvi in $(TARGET_SUBDIR)/libjava"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libjava && \ + $(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-libjava + +.PHONY: maybe-install-pdf-target-libjava install-pdf-target-libjava +maybe-install-pdf-target-libjava: +@if target-libjava +maybe-install-pdf-target-libjava: install-pdf-target-libjava + +install-pdf-target-libjava: \ + configure-target-libjava \ + pdf-target-libjava + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(RAW_CXX_TARGET_EXPORTS) \ + echo "Doing install-pdf in $(TARGET_SUBDIR)/libjava"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libjava && \ + $(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-libjava + +.PHONY: maybe-install-html-target-libjava install-html-target-libjava +maybe-install-html-target-libjava: +@if target-libjava +maybe-install-html-target-libjava: install-html-target-libjava + +install-html-target-libjava: \ + configure-target-libjava \ + html-target-libjava + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(RAW_CXX_TARGET_EXPORTS) \ + echo "Doing install-html in $(TARGET_SUBDIR)/libjava"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libjava && \ + $(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-libjava + +.PHONY: maybe-installcheck-target-libjava installcheck-target-libjava +maybe-installcheck-target-libjava: +@if target-libjava +maybe-installcheck-target-libjava: installcheck-target-libjava + +installcheck-target-libjava: \ + configure-target-libjava + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(RAW_CXX_TARGET_EXPORTS) \ + echo "Doing installcheck in $(TARGET_SUBDIR)/libjava"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libjava && \ + $(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-libjava + +.PHONY: maybe-mostlyclean-target-libjava mostlyclean-target-libjava +maybe-mostlyclean-target-libjava: +@if target-libjava +maybe-mostlyclean-target-libjava: mostlyclean-target-libjava + +mostlyclean-target-libjava: + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(RAW_CXX_TARGET_EXPORTS) \ + echo "Doing mostlyclean in $(TARGET_SUBDIR)/libjava"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libjava && \ + $(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-libjava + +.PHONY: maybe-clean-target-libjava clean-target-libjava +maybe-clean-target-libjava: +@if target-libjava +maybe-clean-target-libjava: clean-target-libjava + +clean-target-libjava: + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(RAW_CXX_TARGET_EXPORTS) \ + echo "Doing clean in $(TARGET_SUBDIR)/libjava"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libjava && \ + $(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-libjava + +.PHONY: maybe-distclean-target-libjava distclean-target-libjava +maybe-distclean-target-libjava: +@if target-libjava +maybe-distclean-target-libjava: distclean-target-libjava + +distclean-target-libjava: + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(RAW_CXX_TARGET_EXPORTS) \ + echo "Doing distclean in $(TARGET_SUBDIR)/libjava"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libjava && \ + $(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-libjava + +.PHONY: maybe-maintainer-clean-target-libjava maintainer-clean-target-libjava +maybe-maintainer-clean-target-libjava: +@if target-libjava +maybe-maintainer-clean-target-libjava: maintainer-clean-target-libjava + +maintainer-clean-target-libjava: + @: $(MAKE); $(unstage) + @[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0; \ + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(RAW_CXX_TARGET_EXPORTS) \ + echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libjava"; \ + for flag in $(EXTRA_TARGET_FLAGS); do \ + eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \ + done; \ + (cd $(TARGET_SUBDIR)/libjava && \ + $(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-libjava + + + + + .PHONY: configure-target-zlib maybe-configure-target-zlib maybe-configure-target-zlib: @if gcc-bootstrap @@ -60027,6 +60541,14 @@ check-gcc-fortran: (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-fortran); check-fortran: check-gcc-fortran check-target-libquadmath check-target-libgfortran check-target-libgomp-fortran +.PHONY: check-gcc-java check-java +check-gcc-java: + r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + $(HOST_EXPORTS) \ + (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-java); +check-java: check-gcc-java check-target-libjava + .PHONY: check-gcc-ada check-ada check-gcc-ada: r=`${PWD_COMMAND}`; export r; \ @@ -63392,6 +63914,7 @@ configure-target-libtermcap: stage_last configure-target-winsup: stage_last configure-target-libgloss: stage_last configure-target-libffi: stage_last +configure-target-libjava: stage_last configure-stage1-target-zlib: maybe-all-stage1-gcc configure-stage2-target-zlib: maybe-all-stage2-gcc configure-stage3-target-zlib: maybe-all-stage3-gcc @@ -63441,6 +63964,7 @@ configure-target-libtermcap: maybe-all-gcc configure-target-winsup: maybe-all-gcc configure-target-libgloss: maybe-all-gcc configure-target-libffi: maybe-all-gcc +configure-target-libjava: maybe-all-gcc configure-target-zlib: maybe-all-gcc configure-target-rda: maybe-all-gcc configure-target-libada: maybe-all-gcc @@ -64555,6 +65079,9 @@ all-flex: maybe-all-build-texinfo all-m4: maybe-all-build-texinfo configure-target-libgo: maybe-configure-target-libffi all-target-libgo: maybe-all-target-libffi +configure-target-libjava: maybe-configure-target-libffi +all-target-libjava: maybe-all-fastjar +all-target-libjava: maybe-all-target-libffi configure-target-libphobos: maybe-configure-target-libbacktrace configure-stage1-target-libphobos: maybe-configure-stage1-target-libbacktrace configure-stage2-target-libphobos: maybe-configure-stage2-target-libbacktrace @@ -64653,6 +65180,7 @@ install-target-libsanitizer: maybe-install-target-libstdc++-v3 install-target-libsanitizer: maybe-install-target-libgcc install-target-libvtv: maybe-install-target-libstdc++-v3 install-target-libvtv: maybe-install-target-libgcc +install-target-libjava: maybe-install-target-libgcc install-target-libitm: maybe-install-target-libgcc install-target-libobjc: maybe-install-target-libgcc install-target-libstdc++-v3: maybe-install-target-libgcc @@ -64720,6 +65248,8 @@ all-target-fastjar: maybe-all-target-zlib configure-target-libgo: maybe-all-target-libstdc++-v3 all-target-libgo: maybe-all-target-libbacktrace all-target-libgo: maybe-all-target-libatomic +configure-target-libjava: maybe-configure-target-zlib +all-target-libjava: maybe-all-target-zlib configure-target-newlib: maybe-all-binutils configure-target-newlib: maybe-all-ld configure-target-libgfortran: maybe-all-target-libbacktrace @@ -64822,6 +65352,7 @@ configure-target-libtermcap: maybe-all-target-libgcc configure-target-winsup: maybe-all-target-libgcc configure-target-libgloss: maybe-all-target-libgcc configure-target-libffi: maybe-all-target-libgcc +configure-target-libjava: maybe-all-target-libgcc configure-target-zlib: maybe-all-target-libgcc configure-target-rda: maybe-all-target-libgcc configure-target-libada: maybe-all-target-libgcc @@ -64861,6 +65392,9 @@ configure-target-winsup: maybe-all-target-newlib maybe-all-target-libgloss configure-target-libffi: maybe-all-target-newlib maybe-all-target-libgloss configure-target-libffi: maybe-all-target-libstdc++-v3 +configure-target-libjava: maybe-all-target-newlib maybe-all-target-libgloss +configure-target-libjava: maybe-all-target-libstdc++-v3 + configure-target-zlib: maybe-all-target-newlib maybe-all-target-libgloss configure-target-rda: maybe-all-target-newlib maybe-all-target-libgloss diff --git a/Makefile.tpl b/Makefile.tpl index c7344558429..c22add1af8e 100644 --- a/Makefile.tpl +++ b/Makefile.tpl @@ -161,6 +161,7 @@ BUILD_EXPORTS = \ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \ CXX="$(CXX_FOR_BUILD)"; export CXX; \ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \ + GCJ="$(GCJ_FOR_BUILD)"; export GCJ; \ GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \ GOC="$(GOC_FOR_BUILD)"; export GOC; \ GOCFLAGS="$(GOCFLAGS_FOR_BUILD)"; export GOCFLAGS; \ @@ -201,6 +202,7 @@ HOST_EXPORTS = \ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ CXX="$(CXX)"; export CXX; \ CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \ + GCJ="$(GCJ)"; export GCJ; \ GFORTRAN="$(GFORTRAN)"; export GFORTRAN; \ GOC="$(GOC)"; export GOC; \ GDC="$(GDC)"; export GDC; \ @@ -304,6 +306,7 @@ BASE_TARGET_EXPORTS = \ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \ CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \ + GCJ="$(GCJ_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GCJ; \ GFORTRAN="$(GFORTRAN_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GFORTRAN; \ GOC="$(GOC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GOC; \ GDC="$(GDC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GDC; \ @@ -344,6 +347,8 @@ HOST_GMPINC = @gmpinc@ HOST_ISLLIBS = @isllibs@ HOST_ISLINC = @islinc@ +EXTRA_CONFIGARGS_LIBJAVA = @EXTRA_CONFIGARGS_LIBJAVA@ + # ---------------------------------------------- # Programs producing files for the BUILD machine # ---------------------------------------------- @@ -370,6 +375,7 @@ CXXFLAGS_FOR_BUILD = @CXXFLAGS_FOR_BUILD@ CXX_FOR_BUILD = @CXX_FOR_BUILD@ DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@ DSYMUTIL_FOR_BUILD = @DSYMUTIL_FOR_BUILD@ +GCJ_FOR_BUILD = @GCJ_FOR_BUILD@ GFORTRAN_FOR_BUILD = @GFORTRAN_FOR_BUILD@ GOC_FOR_BUILD = @GOC_FOR_BUILD@ GDC_FOR_BUILD = @GDC_FOR_BUILD@ @@ -575,6 +581,7 @@ CC_FOR_TARGET=$(STAGE_CC_WRAPPER) @CC_FOR_TARGET@ GCC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCC_FOR_TARGET@ CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @CXX_FOR_TARGET@ RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @RAW_CXX_FOR_TARGET@ +GCJ_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCJ_FOR_TARGET@ GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@ GOC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GOC_FOR_TARGET@ GDC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GDC_FOR_TARGET@ @@ -706,6 +713,7 @@ EXTRA_HOST_FLAGS = \ 'CXX=$(CXX)' \ 'DLLTOOL=$(DLLTOOL)' \ 'DSYMUTIL=$(DSYMUTIL)' \ + 'GCJ=$(GCJ)' \ 'GFORTRAN=$(GFORTRAN)' \ 'GOC=$(GOC)' \ 'GDC=$(GDC)' \ @@ -765,6 +773,7 @@ EXTRA_TARGET_FLAGS = \ 'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \ 'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \ 'DSYMUTIL=$$(DSYMUTIL_FOR_TARGET)' \ + 'GCJ=$$(GCJ_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \ 'GFORTRAN=$$(GFORTRAN_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \ 'GOC=$$(GOC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \ 'GOCFLAGS=$$(GOCFLAGS_FOR_TARGET)' \ diff --git a/config-ml.in b/config-ml.in index 68854a4f16c..3b8401cd319 100644 --- a/config-ml.in +++ b/config-ml.in @@ -522,6 +522,7 @@ multi-do: ADAFLAGS="$(ADAFLAGS) $${flags}" \ prefix="$(prefix)" \ exec_prefix="$(exec_prefix)" \ + GCJFLAGS="$(GCJFLAGS) $${flags}" \ GOCFLAGS="$(GOCFLAGS) $${flags}" \ GDCFLAGS="$(GDCFLAGS) $${flags}" \ CXXFLAGS="$(CXXFLAGS) $${flags}" \ @@ -755,12 +756,13 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then break fi done - ml_config_env='CC="${CC_}$flags" CXX="${CXX_}$flags" F77="${F77_}$flags" GFORTRAN="${GFORTRAN_}$flags" GOC="${GOC_}$flags" GDC="${GDC_}$flags"' + ml_config_env='CC="${CC_}$flags" CXX="${CXX_}$flags" F77="${F77_}$flags" GCJ="${GCJ_}$flags" GFORTRAN="${GFORTRAN_}$flags" GOC="${GOC_}$flags" GDC="${GDC_}$flags"' if [ "${with_target_subdir}" = "." ]; then CC_=$CC' ' CXX_=$CXX' ' F77_=$F77' ' + GCJ_=$GCJ' ' GFORTRAN_=$GFORTRAN' ' GOC_=$GOC' ' GDC_=$GDC' ' @@ -804,6 +806,18 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then esac done + GCJ_= + for arg in ${GCJ}; do + case $arg in + -[BIL]"${ML_POPDIR}"/*) + GCJ_="${GCJ_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; + "${ML_POPDIR}"/*) + GCJ_="${GCJ_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;; + *) + GCJ_="${GCJ_}${arg} " ;; + esac + done + GFORTRAN_= for arg in ${GFORTRAN}; do case $arg in diff --git a/config/multi.m4 b/config/multi.m4 index 10680a5b32b..5303b981c58 100644 --- a/config/multi.m4 +++ b/config/multi.m4 @@ -65,4 +65,5 @@ CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} CC="$CC" CXX="$CXX" GFORTRAN="$GFORTRAN" +GCJ="$GCJ" GDC="$GDC"])])dnl diff --git a/configure b/configure index 8899a67040b..befd8128fcb 100755 --- a/configure +++ b/configure @@ -616,6 +616,7 @@ AR_FOR_TARGET GDC_FOR_TARGET GOC_FOR_TARGET GFORTRAN_FOR_TARGET +GCJ_FOR_TARGET GCC_FOR_TARGET CXX_FOR_TARGET CC_FOR_TARGET @@ -652,6 +653,7 @@ LDFLAGS_FOR_BUILD GDC_FOR_BUILD GOC_FOR_BUILD GFORTRAN_FOR_BUILD +GCJ_FOR_BUILD DSYMUTIL_FOR_BUILD DLLTOOL_FOR_BUILD CXX_FOR_BUILD @@ -719,6 +721,7 @@ CPPFLAGS LDFLAGS CFLAGS CC +EXTRA_CONFIGARGS_LIBJAVA target_subdir host_subdir build_subdir @@ -804,6 +807,7 @@ enable_libquadmath_support enable_libada enable_libssp enable_libstdcxx +enable_static_libjava enable_bootstrap enable_pgo_build with_mpc @@ -876,6 +880,7 @@ READELF CC_FOR_TARGET CXX_FOR_TARGET GCC_FOR_TARGET +GCJ_FOR_TARGET GFORTRAN_FOR_TARGET GOC_FOR_TARGET GDC_FOR_TARGET @@ -1541,6 +1546,8 @@ Optional Features: --enable-libada build libada directory --enable-libssp build libssp directory --disable-libstdcxx do not build libstdc++-v3 directory + --enable-static-libjava[=ARG] + build static libjava [default=no] --enable-bootstrap enable bootstrapping [yes if native build] --enable-pgo-build[=lto] enable the PGO build @@ -1667,6 +1674,8 @@ Some influential environment variables: CXX for the target GCC_FOR_TARGET GCC for the target + GCJ_FOR_TARGET + GCJ for the target GFORTRAN_FOR_TARGET GFORTRAN for the target GOC_FOR_TARGET @@ -2829,6 +2838,7 @@ target_libraries="target-libgcc \ target-libssp \ target-libquadmath \ target-libgfortran \ + target-libjava \ target-libffi \ target-libobjc \ target-libada \ @@ -3194,6 +3204,23 @@ if test "${ENABLE_LIBSTDCXX}" = "no" ; then noconfigdirs="$noconfigdirs target-libstdc++-v3" fi +# Check whether --enable-static-libjava was given. +if test "${enable_static_libjava+set}" = set; then : + enableval=$enable_static_libjava; ENABLE_STATIC_LIBJAVA=$enableval +else + ENABLE_STATIC_LIBJAVA=no +fi + +enable_static_libjava= +if test "${ENABLE_STATIC_LIBJAVA}" = "yes" ; then + enable_static_libjava=yes +fi + +if test x$enable_static_libjava != xyes ; then + EXTRA_CONFIGARGS_LIBJAVA=--disable-static +fi + + # Enable libgomp by default on hosted POSIX systems, and a few others. if test x$enable_libgomp = x ; then case "${target}" in @@ -4035,6 +4062,7 @@ if test "${build}" != "${host}" ; then CPP_FOR_BUILD="${CPP_FOR_BUILD-\$(CC_FOR_BUILD) -E}" CXX_FOR_BUILD=${CXX_FOR_BUILD-g++} DSYMUTIL_FOR_BUILD=${DSYMUTIL_FOR_BUILD-dsymutil} + GCJ_FOR_BUILD=${GCJ_FOR_BUILD-gcj} GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran} GOC_FOR_BUILD=${GOC_FOR_BUILD-gccgo} GDC_FOR_BUILD=${GDC_FOR_BUILD-gdc} @@ -4050,6 +4078,7 @@ else CC_FOR_BUILD="\$(CC)" CXX_FOR_BUILD="\$(CXX)" DSYMUTIL_FOR_BUILD="\$(DSYMUTIL)" + GCJ_FOR_BUILD="\$(GCJ)" GFORTRAN_FOR_BUILD="\$(GFORTRAN)" GOC_FOR_BUILD="\$(GOC)" GDC_FOR_BUILD="\$(GDC)" @@ -9003,7 +9032,7 @@ if test "${with_target_bdw_gc_lib+set}" = set; then : fi -case ,${enable_languages},:${enable_objc_gc} in *,objc,*:yes|*,objc,*:auto) +case ,${enable_languages},:${enable_objc_gc} in *,java,*:*|*,objc,*:yes|*,objc,*:auto) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bdw garbage collector" >&5 $as_echo_n "checking for bdw garbage collector... " >&6; } if test "x$with_target_bdw_gc$with_target_bdw_gc_include$with_target_bdw_gc_lib" = x; then @@ -9115,6 +9144,15 @@ for i in ${target_configdirs_all} ; do fi done +# Exclude target-zlib if target-libjava isn't built. +case ${target_configdirs} in +*target-libjava*) + ;; +*) + target_configdirs="`echo ${target_configdirs} | sed -e 's/target-zlib//'`" + ;; +esac + # libiberty-linker-plugin is special: it doesn't have its own source directory, # so we have to add it after the preceding checks. if test x"$extra_linker_plugin_flags$extra_linker_plugin_configure_flags" != x @@ -10275,6 +10313,7 @@ done + # Generate default definitions for YACC, M4, LEX and other programs that run # on the build machine. These are used if the Makefile can't locate these @@ -13292,6 +13331,167 @@ fi +if test -n "$GCJ_FOR_TARGET"; then + ac_cv_prog_GCJ_FOR_TARGET=$GCJ_FOR_TARGET +elif test -n "$ac_cv_prog_GCJ_FOR_TARGET"; then + GCJ_FOR_TARGET=$ac_cv_prog_GCJ_FOR_TARGET +fi + +if test -n "$ac_cv_prog_GCJ_FOR_TARGET"; then + for ncn_progname in gcj; do + # Extract the first word of "${ncn_progname}", so it can be a program name with args. +set dummy ${ncn_progname}; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_GCJ_FOR_TARGET+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$GCJ_FOR_TARGET"; then + ac_cv_prog_GCJ_FOR_TARGET="$GCJ_FOR_TARGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_GCJ_FOR_TARGET="${ncn_progname}" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +GCJ_FOR_TARGET=$ac_cv_prog_GCJ_FOR_TARGET +if test -n "$GCJ_FOR_TARGET"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCJ_FOR_TARGET" >&5 +$as_echo "$GCJ_FOR_TARGET" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + done +fi + +if test -z "$ac_cv_prog_GCJ_FOR_TARGET" && test -n "$with_build_time_tools"; then + for ncn_progname in gcj; do + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ncn_progname} in $with_build_time_tools" >&5 +$as_echo_n "checking for ${ncn_progname} in $with_build_time_tools... " >&6; } + if test -x $with_build_time_tools/${ncn_progname}; then + ac_cv_prog_GCJ_FOR_TARGET=$with_build_time_tools/${ncn_progname} + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + break + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + fi + done +fi + +if test -z "$ac_cv_prog_GCJ_FOR_TARGET"; then + for ncn_progname in gcj; do + if test -n "$ncn_target_tool_prefix"; then + # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args. +set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_GCJ_FOR_TARGET+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$GCJ_FOR_TARGET"; then + ac_cv_prog_GCJ_FOR_TARGET="$GCJ_FOR_TARGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_GCJ_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +GCJ_FOR_TARGET=$ac_cv_prog_GCJ_FOR_TARGET +if test -n "$GCJ_FOR_TARGET"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCJ_FOR_TARGET" >&5 +$as_echo "$GCJ_FOR_TARGET" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi + if test -z "$ac_cv_prog_GCJ_FOR_TARGET" && test $build = $target ; then + # Extract the first word of "${ncn_progname}", so it can be a program name with args. +set dummy ${ncn_progname}; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_GCJ_FOR_TARGET+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$GCJ_FOR_TARGET"; then + ac_cv_prog_GCJ_FOR_TARGET="$GCJ_FOR_TARGET" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_GCJ_FOR_TARGET="${ncn_progname}" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +GCJ_FOR_TARGET=$ac_cv_prog_GCJ_FOR_TARGET +if test -n "$GCJ_FOR_TARGET"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCJ_FOR_TARGET" >&5 +$as_echo "$GCJ_FOR_TARGET" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi + test -n "$ac_cv_prog_GCJ_FOR_TARGET" && break + done +fi + +if test -z "$ac_cv_prog_GCJ_FOR_TARGET" ; then + set dummy gcj + if test $build = $target ; then + GCJ_FOR_TARGET="$2" + else + GCJ_FOR_TARGET="${ncn_target_tool_prefix}$2" + fi +else + GCJ_FOR_TARGET="$ac_cv_prog_GCJ_FOR_TARGET" +fi + + + if test -n "$GFORTRAN_FOR_TARGET"; then ac_cv_prog_GFORTRAN_FOR_TARGET=$GFORTRAN_FOR_TARGET elif test -n "$ac_cv_prog_GFORTRAN_FOR_TARGET"; then @@ -17572,6 +17772,51 @@ $as_echo "pre-installed" >&6; } fi fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the target gcj" >&5 +$as_echo_n "checking where to find the target gcj... " >&6; } +if test "x${build}" != "x${host}" ; then + if expr "x$GCJ_FOR_TARGET" : "x/" > /dev/null; then + # We already found the complete path + ac_dir=`dirname $GCJ_FOR_TARGET` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: pre-installed in $ac_dir" >&5 +$as_echo "pre-installed in $ac_dir" >&6; } + else + # Canadian cross, just use what we found + { $as_echo "$as_me:${as_lineno-$LINENO}: result: pre-installed" >&5 +$as_echo "pre-installed" >&6; } + fi +else + ok=yes + case " ${configdirs} " in + *" gcc "*) ;; + *) ok=no ;; + esac + case ,${enable_languages}, in + *,java,*) ;; + *) ok=no ;; + esac + if test $ok = yes; then + # An in-tree tool is available and we can use it + GCJ_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/gcj -B$$r/$(HOST_SUBDIR)/gcc/' + { $as_echo "$as_me:${as_lineno-$LINENO}: result: just compiled" >&5 +$as_echo "just compiled" >&6; } + elif expr "x$GCJ_FOR_TARGET" : "x/" > /dev/null; then + # We already found the complete path + ac_dir=`dirname $GCJ_FOR_TARGET` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: pre-installed in $ac_dir" >&5 +$as_echo "pre-installed in $ac_dir" >&6; } + elif test "x$target" = "x$host"; then + # We can use an host tool + GCJ_FOR_TARGET='$(GCJ)' + { $as_echo "$as_me:${as_lineno-$LINENO}: result: host tool" >&5 +$as_echo "host tool" >&6; } + else + # We need a cross tool + { $as_echo "$as_me:${as_lineno-$LINENO}: result: pre-installed" >&5 +$as_echo "pre-installed" >&6; } + fi +fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to find the target gfortran" >&5 $as_echo_n "checking where to find the target gfortran... " >&6; } if test "x${build}" != "x${host}" ; then diff --git a/configure.ac b/configure.ac index 1eb689d68b1..ec6bd12e3b7 100644 --- a/configure.ac +++ b/configure.ac @@ -30,6 +30,7 @@ m4_include([ltsugar.m4]) m4_include([ltversion.m4]) m4_include([lt~obsolete.m4]) m4_include([config/isl.m4]) +m4_include([config/pkg.m4]) AC_INIT(move-if-change) AC_DISABLE_OPTION_CHECKING @@ -158,6 +159,7 @@ target_libraries="target-libgcc \ target-libssp \ target-libquadmath \ target-libgfortran \ + target-libjava \ target-libffi \ target-libobjc \ target-libada \ @@ -478,6 +480,21 @@ ENABLE_LIBSTDCXX=default) noconfigdirs="$noconfigdirs target-libstdc++-v3" fi] +AC_ARG_ENABLE(static-libjava, +[AS_HELP_STRING([[--enable-static-libjava[=ARG]]], + [build static libjava @<:@default=no@:>@])], +ENABLE_STATIC_LIBJAVA=$enableval, +ENABLE_STATIC_LIBJAVA=no) +enable_static_libjava= +if test "${ENABLE_STATIC_LIBJAVA}" = "yes" ; then + enable_static_libjava=yes +fi + +if test x$enable_static_libjava != xyes ; then + EXTRA_CONFIGARGS_LIBJAVA=--disable-static +fi +AC_SUBST(EXTRA_CONFIGARGS_LIBJAVA) + # Enable libgomp by default on hosted POSIX systems, and a few others. if test x$enable_libgomp = x ; then case "${target}" in @@ -1282,6 +1299,7 @@ if test "${build}" != "${host}" ; then CPP_FOR_BUILD="${CPP_FOR_BUILD-\$(CC_FOR_BUILD) -E}" CXX_FOR_BUILD=${CXX_FOR_BUILD-g++} DSYMUTIL_FOR_BUILD=${DSYMUTIL_FOR_BUILD-dsymutil} + GCJ_FOR_BUILD=${GCJ_FOR_BUILD-gcj} GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran} GOC_FOR_BUILD=${GOC_FOR_BUILD-gccgo} GDC_FOR_BUILD=${GDC_FOR_BUILD-gdc} @@ -1297,6 +1315,7 @@ else CC_FOR_BUILD="\$(CC)" CXX_FOR_BUILD="\$(CXX)" DSYMUTIL_FOR_BUILD="\$(DSYMUTIL)" + GCJ_FOR_BUILD="\$(GCJ)" GFORTRAN_FOR_BUILD="\$(GFORTRAN)" GOC_FOR_BUILD="\$(GOC)" GDC_FOR_BUILD="\$(GDC)" @@ -2264,7 +2283,7 @@ AC_ARG_WITH([target-bdw-gc-lib], [AS_HELP_STRING([--with-target-bdw-gc-lib=PATHLIST], [specify directories for installed bdw-gc library])]) -case ,${enable_languages},:${enable_objc_gc} in *,objc,*:yes|*,objc,*:auto) +case ,${enable_languages},:${enable_objc_gc} in *,java,*:*|*,objc,*:yes|*,objc,*:auto) AC_MSG_CHECKING([for bdw garbage collector]) if test "x$with_target_bdw_gc$with_target_bdw_gc_include$with_target_bdw_gc_lib" = x; then dnl no bdw-gw options, assume default locations @@ -2375,6 +2394,15 @@ for i in ${target_configdirs_all} ; do fi done +# Exclude target-zlib if target-libjava isn't built. +case ${target_configdirs} in +*target-libjava*) + ;; +*) + target_configdirs="`echo ${target_configdirs} | sed -e 's/target-zlib//'`" + ;; +esac + # libiberty-linker-plugin is special: it doesn't have its own source directory, # so we have to add it after the preceding checks. if test x"$extra_linker_plugin_flags$extra_linker_plugin_configure_flags" != x @@ -3452,6 +3480,7 @@ AC_SUBST(CXXFLAGS_FOR_BUILD) AC_SUBST(CXX_FOR_BUILD) AC_SUBST(DLLTOOL_FOR_BUILD) AC_SUBST(DSYMUTIL_FOR_BUILD) +AC_SUBST(GCJ_FOR_BUILD) AC_SUBST(GFORTRAN_FOR_BUILD) AC_SUBST(GOC_FOR_BUILD) AC_SUBST(GDC_FOR_BUILD) @@ -3566,6 +3595,7 @@ AC_ARG_WITH([build-time-tools], NCN_STRICT_CHECK_TARGET_TOOLS(CC_FOR_TARGET, cc gcc) NCN_STRICT_CHECK_TARGET_TOOLS(CXX_FOR_TARGET, c++ g++ cxx gxx) NCN_STRICT_CHECK_TARGET_TOOLS(GCC_FOR_TARGET, gcc, ${CC_FOR_TARGET}) +NCN_STRICT_CHECK_TARGET_TOOLS(GCJ_FOR_TARGET, gcj) NCN_STRICT_CHECK_TARGET_TOOLS(GFORTRAN_FOR_TARGET, gfortran) NCN_STRICT_CHECK_TARGET_TOOLS(GOC_FOR_TARGET, gccgo) NCN_STRICT_CHECK_TARGET_TOOLS(GDC_FOR_TARGET, gdc) @@ -3601,6 +3631,8 @@ GCC_TARGET_TOOL(c++ for libstdc++, RAW_CXX_FOR_TARGET, CXX, GCC_TARGET_TOOL(dlltool, DLLTOOL_FOR_TARGET, DLLTOOL, [binutils/dlltool]) GCC_TARGET_TOOL(dsymutil, DSYMUTIL_FOR_TARGET, DSYMUTIL) GCC_TARGET_TOOL(gcc, GCC_FOR_TARGET, , [gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/]) +GCC_TARGET_TOOL(gcj, GCJ_FOR_TARGET, GCJ, + [gcc/gcj -B$$r/$(HOST_SUBDIR)/gcc/], java) GCC_TARGET_TOOL(gfortran, GFORTRAN_FOR_TARGET, GFORTRAN, [gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc/], fortran) GCC_TARGET_TOOL(gccgo, GOC_FOR_TARGET, GOC, diff --git a/gcc/java/config-lang.in b/gcc/java/config-lang.in index 9e84288c33a..4e2df07482c 100644 --- a/gcc/java/config-lang.in +++ b/gcc/java/config-lang.in @@ -34,7 +34,7 @@ compilers="jc1\$(exeext) jvgenmain\$(exeext)" gtfiles="\$(srcdir)/java/java-tree.h \$(srcdir)/java/jcf.h \$(srcdir)/java/parse.h \$(srcdir)/java/builtins.c \$(srcdir)/java/class.c \$(srcdir)/java/constants.c \$(srcdir)/java/decl.c \$(srcdir)/java/expr.c \$(srcdir)/java/jcf-parse.c \$(srcdir)/java/lang.c \$(srcdir)/java/mangle.c \$(srcdir)/java/resource.c" -target_libs=${libgcj_saved} +target_libs="target-libjava target-libffi target-zlib" lang_dirs="fastjar" #build_by_default=no lang_requires=c++ -- 2.38.1