This is an automated email from the git hooks/post-receive script.

ebourg-guest pushed a commit to branch master
in repository ecj.

commit ff45e9303c269ffde1af569fe5e483140e481fb5
Merge: 80607f8 dad3192
Author: Matthias Klose <d...@debian.org>
Date:   Sat Aug 25 12:35:30 2007 +0200

    Import Debian changes 3.3.0+0728-1
    
    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.

 debian/aotcompile.py                               |   9 +-
 debian/changelog                                   |  11 +
 debian/control                                     |  52 +-
 debian/copyright                                   | 429 ++++++-----
 debian/ecj-gcj.install                             |   4 +-
 debian/ecj.1                                       |  14 +-
 ecj => debian/ecj.in                               |   9 +-
 .../{ecj-gcj.install => libecj-java-gcj.install}   |   1 -
 .../{ecj-gcj.postinst => libecj-java-gcj.postinst} |   0
 debian/{ecj-gcj.postrm => libecj-java-gcj.postrm}  |   0
 debian/patches/upstream-195317.diff                |  47 --
 debian/rules                                       | 151 ++--
 ecj-bootstrap                                      |  31 -
 .../apt/dispatch/AnnotationDiscoveryVisitor.java   | 154 ----
 .../internal/compiler/apt/dispatch/AptProblem.java |  60 --
 .../dispatch/BaseAnnotationProcessorManager.java   | 151 ----
 .../compiler/apt/dispatch/BaseMessagerImpl.java    | 156 ----
 .../apt/dispatch/BaseProcessingEnvImpl.java        | 165 ----
 .../dispatch/BatchAnnotationProcessorManager.java  | 177 -----
 .../compiler/apt/dispatch/BatchFilerImpl.java      | 134 ----
 .../compiler/apt/dispatch/BatchMessagerImpl.java   |  78 --
 .../apt/dispatch/BatchProcessingEnvImpl.java       | 144 ----
 .../apt/dispatch/HookedJavaFileObject.java         | 241 ------
 .../compiler/apt/dispatch/IProcessorProvider.java  |  47 --
 .../compiler/apt/dispatch/ProcessorInfo.java       | 149 ----
 .../compiler/apt/dispatch/RoundDispatcher.java     | 108 ---
 .../compiler/apt/dispatch/RoundEnvImpl.java        | 225 ------
 .../compiler/apt/model/AnnotationMirrorImpl.java   | 490 ------------
 .../compiler/apt/model/AnnotationValueImpl.java    | 265 -------
 .../internal/compiler/apt/model/ArrayTypeImpl.java |  55 --
 .../compiler/apt/model/DeclaredTypeImpl.java       | 105 ---
 .../internal/compiler/apt/model/ElementImpl.java   | 159 ----
 .../internal/compiler/apt/model/ElementsImpl.java  | 595 ---------------
 .../compiler/apt/model/ErrorTypeElement.java       | 152 ----
 .../internal/compiler/apt/model/ErrorTypeImpl.java |  77 --
 .../compiler/apt/model/ExecutableElementImpl.java  | 337 --------
 .../compiler/apt/model/ExecutableTypeImpl.java     | 125 ---
 .../jdt/internal/compiler/apt/model/Factory.java   | 676 -----------------
 .../internal/compiler/apt/model/IElementInfo.java  |  30 -
 .../jdt/internal/compiler/apt/model/NameImpl.java  |  95 ---
 .../internal/compiler/apt/model/NoTypeImpl.java    |  69 --
 .../compiler/apt/model/PackageElementImpl.java     | 125 ---
 .../compiler/apt/model/PrimitiveTypeImpl.java      |  84 --
 .../compiler/apt/model/TypeElementImpl.java        | 260 -------
 .../compiler/apt/model/TypeMirrorImpl.java         | 110 ---
 .../apt/model/TypeParameterElementImpl.java        | 169 -----
 .../compiler/apt/model/TypeVariableImpl.java       |  85 ---
 .../jdt/internal/compiler/apt/model/TypesImpl.java | 453 -----------
 .../compiler/apt/model/VariableElementImpl.java    | 179 -----
 .../compiler/apt/model/WildcardTypeImpl.java       |  68 --
 .../jdt/internal/compiler/apt/util/Archive.java    | 102 ---
 .../compiler/apt/util/ArchiveFileObject.java       | 222 ------
 .../compiler/apt/util/EclipseFileManager.java      | 843 ---------------------
 .../compiler/apt/util/EclipseFileObject.java       | 205 -----
 .../jdt/internal/compiler/apt/util/ManyToMany.java | 364 ---------
 .../jdt/internal/compiler/apt/util/Options.java    | 235 ------
 .../jdt/internal/compiler/apt/util/Util.java       | 207 -----
 .../eclipse/jdt/internal/compiler/ast/ASTNode.java |  36 +-
 .../jdt/internal/compiler/batch/FileSystem.java    |   2 +-
 .../eclipse/jdt/internal/compiler/batch/Main.java  | 116 +--
 .../internal/compiler/batch/messages.properties    |   2 +-
 .../jdt/internal/compiler/codegen/BranchLabel.java |  12 +-
 .../jdt/internal/compiler/codegen/CodeStream.java  |  10 +
 .../internal/compiler/lookup/ElementValuePair.java |   4 +-
 .../internal/compiler/lookup/InferenceContext.java |  15 +-
 .../compiler/lookup/LookupEnvironment.java         |  58 +-
 .../internal/compiler/lookup/MethodVerifier.java   |  40 +-
 .../internal/compiler/lookup/MethodVerifier15.java | 137 ++--
 .../jdt/internal/compiler/tool/Archive.java        | 102 ---
 .../internal/compiler/tool/ArchiveFileObject.java  | 222 ------
 .../internal/compiler/tool/EclipseCompiler.java    | 585 --------------
 .../internal/compiler/tool/EclipseFileManager.java | 843 ---------------------
 .../internal/compiler/tool/EclipseFileObject.java  | 205 -----
 .../jdt/internal/compiler/tool/Options.java        | 236 ------
 .../eclipse/jdt/internal/compiler/tool/Util.java   | 207 -----
 75 files changed, 622 insertions(+), 11898 deletions(-)

