This is an automated email from the git hooks/post-receive script. ebourg-guest pushed a commit to branch master in repository ecj.
commit 7149fdb2f9a0afc1aa293e737bceb791b3a1ec17 Merge: 686f337 0dfe0da Author: Michael Koch <[email protected]> Date: Fri May 18 09:32:35 2007 -0100 Imported Debian patch 3.3~M7-1 debian/changelog | 12 +- debian/patches/ecj-gccmain.diff | 3 +- debian/patches/ecj-square-bracket-classpath.diff | 103 - debian/rules | 2 +- .../org/eclipse/jdt/core/JDTCompilerAdapter.java | 45 +- .../jdt/core/compiler/CategorizedProblem.java | 10 +- .../eclipse/jdt/core/compiler/CharOperation.java | 42 +- .../org/eclipse/jdt/core/compiler/IProblem.java | 171 +- .../eclipse/jdt/internal/compiler/ASTVisitor.java | 309 +- .../AbstractAnnotationProcessorManager.java | 95 + .../eclipse/jdt/internal/compiler/ClassFile.java | 395 +-- .../jdt/internal/compiler/CompilationResult.java | 23 +- .../eclipse/jdt/internal/compiler/Compiler.java | 150 +- .../jdt/internal/compiler/ConfigurableOption.java | 10 +- .../jdt/internal/compiler/IProblemFactory.java | 2 +- .../internal/compiler/ast/AND_AND_Expression.java | 2 +- .../eclipse/jdt/internal/compiler/ast/ASTNode.java | 457 +-- .../compiler/ast/AbstractMethodDeclaration.java | 11 +- .../compiler/ast/AllocationExpression.java | 47 +- .../jdt/internal/compiler/ast/Annotation.java | 6 +- .../jdt/internal/compiler/ast/Argument.java | 82 +- .../compiler/ast/ArrayAllocationExpression.java | 104 +- .../internal/compiler/ast/ArrayInitializer.java | 31 +- .../jdt/internal/compiler/ast/ArrayReference.java | 17 +- .../jdt/internal/compiler/ast/AssertStatement.java | 44 +- .../jdt/internal/compiler/ast/Assignment.java | 14 +- .../internal/compiler/ast/BinaryExpression.java | 161 +- .../jdt/internal/compiler/ast/BranchStatement.java | 4 +- .../jdt/internal/compiler/ast/BreakStatement.java | 3 +- .../jdt/internal/compiler/ast/CaseStatement.java | 222 +- .../jdt/internal/compiler/ast/CastExpression.java | 93 +- .../internal/compiler/ast/ClassLiteralAccess.java | 23 +- .../eclipse/jdt/internal/compiler/ast/Clinit.java | 9 +- .../compiler/ast/CombinedBinaryExpression.java | 393 +++ .../compiler/ast/CompilationUnitDeclaration.java | 81 +- .../compiler/ast/ConditionalExpression.java | 2 +- .../compiler/ast/ConstructorDeclaration.java | 64 +- .../jdt/internal/compiler/ast/DoStatement.java | 17 +- .../jdt/internal/compiler/ast/DoubleLiteral.java | 6 +- .../jdt/internal/compiler/ast/EqualExpression.java | 19 +- .../compiler/ast/ExplicitConstructorCall.java | 48 +- .../jdt/internal/compiler/ast/Expression.java | 56 +- .../internal/compiler/ast/FieldDeclaration.java | 447 ++- .../jdt/internal/compiler/ast/FieldReference.java | 23 +- .../jdt/internal/compiler/ast/FloatLiteral.java | 6 +- .../jdt/internal/compiler/ast/ForStatement.java | 72 +- .../internal/compiler/ast/ForeachStatement.java | 89 +- .../jdt/internal/compiler/ast/IfStatement.java | 10 +- .../jdt/internal/compiler/ast/ImportReference.java | 17 +- .../jdt/internal/compiler/ast/Initializer.java | 8 +- .../compiler/ast/InstanceOfExpression.java | 4 +- .../eclipse/jdt/internal/compiler/ast/Javadoc.java | 483 ++- .../compiler/ast/JavadocAllocationExpression.java | 68 +- .../compiler/ast/JavadocArgumentExpression.java | 11 +- .../ast/JavadocArrayQualifiedTypeReference.java | 7 +- .../ast/JavadocArraySingleTypeReference.java | 7 +- .../compiler/ast/JavadocFieldReference.java | 14 +- .../compiler/ast/JavadocImplicitTypeReference.java | 18 +- .../compiler/ast/JavadocImportReference.java | 34 - .../internal/compiler/ast/JavadocMessageSend.java | 47 +- .../ast/JavadocQualifiedTypeReference.java | 42 +- .../compiler/ast/JavadocReturnStatement.java | 19 +- .../compiler/ast/JavadocSingleNameReference.java | 17 +- .../compiler/ast/JavadocSingleTypeReference.java | 31 +- .../internal/compiler/ast/LabeledStatement.java | 17 +- .../internal/compiler/ast/LocalDeclaration.java | 50 +- .../jdt/internal/compiler/ast/LongLiteral.java | 12 +- .../internal/compiler/ast/LongLiteralMinValue.java | 4 +- .../internal/compiler/ast/MarkerAnnotation.java | 6 +- .../jdt/internal/compiler/ast/MemberValuePair.java | 33 +- .../jdt/internal/compiler/ast/MessageSend.java | 266 +- .../internal/compiler/ast/MethodDeclaration.java | 40 +- .../internal/compiler/ast/NormalAnnotation.java | 10 - .../internal/compiler/ast/OR_OR_Expression.java | 2 +- .../internal/compiler/ast/OperatorExpression.java | 10 +- .../ast/ParameterizedQualifiedTypeReference.java | 71 +- .../ast/ParameterizedSingleTypeReference.java | 35 +- .../ast/QualifiedAllocationExpression.java | 208 +- .../compiler/ast/QualifiedNameReference.java | 1841 ++++++------ .../compiler/ast/QualifiedSuperReference.java | 9 + .../compiler/ast/QualifiedThisReference.java | 10 + .../compiler/ast/QualifiedTypeReference.java | 18 +- .../jdt/internal/compiler/ast/ReturnStatement.java | 28 +- .../compiler/ast/SingleMemberAnnotation.java | 8 - .../internal/compiler/ast/SingleNameReference.java | 98 +- .../internal/compiler/ast/SubRoutineStatement.java | 5 +- .../jdt/internal/compiler/ast/SwitchStatement.java | 6 +- .../compiler/ast/SynchronizedStatement.java | 15 +- .../jdt/internal/compiler/ast/ThisReference.java | 5 + .../jdt/internal/compiler/ast/ThrowStatement.java | 100 +- .../jdt/internal/compiler/ast/TryStatement.java | 218 +- .../jdt/internal/compiler/ast/TypeDeclaration.java | 143 +- .../jdt/internal/compiler/ast/TypeParameter.java | 4 +- .../jdt/internal/compiler/ast/TypeReference.java | 81 +- .../jdt/internal/compiler/ast/UnaryExpression.java | 6 +- .../jdt/internal/compiler/ast/WhileStatement.java | 2 +- .../jdt/internal/compiler/ast/Wildcard.java | 16 +- .../compiler/batch/ClasspathDirectory.java | 51 +- .../jdt/internal/compiler/batch/ClasspathJar.java | 52 +- .../internal/compiler/batch/ClasspathLocation.java | 19 +- .../compiler/batch/ClasspathSourceJar.java | 21 +- .../internal/compiler/batch/CompilationUnit.java | 15 +- .../jdt/internal/compiler/batch/FileSystem.java | 142 +- .../eclipse/jdt/internal/compiler/batch/Main.java | 1598 +++++++--- .../internal/compiler/batch/messages.properties | 165 +- .../internal/compiler/classfmt/AnnotationInfo.java | 10 +- .../compiler/classfmt/AnnotationMethodInfo.java | 3 +- .../compiler/classfmt/ClassFileConstants.java | 4 +- .../compiler/classfmt/ClassFileReader.java | 44 +- .../compiler/classfmt/ClassFileStruct.java | 105 +- .../jdt/internal/compiler/classfmt/FieldInfo.java | 24 +- .../jdt/internal/compiler/classfmt/MethodInfo.java | 107 +- .../jdt/internal/compiler/codegen/BranchLabel.java | 46 +- .../jdt/internal/compiler/codegen/CaseLabel.java | 5 +- .../jdt/internal/compiler/codegen/CodeStream.java | 229 +- .../internal/compiler/codegen/ConstantPool.java | 34 +- .../internal/compiler/codegen/ExceptionLabel.java | 3 +- .../internal/compiler/codegen/StackMapFrame.java | 5 +- .../compiler/codegen/StackMapFrameCodeStream.java | 3092 +++++++++++--------- .../jdt/internal/compiler/env/IBinaryType.java | 4 +- .../internal/compiler/env/ICompilationUnit.java | 2 + .../internal/compiler/flow/FinallyFlowContext.java | 229 +- .../jdt/internal/compiler/flow/FlowContext.java | 76 +- .../jdt/internal/compiler/flow/FlowInfo.java | 36 + .../internal/compiler/flow/LoopingFlowContext.java | 181 +- .../compiler/flow/UnconditionalFlowInfo.java | 88 +- .../internal/compiler/impl/CompilerOptions.java | 499 +++- .../compiler/lookup/AnnotationBinding.java | 53 +- .../internal/compiler/lookup/AnnotationHolder.java | 8 +- .../jdt/internal/compiler/lookup/ArrayBinding.java | 17 +- ...inding.java => BinaryLocalVariableBinding.java} | 18 +- .../compiler/lookup/BinaryTypeBinding.java | 42 +- .../jdt/internal/compiler/lookup/Binding.java | 2 +- .../jdt/internal/compiler/lookup/BlockScope.java | 66 +- .../internal/compiler/lookup/CaptureBinding.java | 47 +- .../jdt/internal/compiler/lookup/ClassScope.java | 23 +- .../compiler/lookup/CompilationUnitScope.java | 66 +- .../jdt/internal/compiler/lookup/FieldBinding.java | 2 +- .../internal/compiler/lookup/InferenceContext.java | 142 + .../internal/compiler/lookup/LocalTypeBinding.java | 11 +- .../compiler/lookup/LocalVariableBinding.java | 24 +- .../compiler/lookup/LookupEnvironment.java | 95 +- .../compiler/lookup/MemberTypeBinding.java | 19 + .../internal/compiler/lookup/MethodBinding.java | 179 +- .../jdt/internal/compiler/lookup/MethodScope.java | 6 +- .../internal/compiler/lookup/MethodVerifier.java | 232 +- .../internal/compiler/lookup/MethodVerifier15.java | 143 +- .../internal/compiler/lookup/PackageBinding.java | 4 +- .../lookup/ParameterizedGenericMethodBinding.java | 162 +- .../lookup/ParameterizedMethodBinding.java | 8 +- .../compiler/lookup/ParameterizedTypeBinding.java | 101 +- .../compiler/lookup/ProblemMethodBinding.java | 4 +- .../compiler/lookup/ProblemReferenceBinding.java | 10 +- .../internal/compiler/lookup/RawTypeBinding.java | 14 +- .../internal/compiler/lookup/ReferenceBinding.java | 177 +- .../jdt/internal/compiler/lookup/Scope.java | 345 ++- .../compiler/lookup/SourceTypeBinding.java | 36 +- .../compiler/lookup/SyntheticFieldBinding.java | 2 +- .../compiler/lookup/SyntheticMethodBinding.java | 16 +- .../jdt/internal/compiler/lookup/TagBits.java | 41 +- .../jdt/internal/compiler/lookup/TypeBinding.java | 92 +- .../internal/compiler/lookup/TypeConstants.java | 15 +- .../jdt/internal/compiler/lookup/TypeIds.java | 4 + .../compiler/lookup/TypeVariableBinding.java | 56 +- .../lookup/UnresolvedReferenceBinding.java | 10 +- .../internal/compiler/lookup/WildcardBinding.java | 49 +- .../compiler/parser/AbstractCommentParser.java | 44 +- .../internal/compiler/parser/JavadocParser.java | 117 +- .../jdt/internal/compiler/parser/Parser.java | 471 ++- .../compiler/parser/ParserBasicInformation.java | 20 +- .../internal/compiler/parser/RecoveredBlock.java | 11 + .../internal/compiler/parser/RecoveredElement.java | 5 +- .../internal/compiler/parser/RecoveredMethod.java | 17 +- .../internal/compiler/parser/RecoveredType.java | 15 +- .../internal/compiler/parser/RecoveredUnit.java | 9 +- .../internal/compiler/parser/RecoveryScanner.java | 5 + .../jdt/internal/compiler/parser/Scanner.java | 420 ++- .../internal/compiler/parser/TerminalTokens.java | 6 +- .../compiler/parser/diagnose/DiagnoseParser.java | 18 +- .../compiler/parser/diagnose/LexStream.java | 25 +- .../compiler/parser/diagnose/RangeUtil.java | 9 +- .../jdt/internal/compiler/parser/parser1.rsc | Bin 25926 -> 25962 bytes .../jdt/internal/compiler/parser/parser10.rsc | Bin 264 -> 264 bytes .../jdt/internal/compiler/parser/parser11.rsc | Bin 264 -> 264 bytes .../jdt/internal/compiler/parser/parser12.rsc | Bin 264 -> 264 bytes .../jdt/internal/compiler/parser/parser13.rsc | Bin 264 -> 264 bytes .../jdt/internal/compiler/parser/parser14.rsc | Bin 1204 -> 1206 bytes .../jdt/internal/compiler/parser/parser15.rsc | Bin 944 -> 944 bytes .../jdt/internal/compiler/parser/parser16.rsc | Bin 1912 -> 1914 bytes .../jdt/internal/compiler/parser/parser17.rsc | Bin 695 -> 696 bytes .../jdt/internal/compiler/parser/parser18.rsc | Bin 7954 -> 7906 bytes .../jdt/internal/compiler/parser/parser19.rsc | 2 +- .../jdt/internal/compiler/parser/parser2.rsc | Bin 24536 -> 24570 bytes .../jdt/internal/compiler/parser/parser20.rsc | Bin 12908 -> 12974 bytes .../jdt/internal/compiler/parser/parser21.rsc | Bin 5560 -> 5568 bytes .../jdt/internal/compiler/parser/parser22.rsc | Bin 618 -> 620 bytes .../jdt/internal/compiler/parser/parser23.rsc | Bin 46 -> 64 bytes .../jdt/internal/compiler/parser/parser24.rsc | Bin 618 -> 620 bytes .../jdt/internal/compiler/parser/parser3.rsc | Bin 1912 -> 1914 bytes .../jdt/internal/compiler/parser/parser4.rsc | Bin 3388 -> 3388 bytes .../jdt/internal/compiler/parser/parser5.rsc | Bin 1912 -> 1914 bytes .../jdt/internal/compiler/parser/parser6.rsc | Bin 972 -> 976 bytes .../jdt/internal/compiler/parser/parser7.rsc | Bin 222 -> 222 bytes .../jdt/internal/compiler/parser/parser8.rsc | Bin 618 -> 620 bytes .../jdt/internal/compiler/parser/parser9.rsc | Bin 15746 -> 15722 bytes .../compiler/parser/readableNames.properties | 3 +- .../compiler/problem/AbortCompilation.java | 8 +- .../internal/compiler/problem/DefaultProblem.java | 14 +- .../compiler/problem/DefaultProblemFactory.java | 27 +- .../internal/compiler/problem/ProblemHandler.java | 14 +- .../internal/compiler/problem/ProblemReporter.java | 1245 +++++--- .../internal/compiler/problem/messages.properties | 52 +- .../internal/compiler/util/GenericXMLWriter.java | 66 +- .../jdt/internal/compiler/util/Messages.java | 25 +- .../internal/compiler/util/SimpleLookupTable.java | 13 +- .../jdt/internal/compiler/util/SimpleSet.java | 17 +- .../{SimpleSet.java => SimpleSetOfCharArray.java} | 69 +- .../eclipse/jdt/internal/compiler/util/Util.java | 55 +- 218 files changed, 12890 insertions(+), 7381 deletions(-) diff --cc debian/changelog index 45978b3,0000000..1101165 mode 100644,000000..100644 --- a/debian/changelog +++ b/debian/changelog @@@ -1,315 -1,0 +1,325 @@@ ++ecj (3.3~M7-1) unstable; urgency=low ++ ++ * New upstream release. ++ - Fixes issues with classes extending java.io.PrintWriter and implementing ++ some random interface. Closes: #424504. ++ - Removed debian/patches/ecj-square-bracket-classpath.diff. ++ Applied upstream. ++ ++ -- Michael Koch <[email protected]> Fri, 18 May 2007 09:32:35 -0100 ++ +ecj (3.2.2-2) unstable; urgency=low + + * Loosen dependency on gij-4.1, libgcj7-jar. Closes: #421488. + + -- Matthias Klose <[email protected]> Sun, 29 Apr 2007 22:19:47 +0200 + +ecj (3.2.2-1) unstable; urgency=low + + * Upload to unstable. + + -- Matthias Klose <[email protected]> Fri, 27 Apr 2007 01:04:45 +0200 + +ecj (3.2.2-0) experimental; urgency=low + + * New upstream version. + - Update patches. + * (Build-)depend on gcj generics backport. + * Build-Conflicts with ecj-bootstrap-gcj (<< 3.2.2). + * Merge from Ubuntu: + - Split out patches. + - Add ecj-square-bracket-classpath.diff. + - ecj-bootstrap: Add compatibilty script ecj-bootstrap. + - Install the jar as eclipse-ecj.jar, provide an ecj.jar symlink. + - Rename source and binary package to ecj. + - Pass gcj and gcj-dbtool versions to aot-compile. + + -- Matthias Klose <[email protected]> Sat, 3 Mar 2007 19:37:46 +0100 + +ecj-bootstrap (3.2.1-6) unstable; urgency=low + + * Fix PR java/30585 (-Werror and -Wall not working). Taken from the rhug + repository. + + -- Matthias Klose <[email protected]> Sat, 3 Feb 2007 14:16:47 +0100 + +ecj-bootstrap (3.2.1-5) unstable; urgency=low + + * debian/control: Call it a "standalone" version, not a "bootstrap" + version. The package is used as the compiler in java-gcj-compat-dev + as well. See also #396170. + + -- Matthias Klose <[email protected]> Thu, 11 Jan 2007 20:44:40 +0100 + +ecj-bootstrap (3.2.1-4) unstable; urgency=medium + + * Refactor batch/org/eclipse/jdt/internal/compiler/batch/Main.java, + add batch/org/eclipse/jdt/internal/compiler/batch/GCCMain.java, + needed to bootstrap GCC-4.3. + + -- Matthias Klose <[email protected]> Tue, 9 Jan 2007 00:09:22 +0100 + +ecj-bootstrap (3.2.1-3) unstable; urgency=low + + * Add missing build dependency. + + -- Matthias Klose <[email protected]> Sun, 8 Oct 2006 01:40:00 +0200 + +ecj-bootstrap (3.2.1-2) unstable; urgency=low + + * Add 1.6 compatibility in package description. + * Use own copy of aot-compile to build with less memory resources + on arm and m68k. + * Build the standalone binary without -fjni -findirect-dispatch. + + -- Matthias Klose <[email protected]> Sat, 7 Oct 2006 23:38:47 +0200 + +ecj-bootstrap (3.2.1-1) unstable; urgency=medium + + * New upstream version. + * ecj-bootstrap-gcj: Add postrm script. + + -- Matthias Klose <[email protected]> Tue, 3 Oct 2006 09:35:39 +0200 + +ecj-bootstrap (3.2-3) unstable; urgency=low + + * Install classmap db in /usr/share/gcj/classmap.db, install jar.so + in /usr/lib/gcj. + * ecj-bootstrap-gcj.postinst: Use rebuild-gcj-db. + * Build depend on gcj-4.1 (>= 4.1.1-13). + + -- Matthias Klose <[email protected]> Sat, 2 Sep 2006 13:55:21 +0000 + - ecj-bootstrap (3.2-2) experimental; urgency=low ++ecj-bootstrap (3.2-2) experimental; urgency=low + + * Build using the gcj backport from experimental. + * Do not build the binary ecj. + + -- Matthias Klose <[email protected]> Sun, 13 Aug 2006 13:01:45 +0200 + +ecj-bootstrap (3.2-1) unstable; urgency=low + + * New upstream version. + + -- Matthias Klose <[email protected]> Mon, 31 Jul 2006 18:16:52 +0000 + +ecj-bootstrap (3.1.2-6) unstable; urgency=low + + * ecj-bootstrap-gcj: Do not register an alternative for ecj. + * ecj-bootstrap: Use ecj-bootstrap-gcj, if available. + * The above changes set the bootclasspath to /usr/share/java/libgcj-4.1.jar, + if no bootclasspath is set. Closes: #361608, #361806. + * Do not try to rebuild the jar file using the gij on arm and m68k. + + -- Matthias Klose <[email protected]> Thu, 1 Jun 2006 22:55:00 +0200 + +ecj-bootstrap (3.1.2-5) unstable; urgency=low + + * Updated Standards-Version to 3.7.2. No changes needed. + + -- Michael Koch <[email protected]> Sat, 6 May 2006 16:25:40 +0000 + +ecj-bootstrap (3.1.2-4) unstable; urgency=low + + * Build using gij-4.1/gcj-4.1. + * Rebuild using ecj on all architectures. + * Remove conflict on virtual package ecj. + + -- Matthias Klose <[email protected]> Sat, 1 Apr 2006 11:29:03 +0000 + +ecj-bootstrap (3.1.2-3) experimental; urgency=low + + * Build using gcj-4.1, upload to experimental. + + -- Matthias Klose <[email protected]> Sat, 28 Jan 2006 08:35:09 +0000 + +ecj-bootstrap (3.1.2-2ubuntu3) dapper; urgency=low + + * Use gij-4.1 in the package scripts. + + -- Matthias Klose <[email protected]> Sun, 26 Feb 2006 21:00:44 +0000 + +ecj-bootstrap (3.1.2-2ubuntu2) dapper; urgency=low + + * Build using gcj-4.1. + + -- Matthias Klose <[email protected]> Sun, 19 Feb 2006 01:07:40 +0000 + +ecj-bootstrap (3.1.2-2build1) dapper; urgency=low + + * Require gcj-4.0.2-9 to build. + + -- Matthias Klose <[email protected]> Thu, 16 Feb 2006 03:18:22 +0000 + +ecj-bootstrap (3.1.2-2) unstable; urgency=low + + * Set the bootclasspath to /usr/share/java/libgcj-4.0.jar, if not called + with the -bootclasspath and /usr/lib/jvm/java-gcj/jre/lib/rt.jar does + not exist (java-gcj-compat not installed). Closes: #350542. + + -- Matthias Klose <[email protected]> Thu, 9 Feb 2006 16:33:45 +0000 + +ecj-bootstrap (3.1.2-1) unstable; urgency=low + + * New upstream version. + + -- Matthias Klose <[email protected]> Sat, 28 Jan 2006 08:09:25 +0000 + +ecj-bootstrap (3.1.1-4) unstable; urgency=low + + * Depend on libgcj6-jar instead of libgcj6-common. + + -- Matthias Klose <[email protected]> Thu, 5 Jan 2006 19:14:49 +0000 + +ecj-bootstrap (3.1.1-3.1) unstable; urgency=low + + [ Arnaud Fontaine ] + * NMU: added a backslash at the end of the first line of + 'debian/ecj-bootstrap-gcj.postinst'. Closes: #335031. + + -- Christoph Berg <[email protected]> Sat, 29 Oct 2005 12:09:06 +0200 + +ecj-bootstrap (3.1.1-3) unstable; urgency=low + + * On arm and hppa, don't rebuild ecj using gij. + + -- Matthias Klose <[email protected]> Thu, 20 Oct 2005 19:08:20 +0000 + +ecj-bootstrap (3.1.1-2) unstable; urgency=low + + * Add a javac alternative (priority higher than gcj). + * ecj-bootstrap-gcj: Add slave alternative for the man page. + Addresses #328743. + + -- Matthias Klose <[email protected]> Thu, 20 Oct 2005 00:11:27 +0200 + +ecj-bootstrap (3.1.1-1) unstable; urgency=low + + * New upstream version. + * Remove bootstrap workaround, tighten build dependency to gcj-4.0.2. + * Fix symlink to manpage (closes: #330080). + + -- Matthias Klose <[email protected]> Sat, 1 Oct 2005 18:32:05 +0200 + +ecj-bootstrap (3.0.93-1) unstable; urgency=low + + * New upstream version (3.1rc3). Taken from the eclipse-3.1 package, + file ecj.zip. + + -- Matthias Klose <[email protected]> Wed, 14 Sep 2005 12:54:56 +0000 + +ecj-bootstrap (3.0.1-4ubuntu6) breezy; urgency=low + + * Only build one java file per gcj call, ignore errors on first + build. Closes: #327161, Ubuntu 14938. + * Add more error checking in debian/rules. + * Install manual page for ecj alternative as well. + + -- Matthias Klose <[email protected]> Wed, 14 Sep 2005 14:19:57 +0200 + +ecj-bootstrap (3.0.1-4ubuntu5) breezy; urgency=low + + * Reenable ecj-bootstrap-gcj. (Build-)depend on fixed gcj-4.0. + + -- Matthias Klose <[email protected]> Sat, 2 Jul 2005 08:25:02 +0000 + +ecj-bootstrap (3.0.1-4ubuntu4) breezy; urgency=low + + * Temporarily disable building ecj-bootstrap-gcj. FTBFS on amd64. Unbreak + ant's dependency on ecj (>= 3.0.1-4ubuntu2). + + -- Matthias Klose <[email protected]> Thu, 30 Jun 2005 09:59:20 +0000 + +ecj-bootstrap (3.0.1-4ubuntu3) breezy; urgency=low + + * Include manpages for ecj-bootstrap and ecj-bootstrap-gcj (closes: #316641). + + -- Jeff Bailey <[email protected]> Wed, 29 Jun 2005 14:52:57 +0000 + +ecj-bootstrap (3.0.1-4ubuntu2) breezy; urgency=low + + * Merged ecj-adapter.jar into ecj.jar in preparation for Eclipse 3.1 + upgrade. Upstream has laid out ecj in this fashion. + * Removed java-gcj-compat bits which were unneccassary. + * Added native versions of the ecj binary and ecj.jar in a new package + named ecj-bootstrap-gcj. This increases the compilation speed of + packages built with this copy of ecj. + * Added new alternatives for /usr/bin/ecj for the native version. + * First package successfully creating a classmap.db. + + -- Jerry Haltom <[email protected]> Tue, 14 Jun 2005 21:38:29 -0500 + +ecj-bootstrap (3.0.1-4ubuntu1) breezy; urgency=low + + * Add a /usr/bin/ecj binary. + + -- Matthias Klose <[email protected]> Sat, 11 Jun 2005 16:57:27 +0000 + +ecj-bootstrap (3.0.1-3) experimental; urgency=low + + * Synchronize. + + -- Matthias Klose <[email protected]> Wed, 1 Jun 2005 23:24:48 +0200 + +ecj-bootstrap (3.0.1-1ubuntu6) breezy; urgency=low + + * Now provides 'ecj' which will also be provided by the future + eclipse-ecj package built from full Eclipse source. + * Removed universe/ from Section. + * Now refering to libgcj-4.0.jar instead of 4.0.0.jar to handle + changing versions better. + + -- Jerry Haltom <[email protected]> Wed, 1 Jun 2005 14:12:16 -0500 + +ecj-bootstrap (3.0.1-2) experimental; urgency=low + + * Upload to experimental, set maintainer to Debian Java Matainers, + request by Michael Koch. + + -- Matthias Klose <[email protected]> Sun, 22 May 2005 15:53:07 +0000 + +ecj-bootstrap (3.0.1-1ubuntu5) hoary; urgency=low + + * Fixed path to ant.jar. + + -- Jerry Haltom <[email protected]> Mon, 28 Mar 2005 20:17:03 -0600 + +ecj-bootstrap (3.0.1-1ubuntu4) hoary; urgency=low + + * Added build of Ant adapter. This introduces a circular dependency + on ecj-bootstrap and Ant. + + -- Jerry Haltom <[email protected]> Sun, 27 Mar 2005 22:51:13 -0600 + +ecj-bootstrap (3.0.1-1ubuntu3) hoary; urgency=low + + * Added missing dependency on libgcj6-common. + + -- Jerry Haltom <[email protected]> Wed, 23 Feb 2005 22:45:00 -0600 + +ecj-bootstrap (3.0.1-1ubuntu2) hoary; urgency=low + + * Removed argument modification from ecj and moved it to ecj-wrapper in the + style of gcj-wrapper. + * Jeff Bailey corrected the Posix-compliant argument expansion in + ecj-wrapper with the help of David Weinehall. + * ecj now rebuilds with itself as a sanity test. + + -- Jerry Haltom <[email protected]> Mon, 14 Feb 2005 20:34:25 -0600 + +ecj-bootstrap (3.0.1-1ubuntu1) hoary; urgency=low + + * First upload to Ubuntu. + + * Tighten build deps. Use "ecj" instead of "ecj-bootstrap" to + allow ant to depend on ecj | ecj-bootstrap. + + * Posixify wrapper + + -- Jeff Bailey <[email protected]> Fri, 11 Feb 2005 20:37:21 +0000 + +ecj-bootstrap (3.0.1-0) unstable; urgency=low + + * Initial release. + + -- Jerry Haltom <[email protected]> Wed, 09 Feb 2005 19:36:07 -0600 diff --cc debian/patches/ecj-gccmain.diff index f4efeea,0000000..2ffacde mode 100644,000000..100644 --- a/debian/patches/ecj-gccmain.diff +++ b/debian/patches/ecj-gccmain.diff @@@ -1,511 -1,0 +1,510 @@@ +diff -urN ./src~/org.eclipse.jdt.core/org/eclipse/jdt/internal/compiler/batch/GCCMain.java ./src/org.eclipse.jdt.core/org/eclipse/jdt/internal/compiler/batch/GCCMain.java +--- ./src~/org.eclipse.jdt.core/org/eclipse/jdt/internal/compiler/batch/GCCMain.java 1970-01-01 01:00:00.000000000 +0100 ++++ ./src/org.eclipse.jdt.core/org/eclipse/jdt/internal/compiler/batch/GCCMain.java 2007-03-03 19:55:20.000000000 +0100 - @@ -0,0 +1,495 @@ ++@@ -0,0 +1,494 @@ ++/** ++ * ++ */ ++package org.eclipse.jdt.internal.compiler.batch; ++ ++import java.io.BufferedOutputStream; ++import java.io.BufferedReader; ++import java.io.ByteArrayInputStream; ++import java.io.File; ++import java.io.FileOutputStream; ++import java.io.FileReader; ++import java.io.IOException; ++import java.io.InputStreamReader; ++import java.io.OutputStream; ++import java.io.PrintWriter; ++import java.io.UnsupportedEncodingException; ++import java.util.ArrayList; ++import java.util.HashSet; ++import java.util.Iterator; ++import java.util.Map; ++import java.util.StringTokenizer; ++import java.util.zip.CRC32; ++import java.util.zip.ZipEntry; ++import java.util.zip.ZipOutputStream; ++ ++import org.eclipse.jdt.core.compiler.InvalidInputException; ++import org.eclipse.jdt.internal.compiler.ClassFile; ++import org.eclipse.jdt.internal.compiler.CompilationResult; ++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.util.Messages; ++import org.eclipse.jdt.internal.compiler.util.SuffixConstants; ++ ++/** ++ * This is an alternate entry point for the command-line compiler which ++ * is simpler to integrate into GCC. In particular the option processing ++ * is more GNU-like and the recognized options are similar to those supported ++ * by other GCC front ends. ++ */ ++public class GCCMain extends Main { ++ ++ // All the compilation units specified on the command line. ++ private HashSet commandLineCompilationUnits = new HashSet(); ++ // True if we are only checking syntax. ++ private boolean syntaxOnly; ++ // If not null, the name of the output zip file. ++ // If null, we are generating class files in the file system, ++ // not a zip file. ++ private String zipDestination; ++ // The zip stream to which we're writing, or null if it hasn't been opened. ++ private ZipOutputStream zipStream; ++ ++ // If not null, the name of the zip file to which dependency class files ++ // should be written. ++ private String zipDependencyDestination; ++ // The zip stream to which dependency files should be written. ++ private ZipOutputStream zipDependencyStream; ++ ++ public GCCMain(PrintWriter outWriter, PrintWriter errWriter, ++ boolean systemExitWhenFinished) { ++ super(outWriter, errWriter, systemExitWhenFinished); ++ this.logger.setEmacs(); ++ } ++ ++ public GCCMain(PrintWriter outWriter, PrintWriter errWriter, ++ boolean systemExitWhenFinished, Map customDefaultOptions) { ++ super(outWriter, errWriter, systemExitWhenFinished, ++ customDefaultOptions); ++ this.logger.setEmacs(); ++ } ++ ++ private void fail(Exception t) { ++ this.logger.logException(t); ++ System.exit(1); ++ } ++ ++ public CompilationUnit[] getCompilationUnits() throws InvalidInputException { ++ CompilationUnit[] units = super.getCompilationUnits(); ++ for (int i = 0; i < units.length; ++i) ++ this.commandLineCompilationUnits.add(units[i]); ++ return units; ++ } ++ ++ private String combine(char[] one, char[] two) { ++ StringBuffer b = new StringBuffer(); ++ b.append(one); ++ b.append(two); ++ return b.toString(); ++ } ++ ++ private ZipOutputStream getZipOutput() throws IOException { ++ if (this.zipDestination != null && this.zipStream == null) { ++ OutputStream os; ++ if ("-".equals(this.zipDestination)) { //$NON-NLS-1$ ++ os = System.out; ++ } else { ++ os = new FileOutputStream(this.zipDestination); ++ } ++ zipStream = new ZipOutputStream(new BufferedOutputStream(os)); ++ zipStream.setMethod(ZipOutputStream.STORED); ++ } ++ return zipStream; ++ } ++ ++ private ZipOutputStream getDependencyOutput() throws IOException { ++ if (this.zipDependencyDestination != null && this.zipDependencyStream == null) { ++ OutputStream os = new FileOutputStream(zipDependencyDestination); ++ zipDependencyStream = new ZipOutputStream(new BufferedOutputStream(os)); ++ zipDependencyStream.setMethod(ZipOutputStream.STORED); ++ } ++ return zipDependencyStream; ++ } ++ ++ public void outputClassFiles(CompilationResult unitResult) { ++ if (this.syntaxOnly) { ++ return; ++ } ++ if (this.zipDestination == null) { ++ // Nothing special to do here. ++ super.outputClassFiles(unitResult); ++ return; ++ } ++ if (unitResult == null || unitResult.hasErrors()) { ++ return; ++ } ++ ++ // If we are compiling with indirect dispatch, we don't need ++ // any dependent classes. If we are using the C++ ABI, then we ++ // do need the dependencies in order to do proper layout. ++ boolean gcjCompile = this.commandLineCompilationUnits.contains(unitResult.getCompilationUnit()); ++ if (this.zipDependencyDestination == null && !gcjCompile) { ++ return; ++ } ++ ++ try { ++ ZipOutputStream dest = gcjCompile ? getZipOutput() : getDependencyOutput(); ++ ClassFile[] classFiles = unitResult.getClassFiles(); ++ for (int i = 0; i < classFiles.length; ++i) { ++ ClassFile classFile = classFiles[i]; ++ String filename = combine(classFile.fileName(), SuffixConstants.SUFFIX_class); ++ if (this.verbose) ++ this.out.println( ++ Messages.bind( ++ Messages.compilation_write, ++ new String[] { ++ String.valueOf(this.exportedClassFilesCounter+1), ++ filename ++ })); ++ ZipEntry entry = new ZipEntry(filename); ++ byte[] contents = classFile.getBytes(); ++ CRC32 crc = new CRC32(); ++ crc.update(contents); ++ entry.setSize(contents.length); ++ entry.setCrc(crc.getValue()); ++ dest.putNextEntry(entry); ++ dest.write(contents); ++ dest.closeEntry(); ++ } ++ } catch (IOException err) { ++ fail(err); ++ } ++ } ++ ++ private String getArgument(String option) { ++ int index = option.indexOf('='); ++ return option.substring(index + 1); ++ } ++ ++ private void addPath(ArrayList result, String currentClasspathName) { ++ String customEncoding = null; ++ AccessRule[] accessRules = new AccessRule[0]; ++ String templates[] = new String[AccessRuleSet.MESSAGE_TEMPLATES_LENGTH]; ++ templates[0] = this.bind( ++ "template.restrictedAccess.type", //$NON-NLS-1$ ++ new String[] {"{0}", currentClasspathName}); //$NON-NLS-1$ ++ templates[1] = this.bind( ++ "template.restrictedAccess.constructor", //$NON-NLS-1$ ++ new String[] {"{0}", currentClasspathName}); //$NON-NLS-1$ ++ templates[2] = this.bind( ++ "template.restrictedAccess.method", //$NON-NLS-1$ ++ new String[] {"{0}", "{1}", currentClasspathName}); //$NON-NLS-1$ //$NON-NLS-2$ ++ templates[3] = this.bind( ++ "template.restrictedAccess.field", //$NON-NLS-1$ ++ new String[] {"{0}", "{1}", currentClasspathName}); //$NON-NLS-1$ //$NON-NLS-2$ ++ AccessRuleSet accessRuleSet = new AccessRuleSet(accessRules, templates); ++ FileSystem.Classpath currentClasspath = FileSystem ++ .getClasspath(currentClasspathName, ++ customEncoding, accessRuleSet); ++ if (currentClasspath != null) { ++ result.add(currentClasspath); ++ } ++ } ++ ++ private void parsePath(ArrayList result, String path) { ++ StringTokenizer iter = new StringTokenizer(path, File.pathSeparator); ++ while (iter.hasMoreTokens()) { ++ addPath(result, iter.nextToken()); ++ } ++ } ++ ++ protected void handleWarningToken(String token, boolean isEnabling, ++ boolean useEnableJavadoc) throws InvalidInputException { ++ // Recognize this for compatibility with older versions of gcj. ++ if ("deprecated".equals(token)) //$NON-NLS-1$ ++ token = "deprecation"; //$NON-NLS-1$ ++ else if ("static-access".equals(token) //$NON-NLS-1$ ++ || "dep-ann".equals(token) //$NON-NLS-1$ ++ || "over-ann".equals(token)) { //$NON-NLS-1$ ++ // Some exceptions to the warning naming rule. ++ } else if ("extraneous-semicolon".equals(token)) { //$NON-NLS-1$ ++ // Compatibility with earlier versions of gcj. ++ token = "semicolon"; //$NON-NLS-1$ ++ } else { ++ // Turn "foo-bar-baz" into eclipse-style "fooBarBaz". ++ StringBuffer newToken = new StringBuffer(token.length()); ++ StringTokenizer t = new StringTokenizer(token, "-"); //$NON-NLS-1$ ++ boolean first = true; ++ while (t.hasMoreTokens()) { ++ String next = t.nextToken(); ++ if (first) { ++ newToken.append(next); ++ first = false; ++ } else { ++ newToken.append(Character.toUpperCase(next.charAt(0))); ++ newToken.append(next.substring(1)); ++ } ++ } ++ token = newToken.toString(); ++ } ++ super.handleWarningToken(token, isEnabling, useEnableJavadoc); ++ } ++ ++ private void turnWarningsToErrors() { ++ Object[] entries = this.options.entrySet().toArray(); ++ for (int i = 0, max = entries.length; i < max; i++) { ++ Map.Entry entry = (Map.Entry) entries[i]; ++ if (!(entry.getKey() instanceof String)) ++ continue; ++ if (!(entry.getValue() instanceof String)) ++ continue; ++ if (((String) entry.getValue()).equals(CompilerOptions.WARNING)) { ++ this.options.put(entry.getKey(), CompilerOptions.ERROR); ++ } ++ } ++ } ++ ++ /** ++ * Set the debug level to the indicated value. The level should be ++ * between 0 and 2, inclusive, but this is not checked. ++ * @param level the debug level ++ */ ++ private void setDebugLevel(int level) { ++ this.options.put( ++ CompilerOptions.OPTION_LocalVariableAttribute, ++ level > 1 ? CompilerOptions.GENERATE : CompilerOptions.DO_NOT_GENERATE); ++ this.options.put( ++ CompilerOptions.OPTION_LineNumberAttribute, ++ level > 0 ? CompilerOptions.GENERATE : CompilerOptions.DO_NOT_GENERATE); ++ this.options.put( ++ CompilerOptions.OPTION_SourceFileAttribute, ++ CompilerOptions.GENERATE); ++ } ++ ++ private void readFileList(String file, ArrayList result) { ++ try { ++ BufferedReader b = new BufferedReader(new FileReader(file)); ++ String line; ++ while ((line = b.readLine()) != null) { ++ if (line.endsWith(SUFFIX_STRING_java)) ++ result.add(line); ++ } ++ b.close(); ++ } catch (IOException err) { ++ fail(err); ++ } ++ } ++ ++ private void readAllFileListFiles(ArrayList fileList, ArrayList result) { ++ Iterator it = fileList.iterator(); ++ while (it.hasNext()) { ++ readFileList((String) it.next(), result); ++ } ++ } ++ ++ private void handleWall(boolean enable) throws InvalidInputException { ++ // A somewhat arbitrary list. We use the GCC names ++ // here, and the local handleWarningToken translates ++ // for us. ++ handleWarningToken("constructor-name", enable, false); ++ handleWarningToken("pkg-default-method", enable, false); ++ handleWarningToken("masked-catch-block", enable, false); ++ handleWarningToken("all-deprecation", enable, false); ++ handleWarningToken("unused-local", enable, false); ++ handleWarningToken("unused-label", enable, false); ++ handleWarningToken("static-receiver", enable, false); ++ handleWarningToken("indirect-static", enable, false); ++ handleWarningToken("no-effect-assign", enable, false); ++ handleWarningToken("char-concat", enable, false); ++ handleWarningToken("useless-type-check", enable, false); ++ handleWarningToken("final-bound", enable, false); ++ handleWarningToken("assert-identifier", enable, false); ++ handleWarningToken("enum-identifier", enable, false); ++ handleWarningToken("finally", enable, false); ++ handleWarningToken("varargs-cast", enable, false); ++ handleWarningToken("unused", enable, false); ++ handleWarningToken("forbidden", enable, false); ++ } ++ ++ public void configure(String[] argv) throws InvalidInputException { ++ if ((argv == null) || (argv.length == 0)) { ++ // This is a "can't happen". ++ System.exit(1); ++ } ++ ++ ArrayList files = new ArrayList(); ++ ArrayList otherFiles = new ArrayList(); ++ String classpath = null; ++ boolean haveFileList = false; ++ boolean inhibitAllWarnings = false; ++ boolean treatWarningsAsErrors = false; ++ ++ for (int i = 0; i < argv.length; ++i) { ++ String currentArg = argv[i]; ++ ++ if (currentArg.startsWith("-fencoding=")) { //$NON-NLS-1$ ++ // Simply accept the last one. ++ String encoding = getArgument(currentArg); ++ try { // ensure encoding is supported ++ new InputStreamReader(new ByteArrayInputStream(new byte[0]), encoding); ++ } catch (UnsupportedEncodingException e) { ++ throw new InvalidInputException( ++ this.bind("configure.unsupportedEncoding", encoding)); //$NON-NLS-1$ ++ } ++ this.options.put(CompilerOptions.OPTION_Encoding, encoding); ++ } else if (currentArg.startsWith("-foutput-class-dir=")) { //$NON-NLS-1$ ++ String arg = getArgument(currentArg); ++ if (this.destinationPath != null) { ++ StringBuffer errorMessage = new StringBuffer(); ++ errorMessage.append("-d"); //$NON-NLS-1$ ++ errorMessage.append(' '); ++ errorMessage.append(arg); ++ throw new InvalidInputException( ++ this.bind("configure.duplicateOutputPath", errorMessage.toString())); //$NON-NLS-1$ ++ } ++ this.destinationPath = arg; - + this.generatePackagesStructure = true; ++ } else if (currentArg.startsWith("-fbootclasspath=")) { //$NON-NLS-1$ ++ classpath = getArgument(currentArg); ++ } else if (currentArg.equals("-fzip-target")) { //$NON-NLS-1$ ++ ++i; ++ if (i >= argv.length) ++ throw new InvalidInputException(this.bind("gcc.zipArg")); //$NON-NLS-1$ ++ this.zipDestination = argv[i]; ++ } else if (currentArg.equals("-fzip-dependency")) { //$NON-NLS-1$ ++ ++i; ++ if (i >= argv.length) ++ throw new InvalidInputException(this.bind("gcc.zipDepArg")); //$NON-NLS-1$ ++ this.zipDependencyDestination = argv[i]; ++ } else if (currentArg.startsWith("-g")) { //$NON-NLS-1$ ++ if (currentArg.equals("-g0")) { //$NON-NLS-1$ ++ setDebugLevel(0); ++ } else if (currentArg.equals("-g2") || currentArg.equals("-g3") //$NON-NLS-1$ //$NON-NLS-2$ ++ || currentArg.equals("-g")) { //$NON-NLS-1$ ++ setDebugLevel(2); ++ } else { ++ // Handle -g1 but also things like -gstabs. ++ setDebugLevel(1); ++ } ++ } else if (currentArg.equals("-Werror")) { //$NON-NLS-1$ ++ treatWarningsAsErrors = true; ++ } else if (currentArg.equals("-Wno-error")) { //$NON-NLS-1$ ++ treatWarningsAsErrors = false; ++ } else if (currentArg.equals("-Wall")) { //$NON-NLS-1$ ++ handleWall(true); ++ } else if (currentArg.equals("-Wno-all")) { //$NON-NLS-1$ ++ handleWall(false); ++ } else if (currentArg.startsWith("-Wno-")) { //$NON-NLS-1$ ++ handleWarningToken(currentArg.substring(5), false, false); ++ } else if (currentArg.startsWith("-W")) { //$NON-NLS-1$ ++ handleWarningToken(currentArg.substring(2), true, false); ++ } else if (currentArg.equals("-w")) { //$NON-NLS-1$ ++ inhibitAllWarnings = true; ++ } else if (currentArg.startsWith("-O")) { //$NON-NLS-1$ ++ // Ignore. ++ } else if (currentArg.equals("-v")) { //$NON-NLS-1$ ++ this.verbose = true; ++ } else if (currentArg.equals("-fsyntax-only")) { //$NON-NLS-1$ ++ this.syntaxOnly = true; ++ } else if (currentArg.startsWith("-fsource=")) { //$NON-NLS-1$ ++ currentArg = getArgument(currentArg); ++ if (currentArg.equals("1.3")) { //$NON-NLS-1$ ++ this.options.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_1_3); ++ } else if (currentArg.equals("1.4")) { //$NON-NLS-1$ ++ this.options.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_1_4); ++ } else if (currentArg.equals("1.5") || currentArg.equals("5") || currentArg.equals("5.0")) { //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ ++ this.options.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_1_5); ++ } else if (currentArg.equals("1.6") || currentArg.equals("6") || currentArg.equals("6.0")) { //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ ++ this.options.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_1_6); ++ } else { ++ throw new InvalidInputException(this.bind("configure.source", currentArg)); //$NON-NLS-1$ ++ } ++ } else if (currentArg.startsWith("-ftarget=")) { //$NON-NLS-1$ ++ currentArg = getArgument(currentArg); ++ if (currentArg.equals("1.1")) { //$NON-NLS-1$ ++ this.options.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_1_1); ++ } else if (currentArg.equals("1.2")) { //$NON-NLS-1$ ++ this.options.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_1_2); ++ } else if (currentArg.equals("1.3")) { //$NON-NLS-1$ ++ this.options.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_1_3); ++ } else if (currentArg.equals("1.4")) { //$NON-NLS-1$ ++ this.options.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_1_4); ++ } else if (currentArg.equals("1.5") || currentArg.equals("5") || currentArg.equals("5.0")) { //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ ++ this.options.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_1_5); ++ } else if (currentArg.equals("1.6") || currentArg.equals("6") || currentArg.equals("6.0")) { //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ ++ this.options.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_1_6); ++ } else if (currentArg.equals("jsr14")) { //$NON-NLS-1$ ++ this.options.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_JSR14); ++ } else { ++ throw new InvalidInputException(this.bind("configure.targetJDK", currentArg)); //$NON-NLS-1$ ++ } ++ } else if (currentArg.equals("-ffilelist-file")) { //$NON-NLS-1$ ++ haveFileList = true; ++ } else if (currentArg.endsWith(SuffixConstants.SUFFIX_STRING_java)) { ++ files.add(currentArg); ++ } else if (currentArg.charAt(0) == '-'){ ++ // FIXME: error if not a file? ++ } else { ++ otherFiles.add(currentArg); ++ } ++ } ++ ++ // Read the file list file. We read them all, but really there ++ // will only be one. ++ if (haveFileList) ++ readAllFileListFiles(otherFiles, files); ++ ++ this.filenames = (String[]) files.toArray(new String[0]); ++ this.encodings = new String[this.filenames.length]; ++ this.destinationPaths = new String[this.filenames.length]; ++ for (int i = 0; i < this.filenames.length; ++i) ++ this.destinationPaths[i] = this.destinationPath; ++ ++ // Classpath processing. ++ ArrayList result = new ArrayList(); ++ if (classpath == null) ++ throw new InvalidInputException(this.bind("gcc.noClasspath")); //$NON-NLS-1$ ++ parsePath(result, classpath); ++ ++ // We must always create both output files, even if one is not used. ++ // That way we will always pass valid zip file on to jc1. ++ try { ++ getZipOutput(); ++ getDependencyOutput(); ++ } catch (IOException err) { ++ fail(err); ++ } ++ ++ if (inhibitAllWarnings) ++ disableWarnings(); ++ if (treatWarningsAsErrors) ++ turnWarningsToErrors(); ++ ++ this.checkedClasspaths = new FileSystem.Classpath[result.size()]; ++ result.toArray(this.checkedClasspaths); ++ ++ this.logger.logCommandLineArguments(argv); ++ this.logger.logOptions(this.options); ++ this.logger.logClasspath(this.checkedClasspaths); ++ ++ this.repetitions = 1; ++ } ++ ++ public boolean compile(String[] argv) { ++ boolean result = super.compile(argv); ++ try { ++ if (zipStream != null) { ++ zipStream.finish(); ++ zipStream.close(); ++ } ++ if (zipDependencyStream != null) { ++ zipDependencyStream.finish(); ++ zipDependencyStream.close(); ++ } ++ } catch (IOException err) { ++ fail(err); ++ } ++ return result; ++ } ++ ++ public static void main(String[] argv) { ++ boolean result = new GCCMain(new PrintWriter(System.out), new PrintWriter(System.err), false).compile(argv); ++ System.exit(result ? 0 : 1); ++ } ++} +diff -urN ./src~/org.eclipse.jdt.core/org/eclipse/jdt/internal/compiler/batch/messages.properties ./src/org.eclipse.jdt.core/org/eclipse/jdt/internal/compiler/batch/messages.properties +--- ./src~/org.eclipse.jdt.core/org/eclipse/jdt/internal/compiler/batch/messages.properties 2007-02-12 19:46:33.000000000 +0100 ++++ ./src/org.eclipse.jdt.core/org/eclipse/jdt/internal/compiler/batch/messages.properties 2007-03-03 19:55:20.000000000 +0100 +@@ -249,3 +249,8 @@ + template.restrictedAccess.constructor = The constructor {0} is not accessible due to restriction on classpath entry {1} + template.restrictedAccess.field = The field {0} from the type {1} is not accessible due to restriction on classpath entry {2} + template.restrictedAccess.method = The method {0} from the type {1} is not accessible due to restriction on classpath entry {2} ++ ++# GCCMain messages. ++gcc.zipArg=-fzip-target requires argument ++gcc.zipDepArg=-fzip-dependency requires argument ++gcc.noClasspath=no classpath specified diff --cc debian/rules index cdcd821,0000000..9124ea2 mode 100755,000000..100755 --- a/debian/rules +++ b/debian/rules @@@ -1,177 -1,0 +1,177 @@@ +#!/usr/bin/make -f + +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/rules/simple-patchsys.mk + +gcc_version = 4.1 +ant_version = 1.6 +ant_version = +GCJ = gcj-$(gcc_version) +GIJ = gij-$(gcc_version) +GCJDBTOOL = gcj-dbtool-$(gcc_version) + +DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) + +with_native := yes +with_rebuild := yes + +ifneq (,$(findstring $(DEB_HOST_ARCH), arm)) + with_rebuild := no +endif + +JAR = eclipse-ecj.jar + +default: build + - eclipse_root = ../eclipse-3.2.2/source-tree ++eclipse_root = ../eclipse-3.3~M7/source-tree + +get-source: + test -d $(eclipse_root) + rm -rf src + mkdir -p src/org.eclipse.jdt.core + cp -a $(eclipse_root)/plugins/org.eclipse.jdt.core/compiler/org \ + src/org.eclipse.jdt.core/ + cp -a $(eclipse_root)/plugins/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch \ + src/org.eclipse.jdt.core/org/eclipse/jdt/internal/compiler/ + + cp -a $(eclipse_root)/plugins/org.eclipse.jdt.core/antadapter/org/eclipse/jdt/core/JDTCompilerAdapter.java \ + src/org.eclipse.jdt.core/org/eclipse/jdt/core/ + cp -a $(eclipse_root)/plugins/org.eclipse.jdt.core/antadapter/org/eclipse/jdt/internal/antadapter \ + src/org.eclipse.jdt.core/org/eclipse/jdt/internal/ + + +build/ecj:: build/stamp-bytecode build/stamp-nativecode + +build/stamp-bytecode: + rm -rf build/bin + mkdir -p build/bin + + cp -r src/org.eclipse.jdt.core/org build/bin/ + find build/bin -name '*.java' > build/sourcefiles + split -l 25 build/sourcefiles ecj-sources. + ls -l + mv ecj-sources.* build/bin + ls -l . build/bin +ifeq (0,1) + set -e; \ + for list in $$(find build/bin -name 'ecj-sources.*'); do \ + echo "building files in $$list ..."; \ + echo $(GCJ) -d build/bin -C -g \ + -I/usr/share/ant$(ant_version)/lib/ant.jar \ + -Ibuild/bin \ + @$$list; \ + $(GCJ) -v -d build/bin -C -g \ + -I/usr/share/ant$(ant_version)/lib/ant.jar \ + -Ibuild/bin \ + @$$list; \ + done +else + set -e; \ + for list in $$(find build/bin -name 'ecj-sources.*'); do \ + echo "building files in $$list ..."; \ + echo $(GCJ) -d build/bin -C -g \ + -I/usr/share/ant$(ant_version)/lib/ant.jar \ + -Ibuild/bin \ + $$(cat $$list); \ + $(GCJ) -v -d build/bin -C -g \ + -I/usr/share/ant$(ant_version)/lib/ant.jar \ + -Ibuild/bin \ + $$(cat $$list); \ + done +endif + find build/bin -name 'sources.list' -exec rm -f {} \; + find build/bin -name '*.java' -exec rm -f {} \; + find build/bin -name '*.html' -exec rm -f {} \; + + mkdir -p build/bootstrap + fastjar -c -C build/bin . -f build/bootstrap/$(JAR) + +ifeq ($(with_rebuild),yes) + rm -rf build/bin + mkdir -p build/bin + cp -r src/org.eclipse.jdt.core/org build/bin/ + + time $(GIJ) \ + -classpath build/bootstrap/$(JAR):/usr/share/ant$(ant_version)/lib/ant.jar \ + org.eclipse.jdt.internal.compiler.batch.Main \ + -bootclasspath /usr/share/java/libgcj-$(gcc_version).jar \ + build/bin + + find build/bin -name '*.java' -exec rm -f {} \; + find build/bin -name '*.html' -exec rm -f {} \; + + mkdir -p build/dist + fastjar -c -C build/bin . -f build/dist/$(JAR) +else + mkdir -p build/dist + cp -p build/bootstrap/$(JAR) build/dist/$(JAR) +endif + mkdir -p build/exe + cp build/dist/$(JAR) build/exe/ecj-standalone.jar + zip -d build/exe/ecj-standalone.jar \ + 'org/eclipse/jdt/core/JDTCompilerAdapter*' + + touch build/stamp-bytecode + +build/stamp-nativecode: build/stamp-bytecode + find build/dist -name '*.jar.*.jar' | xargs -r rm -f +ifeq ($(with_native),yes) + : # $(JAR).so + ifneq (,$(filter $(DEB_HOST_ARCH), hppa)) + $(GCJ) \ + -O2 -g -Wl,-Bsymbolic,-O1 -shared -fPIC -fjni -findirect-dispatch \ + -o build/dist/$(JAR).so build/dist/$(JAR) + $(GCJDBTOOL) -f build/dist/eclipse-ecj.db \ + build/dist/$(JAR).so /usr/lib/gcj/$(JAR).so \ + || touch build/dist/eclipse-ecj.db + else + PYTHONPATH=$(CURDIR)/debian time python debian/aot-compile \ + --gcj=$(GCJ) --dbtool=$(GCJDBTOOL) \ + -L /usr/lib/gcj build/dist build/dist + mv build/dist/$(JAR).db build/dist/eclipse-ecj.db + endif + + : # ecj-gcj + time $(GCJ) \ + -O2 -g -Wl,-O1 \ + --main=org.eclipse.jdt.internal.compiler.batch.Main \ + -o build/exe/ecj-gcj build/exe/ecj-standalone.jar +endif + + touch build/stamp-nativecode + + +install/ecj:: + mkdir -p debian/tmp/usr/share/java + install -m 644 build/dist/$(JAR) debian/tmp/usr/share/java/ + + mkdir -p debian/tmp/usr/bin + install -m 755 ecj debian/tmp/usr/bin/ + +install/ecj-gcj:: +ifeq ($(with_native),yes) + mkdir -p debian/tmp/usr/lib/gcj + install -m 644 build/dist/$(JAR).so debian/tmp/usr/lib/gcj + + mkdir -p debian/tmp/usr/share/gcj/classmap.d + install -m 644 build/dist/eclipse-ecj.db \ + debian/tmp/usr/share/gcj/classmap.d/ + + mkdir -p debian/tmp/usr/bin + install -m 755 build/exe/ecj-gcj debian/tmp/usr/bin/ +endif + mkdir -p debian/ecj-gcj/usr/share/man/man1 + ln -sf ecj.1.gz \ + debian/ecj-gcj/usr/share/man/man1/ecj-gcj.1.gz + +install/ecj-bootstrap:: + mkdir -p debian/ecj-bootstrap/usr/bin + install -m 755 ecj-bootstrap debian/ecj-bootstrap/usr/bin/ + + mkdir -p debian/ecj-bootstrap/usr/share/man/man1 + ln -sf ecj.1.gz \ + debian/ecj-bootstrap/usr/share/man/man1/ecj-bootstrap.1.gz + +clean:: + rm -rf build + rm -f debian/*.pyc -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/ecj.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

