Index: crosstool-ng/trunk/scripts/build/cc/gcc.sh =================================================================== --- crosstool-ng/trunk/scripts/build/cc/gcc.sh (revision 1294) +++ crosstool-ng/trunk/scripts/build/cc/gcc.sh (working copy) @@ -12,12 +12,22 @@ # subdirectory! You bastard! CT_GetFile "gcc-${CT_CC_VERSION}" \ {ftp,http}://ftp.gnu.org/gnu/gcc{,{,/releases}/gcc-${CT_CC_VERSION}} + # Starting with GCC 4.3, ecj is used for Java, and will only be + # built if the configure script finds ecj.jar at the top of the + # GCC source tree, which will not be there unless we get it and + # put it there ourselves + [ "${CT_CC_LANG_JAVA_USE_ECJ}" = "y" ] && \ + CT_GetFile "ecj-latest.jar" ftp://gcc.gnu.org/pub/java \ + ftp://sourceware.org/pub/java } # Extract gcc do_cc_extract() { CT_Extract "gcc-${CT_CC_VERSION}" CT_Patch "gcc-${CT_CC_VERSION}" + # Copy ecj-latest.jar to ecj.jar at the top of the GCC source tree + [ "${CT_CC_LANG_JAVA_USE_ECJ}" = "y" ] && \ + CT_DoExecLog ALL cp ${CT_LOCAL_TARBALLS_DIR}/ecj-latest.jar ${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/ecj.jar } #------------------------------------------------------------------------------ Index: crosstool-ng/trunk/scripts/crosstool.sh =================================================================== --- crosstool-ng/trunk/scripts/crosstool.sh (revision 1294) +++ crosstool-ng/trunk/scripts/crosstool.sh (working copy) @@ -315,7 +315,7 @@ t="${!r}-" fi - for tool in ar as dlltool gcc g++ gnatbind gnatmake ld nm objcopy objdump ranlib strip windres; do + for tool in ar as dlltool gcc g++ gcj gnatbind gnatmake ld nm objcopy objdump ranlib strip windres; do # First try with prefix + suffix # Then try with prefix only # Then try with suffix only, but only for BUILD, and HOST iff REAL_BUILD == REAL_HOST Index: crosstool-ng/trunk/config/cc/gcc.in =================================================================== --- crosstool-ng/trunk/config/cc/gcc.in (revision 1294) +++ crosstool-ng/trunk/config/cc/gcc.in (working copy) @@ -223,3 +223,9 @@ default "" help Specify the URL that users should visit if they wish to report a bug. + +config CC_LANG_JAVA_USE_ECJ + bool + default y + depends on CC_LANG_JAVA + depends on CC_GCC_4_3_or_later