diff --cc debian/aotcompile.py
index 1793b79,0000000..00e9828
mode 100644,000000..100644
--- a/debian/aotcompile.py
+++ b/debian/aotcompile.py
@@@ -1,423 -1,0 +1,430 @@@
 +
 +# -*- python -*-
 +
 +## Copyright (C) 2005, 2006 Red Hat, Inc.
 +## Written by Gary Benson <gben...@redhat.com>
 +##
 +## This program is free software; you can redistribute it and/or modify
 +## it under the terms of the GNU General Public License as published by
 +## the Free Software Foundation; either version 2 of the License, or
 +## (at your option) any later version.
 +##
 +## This program is distributed in the hope that it will be useful,
 +## but WITHOUT ANY WARRANTY; without even the implied warranty of
 +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 +## GNU General Public License for more details.
 +
 +import classfile
 +import copy
 +import md5
 +import operator
 +import os
 +import sys
 +import cStringIO as StringIO
 +import zipfile
 +
 +PATHS = {"make":   "/usr/bin/make",
 +         "gcj":    "/usr/bin/gcj-4.1",
 +         "dbtool": "/usr/bin/gcj-dbtool-4.1"}
 +
 +MAKEFLAGS = []
 +GCJFLAGS = ["-g", "-O2", "-fPIC", "-findirect-dispatch", "-fjni"]
 +LDFLAGS = ["-Wl,-Bsymbolic"]
 +
 +MAX_CLASSES_PER_JAR = 1024
 +MAX_BYTES_PER_JAR = 1048576
 +
 +try:
 +    for line in file('/proc/meminfo'):
 +        if line.startswith('MemTotal:'):
 +            memtotal = int(line.split()[1])
 +        if memtotal < 270000:
 +            MAX_CLASSES_PER_JAR = 512
 +            MAX_BYTES_PER_JAR = 524288
 +        if memtotal < 140000:
 +            MAX_CLASSES_PER_JAR = 256
 +            MAX_BYTES_PER_JAR = 262144
 +except:
 +    pass
 +
 +MAKEFILE = "Makefile"
 +
 +MAKEFILE_HEADER = '''\
 +GCJ = %(gcj)s
 +DBTOOL = %(dbtool)s
 +GCJFLAGS = %(gcjflags)s
 +LDFLAGS = %(ldflags)s
 +
 +%%.o: %%.jar
 +      $(GCJ) -c $(GCJFLAGS) $< -o $@
 +
 +TARGETS = \\
- %(targets)s
++%(targets)s \\
++ecj-gcj ecj1
 +
 +all: $(TARGETS)'''
 +
 +MAKEFILE_JOB = '''
 +%(base)s_SOURCES = \\
 +%(jars)s
 +
 +%(base)s_OBJECTS = \\
 +$(%(base)s_SOURCES:.jar=.o)
 +
 +%(dso)s: $(%(base)s_OBJECTS)
 +      $(GCJ) -shared $(GCJFLAGS) $(LDFLAGS) $^ -o $@
 +
++ecj-gcj: $(%(base)s_OBJECTS) resources.o
++      $(GCJ) $(GCJFLAGS) $(RPATH) -Wl,-O1 
--main=org.eclipse.jdt.internal.compiler.batch.Main $^ -o $@
++
++ecj1: $(%(base)s_OBJECTS) resources.o
++      $(GCJ) $(GCJFLAGS) $(RPATH) -Wl,-O1 
--main=org.eclipse.jdt.internal.compiler.batch.GCCMain $^ -o $@
++
 +%(db)s: $(%(base)s_SOURCES)
 +      $(DBTOOL) -n $@ 64
 +      for jar in $^; do \\
 +            $(DBTOOL) -f $@ $$jar \\
 +                %(libdir)s/%(dso)s; \\
 +        done'''
 +
 +ZIPMAGIC, CLASSMAGIC = "PK\x03\x04", "\xca\xfe\xba\xbe"
 +
 +class Error(Exception):
 +    pass
 +
 +class Compiler:
 +    def __init__(self, srcdir, dstdir):
 +        self.srcdir = os.path.abspath(srcdir)
 +        self.dstdir = os.path.abspath(dstdir)
 +        if not self.dstdir.startswith(self.srcdir):
 +            raise Error, "dstdir must be within srcdir"
 +        self.libdir = dstdir[len(self.srcdir):]
 +
 +        # Calling code may modify these parameters
 +        self.gcjflags = copy.copy(GCJFLAGS)
 +        self.ldflags = copy.copy(LDFLAGS)
 +        self.makeflags = copy.copy(MAKEFLAGS)
 +        self.exclusions = []
 +
 +    def compile(self):
 +        """Search srcdir for classes and jarfiles, then generate
 +        solibs and mappings databases for them all in libdir."""
 +        if not os.path.isdir(self.dstdir):
 +            os.makedirs(self.dstdir)
 +        oldcwd = os.getcwd()
 +        os.chdir(self.dstdir)
 +        try:            
 +            jobs = self.getJobList()
 +            self.writeMakefile(MAKEFILE, jobs)
 +            for job in jobs:
 +                job.writeJars()
 +            system([PATHS["make"]] + self.makeflags)
 +            for job in jobs:
 +                job.clean()
 +            os.unlink(MAKEFILE)
 +        finally:
 +            os.chdir(oldcwd)
 +
 +    def getJobList(self):
 +        """Return all jarfiles and class collections in srcdir."""
 +        jobs = weed_jobs(find_jobs(self.srcdir, self.exclusions))
 +        set_basenames(jobs)
 +        return jobs
 +
 +    def writeMakefile(self, path, jobs):
 +        """Generate a makefile to build the solibs and mappings
 +        databases for the specified list of jobs."""
 +        fp = open(path, "w")
 +        print >>fp, MAKEFILE_HEADER % {
 +            "gcj": PATHS["gcj"],
 +            "dbtool": PATHS["dbtool"],
 +            "gcjflags": " ".join(self.gcjflags),
 +            "ldflags": " ".join(self.ldflags),
 +            "targets": " \\\n".join(reduce(operator.add, [
 +                (job.dsoName(), job.dbName()) for job in jobs]))}
 +        for job in jobs:
 +            values = job.ruleArguments()
 +            values["libdir"] = self.libdir
 +            print >>fp, MAKEFILE_JOB % values
 +        fp.close()
 +
 +def find_jobs(dir, exclusions = ()):
 +    """Scan a directory and find things to compile: jarfiles (zips,
 +    wars, ears, rars, etc: we go by magic rather than file extension)
 +    and directories of classes."""
 +    def visit((classes, zips), dir, items):
 +        for item in items:
 +            path = os.path.join(dir, item)
 +            if os.path.islink(path) or not os.path.isfile(path):
 +                continue
 +            magic = open(path, "r").read(4)
 +            if magic == ZIPMAGIC:
 +                zips.append(path)
 +            elif magic == CLASSMAGIC:
 +                classes.append(path)
 +    classes, paths = [], []
 +    os.path.walk(dir, visit, (classes, paths))
 +    # Convert the list of classes into a list of directories
 +    while classes:
 +        # XXX this requires the class to be correctly located in its heirachy.
 +        path = classes[0][:-len(os.sep + classname(classes[0]) + ".class")]
 +        paths.append(path)
 +        classes = [cls for cls in classes if not cls.startswith(path)]
 +    # Handle exclusions.  We're really strict about them because the
 +    # option is temporary in aot-compile-rpm and dead options left in
 +    # specfiles will hinder its removal.
 +    for path in exclusions:
 +        if path in paths:
 +            paths.remove(path)
 +        else:
 +            raise Error, "%s: path does not exist or is not a job" % path
 +    # Build the list of jobs
 +    jobs = []
 +    paths.sort()
 +    for path in paths:
 +        if os.path.isfile(path):
 +            job = JarJob(path)
 +        else:
 +            job = DirJob(path)
 +        if len(job.classes):
 +            jobs.append(job)
 +    return jobs
 +
 +class Job:
 +    """A collection of classes that will be compiled as a unit."""
 +    
 +    def __init__(self, path):
 +        self.path, self.classes, self.blocks = path, {}, None
 +
 +    def addClass(self, bytes):
 +        """Subclasses call this from their __init__ method for
 +        every class they find."""
 +        self.classes[md5.new(bytes).digest()] = bytes
 +
 +    def __makeBlocks(self):
 +        """Split self.classes into chunks that can be compiled to
 +        native code by gcj.  In the majority of cases this is not
 +        necessary -- the job will have come from a jarfile which will
 +        be equivalent to the one we generate -- but this only happens
 +        _if_ the job was a jarfile and _if_ the jarfile isn't too big
 +        and _if_ the jarfile has the correct extension and _if_ all
 +        classes are correctly named and _if_ the jarfile has no
 +        embedded jarfiles.  Fitting a special case around all these
 +        conditions is tricky to say the least.
 +
 +        Note that this could be called at the end of each subclass's
 +        __init__ method.  The reason this is not done is because we
 +        need to parse every class file.  This is slow, and unnecessary
 +        if the job is subsetted."""
 +        names = {}
 +        for hash, bytes in self.classes.items():
 +            name = classname(bytes)
 +            if not names.has_key(name):
 +                names[name] = []
 +            names[name].append(hash)
 +        names = names.items()
 +        # We have to sort somehow, or the jars we generate 
 +        # We sort by name in a simplistic attempt to keep related
 +        # classes together so inter-class optimisation can happen.
 +        names.sort()
 +        self.blocks, bytes = [[]], 0
 +        for name, hashes in names:
 +            for hash in hashes:
 +                if len(self.blocks[-1]) >= MAX_CLASSES_PER_JAR \
 +                   or bytes >= MAX_BYTES_PER_JAR:
 +                    self.blocks.append([])
 +                    bytes = 0
 +                self.blocks[-1].append((name, hash))
 +                bytes += len(self.classes[hash])
 +
 +    # From Archit Shah:
 +    #   The implementation and the documentation don't seem to match.
 +    #  
 +    #    [a, b].isSubsetOf([a]) => True
 +    #  
 +    #   Identical copies of all classes this collection do not exist
 +    #   in the other. I think the method should be named isSupersetOf
 +    #   and the documentation should swap uses of "this" and "other"
 +    #
 +    # XXX think about this when I've had more sleep...
 +    def isSubsetOf(self, other):
 +        """Returns True if identical copies of all classes in this
 +        collection exist in the other."""
 +        for item in other.classes.keys():
 +            if not self.classes.has_key(item):
 +                return False
 +        return True
 +
 +    def __targetName(self, ext):
 +        return self.basename + ext
 +
 +    def tempJarName(self, num):
 +        return self.__targetName(".%d.jar" % (num + 1))
 +
 +    def tempObjName(self, num):
 +        return self.__targetName(".%d.o" % (num + 1))
 +
 +    def dsoName(self):
 +        """Return the filename of the shared library that will be
 +        built from this job."""
 +        return self.__targetName(".so")
 +
 +    def dbName(self):
 +        """Return the filename of the mapping database that will be
 +        built from this job."""
 +        return self.__targetName(".db")
 +
 +    def ruleArguments(self):
 +        """Return a dictionary of values that when substituted
 +        into MAKEFILE_JOB will create the rules required to build
 +        the shared library and mapping database for this job."""
 +        if self.blocks is None:
 +            self.__makeBlocks()
 +        return {
 +            "base": "".join(
 +                [c.isalnum() and c or "_" for c in self.dsoName()]),
 +            "jars": " \\\n".join(
 +                [self.tempJarName(i) for i in xrange(len(self.blocks))]),
 +            "dso": self.dsoName(),
 +            "db": self.dbName()}
 +
 +    def writeJars(self):
 +        """Generate jarfiles that can be native compiled by gcj."""
 +        if self.blocks is None:
 +            self.__makeBlocks()
 +        for block, i in zip(self.blocks, xrange(len(self.blocks))):
 +            jar = zipfile.ZipFile(self.tempJarName(i), "w", 
zipfile.ZIP_STORED)
 +            for name, hash in block:
 +                jar.writestr(
 +                    zipfile.ZipInfo("%s.class" % name), self.classes[hash])
 +            jar.close()
 +
 +    def clean(self):
 +        """Delete all temporary files created during this job's build."""
 +        if self.blocks is None:
 +            self.__makeBlocks()
 +        for i in xrange(len(self.blocks)):
 +            os.unlink(self.tempJarName(i))
 +            os.unlink(self.tempObjName(i))
 +
 +class JarJob(Job):
 +    """A Job whose origin was a jarfile."""
 +
 +    def __init__(self, path):
 +        Job.__init__(self, path)
 +        self._walk(zipfile.ZipFile(path, "r"))
 +
 +    def _walk(self, zf):
 +        for name in zf.namelist():
 +            bytes = zf.read(name)
 +            if bytes.startswith(ZIPMAGIC):
 +                self._walk(zipfile.ZipFile(StringIO.StringIO(bytes)))
 +            elif bytes.startswith(CLASSMAGIC):
 +                self.addClass(bytes)
 +
 +class DirJob(Job):
 +    """A Job whose origin was a directory of classfiles."""
 +
 +    def __init__(self, path):
 +        Job.__init__(self, path)
 +        os.path.walk(path, DirJob._visit, self)
 +
 +    def _visit(self, dir, items):
 +        for item in items:
 +            path = os.path.join(dir, item)
 +            if os.path.islink(path) or not os.path.isfile(path):
 +                continue
 +            fp = open(path, "r")
 +            magic = fp.read(4)
 +            if magic == CLASSMAGIC:
 +                self.addClass(magic + fp.read())
 +    
 +def weed_jobs(jobs):
 +    """Remove any jarfiles that are completely contained within
 +    another.  This is more common than you'd think, and we only
 +    need one nativified copy of each class after all."""
 +    jobs = copy.copy(jobs)
 +    while True:
 +        for job1 in jobs:
 +            for job2 in jobs:
 +                if job1 is job2:
 +                    continue
 +                if job1.isSubsetOf(job2):
 +                    msg = "subsetted %s" % job2.path
 +                    if job2.isSubsetOf(job1):
 +                        if (isinstance(job1, DirJob) and
 +                            isinstance(job2, JarJob)):
 +                            # In the braindead case where a package
 +                            # contains an expanded copy of a jarfile
 +                            # the jarfile takes precedence.
 +                            continue
 +                        msg += " (identical)"
 +                    warn(msg)
 +                    jobs.remove(job2)
 +                    break
 +            else:
 +                continue
 +            break
 +        else:
 +            break
 +        continue
 +    return jobs
 +
 +def set_basenames(jobs):
 +    """Ensure that each jarfile has a different basename."""
 +    names = {}
 +    for job in jobs:
 +        name = os.path.basename(job.path)
 +        if not names.has_key(name):
 +            names[name] = []
 +        names[name].append(job)
 +    for name, set in names.items():
 +        if len(set) == 1:
 +            set[0].basename = name
 +            continue
 +        # prefix the jar filenames to make them unique
 +        # XXX will not work in most cases -- needs generalising
 +        set = [(job.path.split(os.sep), job) for job in set]
 +        minlen = min([len(bits) for bits, job in set])
 +        set = [(bits[-minlen:], job) for bits, job in set]
 +        bits = apply(zip, [bits for bits, job in set])
 +        while True:
 +            row = bits[-2]
 +            for bit in row[1:]:
 +                if bit != row[0]:
 +                    break
 +            else:
 +                del bits[-2]
 +                continue
 +            break
 +        set = zip(
 +            ["_".join(name) for name in apply(zip, bits[-2:])],
 +            [job for bits, job in set])
 +        for name, job in set:
 +            warn("building %s as %s" % (job.path, name))
 +            job.basename = name
 +    # XXX keep this check until we're properly general
 +    names = {}
 +    for job in jobs:
 +        name = job.basename
 +        if names.has_key(name):
 +            raise Error, "%s: duplicate jobname" % name
 +        names[name] = 1
 +
 +def system(command):
 +    """Execute a command."""
 +    status = os.spawnv(os.P_WAIT, command[0], command)
 +    if status > 0:
 +        raise Error, "%s exited with code %d" % (command[0], status)
 +    elif status < 0:
 +        raise Error, "%s killed by signal %d" % (command[0], -status)
 +
 +def warn(msg):
 +    """Print a warning message."""
 +    print >>sys.stderr, "%s: warning: %s" % (
 +        os.path.basename(sys.argv[0]), msg)
 +
 +def classname(bytes):
 +    """Extract the class name from the bytes of a class file."""
 +    klass = classfile.Class(bytes)
 +    return klass.constants[klass.constants[klass.name][1]][1]
