From 0cd8441a97651e1a180a34ad82f927f31b04daaf Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Tue, 6 Jan 2009 22:10:17 +0000 Subject: Add the Eclipse Java Compiler to be able to compile Java. Andy JOHNSON wrote: The Java compiler for GCC versions 4.3.0 and up requires the Eclipse compiler "ecj1" to be built as well. I added "gcj" to the list of utilities to make the initial link. /trunk/scripts/build/cc/gcc.sh | 12 12 0 0 ++++++++++++ /trunk/scripts/crosstool.sh | 2 1 1 0 +- /trunk/config/cc/gcc.in | 6 6 0 0 ++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/config/cc/gcc.in b/config/cc/gcc.in index 610ac59..9eb99b1 100644 --- a/config/cc/gcc.in +++ b/config/cc/gcc.in @@ -223,3 +223,9 @@ config CC_BUGURL 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 diff --git a/scripts/build/cc/gcc.sh b/scripts/build/cc/gcc.sh index 1263e76..3274abc 100644 --- a/scripts/build/cc/gcc.sh +++ b/scripts/build/cc/gcc.sh @@ -12,12 +12,24 @@ do_cc_get() { # 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 + if [ "${CT_CC_LANG_JAVA_USE_ECJ}" = "y" ]; then + CT_GetFile ecj-latest .jar ftp://gcc.gnu.org/pub/java \ + ftp://sourceware.org/pub/java + fi } # 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 + if [ "${CT_CC_LANG_JAVA_USE_ECJ}" = "y" ]; then + CT_DoExecLog ALL cp -v "${CT_TARBALLS_DIR}/ecj-latest.jar" "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/ecj.jar" + fi } #------------------------------------------------------------------------------ diff --git a/scripts/crosstool.sh b/scripts/crosstool.sh index 228cb54..b00baa1 100755 --- a/scripts/crosstool.sh +++ b/scripts/crosstool.sh @@ -315,7 +315,7 @@ if [ -z "${CT_RESTART}" ]; then 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 -- cgit v0.10.2-6-g49f6