Re: ping: Re: [patch] update ecj to ecj-3.8.2/4.2.2
Matthias Klose <[email protected]> Tue, 10 Dec 2013 16:51:11 +0100
| Newsgroups | gmane.comp.gcc.java.patches |
|---|---|
| Message-ID | <[email protected]> |
Am 02.07.2013 21:04, schrieb Jon VanAlten: > > > ----- Original Message ----- >> From: "Matthias Klose" <[email protected]> >> To: "Jon VanAlten" <[email protected]> >> Cc: "GCJ-patches" <[email protected]>, "Tom Tromey" <[email protected]>, "Andrew Haley" <[email protected]> >> Sent: Tuesday, July 2, 2013 3:36:14 AM >> Subject: Re: ping: Re: [patch] update ecj to ecj-3.8.2/4.2.2 >> >> On 06/26/13 21:23, Jon VanAlten wrote: >>> >>> checkout: >>> - cvs -d $(cvsroot) co -r$(TAG) org.eclipse.jdt.core >>> +# git clone -b R3_8_maintenance >>> git://git.eclipse.org/gitroot/jdt/eclipse.jdt.core.git >>> +# wget >>> http://git.eclipse.org/c/jdt/eclipse.jdt.core.git/snapshot/$(TAG).tar.gz >>> + tar xf $(TAG).tar.gz >>> >>> So "checkout" target no longer does a checkout... seems a bit off. Is >>> the commented git clone line left over from doing some of this before >>> the official tag existed? Might want to drop that, and consider >>> renaming the target to reflect its new behaviour. >> >> sure, I can rename that. any suggestion? The purpose is to make it clear >> where >> the source do come from. > > If my reading of this is correct, this make target now does some moving > about of things that are already checked out into the local filesystem. > My suggestion would be to call it "prepare-sources" or just "prepare". > >> >>> + tar -c -f - -C $(TAG)/org.eclipse.jdt.core/compiler org \ >>> + | tar -x -f - -C org.eclipse.jdt.core/ >>> >>> Am I missing something or is this equivalent and simpler: >>> >>> + mv $(TAG)/org.eclipse.jdt.core/compiler/org org.eclipse.jdt.core/ >>> >>> + tar -c -f - -C $(TAG)/org.eclipse.jdt.core/batch org \ >>> + | tar -x -f - -C org.eclipse.jdt.core/ >>> >>> Ditto. >> >> yes, not having to run the checkout / pull from the web again. >> > > Right, so doing it as "cp -ar" instead of a "mv" would accomplish same? > >>> As for the GCCMain portion of the change, yes it looks both necessary >>> and correct. We do same in Fedora package (once again sorry it didn't >>> get posted upstream due to my ignorance), and it would be nice to drop >>> the patch once this is in a release. >> >> yes, having this upstream would be appreciated. >> >> So besides the style how to do fetch the sources, this looks ok? >> > > Yep. > >> Is there another newer released ecj version which should be used instead? >> > > Let's check the authoritative source[1] for that. It does seem as though > they've done their 4.3 release, the sources for just ecj can be found > under JDT Core Batch Compiler at [2]. News[3] does mention a few compiler > improvements, but I might suggest to first push update to 3.8 and then > update to latest in separate commit (so anyone else who consumes this can > choose the version they prefer). > > cheers, > jon > > [1] http://download.eclipse.org/eclipse/downloads/ > [2] http://download.eclipse.org/eclipse/downloads/drops4/R-4.3-201306052000/ > [3] http://download.eclipse.org/eclipse/downloads/drops4/R-4.3-201306052000/news/eclipse-news-part2.html > now updated to build from the 4.3.1 release (ecj itself identified as 3.9.0). Renamed the download target into prepare, and removed the comment. Test built libjava with --enable-maintainer-mode. No regressions. Ok to checkin? Matthias
eclipse-gcj.diff
(text/plain, 3.9 KB)
2013-12-10 Matthias Klose <[email protected]> * Makefile (TAG): Set to R4_3_1. (cvsroot, login): Remove, (checkout): Rename to prepare. (prepare): Download from git repository. (compile): Compile for 1.5, catch errors copying resource files, don't include the META-INF file. * org/eclipse/jdt/internal/compiler/batch/GCCMain.java: Adopt to new API. Index: Makefile =================================================================== RCS file: /cvs/rhug/eclipse-gcj/Makefile,v retrieving revision 1.10 diff -u -r1.10 Makefile --- Makefile 28 Sep 2009 17:38:31 -0000 1.10 +++ Makefile 10 Dec 2013 15:47:35 -0000 @@ -1,4 +1,4 @@ -TAG = R3_5_1 +TAG = R4_3_1 cvsroot = :pserver:[email protected]:/cvsroot/eclipse @@ -11,13 +11,26 @@ $(MAKE) compile $(MAKE) ecj.jar ecj-source.tar.bz2 -login: - cvs -d $(cvsroot) login +prepare: + wget http://git.eclipse.org/c/jdt/eclipse.jdt.core.git/snapshot/$(TAG).tar.gz + tar xf $(TAG).tar.gz + rm -rf org.eclipse.jdt.core + mkdir org.eclipse.jdt.core + cp $(TAG)/org.eclipse.jdt.core/scripts/about.html \ + org.eclipse.jdt.core/. + cp $(TAG)/org.eclipse.jdt.core/scripts/build.xml \ + org.eclipse.jdt.core/. + tar -c -f - -C $(TAG)/org.eclipse.jdt.core/compiler org \ + | tar -x -f - -C org.eclipse.jdt.core/ + find org.eclipse.jdt.core -name CheckDebugAttributes.java | xargs -r rm -f + find org.eclipse.jdt.core -name BuildJarIndex.java | xargs -r rm -f + tar -c -f - -C $(TAG)/org.eclipse.jdt.core/batch org \ + | tar -x -f - -C org.eclipse.jdt.core/ + mkdir -p org.eclipse.jdt.core/META-INF/services + printf 'org.eclipse.jdt.internal.compiler.tool.EclipseCompiler #Eclipse compiler' \ + > org.eclipse.jdt.core/META-INF/services/javax.tools.JavaCompiler -checkout: - cvs -d $(cvsroot) co -r$(TAG) org.eclipse.jdt.core - -SOURCES = org org.eclipse.jdt.core/batch org.eclipse.jdt.core/compiler +SOURCES = org org.eclipse.jdt.core OUTPUT = bin @@ -31,17 +44,18 @@ compile: @mkdir -p $(OUTPUT) find $(SOURCES) -name '*.java' > List - ecj -d $(OUTPUT) -1.4 -nowarn -g @List + ecj -d $(OUTPUT) -1.5 -nowarn -g @List + set -e; \ here=`pwd`; for dir in $(SOURCES); do \ - (cd $$dir; find . -name '*.properties' -o -name '*.rsc' | \ + (cd $$dir; find . -name '*.properties' -o -name '*.props' -o -name '*.rsc' | \ while read x; do \ echo "cp $$x $$here/$(OUTPUT)/$$x"; \ + mkdir -p $$(dirname $$here/$(OUTPUT)/$$x); \ cp $$x $$here/$(OUTPUT)/$$x; \ done); \ done cat gcc.properties >> $(OUTPUT)/org/eclipse/jdt/internal/compiler/batch/messages.properties mkdir -p $(OUTPUT)/META-INF - cp org.eclipse.jdt.core/META-INF/MANIFEST.MF $(OUTPUT)/META-INF # Once per GCC release you should upload an appropriate jar. # Don't change these once the release is out. @@ -51,4 +65,4 @@ scp ecj.jar $(destination)/ecj-$(RELEASE).jar scp ecj-source.tar.bz2 $(destination)/ecj-$(RELEASE)-source.tar.bz2 -.PHONY: all login checkout ecj.jar compile upload +.PHONY: all login prepare ecj.jar compile upload Index: org/eclipse/jdt/internal/compiler/batch/GCCMain.java =================================================================== RCS file: /cvs/rhug/eclipse-gcj/org/eclipse/jdt/internal/compiler/batch/GCCMain.java,v retrieving revision 1.8 diff -u -r1.8 GCCMain.java --- org/eclipse/jdt/internal/compiler/batch/GCCMain.java 11 Sep 2009 10:59:21 -0000 1.8 +++ org/eclipse/jdt/internal/compiler/batch/GCCMain.java 10 Dec 2013 15:47:35 -0000 @@ -29,6 +29,7 @@ import org.eclipse.jdt.internal.compiler.env.AccessRule; import org.eclipse.jdt.internal.compiler.env.AccessRuleSet; import org.eclipse.jdt.internal.compiler.impl.CompilerOptions; +import org.eclipse.jdt.internal.compiler.problem.ProblemSeverities; import org.eclipse.jdt.internal.compiler.util.Messages; import org.eclipse.jdt.internal.compiler.util.SuffixConstants; @@ -463,7 +464,7 @@ } if (inhibitAllWarnings) - disableWarnings(); + disableAll(ProblemSeverities.Warning); if (treatWarningsAsErrors) turnWarningsToErrors();