diff --cc debian/changelog
index b05de4f,0000000..939ac00
mode 100644,000000..100644
--- a/debian/changelog
+++ b/debian/changelog
@@@ -1,347 -1,0 +1,358 @@@
++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 <d...@debian.org>  Sat, 25 Aug 2007 12:35:30 +0200
++
 +ecj (3.3.0-2) unstable; urgency=low
 +
 +  * Apply fix for upstream report #195317.
 +
 + -- Matthias Klose <d...@debian.org>  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 <d...@ubuntu.com>  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 <konque...@gmx.de>  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 <konque...@gmx.de>  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 <d...@debian.org>  Sun, 29 Apr 2007 22:19:47 +0200
 +
 +ecj (3.2.2-1) unstable; urgency=low
 +
 +  * Upload to unstable.
 +
 + -- Matthias Klose <d...@debian.org>  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 <d...@debian.org>  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 <d...@debian.org>  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 <d...@debian.org>  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 <d...@debian.org>  Tue,  9 Jan 2007 00:09:22 +0100
 +
 +ecj-bootstrap (3.2.1-3) unstable; urgency=low
 +
 +  * Add missing build dependency.
 +
 + -- Matthias Klose <d...@debian.org>  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 <d...@debian.org>  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 <d...@debian.org>  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 <d...@debian.org>  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 <d...@debian.org>  Sun, 13 Aug 2006 13:01:45 +0200 
 +
 +ecj-bootstrap (3.2-1) unstable; urgency=low
 +
 +  * New upstream version.
 +
 + -- Matthias Klose <d...@debian.org>  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 <d...@debian.org>  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 <konque...@gmx.de>  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 <d...@debian.org>  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 <d...@debian.org>  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 <d...@ubuntu.com>  Sun, 26 Feb 2006 21:00:44 +0000
 +
 +ecj-bootstrap (3.1.2-2ubuntu2) dapper; urgency=low
 +
 +  * Build using gcj-4.1.
 +
 + -- Matthias Klose <d...@ubuntu.com>  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 <d...@ubuntu.com>  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 <d...@debian.org>  Thu,  9 Feb 2006 16:33:45 +0000
 +
 +ecj-bootstrap (3.1.2-1) unstable; urgency=low
 +
 +  * New upstream version.
 +
 + -- Matthias Klose <d...@debian.org>  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 <d...@debian.org>  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 <m...@debian.org>  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 <d...@debian.org>  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 <d...@debian.org>  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 <d...@debian.org>  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 <d...@debian.org>  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 <d...@ubuntu.com>  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 <d...@ubuntu.com>  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 <d...@ubuntu.com>  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 <jbai...@ubuntu.com>  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 <was...@larvalstage.net>  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 <d...@ubuntu.com>  Sat, 11 Jun 2005 16:57:27 +0000
 +
 +ecj-bootstrap (3.0.1-3) experimental; urgency=low
 +
 +  * Synchronize.
 +
 + -- Matthias Klose <d...@debian.org>  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 <was...@larvalstage.net>  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 <d...@debian.org>  Sun, 22 May 2005 15:53:07 +0000
 +
 +ecj-bootstrap (3.0.1-1ubuntu5) hoary; urgency=low
 +
 +  * Fixed path to ant.jar.
 +
 + -- Jerry Haltom <was...@larvalstage.net>  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 <was...@larvalstage.net>  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 <was...@larvalstage.net>  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 <was...@larvalstage.net>  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 <jbai...@ubuntu.com>  Fri, 11 Feb 2005 20:37:21 +0000
 +
 +ecj-bootstrap (3.0.1-0) unstable; urgency=low
 +
 +  * Initial release.
 +
 + -- Jerry Haltom <was...@larvalstage.net>  Wed, 09 Feb 2005 19:36:07 -0600
