This is an automated email from the git hooks/post-receive script. ebourg-guest pushed a commit to branch master in repository ecj.
commit 95a7ced246fc995c7b541d6a05db11a3739f5c88 Merge: cd8fe85 4c5fd09 Author: Matthias Klose <[email protected]> Date: Tue Jul 28 18:55:13 2009 +0200 Import Debian changes 3.5-1 ecj (3.5-1) unstable; urgency=low * New upstream version. * Update to the R3_5_maintenance branch 20090728. * Update GCCMain.java. * Build using gcj-4.4-jdk on all architectures. debian/changelog | 9 + debian/control | 10 +- debian/rules | 41 +- src/org.eclipse.jdt.core/build.xml | 12 +- .../org/eclipse/jdt/core/JDTCompilerAdapter.java | 110 +- .../jdt/core/compiler/CategorizedProblem.java | 30 +- .../eclipse/jdt/core/compiler/CharOperation.java | 285 +- .../jdt/core/compiler/CompilationProgress.java | 28 +- .../org/eclipse/jdt/core/compiler/IProblem.java | 186 +- .../jdt/core/compiler/InvalidInputException.java | 2 +- .../jdt/core/compiler/batch/BatchCompiler.java | 12 +- .../internal/antadapter/AntAdapterMessages.java | 4 +- .../eclipse/jdt/internal/compiler/ASTVisitor.java | 12 +- .../AbstractAnnotationProcessorManager.java | 36 +- .../eclipse/jdt/internal/compiler/ClassFile.java | 1686 +++--- .../jdt/internal/compiler/ClassFilePool.java | 6 +- .../jdt/internal/compiler/CompilationResult.java | 49 +- .../eclipse/jdt/internal/compiler/Compiler.java | 279 +- .../jdt/internal/compiler/ConfigurableOption.java | 220 - .../compiler/DefaultErrorHandlingPolicies.java | 4 +- .../jdt/internal/compiler/ICompilerRequestor.java | 4 +- .../jdt/internal/compiler/IDebugRequestor.java | 14 +- .../internal/compiler/IErrorHandlingPolicy.java | 6 +- .../jdt/internal/compiler/IProblemFactory.java | 16 +- .../jdt/internal/compiler/ProcessTaskManager.java | 32 +- .../eclipse/jdt/internal/compiler/ReadManager.java | 26 +- .../internal/compiler/ast/AND_AND_Expression.java | 116 +- .../eclipse/jdt/internal/compiler/ast/ASTNode.java | 96 +- .../compiler/ast/AbstractMethodDeclaration.java | 65 +- .../compiler/ast/AbstractVariableDeclaration.java | 32 +- .../compiler/ast/AllocationExpression.java | 99 +- .../jdt/internal/compiler/ast/Annotation.java | 110 +- .../compiler/ast/AnnotationMethodDeclaration.java | 42 +- .../jdt/internal/compiler/ast/Argument.java | 47 +- .../compiler/ast/ArrayAllocationExpression.java | 10 +- .../internal/compiler/ast/ArrayInitializer.java | 54 +- .../compiler/ast/ArrayQualifiedTypeReference.java | 38 +- .../jdt/internal/compiler/ast/ArrayReference.java | 37 +- .../internal/compiler/ast/ArrayTypeReference.java | 38 +- .../jdt/internal/compiler/ast/AssertStatement.java | 313 +- .../jdt/internal/compiler/ast/Assignment.java | 100 +- .../internal/compiler/ast/BinaryExpression.java | 97 +- .../eclipse/jdt/internal/compiler/ast/Block.java | 184 +- .../jdt/internal/compiler/ast/BranchStatement.java | 8 +- .../jdt/internal/compiler/ast/BreakStatement.java | 20 +- .../jdt/internal/compiler/ast/CaseStatement.java | 18 +- .../jdt/internal/compiler/ast/CastExpression.java | 82 +- .../jdt/internal/compiler/ast/CharLiteral.java | 43 +- .../internal/compiler/ast/ClassLiteralAccess.java | 24 +- .../eclipse/jdt/internal/compiler/ast/Clinit.java | 48 +- .../compiler/ast/CombinedBinaryExpression.java | 138 +- .../compiler/ast/CompilationUnitDeclaration.java | 1028 ++-- .../internal/compiler/ast/CompoundAssignment.java | 78 +- .../compiler/ast/ConditionalExpression.java | 243 +- .../compiler/ast/ConstructorDeclaration.java | 116 +- .../internal/compiler/ast/ContinueStatement.java | 36 +- .../jdt/internal/compiler/ast/DoStatement.java | 69 +- .../jdt/internal/compiler/ast/DoubleLiteral.java | 175 +- .../jdt/internal/compiler/ast/EmptyStatement.java | 19 +- .../jdt/internal/compiler/ast/EqualExpression.java | 367 +- .../compiler/ast/ExplicitConstructorCall.java | 74 +- .../jdt/internal/compiler/ast/Expression.java | 197 +- .../compiler/ast/ExtendedStringLiteral.java | 26 +- .../jdt/internal/compiler/ast/FalseLiteral.java | 8 +- .../internal/compiler/ast/FieldDeclaration.java | 59 +- .../jdt/internal/compiler/ast/FieldReference.java | 256 +- .../jdt/internal/compiler/ast/FloatLiteral.java | 176 +- .../jdt/internal/compiler/ast/ForStatement.java | 248 +- .../internal/compiler/ast/ForeachStatement.java | 224 +- .../jdt/internal/compiler/ast/IfStatement.java | 395 +- .../jdt/internal/compiler/ast/ImportReference.java | 10 +- .../jdt/internal/compiler/ast/Initializer.java | 42 +- .../compiler/ast/InstanceOfExpression.java | 132 +- .../jdt/internal/compiler/ast/IntLiteral.java | 144 +- .../internal/compiler/ast/IntLiteralMinValue.java | 7 +- .../eclipse/jdt/internal/compiler/ast/Javadoc.java | 144 +- .../compiler/ast/JavadocAllocationExpression.java | 20 +- .../compiler/ast/JavadocArgumentExpression.java | 16 +- .../ast/JavadocArrayQualifiedTypeReference.java | 4 +- .../compiler/ast/JavadocFieldReference.java | 27 +- .../compiler/ast/JavadocImplicitTypeReference.java | 14 +- .../internal/compiler/ast/JavadocMessageSend.java | 22 +- .../ast/JavadocQualifiedTypeReference.java | 11 +- .../compiler/ast/JavadocReturnStatement.java | 6 +- .../compiler/ast/JavadocSingleNameReference.java | 4 +- .../compiler/ast/JavadocSingleTypeReference.java | 19 +- .../internal/compiler/ast/LabeledStatement.java | 62 +- .../eclipse/jdt/internal/compiler/ast/Literal.java | 16 +- .../internal/compiler/ast/LocalDeclaration.java | 121 +- .../jdt/internal/compiler/ast/LongLiteral.java | 107 +- .../internal/compiler/ast/LongLiteralMinValue.java | 6 +- .../jdt/internal/compiler/ast/MagicLiteral.java | 14 +- .../internal/compiler/ast/MarkerAnnotation.java | 6 +- .../jdt/internal/compiler/ast/MemberValuePair.java | 43 +- .../jdt/internal/compiler/ast/MessageSend.java | 213 +- .../internal/compiler/ast/MethodDeclaration.java | 56 +- .../jdt/internal/compiler/ast/NameReference.java | 28 +- .../internal/compiler/ast/NormalAnnotation.java | 6 +- .../jdt/internal/compiler/ast/NullLiteral.java | 10 +- .../jdt/internal/compiler/ast/NumberLiteral.java | 17 +- .../internal/compiler/ast/OR_OR_Expression.java | 120 +- .../internal/compiler/ast/OperatorExpression.java | 360 +- .../jdt/internal/compiler/ast/OperatorIds.java | 18 +- .../ast/ParameterizedQualifiedTypeReference.java | 47 +- .../ast/ParameterizedSingleTypeReference.java | 45 +- .../internal/compiler/ast/PostfixExpression.java | 12 +- .../internal/compiler/ast/PrefixExpression.java | 8 +- .../ast/QualifiedAllocationExpression.java | 95 +- .../compiler/ast/QualifiedNameReference.java | 564 +- .../compiler/ast/QualifiedSuperReference.java | 82 +- .../compiler/ast/QualifiedThisReference.java | 28 +- .../compiler/ast/QualifiedTypeReference.java | 42 +- .../jdt/internal/compiler/ast/Reference.java | 54 +- .../jdt/internal/compiler/ast/ReturnStatement.java | 43 +- .../compiler/ast/SingleMemberAnnotation.java | 10 +- .../internal/compiler/ast/SingleNameReference.java | 272 +- .../internal/compiler/ast/SingleTypeReference.java | 30 +- .../jdt/internal/compiler/ast/Statement.java | 231 +- .../jdt/internal/compiler/ast/StringLiteral.java | 24 +- .../compiler/ast/StringLiteralConcatenation.java | 22 +- .../internal/compiler/ast/SubRoutineStatement.java | 24 +- .../jdt/internal/compiler/ast/SuperReference.java | 16 +- .../jdt/internal/compiler/ast/SwitchStatement.java | 190 +- .../compiler/ast/SynchronizedStatement.java | 99 +- .../jdt/internal/compiler/ast/ThisReference.java | 42 +- .../jdt/internal/compiler/ast/ThrowStatement.java | 6 +- .../jdt/internal/compiler/ast/TrueLiteral.java | 10 +- .../jdt/internal/compiler/ast/TryStatement.java | 90 +- .../jdt/internal/compiler/ast/TypeDeclaration.java | 167 +- .../jdt/internal/compiler/ast/TypeParameter.java | 32 +- .../jdt/internal/compiler/ast/TypeReference.java | 20 +- .../jdt/internal/compiler/ast/UnaryExpression.java | 17 +- .../jdt/internal/compiler/ast/WhileStatement.java | 144 +- .../jdt/internal/compiler/ast/Wildcard.java | 20 +- .../compiler/batch/ClasspathDirectory.java | 6 +- .../jdt/internal/compiler/batch/ClasspathJar.java | 153 +- .../internal/compiler/batch/ClasspathLocation.java | 14 +- .../compiler/batch/ClasspathSourceJar.java | 30 +- .../internal/compiler/batch/CompilationUnit.java | 6 +- .../jdt/internal/compiler/batch/FileFinder.java | 4 +- .../jdt/internal/compiler/batch/FileSystem.java | 12 +- .../jdt/internal/compiler/batch/GCCMain.java | 23 +- .../eclipse/jdt/internal/compiler/batch/Main.java | 1190 ++-- .../internal/compiler/batch/messages.properties | 22 +- .../internal/compiler/classfmt/AnnotationInfo.java | 22 +- .../compiler/classfmt/AnnotationMethodInfo.java | 6 +- .../compiler/classfmt/ClassFileConstants.java | 22 +- .../compiler/classfmt/ClassFileReader.java | 188 +- .../compiler/classfmt/ClassFileStruct.java | 46 +- .../compiler/classfmt/ClassFormatException.java | 20 +- .../jdt/internal/compiler/classfmt/FieldInfo.java | 76 +- .../compiler/classfmt/FieldInfoWithAnnotation.java | 6 +- .../internal/compiler/classfmt/InnerClassInfo.java | 50 +- .../jdt/internal/compiler/classfmt/MethodInfo.java | 92 +- .../jdt/internal/compiler/codegen/BranchLabel.java | 5 +- .../compiler/codegen/CachedIndexEntry.java | 4 +- .../jdt/internal/compiler/codegen/CaseLabel.java | 32 +- .../internal/compiler/codegen/CharArrayCache.java | 14 +- .../jdt/internal/compiler/codegen/CodeStream.java | 5834 ++++++++++---------- .../internal/compiler/codegen/ConstantPool.java | 301 +- .../jdt/internal/compiler/codegen/DoubleCache.java | 10 +- .../internal/compiler/codegen/ExceptionLabel.java | 25 +- .../jdt/internal/compiler/codegen/FloatCache.java | 8 +- .../internal/compiler/codegen/IntegerCache.java | 10 +- .../jdt/internal/compiler/codegen/Label.java | 8 +- .../jdt/internal/compiler/codegen/LongCache.java | 14 +- .../jdt/internal/compiler/codegen/ObjectCache.java | 8 +- .../internal/compiler/codegen/StackMapFrame.java | 16 +- .../compiler/codegen/StackMapFrameCodeStream.java | 104 +- .../compiler/codegen/VerificationTypeInfo.java | 8 +- .../internal/compiler/env/AccessRestriction.java | 8 +- .../jdt/internal/compiler/env/AccessRule.java | 16 +- .../jdt/internal/compiler/env/AccessRuleSet.java | 123 +- .../compiler/env/IBinaryElementValuePair.java | 4 +- .../jdt/internal/compiler/env/IBinaryField.java | 4 +- .../jdt/internal/compiler/env/IBinaryMethod.java | 4 +- .../jdt/internal/compiler/env/IBinaryType.java | 14 +- .../internal/compiler/env/ICompilationUnit.java | 4 +- .../jdt/internal/compiler/env/IDependent.java | 8 +- .../internal/compiler/env/INameEnvironment.java | 4 +- .../jdt/internal/compiler/env/ISourceImport.java | 4 +- .../compiler/env/NameEnvironmentAnswer.java | 14 +- .../compiler/flow/ConditionalFlowInfo.java | 172 +- .../flow/ExceptionHandlingFlowContext.java | 39 +- .../internal/compiler/flow/FinallyFlowContext.java | 90 +- .../jdt/internal/compiler/flow/FlowContext.java | 152 +- .../jdt/internal/compiler/flow/FlowInfo.java | 84 +- .../compiler/flow/InitializationFlowContext.java | 57 +- .../compiler/flow/InsideSubRoutineFlowContext.java | 8 +- .../internal/compiler/flow/LabelFlowContext.java | 16 +- .../internal/compiler/flow/LoopingFlowContext.java | 145 +- .../internal/compiler/flow/NullInfoRegistry.java | 104 +- .../internal/compiler/flow/SwitchFlowContext.java | 18 +- .../compiler/flow/UnconditionalFlowInfo.java | 592 +- .../internal/compiler/impl/BooleanConstant.java | 47 +- .../jdt/internal/compiler/impl/ByteConstant.java | 88 +- .../jdt/internal/compiler/impl/CharConstant.java | 33 +- .../internal/compiler/impl/CompilerOptions.java | 1419 ++--- .../jdt/internal/compiler/impl/CompilerStats.java | 2 +- .../jdt/internal/compiler/impl/Constant.java | 686 ++- .../jdt/internal/compiler/impl/DoubleConstant.java | 37 +- .../jdt/internal/compiler/impl/FloatConstant.java | 38 +- .../jdt/internal/compiler/impl/ITypeRequestor.java | 4 +- .../jdt/internal/compiler/impl/IntConstant.java | 47 +- .../jdt/internal/compiler/impl/IrritantSet.java | 254 + .../jdt/internal/compiler/impl/LongConstant.java | 38 +- .../internal/compiler/impl/ReferenceContext.java | 7 +- .../jdt/internal/compiler/impl/ShortConstant.java | 89 +- .../jdt/internal/compiler/impl/StringConstant.java | 50 +- .../compiler/lookup/AnnotationBinding.java | 10 +- .../internal/compiler/lookup/AnnotationHolder.java | 15 +- .../jdt/internal/compiler/lookup/ArrayBinding.java | 88 +- .../internal/compiler/lookup/BaseTypeBinding.java | 257 +- .../lookup/BinaryLocalVariableBinding.java | 24 - .../compiler/lookup/BinaryTypeBinding.java | 398 +- .../jdt/internal/compiler/lookup/Binding.java | 11 +- .../jdt/internal/compiler/lookup/BlockScope.java | 70 +- .../internal/compiler/lookup/CaptureBinding.java | 48 +- .../jdt/internal/compiler/lookup/ClassScope.java | 178 +- .../compiler/lookup/CompilationUnitScope.java | 285 +- .../compiler/lookup/ExtraCompilerModifiers.java | 18 +- .../jdt/internal/compiler/lookup/FieldBinding.java | 62 +- .../internal/compiler/lookup/ImportBinding.java | 10 +- .../compiler/lookup/ImportConflictBinding.java | 6 +- .../internal/compiler/lookup/InferenceContext.java | 27 +- .../compiler/lookup/InnerEmulationDependency.java | 4 +- .../internal/compiler/lookup/InvocationSite.java | 15 +- .../internal/compiler/lookup/LocalTypeBinding.java | 22 +- .../compiler/lookup/LocalVariableBinding.java | 67 +- .../compiler/lookup/LookupEnvironment.java | 358 +- .../compiler/lookup/MemberTypeBinding.java | 14 +- .../internal/compiler/lookup/MethodBinding.java | 425 +- .../jdt/internal/compiler/lookup/MethodScope.java | 140 +- .../internal/compiler/lookup/MethodVerifier.java | 233 +- .../internal/compiler/lookup/MethodVerifier15.java | 172 +- .../compiler/lookup/MissingTypeBinding.java | 2 +- .../compiler/lookup/NestedTypeBinding.java | 347 +- .../internal/compiler/lookup/PackageBinding.java | 54 +- .../compiler/lookup/ParameterizedFieldBinding.java | 18 +- .../lookup/ParameterizedGenericMethodBinding.java | 235 +- .../lookup/ParameterizedMethodBinding.java | 53 +- .../compiler/lookup/ParameterizedTypeBinding.java | 268 +- .../internal/compiler/lookup/ProblemBinding.java | 6 +- .../compiler/lookup/ProblemFieldBinding.java | 6 +- .../compiler/lookup/ProblemMethodBinding.java | 6 +- .../compiler/lookup/ProblemPackageBinding.java | 4 +- .../compiler/lookup/ProblemReferenceBinding.java | 4 +- .../internal/compiler/lookup/RawTypeBinding.java | 63 +- .../internal/compiler/lookup/ReferenceBinding.java | 372 +- .../jdt/internal/compiler/lookup/Scope.java | 649 ++- .../internal/compiler/lookup/SignatureWrapper.java | 4 +- .../compiler/lookup/SourceTypeBinding.java | 273 +- ...ency.java => SourceTypeCollisionException.java} | 15 +- .../jdt/internal/compiler/lookup/Substitution.java | 8 +- .../compiler/lookup/SyntheticArgumentBinding.java | 18 +- .../compiler/lookup/SyntheticFieldBinding.java | 6 +- .../compiler/lookup/SyntheticMethodBinding.java | 131 +- .../jdt/internal/compiler/lookup/TagBits.java | 34 +- .../jdt/internal/compiler/lookup/TypeBinding.java | 170 +- .../internal/compiler/lookup/TypeConstants.java | 17 +- .../jdt/internal/compiler/lookup/TypeIds.java | 9 +- .../compiler/lookup/TypeVariableBinding.java | 195 +- .../lookup/UnresolvedAnnotationBinding.java | 4 +- .../lookup/UnresolvedReferenceBinding.java | 6 +- .../compiler/lookup/UpdatedMethodBinding.java | 25 - .../internal/compiler/lookup/VariableBinding.java | 16 +- .../internal/compiler/lookup/WildcardBinding.java | 180 +- .../jdt/internal/compiler/messages.properties | 2 +- .../compiler/parser/AbstractCommentParser.java | 368 +- .../internal/compiler/parser/JavadocParser.java | 585 +- .../compiler/parser/JavadocTagConstants.java | 60 +- .../jdt/internal/compiler/parser/NLSTag.java | 4 +- .../jdt/internal/compiler/parser/Parser.java | 4864 ++++++++-------- .../compiler/parser/ParserBasicInformation.java | 18 +- .../compiler/parser/RecoveredAnnotation.java | 114 +- .../internal/compiler/parser/RecoveredBlock.java | 191 +- .../internal/compiler/parser/RecoveredElement.java | 46 +- .../internal/compiler/parser/RecoveredField.java | 135 +- .../internal/compiler/parser/RecoveredImport.java | 14 +- .../compiler/parser/RecoveredInitializer.java | 180 +- .../compiler/parser/RecoveredLocalVariable.java | 75 +- .../internal/compiler/parser/RecoveredMethod.java | 317 +- .../compiler/parser/RecoveredStatement.java | 21 +- .../internal/compiler/parser/RecoveredType.java | 469 +- .../internal/compiler/parser/RecoveredUnit.java | 125 +- .../internal/compiler/parser/RecoveryScanner.java | 72 +- .../compiler/parser/RecoveryScannerData.java | 10 +- .../jdt/internal/compiler/parser/Scanner.java | 430 +- .../internal/compiler/parser/ScannerHelper.java | 50 +- .../internal/compiler/parser/TerminalTokens.java | 18 +- .../compiler/parser/diagnose/DiagnoseParser.java | 1162 ++-- .../compiler/parser/diagnose/LexStream.java | 144 +- .../compiler/parser/diagnose/RangeUtil.java | 68 +- .../jdt/internal/compiler/parser/parser1.rsc | Bin 25978 -> 25854 bytes .../jdt/internal/compiler/parser/parser12.rsc | Bin 268 -> 268 bytes .../jdt/internal/compiler/parser/parser13.rsc | Bin 268 -> 268 bytes .../jdt/internal/compiler/parser/parser14.rsc | Bin 1224 -> 1224 bytes .../jdt/internal/compiler/parser/parser15.rsc | Bin 944 -> 946 bytes .../jdt/internal/compiler/parser/parser16.rsc | Bin 1940 -> 1942 bytes .../jdt/internal/compiler/parser/parser17.rsc | Bin 701 -> 704 bytes .../jdt/internal/compiler/parser/parser18.rsc | Bin 8111 -> 8111 bytes .../jdt/internal/compiler/parser/parser2.rsc | Bin 24576 -> 24446 bytes .../jdt/internal/compiler/parser/parser20.rsc | Bin 13078 -> 13232 bytes .../jdt/internal/compiler/parser/parser21.rsc | Bin 5608 -> 5632 bytes .../jdt/internal/compiler/parser/parser22.rsc | Bin 624 -> 628 bytes .../jdt/internal/compiler/parser/parser24.rsc | Bin 624 -> 628 bytes .../jdt/internal/compiler/parser/parser3.rsc | Bin 1940 -> 1942 bytes .../jdt/internal/compiler/parser/parser4.rsc | Bin 3416 -> 3416 bytes .../jdt/internal/compiler/parser/parser5.rsc | Bin 1940 -> 1942 bytes .../jdt/internal/compiler/parser/parser6.rsc | Bin 980 -> 986 bytes .../jdt/internal/compiler/parser/parser8.rsc | Bin 624 -> 628 bytes .../jdt/internal/compiler/parser/parser9.rsc | Bin 16146 -> 16146 bytes .../compiler/parser/readableNames.properties | 16 +- .../compiler/problem/AbortCompilation.java | 10 +- .../compiler/problem/AbortCompilationUnit.java | 8 +- .../jdt/internal/compiler/problem/AbortMethod.java | 10 +- .../jdt/internal/compiler/problem/AbortType.java | 8 +- .../internal/compiler/problem/DefaultProblem.java | 20 +- .../compiler/problem/DefaultProblemFactory.java | 58 +- .../internal/compiler/problem/ProblemHandler.java | 98 +- .../internal/compiler/problem/ProblemReporter.java | 1722 +++--- .../compiler/problem/ProblemSeverities.java | 6 +- .../compiler/problem/ShouldNotImplement.java | 4 +- .../internal/compiler/problem/messages.properties | 41 +- .../internal/compiler/util/CompoundNameVector.java | 50 +- .../jdt/internal/compiler/util/FloatUtil.java | 40 +- .../internal/compiler/util/GenericXMLWriter.java | 4 +- .../jdt/internal/compiler/util/HashSetOfInt.java | 10 +- .../jdt/internal/compiler/util/HashtableOfInt.java | 44 +- .../compiler/util/HashtableOfIntValues.java | 56 +- .../internal/compiler/util/HashtableOfLong.java | 44 +- .../internal/compiler/util/HashtableOfObject.java | 54 +- .../compiler/util/HashtableOfObjectToInt.java | 14 +- .../compiler/util/HashtableOfObjectToIntArray.java | 37 +- .../internal/compiler/util/HashtableOfPackage.java | 38 +- .../internal/compiler/util/HashtableOfType.java | 38 +- .../internal/compiler/util/ManifestAnalyzer.java | 185 + .../jdt/internal/compiler/util/Messages.java | 22 +- .../jdt/internal/compiler/util/ObjectVector.java | 32 +- .../internal/compiler/util/SimpleLookupTable.java | 74 +- .../internal/compiler/util/SimpleNameVector.java | 42 +- .../jdt/internal/compiler/util/SimpleSet.java | 28 +- .../compiler/util/SimpleSetOfCharArray.java | 28 +- .../internal/compiler/util/SuffixConstants.java | 4 +- .../eclipse/jdt/internal/compiler/util/Util.java | 190 +- 345 files changed, 23329 insertions(+), 21398 deletions(-) diff --cc debian/changelog index fc249a1,0000000..fee4b8a mode 100644,000000..100644 --- a/debian/changelog +++ b/debian/changelog @@@ -1,434 -1,0 +1,443 @@@ ++ecj (3.5-1) unstable; urgency=low ++ ++ * New upstream version. ++ * Update to the R3_5_maintenance branch 20090728. ++ * Update GCCMain.java. ++ * Build using gcj-4.4-jdk on all architectures. ++ ++ -- Matthias Klose <[email protected]> Tue, 28 Jul 2009 18:55:13 +0200 ++ +ecj (3.4.2-4) unstable; urgency=low + + * Build using gcj-4.4-jdk on hppa. + + -- Matthias Klose <[email protected]> Sun, 15 Feb 2009 22:34:28 +0100 + +ecj (3.4.2-1) unstable; urgency=low + + * New upstream version 3.4.2, built from the v_894_R34x tag, + R3_4_maintenance branch. + + -- Matthias Klose <[email protected]> Sun, 15 Feb 2009 22:34:28 +0100 + +ecj (3.3.0+0728-11) unstable; urgency=low + + * Build again for alpha. + + -- Matthias Klose <[email protected]> Sun, 01 Feb 2009 09:31:00 +0100 + +ecj (3.3.0+0728-10) unstable; urgency=low + + * libecj-java: Recommend default-jre-headless | java2-runtime-headless + instead of java2-runtime. + + -- Matthias Klose <[email protected]> Sat, 06 Sep 2008 10:52:13 +0000 + +ecj (3.3.0+0728-9) unstable; urgency=low + + * Don't build on alpha, arm, hppa. + + -- Matthias Klose <[email protected]> Wed, 09 Apr 2008 04:12:54 +0200 + +ecj (3.3.0+0728-8) unstable; urgency=low + + * Fix build failure on alpha. + + -- Matthias Klose <[email protected]> Thu, 24 Jan 2008 19:58:40 +0100 + +ecj (3.3.0+0728-7) unstable; urgency=low + + * Build using gcj-4.3 on all archs but alpha. + + -- Matthias Klose <[email protected]> Thu, 24 Jan 2008 19:11:08 +0100 + +ecj (3.3.0+0728-6) unstable; urgency=low + + * Build-depend on libecj-java on arm. + + -- Matthias Klose <[email protected]> Mon, 14 Jan 2008 22:07:01 +0100 + +ecj (3.3.0+0728-5) unstable; urgency=medium + + * Make ecj architecture dependent, dependencies depend on the jvm used. + * ecj: Depend on gij-x.y. + + -- Matthias Klose <[email protected]> Thu, 06 Sep 2007 19:22:58 +0200 + +ecj (3.3.0+0728-4) unstable; urgency=low + + * Fix name of renamed jar file (Michael Koch). + + -- Matthias Klose <[email protected]> Wed, 05 Sep 2007 00:08:06 +0200 + +ecj (3.3.0+0728-3) unstable; urgency=medium + + * Use ecj-standalone.jar to build the ecj-gcj and ecj1 binaries. + * ecj-gcj: Depend on ecj. Closes: #440259. + + -- Matthias Klose <[email protected]> Thu, 30 Aug 2007 23:33:08 +0200 + +ecj (3.3.0+0728-2) unstable; urgency=low + + * Tighten build-dependency on libgcj-bc. + + -- Matthias Klose <[email protected]> Sat, 25 Aug 2007 20:12:38 +0200 + +ecj (3.3.0+0728-1) unstable; urgency=medium + + * New upstream version, taken from the R3_3_maintenance tag. + * Build using gcj-4.2 on all architectures except alpha and m68k. + * Stop building the ecj-bootstrap and ecj-bootstrap-gcj packages. + * Build a libecj-java-gcj package. + * Build an ecj1 package on arm, BC-compile ecj1. + * Update debian/copyright, eclipse is EPL, not CPL anymore. + + -- Matthias Klose <[email protected]> Sat, 25 Aug 2007 12:35:30 +0200 + +ecj (3.3.0-2) unstable; urgency=low + + * Apply fix for upstream report #195317. + + -- Matthias Klose <[email protected]> Fri, 20 Jul 2007 12:05:37 +0200 + +ecj (3.3.0-1) unstable; urgency=low + + * New upstream release. + * Don't reference the transitional bootstrap package in the README. + Closes: #426887. + * Split out the library into libecj-java. Closes: #421621. + + -- Matthias Klose <[email protected]> Sat, 7 Jul 2007 02:13:27 +0200 + +ecj (3.3~M7-2) unstable; urgency=low + + * debian/control: Make ecj and ecj-gcj conflict and replace their + eclipse-ecj and eclipse-ecj-gcj counterparts. Closes: #421302. + + -- Michael Koch <[email protected]> Sun, 20 May 2007 09:57:58 -0100 + +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 + + * 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/control index 187eab3,0000000..d7ed16a mode 100644,000000..100644 --- a/debian/control +++ b/debian/control @@@ -1,71 -1,0 +1,71 @@@ +Source: ecj +Section: devel +Priority: optional +Maintainer: Debian Java Maintainers <[email protected]> +Uploaders: Jerry Haltom <[email protected]>, Michael Koch <[email protected]>, Matthias Klose <[email protected]> +Build-Depends: cdbs (>= 0.4.26), debhelper (>= 5), - gcj-4.3 (>= 4.3.0-1) [!hppa], gcj-4.4-jdk [hppa], - libgcj-bc (>= 4.2.1-2), ++ gcj-4.4-jdk, ++ libgcj-bc (>= 4.3.3-1), + libecj-java (>= 3.3.0+0728) [arm], unzip [arm], + fastjar, ant, zip, dpkg (>= 1.13.19), python, time +Build-Conflicts: ecj-bootstrap-gcj (<< 3.2.2) - Standards-Version: 3.7.3 ++Standards-Version: 3.8.2 + +Package: ecj +Architecture: any +Depends: libecj-java (>= ${source:Version}), ${pkg:gij}, ${pkg:libgcjjar}, java-common (>= 0.23) +Recommends: ecj-gcj +Conflicts: ecj-bootstrap (<< 3.2.2), eclipse-ecj +Replaces: ecj-bootstrap (<< 3.2.2), eclipse-ecj +Suggests: ant +Description: standalone version of the Eclipse Java compiler + This package provides a standalone version of the Eclipse JDT compiler which + is distributed as part of Eclipse. It passes the JCK (Java Compatibility Kit) + and is compatible with Java 1.3, 1.4, 1.5, 1.6 and 1.7. + +Package: libecj-java +Architecture: all +Section: libs +Depends: java-common (>= 0.23) +Conflicts: ecj-bootstrap (<< 3.2.2), eclipse-ecj +Replaces: ecj-bootstrap (<< 3.2.2), eclipse-ecj, ecj (<< 3.3.0-1) - Recommends: libecj-java-gcj, default-jre-headless | java2-runtime-headless | java5-runtime-headless - Suggests: ecj, ant ++Recommends: default-jre-headless | java2-runtime-headless | java5-runtime-headless ++Suggests: ecj, ant, libecj-java-gcj +Description: Eclipse Java compiler (library) + This package provides a standalone version of the Eclipse JDT compiler library + which is distributed as part of Eclipse. It passes the JCK (Java Compatibility + Kit) and is compatible with Java 1.3, 1.4, 1.5, 1.6 and 1.7. + +Package: libecj-java-gcj +Architecture: any +Section: libs +Depends: java-common (>= 0.23), libecj-java (>= ${source:Version}), ${shlibs:Depends} +Replaces: ecj-bootstrap-gcj (<< 3.2.2), eclipse-ecj-gcj, ecj-gcj (<< 3.3.0+0728) +Description: Eclipse Java compiler (native library) + This package provides a standalone version of the Eclipse JDT compiler library + which is distributed as part of Eclipse. It passes the JCK (Java Compatibility + Kit) and is compatible with Java 1.3, 1.4, 1.5, 1.6 and 1.7. + . + This package contains a native version of libecj-java built using gcj. + +Package: ecj1 +Architecture: alpha arm armel +Section: devel +Depends: ${shlibs:Depends} +Description: java byte code compiler used by gcj + This package provides a standalone version of the java byte code compiler + used by gcj. + +Package: ecj-gcj +Architecture: any +Depends: ecj (>= ${source:Version}), libecj-java-gcj (>= ${source:Version}), ${shlibs:Depends} +Recommends: java-gcj-compat (>= 1.0.69) +Replaces: ecj-bootstrap-gcj (<< 3.2.2), eclipse-ecj-gcj +Conflicts: eclipse-ecj-gcj +Provides: libecj-java-gcj +Description: standalone version of the Eclipse Java compiler (native version) + This package provides a standalone version of the Eclipse JDT compiler which + is distributed as part of Eclipse. It passes the JCK (Java Compatibility Kit) + and is compatible with Java 1.3, 1.4, 1.5, 1.6 and 1.7. + . + This package contains a native version of ecj built using gcj. diff --cc debian/rules index 34ca18e,0000000..c11a68f mode 100755,000000..100755 --- a/debian/rules +++ b/debian/rules @@@ -1,252 -1,0 +1,243 @@@ +#!/usr/bin/make -f + +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/rules/simple-patchsys.mk + +DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) + - ifneq (,$(filter $(DEB_HOST_ARCH), hppa)) - GCC_VERSION = 4.4 - LIBGCJ_EXT = 10 - LIBGCJ_SOVER = 10 - REQ_VERSION = 4.4.0 - else - GCC_VERSION = 4.3 - LIBGCJ_EXT = 9 - LIBGCJ_SOVER = 90 - REQ_VERSION = 4.3.3 - endif ++GCC_VERSION = 4.4 ++LIBGCJ_EXT = 10 ++LIBGCJ_SOVER = 10 ++REQ_VERSION = 4.4.1 + +ant_version = 1.7 +ant_version = +GCJ = gcj-$(GCC_VERSION) +GIJ = gij-$(GCC_VERSION) +GCJDBTOOL = gcj-dbtool-$(GCC_VERSION) +GCJSUBDIR = /usr/lib/gcj-$(GCC_VERSION)-$(LIBGCJ_SOVER) + +with_native := yes +with_rebuild := yes +with_sourcebuild := yes + +ifneq (,$(filter $(DEB_HOST_ARCH), arm armel)) + with_rebuild := no +endif + +ifneq (,$(filter $(DEB_HOST_ARCH), arm)) + with_sourcebuild := no +endif + - ifneq (,$(filter $(DEB_HOST_ARCH), hppa)) - DEB_DH_GENCONTROL_ARGS = -- \ ++DEB_DH_GENCONTROL_ARGS = -- \ + '-Vpkg:gij=gcj-$(GCC_VERSION)-jre-headless (>= $(REQ_VERSION))' \ + '-Vpkg:libgcjjar=gcj-$(GCC_VERSION)-jre-lib (>= $(REQ_VERSION))' - else - DEB_DH_GENCONTROL_ARGS = -- \ - '-Vpkg:gij=$(GIJ) (>= $(REQ_VERSION))' \ - '-Vpkg:libgcjjar=libgcj$(LIBGCJ_EXT)-jar (>= $(REQ_VERSION))' - endif + +JAR = eclipse-ecj.jar + +default: build + +eclipse_root = $(CURDIR)/../eclipse + +build/ecj:: build/stamp-bytecode build/stamp-nativecode + +build/stamp-bytecode: +ifneq (,$(findstring $(DEB_HOST_ARCH),arm)) + @echo 'ecj is not built anymore on this architecture.' + @echo 'People insist on 100% compatible packages without providing any help.' + @echo 'The porter lists are quiet on the topic of better gij/gcj support for + @echo 'these architectures.' + false +endif + rm -rf build/bin + mkdir -p build/bin + +ifeq ($(with_sourcebuild),yes) + cp -r src/org.eclipse.jdt.core/org build/bin/ + cat gcc.properties \ + >> build/bin/org/eclipse/jdt/internal/compiler/batch/messages.properties + rm -rf build/bin/org/eclipse/jdt/internal/compiler/apt + rm -rf build/bin/org/eclipse/jdt/internal/compiler/tool + + 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 + + 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 + + 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) + : # rebuild the compiler + rm -rf build/bin + mkdir -p build/bin + cp -r src/org.eclipse.jdt.core/org build/bin/ + rm -rf build/bin/org/eclipse/jdt/internal/compiler/apt + rm -rf build/bin/org/eclipse/jdt/internal/compiler/tool + + 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 +else + mkdir -p build/bin + unzip -d build/bin -q /usr/share/java/eclipse-ecj.jar + mkdir -p build/dist + cp -p /usr/share/java/eclipse-ecj.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 + + cd build/bin && find -name '*.rsc' -o -name '*.properties' \ + | fastjar -c -@ - -f $(CURDIR)/build/resources.jar + $(GCJ) \ + -c -O2 -g -fPIC -fjni -findirect-dispatch \ + -o build/dist/resources.o build/resources.jar + cp -p build/dist/resources.o build/exe/ + + PYTHONPATH=$(CURDIR)/debian \ + RPATH=-Wl,-rpath,$(GCJSUBDIR) \ + time python debian/aot-compile \ + --gcj=$(GCJ) --dbtool=$(GCJDBTOOL) \ + -L /usr/lib/gcj build/dist build/dist + + PYTHONPATH=$(CURDIR)/debian \ + RPATH=-Wl,-rpath,$(GCJSUBDIR) \ + time python debian/aot-compile \ + --gcj=$(GCJ) --dbtool=$(GCJDBTOOL) \ + -L /usr/lib/gcj build/exe build/exe + + ifeq (0,1) + : # ecj-gcj + time $(GCJ) \ + -O1 -g -Wl,-O1 -Wl,-rpath,$(GCJSUBDIR) \ + --main=org.eclipse.jdt.internal.compiler.batch.Main \ + -o build/dist/ecj-gcj build/exe/ecj-standalone.jar + : # ecj1 + time $(GCJ) \ + -O1 -g -Wl,-O1 -Wl,-rpath,$(GCJSUBDIR) \ + --main=org.eclipse.jdt.internal.compiler.batch.GCCMain \ + -o build/dist/ecj1 build/exe/ecj-standalone.jar + endif +endif + touch build/stamp-nativecode + + +install/libecj-java:: + mkdir -p debian/tmp/usr/share/java + install -m 644 build/dist/$(JAR) debian/tmp/usr/share/java/ + +install/ecj:: + mkdir -p debian/tmp/usr/bin + sed 's/@ver@/$(GCC_VERSION)/g' debian/ecj.in \ + > debian/tmp/usr/bin/ecj + chmod 755 debian/tmp/usr/bin/ecj + +install/libecj-java-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/*.db \ + debian/tmp/usr/share/gcj/classmap.d/ +endif + +install/ecj1:: +ifeq ($(with_native),yes) + mkdir -p debian/ecj1/usr/lib/gcc + install -m 755 build/exe/ecj1 debian/ecj1/usr/lib/gcc/ +endif + +install/ecj-gcj:: +ifeq ($(with_native),yes) + mkdir -p debian/tmp/usr/bin + install -m 755 build/exe/ecj-gcj debian/tmp/usr/bin/ +endif + mkdir -p debian/ecj-gcj/usr/bin + + 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 + +binary-predeb/ecj1:: +# sed -i 's/libgcj[1-9][^,]*//;s/,,/,/' debian/ecj1.substvars + +binary-predeb/ecj-gcj:: +# sed -i 's/libgcj[1-9][^,]*//;s/,,/,/' debian/ecj-gcj.substvars + +clean:: + rm -rf build + rm -f debian/*.pyc + ++RR=../cvs/R3_5_maintenance/ ++RR=../cvs/R3_5/ ++tag = R3_5 ++ +get-source: + rm -rf org.eclipse.jdt.core + @echo Press enter for the password + cvs -d :pserver:[email protected]:/cvsroot/eclipse login + cvs -z3 -d :pserver:[email protected]:/cvsroot/eclipse \ - co -r v_894_R34x org.eclipse.jdt.core ++ co -r $(tag) org.eclipse.jdt.core + rm -rf tmp-src + mkdir -p tmp-src/org.eclipse.jdt.core - cp -p org.eclipse.jdt.core/scripts/about.html \ ++ cp -p $(RR)org.eclipse.jdt.core/scripts/about.html \ + tmp-src/org.eclipse.jdt.core/ - cp -p org.eclipse.jdt.core/scripts/build.xml \ ++ cp -p $(RR)org.eclipse.jdt.core/scripts/build.xml \ + tmp-src/org.eclipse.jdt.core/ - tar -c -f - -C org.eclipse.jdt.core/compiler org \ ++ tar -c -f - -C $(RR)org.eclipse.jdt.core/compiler org \ + | tar -x -f - -C tmp-src/org.eclipse.jdt.core/ + - tar -c -f - -C org.eclipse.jdt.core/antadapter org META-INF \ ++ tar -c -f - -C $(RR)org.eclipse.jdt.core/antadapter org META-INF \ + | tar -x -f - -C tmp-src/org.eclipse.jdt.core/ + find tmp-src -name CheckDebugAttributes.java | xargs -r rm -f + - tar -c -f - -C org.eclipse.jdt.core/batch org \ ++ tar -c -f - -C $(RR)org.eclipse.jdt.core/batch org \ + | tar -x -f - -C tmp-src/org.eclipse.jdt.core/ + + mkdir -p tmp-src/org.eclipse.jdt.core/META-INF/services - cp -p org.eclipse.jdt.core/scripts/META-INF/MANIFEST.MF \ ++ cp -p $(RR)org.eclipse.jdt.core/scripts/META-INF/MANIFEST.MF \ + tmp-src/org.eclipse.jdt.core/META-INF/ + printf 'org.eclipse.jdt.internal.compiler.tool.EclipseCompiler #Eclipse compiler' \ + > tmp-src/org.eclipse.jdt.core/META-INF/services/javax.tools.JavaCompiler + + find tmp-src -name CVS | xargs -r rm -rf diff --cc src/org.eclipse.jdt.core/org/eclipse/jdt/internal/compiler/batch/GCCMain.java index 33e93cc,0000000..971839a mode 100644,000000..100644 --- a/src/org.eclipse.jdt.core/org/eclipse/jdt/internal/compiler/batch/GCCMain.java +++ b/src/org.eclipse.jdt.core/org/eclipse/jdt/internal/compiler/batch/GCCMain.java @@@ -1,481 -1,0 +1,480 @@@ +/** + * + */ +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.AccessRestriction; +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 { ++ public CompilationUnit[] getCompilationUnits() { + 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]; + AccessRuleSet accessRuleSet = new AccessRuleSet(accessRules, AccessRestriction.COMMAND_LINE, currentClasspathName); + 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) throws InvalidInputException { ++ protected void handleWarningToken(String token, boolean isEnabling) { + // 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); + } + + 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 { ++ private void handleWall(boolean enable) { + // A somewhat arbitrary list. We use the GCC names + // here, and the local handleWarningToken translates + // for us. + handleWarningToken("constructor-name", enable); + handleWarningToken("pkg-default-method", enable); + handleWarningToken("masked-catch-block", enable); + handleWarningToken("all-deprecation", enable); + handleWarningToken("unused-local", enable); + handleWarningToken("unused-label", enable); + handleWarningToken("static-receiver", enable); + handleWarningToken("indirect-static", enable); + handleWarningToken("no-effect-assign", enable); + handleWarningToken("char-concat", enable); + handleWarningToken("useless-type-check", enable); + handleWarningToken("final-bound", enable); + handleWarningToken("assert-identifier", enable); + handleWarningToken("enum-identifier", enable); + handleWarningToken("finally", enable); + handleWarningToken("varargs-cast", enable); + handleWarningToken("unused", enable); + handleWarningToken("forbidden", enable); + } + - public void configure(String[] argv) throws InvalidInputException { ++ public void configure(String[] argv) { + 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( ++ throw new IllegalArgumentException( + 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( ++ throw new IllegalArgumentException( + this.bind("configure.duplicateOutputPath", errorMessage.toString())); //$NON-NLS-1$ + } + this.setDestinationPath(arg); + } 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$ ++ throw new IllegalArgumentException(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$ ++ throw new IllegalArgumentException(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); + } else if (currentArg.startsWith("-W")) { //$NON-NLS-1$ + handleWarningToken(currentArg.substring(2), true); + } 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$ ++ throw new IllegalArgumentException(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$ ++ throw new IllegalArgumentException(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$ ++ throw new IllegalArgumentException(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.maxRepetition = 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); + } +} -- 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

