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