diff --cc debian/control
index 6226307,0000000..b693d0e
mode 100644,000000..100644
--- a/debian/control
+++ b/debian/control
@@@ -1,60 -1,0 +1,70 @@@
 +Source: ecj
 +Section: devel
 +Priority: optional
 +Maintainer: Debian Java Maintainers 
<pkg-java-maintainers@lists.alioth.debian.org>
 +Uploaders: Jerry Haltom <was...@larvalstage.net>, Michael Koch 
<konque...@gmx.de>, Matthias Klose <d...@debian.org>
- Build-Depends: cdbs (>= 0.4.26), debhelper (>= 5), gcj-4.1 (>= 4.1.2-1), 
libgcj-bc (>= 4.1.2-1), fastjar, ant, zip, dpkg (>= 1.13.19), python, time
++Build-Depends: cdbs (>= 0.4.26), debhelper (>= 5),
++ gcj-4.2 (>= 4.2.1-3) [!alpha !m68k], gcj-4.1 (>= 4.1.2) [alpha m68k],
++ libgcj-bc (>= 4.2.1) [!alpha !m68k], libgcj-bc (>= 4.1.2) [alpha m68k],
++ fastjar, ant, zip, dpkg (>= 1.13.19), python, time
 +Build-Conflicts: ecj-bootstrap-gcj (<< 3.2.2)
 +Standards-Version: 3.7.2
 +
 +Package: ecj
 +Architecture: all
- Depends: libecj-java (>= ${source:Version}), gij-4.1 (>= 4.1.1-20), 
libgcj7-jar (>= 4.1.1-20), java-common (>= 0.23)
++Depends: libecj-java (= ${source:Version}), ${pkg:gij}, ${pkglibgcjjar}, 
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 and 1.6.
++ 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)
- Recommends: ecj, java2-runtime
 +Conflicts: ecj-bootstrap (<< 3.2.2), eclipse-ecj
 +Replaces: ecj-bootstrap (<< 3.2.2), eclipse-ecj, ecj (<< 3.3.0-1)
- Suggests: ant
++Recommends: libecj-java-gcj, java2-runtime
++Suggests: ecj, ant
 +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 and 1.6.
++ 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}), ${shlibs:Depends}
++Depends: 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 and 1.6.
++ 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.
- 
- Package: ecj-bootstrap
- Architecture: all
- Depends: ecj 
- Recommends: ecj-bootstrap-gcj
- Description: standalone version of the Eclipse Java compiler (transitional 
package)
-  This is a transitional package; it can safely be removed.
- 
- Package: ecj-bootstrap-gcj
- Architecture: all
- Depends: ecj-bootstrap (>= ${source:Version}), ecj-gcj (>= ${source:Version})
- Description: standalone version of the Eclipse Java compiler (transitional 
package)
-  This is a transitional package; it can safely be removed.
diff --cc debian/copyright
index ecfe6fe,0000000..47bd43a
mode 100644,000000..100644
--- a/debian/copyright
+++ b/debian/copyright
@@@ -1,258 -1,0 +1,311 @@@
 +This package was debianized by Jerry Haltom <was...@larvalstage.net> on
 +Thu, 10 Feb 2005 14:47:15 -0600
 +
 +It was downloaded from http://download.eclipse.org/eclipse/downloads/
 +
 +This software is copyright (c) 2000, 2004 IBM Corporation and others,
 +licensed under the Common Public License - v 1.0.
 +
 +The ecj script is Copyright (C) 2004  Red Hat, licensed under the GPL with
 +a special exception. The full text of the GPL can be found in
 +/usr/share/common-licenses/GPL-2. The full text of the exception is stated
 +below.
 +
 +Copyright:
 +
- Common Public License - v 1.0
++Eclipse Public License - v 1.0
 +
- THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON 
- PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF 
- THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
++THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE 
++PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE 
++PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
 +
 +1. DEFINITIONS
 +
 +"Contribution" means:
 +
-       a) in the case of the initial Contributor, the initial code and 
- documentation distributed under this Agreement, and
-       b) in the case of each subsequent Contributor:
++a) in the case of the initial Contributor, the initial code and documentation 
++distributed under this Agreement, and
++b) in the case of each subsequent Contributor:
 +
-       i) changes to the Program, and
++i) changes to the Program, and
 +
-       ii) additions to the Program;
++ii) additions to the Program;
 +
-       where such changes and/or additions to the Program originate from 
- and are distributed by that particular Contributor. A Contribution 
- 'originates' from a Contributor if it was added to the Program by such 
- Contributor itself or anyone acting on such Contributor's behalf. 
- Contributions do not include additions to the Program which: (i) are 
- separate modules of software distributed in conjunction with the Program 
- under their own license agreement, and (ii) are not derivative works of 
- the Program. 
++where such changes and/or additions to the Program originate from and are 
++distributed by that particular Contributor. A Contribution 'originates' 
++from a Contributor if it was added to the Program by such Contributor itself 
++or anyone acting on such Contributor's behalf. Contributions do not include 
++additions to the Program which: (i) are separate modules of software 
++distributed in conjunction with the Program under their own license 
++agreement, and (ii) are not derivative works of the Program.
 +
 +"Contributor" means any person or entity that distributes the Program.
 +
