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

Reply via email to