- "Licensed Patents " mean patent claims licensable by a Contributor which 
- are necessarily infringed by the use or sale of its Contribution alone 
- or when combined with the Program.
++"Licensed Patents " mean patent claims licensable by a Contributor which are 
++necessarily infringed by the use or sale of its Contribution alone or when 
++combined with the Program.
 +
 +"Program" means the Contributions distributed in accordance with this 
 +Agreement.
 +
 +"Recipient" means anyone who receives the Program under this Agreement, 
 +including all Contributors.
 +
 +2. GRANT OF RIGHTS
 +
-       a) Subject to the terms of this Agreement, each Contributor hereby 
- grants Recipient a non-exclusive, worldwide, royalty-free copyright 
- license to reproduce, prepare derivative works of, publicly display, 
- publicly perform, distribute and sublicense the Contribution of such 
- Contributor, if any, and such derivative works, in source code and 
- object code form.
- 
-       b) Subject to the terms of this Agreement, each Contributor hereby 
- grants Recipient a non-exclusive, worldwide, royalty-free patent license 
- under Licensed Patents to make, use, sell, offer to sell, import and 
- otherwise transfer the Contribution of such Contributor, if any, in 
- source code and object code form. This patent license shall apply to the 
- combination of the Contribution and the Program if, at the time the 
- Contribution is added by the Contributor, such addition of the 
- Contribution causes such combination to be covered by the Licensed 
- Patents. The patent license shall not apply to any other combinations 
- which include the Contribution. No hardware per se is licensed 
- hereunder. 
- 
-       c) Recipient understands that although each Contributor grants the 
- licenses to its Contributions set forth herein, no assurances are 
- provided by any Contributor that the Program does not infringe the 
- patent or other intellectual property rights of any other entity. Each 
- Contributor disclaims any liability to Recipient for claims brought by 
- any other entity based on infringement of intellectual property rights 
- or otherwise. As a condition to exercising the rights and licenses 
- granted hereunder, each Recipient hereby assumes sole responsibility to 
- secure any other intellectual property rights needed, if any. For 
- example, if a third party patent license is required to allow Recipient 
- to distribute the Program, it is Recipient's responsibility to acquire 
- that license before distributing the Program.
- 
-       d) Each Contributor represents that to its knowledge it has 
- sufficient copyright rights in its Contribution, if any, to grant the 
- copyright license set forth in this Agreement. 
++a) Subject to the terms of this Agreement, each Contributor hereby grants 
++Recipient a non-exclusive, worldwide, royalty-free copyright license to 
++reproduce, prepare derivative works of, publicly display, publicly perform, 
++distribute and sublicense the Contribution of such Contributor, if any, 
++and such derivative works, in source code and object code form.
++
++b) Subject to the terms of this Agreement, each Contributor hereby grants 
++Recipient a non-exclusive, worldwide, royalty-free patent license under 
++Licensed Patents to make, use, sell, offer to sell, import and otherwise 
++transfer the Contribution of such Contributor, if any, in source code and 
++object code form. This patent license shall apply to the combination of 
++the Contribution and the Program if, at the time the Contribution is added 
++by the Contributor, such addition of the Contribution causes such 
++combination to be covered by the Licensed Patents. The patent license shall 
++not apply to any other combinations which include the Contribution. No 
++hardware per se is licensed hereunder.
++
++c) Recipient understands that although each Contributor grants the licenses 
++to its Contributions set forth herein, no assurances are provided by any 
++Contributor that the Program does not infringe the patent or other 
++intellectual property rights of any other entity. Each Contributor disclaims 
++any liability to Recipient for claims brought by any other entity based on 
++infringement of intellectual property rights or otherwise. As a condition to 
++exercising the rights and licenses granted hereunder, each Recipient hereby 
++assumes sole responsibility to secure any other intellectual property rights 
++needed, if any. For example, if a third party patent license is required to 
++allow Recipient to distribute the Program, it is Recipient's responsibility 
++to acquire that license before distributing the Program.
++
++d) Each Contributor represents that to its knowledge it has sufficient 
++copyright rights in its Contribution, if any, to grant the copyright license 
++set forth in this Agreement.
 +
 +3. REQUIREMENTS
 +
- A Contributor may choose to distribute the Program in object code form 
- under its own license agreement, provided that:
++A Contributor may choose to distribute the Program in object code form under 
++its own license agreement, provided that:
 +
-       a) it complies with the terms and conditions of this Agreement; 
- and
++a) it complies with the terms and conditions of this Agreement; and
 +
-       b) its license agreement:
++b) its license agreement:
 +
-       i) effectively disclaims on behalf of all Contributors all 
- warranties and conditions, express and implied, including warranties or 
- conditions of title and non-infringement, and implied warranties or 
- conditions of merchantability and fitness for a particular purpose; 
++i) effectively disclaims on behalf of all Contributors all warranties and 
++conditions, express and implied, including warranties or conditions of title 
++and non-infringement, and implied warranties or conditions of merchantability 
++and fitness for a particular purpose;
 +
-       ii) effectively excludes on behalf of all Contributors all 
- liability for damages, including direct, indirect, special, incidental 
- and consequential damages, such as lost profits; 
++ii) effectively excludes on behalf of all Contributors all liability for 
++damages, including direct, indirect, special, incidental and consequential 
++damages, such as lost profits;
 +
-       iii) states that any provisions which differ from this Agreement 
- are offered by that Contributor alone and not by any other party; and
++iii) states that any provisions which differ from this Agreement are offered 
++by that Contributor alone and not by any other party; and
 +
-       iv) states that source code for the Program is available from such 
- Contributor, and informs licensees how to obtain it in a reasonable 
- manner on or through a medium customarily used for software exchange. 
++iv) states that source code for the Program is available from such 
++Contributor, and informs licensees how to obtain it in a reasonable manner on 
++or through a medium customarily used for software exchange.
 +
 +When the Program is made available in source code form:
 +
-       a) it must be made available under this Agreement; and 
++a) it must be made available under this Agreement; and
 +
-       b) a copy of this Agreement must be included with each copy of the 
- Program. 
++b) a copy of this Agreement must be included with each copy of the Program.
 +
- Contributors may not remove or alter any copyright notices contained 
- within the Program.
++Contributors may not remove or alter any copyright notices contained within 
++the Program.
 +
- Each Contributor must identify itself as the originator of its 
- Contribution, if any, in a manner that reasonably allows subsequent 
- Recipients to identify the originator of the Contribution.
++Each Contributor must identify itself as the originator of its Contribution, 
++if any, in a manner that reasonably allows subsequent Recipients to identify 
++the originator of the Contribution.
 +
 +4. COMMERCIAL DISTRIBUTION
 +
- Commercial distributors of software may accept certain responsibilities 
- with respect to end users, business partners and the like. While this 
- license is intended to facilitate the commercial use of the Program, the 
- Contributor who includes the Program in a commercial product offering 
- should do so in a manner which does not create potential liability for 
- other Contributors. Therefore, if a Contributor includes the Program in 
- a commercial product offering, such Contributor ("Commercial 
- Contributor") hereby agrees to defend and indemnify every other 
- Contributor ("Indemnified Contributor") against any losses, damages and 
- costs (collectively "Losses") arising from claims, lawsuits and other 
- legal actions brought by a third party against the Indemnified 
- Contributor to the extent caused by the acts or omissions of such 
- Commercial Contributor in connection with its distribution of the 
- Program in a commercial product offering. The obligations in this 
- section do not apply to any claims or Losses relating to any actual or 
- alleged intellectual property infringement. In order to qualify, an 
- Indemnified Contributor must: a) promptly notify the Commercial 
- Contributor in writing of such claim, and b) allow the Commercial 
- Contributor to control, and cooperate with the Commercial Contributor 
- in, the defense and any related settlement negotiations. The Indemnified 
- Contributor may participate in any such claim at its own expense.
- 
- For example, a Contributor might include the Program in a commercial 
- product offering, Product X. That Contributor is then a Commercial 
- Contributor. If that Commercial Contributor then makes performance 
- claims, or offers warranties related to Product X, those performance 
- claims and warranties are such Commercial Contributor's responsibility 
- alone. Under this section, the Commercial Contributor would have to 
- defend claims against the other Contributors related to those 
- performance claims and warranties, and if a court requires any other 
- Contributor to pay any damages as a result, the Commercial Contributor 
- must pay those damages.
++Commercial distributors of software may accept certain responsibilities with 
++respect to end users, business partners and the like. While this license is 
++intended to facilitate the commercial use of the Program, the Contributor who 
++includes the Program in a commercial product offering should do so in a 
manner 
++which does not create potential liability for other Contributors. Therefore, 
++if a Contributor includes the Program in a commercial product offering, such 
++Contributor ("Commercial Contributor") hereby agrees to defend and indemnify 
++every other Contributor ("Indemnified Contributor") against any losses, 
++damages and costs (collectively "Losses") arising from claims, lawsuits and 
++other legal actions brought by a third party against the Indemnified 
++Contributor to the extent caused by the acts or omissions of such Commercial 
++Contributor in connection with its distribution of the Program in a 
commercial 
++product offering. The obligations in this section do not apply to any claims 
++or Losses relating to any actual or alleged intellectual property 
++infringement. In order to qualify, an Indemnified Contributor must: 
++a) promptly notify the Commercial Contributor in writing of such claim, and 
++b) allow the Commercial Contributor to control, and cooperate with the 
++Commercial Contributor in, the defense and any related settlement 
++negotiations. The Indemnified Contributor may participate in any such claim 
++at its own expense.
++
++For example, a Contributor might include the Program in a commercial product 
++offering, Product X. That Contributor is then a Commercial Contributor. If 
++that Commercial Contributor then makes performance claims, or offers 
++warranties related to Product X, those performance claims and warranties are 
++such Commercial Contributor's responsibility alone. Under this section, the 
++Commercial Contributor would have to defend claims against the other 
++Contributors related to those performance claims and warranties, and if a 
++court requires any other Contributor to pay any damages as a result, the 
++Commercial Contributor must pay those damages.
 +
 +5. NO WARRANTY
 +
- EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED 
- ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 
- EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES 
- OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR 
- A PARTICULAR PURPOSE. Each Recipient is solely responsible for 
- determining the appropriateness of using and distributing the Program 
- and assumes all risks associated with its exercise of rights under this 
- Agreement, including but not limited to the risks and costs of program 
- errors, compliance with applicable laws, damage to or loss of data, 
- programs or equipment, and unavailability or interruption of operations.
++EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON 
++AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER 
++EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR 
++CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A 
++PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the 
++appropriateness of using and distributing the Program and assumes all 
++risks associated with its exercise of rights under this Agreement , 
++including but not limited to the risks and costs of program errors, 
++compliance with applicable laws, damage to or loss of data, programs or 
++equipment, and unavailability or interruption of operations.
 +
 +6. DISCLAIMER OF LIABILITY
 +
- EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR 
- ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, 
- INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING 
- WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF 
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR 
- DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED 
- HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
++EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY 
++CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
++SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION 
++LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
++CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
++ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE 
++EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE 
++POSSIBILITY OF SUCH DAMAGES.
 +
 +7. GENERAL
 +
 +If any provision of this Agreement is invalid or unenforceable under 
- applicable law, it shall not affect the validity or enforceability of 
- the remainder of the terms of this Agreement, and without further action 
- by the parties hereto, such provision shall be reformed to the minimum 
- extent necessary to make such provision valid and enforceable.
- 
- If Recipient institutes patent litigation against a Contributor with 
- respect to a patent applicable to software (including a cross-claim or 
- counterclaim in a lawsuit), then any patent licenses granted by that 
- Contributor to such Recipient under this Agreement shall terminate as of 
- the date such litigation is filed. In addition, if Recipient institutes 
- patent litigation against any entity (including a cross-claim or 
- counterclaim in a lawsuit) alleging that the Program itself (excluding 
- combinations of the Program with other software or hardware) infringes 
- such Recipient's patent(s), then such Recipient's rights granted under 
- Section 2(b) shall terminate as of the date such litigation is filed.
- 
- All Recipient's rights under this Agreement shall terminate if it fails 
- to comply with any of the material terms or conditions of this Agreement 
- and does not cure such failure in a reasonable period of time after 
- becoming aware of such noncompliance. If all Recipient's rights under 
- this Agreement terminate, Recipient agrees to cease use and distribution 
- of the Program as soon as reasonably practicable. However, Recipient's 
- obligations under this Agreement and any licenses granted by Recipient 
- relating to the Program shall continue and survive.
- 
- Everyone is permitted to copy and distribute copies of this Agreement, 
- but in order to avoid inconsistency the Agreement is copyrighted and may 
- only be modified in the following manner. The Agreement Steward reserves 
- the right to publish new versions (including revisions) of this 
- Agreement from time to time. No one other than the Agreement Steward has 
- the right to modify this Agreement. IBM is the initial Agreement 
- Steward. IBM may assign the responsibility to serve as the Agreement 
- Steward to a suitable separate entity. Each new version of the Agreement 
- will be given a distinguishing version number. The Program (including 
- Contributions) may always be distributed subject to the version of the 
- Agreement under which it was received. In addition, after a new version 
- of the Agreement is published, Contributor may elect to distribute the 
- Program (including its Contributions) under the new version. Except as 
++applicable law, it shall not affect the validity or enforceability of the 
++remainder of the terms of this Agreement, and without further action by 
++the parties hereto, such provision shall be reformed to the minimum extent 
++necessary to make such provision valid and enforceable.
++
++If Recipient institutes patent litigation against any entity (including a 
++cross-claim or counterclaim in a lawsuit) alleging that the Program itself 
++(excluding combinations of the Program with other software or hardware) 
++infringes such Recipient's patent(s), then such Recipient's rights granted 
++under Section 2(b) shall terminate as of the date such litigation is filed.
++
++All Recipient's rights under this Agreement shall terminate if it fails to 
++comply with any of the material terms or conditions of this Agreement and 
++does not cure such failure in a reasonable period of time after becoming 
++aware of such noncompliance. If all Recipient's rights under this Agreement 
++terminate, Recipient agrees to cease use and distribution of the Program as 
++soon as reasonably practicable. However, Recipient's obligations under this 
++Agreement and any licenses granted by Recipient relating to the Program 
++shall continue and survive.
++
++Everyone is permitted to copy and distribute copies of this Agreement, but 
++in order to avoid inconsistency the Agreement is copyrighted and may only 
++be modified in the following manner. The Agreement Steward reserves the 
++right to publish new versions (including revisions) of this Agreement from 
++time to time. No one other than the Agreement Steward has the right to 
++modify this Agreement. The Eclipse Foundation is the initial Agreement 
++Steward. The Eclipse Foundation may assign the responsibility to serve as 
++the Agreement Steward to a suitable separate entity. Each new version of 
++the Agreement will be given a distinguishing version number. The Program 
++(including Contributions) may always be distributed subject to the version 
++of the Agreement under which it was received. In addition, after a new 
++version of the Agreement is published, Contributor may elect to distribute 
++the Program (including its Contributions) under the new version. Except as 
 +expressly stated in Sections 2(a) and 2(b) above, Recipient receives no 
 +rights or licenses to the intellectual property of any Contributor under 
- this Agreement, whether expressly, by implication, estoppel or 
- otherwise. All rights in the Program not expressly granted under this 
- Agreement are reserved.
++this Agreement, whether expressly, by implication, estoppel or otherwise. 
++All rights in the Program not expressly granted under this Agreement are 
++reserved.
 +
 +This Agreement is governed by the laws of the State of New York and the 
 +intellectual property laws of the United States of America. No party to 
 +this Agreement will bring a legal action under this Agreement more than 
- one year after the cause of action arose. Each party waives its rights 
- to a jury trial in any resulting litigation. 
- 
- 
- Linking Exception clause for GPL
- 
- As a special exception, the copyright holders of this library give you
- permission to link this library with independent modules to produce an
- executable, regardless of the license terms of these independent
- modules, and to copy and distribute the resulting executable under
- terms of your choice, provided that you also meet, for each linked
- independent module, the terms and conditions of the license of that
- module.  An independent module is a module which is not derived from
- or based on this library.  If you modify this library, you may extend
- this exception to your version of the library, but you are not
- obligated to do so.  If you do not wish to do so, delete this
- exception statement from your version.
++one year after the cause of action arose. Each party waives its rights to 
++a jury trial in any resulting litigation.
++
++------------------------------------------------------------------------------
++
++icu4j was downloaded from
++ftp://ftp.software.ibm.com/software/globalization/icu/icu4j/3.4.5/icu4jsrc_3_4_5.jar
++
++Copyright Holder: IBM and contributors
++
++License:
++
++ICU4J license - ICU4J 1.3.1 and later
++
++   COPYRIGHT AND PERMISSION NOTICE
++
++   Copyright (c) 1995-2006 International Business Machines Corporation
++   and others
++
++   All rights reserved.
++
++   Permission is hereby granted, free of charge, to any person obtaining
++   a copy of this software and associated documentation files (the
++   "Software"), to deal in the Software without restriction, including
++   without limitation the rights to use, copy, modify, merge, publish,
++   distribute, and/or sell copies of the Software, and to permit persons
++   to whom the Software is furnished to do so, provided that the above
++   copyright notice(s) and this permission notice appear in all copies of
++   the Software and that both the above copyright notice(s) and this
++   permission notice appear in supporting documentation.
++
++   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
++   OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
++   HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY
++   SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER
++   RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
++   CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
++   CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
++
++   Except as contained in this notice, the name of a copyright holder
++   shall not be used in advertising or otherwise to promote the sale, use
++   or other dealings in this Software without prior written authorization
++   of the copyright holder.
++     _________________________________________________________________
++
++   All trademarks and registered trademarks mentioned herein are the
++   property of their respective owners.
++
++------------------------------------------------------------------------------
++
++jsch was downloaded from http://www.sourceforget.net/jsch
++
++License:
++
++------------------------------------------------------------------------------
++Copyright (c) 2002,2003,2004 Atsuhiko Yamanaka, JCraft,Inc. 
++All rights reserved.
++
++Redistribution and use in source and binary forms, with or without
++modification, are permitted provided that the following conditions are met:
++
++  1. Redistributions of source code must retain the above copyright notice,
++     this list of conditions and the following disclaimer.
++
++  2. Redistributions in binary form must reproduce the above copyright 
++     notice, this list of conditions and the following disclaimer in 
++     the documentation and/or other materials provided with the distribution.
++
++  3. The names of the authors may not be used to endorse or promote products
++     derived from this software without specific prior written permission.
++
++THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
++INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
++FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JCRAFT,
++INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
++INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
++LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
++OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
++LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
++NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
++EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --cc debian/ecj-gcj.install
index 5ba8567,0000000..25c2c6a
mode 100644,000000..100644
--- a/debian/ecj-gcj.install
+++ b/debian/ecj-gcj.install
@@@ -1,3 -1,0 +1,1 @@@
- debian/tmp/usr/bin/ecj-gcj
- debian/tmp/usr/lib/gcj/eclipse-ecj.jar.so
- debian/tmp/usr/share/gcj
++debian/tmp/usr/bin/ecj-gcj 
diff --cc debian/ecj.1
index 68d6c57,0000000..37f9ae0
mode 100644,000000..100644
--- a/debian/ecj.1
+++ b/debian/ecj.1
@@@ -1,104 -1,0 +1,106 @@@
- .TH JDTC "1" "October 2002" 
++.TH ECJ "1" "October 2002" 
 +.SH NAME
- ejdtc \- manual page for JDT Compiler
++ecj \- manual page for eclipse JDT Compiler
 +.SH SYNOPSIS
- .B jdtc <options> <source files>\fR
++.B ecj <options> <source files>\fR
 +.SH DESCRIPTION
- JDT Compiler is command version of Java compiler for eclipse. jdtc 
++The JDT Compiler (jdtc) is a command version of Java compiler for eclipse. 
ecj 
 +has basic java compiler options like SUN's javac.
 +.PP
 +Note: this manual page is out of date; please call the compiler with
 +\fB\-help\fR for the current documentation.
 +.SH OPTIONS
 +.TP
 +\fB\-help\fR                   display a help message
 +.TP
 +\fB\-version\fR                compiler version number
 +.TP
 +\fB\-classpath\fR              <dir 1>;<dir 2>;...;<dir P>
 +.TP
 +\fB\-d\fR <dir>                destination directory (if omitted no package 
directory structure is created)
 +.TP
 +\fB\-d\fR none
 +no classfile is generated
 +.PP
- \fB\-target\fR <ver>           classfile target setting (1.1 or 1.2, default 
is 1.1)
- .TP
 +\fB\-1.3\fR                    set compliance level to 1.3
 +.TP
 +\fB\-1.4\fR                    set compliance level to 1.4 (default)
 +.TP
 +\fB\-1.5\fR                    set compliance level to 1.5
 +.TP
 +\fB\-1.6\fR                    set compliance level to 1.6
 +.TP
++\fB\-1.7\fR                    set compliance level to 1.7
++.TP
 +\fB\-source\fR <ver>           assertions toggle (1.3 or 1.4, default is 1.3 
in -1.3 mode and 1.4 in -1.4 mode)
 +.TP
++\fB\-target\fR <ver>           classfile target setting
++.TP
 +\fB\-nowarn\fR                 no warning (equivalent to '\-warn:none')
 +.TP
 +\fB\-warn\fR: <level>          set warning level (e.g. 
'\-warn:unusedLocals,deprecation')
 +.TP
 +constructorName
 +warn method with constructor name
 +.TP
 +packageDefaultMethod
 +warn attempt to override package-default method
 +.TP
 +deprecation
 +warn usage of deprecated type or member
 +.TP
 +maskedCatchBlocks
 +warn hidden catch block
 +.TP
 +unusedLocals
 +warn on unused local variable (never read)
 +.TP
 +unusedArguments
 +warn on unused method argument (never read)
 +.TP
 +unusedImports
 +warn on unused imports
 +.TP
 +syntheticAccess
 +warn when performing synthetic access for innerclass
 +.TP
 +assertIdentifier
 +warn occurrence of 'assert' used as identifier
 +.PP
 +\fB\-deprecation\fR            equivalent to \fB\-warn\fR:deprecation.
 +\fB\-g[\fR:<level>]            debug attributes level
 +.TP
 +\fB\-g\fR
 +all debug info ('\-g:lines,vars,source')
 +.TP
 +\fB\-g\fR:none
 +no debug info
 +.TP
 +\fB\-g\fR:[lines,vars,source]
 +selective debug info
 +.PP
 +\fB\-preserveAllLocals\fR      code gen preserve all local variables (for 
debug purpose)
 +.TP
 +\fB\-noImportError\fR          no errors for unresolved imports
 +.TP
 +\fB\-encoding\fR               specify default source encoding format (custom 
encoding can also be specifed on a per file basis by suffixing each input 
source file/folder name with '[encoding]')
 +.PP
 +\fB\-log\fR <filename>         specify a log file
 +.TP
 +\fB\-proceedOnError\fR         keep compiling when error, dumping class files 
with problem methods
 +.TP
 +\fB\-verbose\fR                print accessed\/processed compilation units
 +.TP
 +\fB\-referenceInfo\fR          compute reference info
 +.TP
 +\fB\-progress\fR               show progress (only in \fB\-log\fR mode)
 +.TP
 +\fB\-time\fR                   display speed information
 +.TP
 +\fB\-noExit\fR                 do not call System.exit(n) at end of 
compilation (n=0 if no error)
 +.TP
 +\fB\-repeat\fR <n>             repeat compilation process <n> times (perf 
analysis)
 +.PP
 +.SH AUTHOR
 +This manual page was written by Takshi Okamoto and Jan Schulz
 +<deb...@katzien.de>.
diff --cc debian/ecj.in
index 2076605,0000000..5c30739
mode 100644,000000..100644
--- a/debian/ecj.in
+++ b/debian/ecj.in
@@@ -1,31 -1,0 +1,30 @@@
 +#! /bin/sh
 +
- ver=4.1
- 
 +case "$*" in
 +  *-bootclasspath*) ;;
 +  *)
 +    if [ ! -f /usr/lib/jvm/java-gcj/jre/lib/rt.jar ]; then
-       bcoption="-bootclasspath /usr/share/java/libgcj-$ver.jar"
++      bcoption="-bootclasspath /usr/share/java/libgcj-@ver@.jar"
 +    fi
 +esac
 +
 +if [ -x /usr/bin/ecj-gcj ]; then
 +
 +    exec /usr/bin/ecj-gcj \
 +      $bcoption ${1+"$@"}
 +
 +else
 +
 +    case $CLASSPATH in
 +      */usr/share/java/ecj.jar*) ;;
-       *) CLASSPATH=${CLASSPATH:+$CLASSPATH:}/usr/share/java/ecj.jar
++      */usr/share/java/ecj-eclipse.jar*) ;;
++      *) CLASSPATH=${CLASSPATH:+$CLASSPATH:}/usr/share/java/ecj-eclipse.jar
 +    esac
 +    export CLASSPATH
 +
-     exec /usr/bin/gij-$ver \
++    exec /usr/bin/gij-@ver@ \
 +        -Dgnu.gcj.precompiled.db.path=/var/lib/gcj-$ver/classmap.db \
 +        -Djava.ext.dirs=/usr/lib/java-ext:/usr/share/java-ext \
 +        org.eclipse.jdt.internal.compiler.batch.Main $bcoption ${1+"$@"}
 +
 +fi
diff --cc debian/libecj-java-gcj.install
index 5ba8567,0000000..a206027
mode 100644,000000..100644
--- a/debian/libecj-java-gcj.install
+++ b/debian/libecj-java-gcj.install
@@@ -1,3 -1,0 +1,2 @@@
- debian/tmp/usr/bin/ecj-gcj
 +debian/tmp/usr/lib/gcj/eclipse-ecj.jar.so
 +debian/tmp/usr/share/gcj
diff --cc debian/libecj-java-gcj.postinst
index 6901eaa,0000000..6901eaa
mode 100644,000000..100644
--- a/debian/libecj-java-gcj.postinst
+++ b/debian/libecj-java-gcj.postinst
diff --cc debian/libecj-java-gcj.postrm
index e6c5b04,0000000..e6c5b04
mode 100644,000000..100644
--- a/debian/libecj-java-gcj.postrm
+++ b/debian/libecj-java-gcj.postrm
diff --cc debian/rules
index feac4ac,0000000..292a7ab
mode 100755,000000..100755
--- a/debian/rules
+++ b/debian/rules
@@@ -1,184 -1,0 +1,219 @@@
 +#!/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
++ifeq (,$(filter $(DEB_HOST_ARCH), alpha m68k))
++  GCC_VERSION   = 4.2
++  LIBGCJ_EXT    = 8
++  LIBGCJ_SOVER        = 81
++  REQ_VERSION   = 4.2.1
++else
++  GCC_VERSION   = 4.1
++  LIBGCJ_EXT    = 7
++  LIBGCJ_SOVER        = 71
++  REQ_VERSION   = 4.1.2-3
++endif
++
++ant_version = 1.7
 +ant_version =
- GCJ = gcj-$(gcc_version)
- GIJ = gij-$(gcc_version)
- GCJDBTOOL = gcj-dbtool-$(gcc_version)
++GCJ = gcj-$(GCC_VERSION)
++GIJ = gij-$(GCC_VERSION)
++GCJDBTOOL = gcj-dbtool-$(GCC_VERSION)
++GCJSUBDIR = /usr/lib/gcj-$(GCC_VERSION)-$(LIBGCJ_SOVER)
 +
 +DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
 +
 +with_native := yes
 +with_rebuild := yes
 +
- ifneq (,$(findstring $(DEB_HOST_ARCH), arm))
++ifneq (,$(findstring $(DEB_HOST_ARCH), arm armel))
 +  with_rebuild := no
 +endif
 +
++DEB_DH_GENCONTROL_ARGS_ecj = -- \
++      '-Vpkg:gij=gij-$(GCC_VERSION) (>= $(REQ_VERSION))' \
++      '-Vpkg:libgcjjar=libgcj$(LIBGCJ_EXT)-jar (>= $(REQ_VERSION)'
++
 +JAR = eclipse-ecj.jar
 +
 +default: build
 +
 +eclipse_root = $(CURDIR)/../eclipse
 +
 +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/
 +      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
- 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)
++      : # 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 \
++          -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))
++
++      cd build/bin && find -name '*.rsc' -o -name '*.properties' \
++          | fastjar -c -@ - -f $(CURDIR)/build/resources.jar
 +      $(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 \
++          -c -O2 -g -fPIC -fjni -findirect-dispatch \
++          -o build/dist/resources.o build/resources.jar
++
++      PYTHONPATH=$(CURDIR)/debian \
++      RPATH=-Wl,-rpath,$(GCJSUBDIR) \
++        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
 +
++  ifeq (0,1)
 +      : # ecj-gcj
 +      time $(GCJ) \
-           -O2 -g -Wl,-O1 \
++          -O1 -g -Wl,-O1 -Wl,-rpath,$(GCJSUBDIR) \
 +          --main=org.eclipse.jdt.internal.compiler.batch.Main \
-           -o build/exe/ecj-gcj build/exe/ecj-standalone.jar
++          -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-gcj::
++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/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::
-       mkdir -p debian/tmp/usr/bin
-       install -m 755 ecj debian/tmp/usr/bin/
++install/ecj1::
++ifeq ($(with_native),yes)
++      mkdir -p debian/ecj1/usr/lib/gcc
++      install -m 755 build/dist/ecj1 debian/ecj1/usr/lib/gcc/
++endif
 +
 +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/
++      install -m 755 build/dist/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
 +
- install/ecj-bootstrap::
-       mkdir -p debian/ecj-bootstrap/usr/bin
-       install -m 755 ecj-bootstrap debian/ecj-bootstrap/usr/bin/
++binary-predeb/ecj1::
++      sed -i 's/libgcj[1-9][^,]*//;s/,,/,/' debian/ecj1.substvars
 +
-       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
++binary-predeb/ecj-gcj::
++      sed -i 's/libgcj[1-9][^,]*//;s/,,/,/' debian/ecj-gcj.substvars
 +
 +clean::
 +      rm -rf build
 +      rm -f debian/*.pyc
++
++get-source:
++      rm -rf org.eclipse.jdt.core
++      @echo Press enter for the password
++      cvs -d :pserver:anonym...@dev.eclipse.org:/cvsroot/eclipse login
++      cvs -z3 -d :pserver:anonym...@dev.eclipse.org:/cvsroot/eclipse \
++        co -r R3_3_maintenance 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 \
++              tmp-src/org.eclipse.jdt.core/
++      cp -p org.eclipse.jdt.core/scripts/build.xml \
++              tmp-src/org.eclipse.jdt.core/
++      tar -c -f - -C 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 -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 -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 \
++          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

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-java/ecj.git

_______________________________________________
pkg-java-commits mailing list
pkg-java-comm...@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

Reply via email to