diff options
Diffstat (limited to 'debian')
45 files changed, 7674 insertions, 0 deletions
diff --git a/debian/README.Debian b/debian/README.Debian new file mode 100644 index 0000000..457c92e --- /dev/null +++ b/debian/README.Debian @@ -0,0 +1,185 @@ + The Debian GNU Compiler Collection Setup + ======================================== + +Abstract +-------- + +Debian uses a default version of GCC for most packages; however, some +packages require another version. So, Debian allows several versions +of GCC to coexist on the same system, and selects the default version +by means of the gcc-defaults package, which creates symbolic links as +appropriate. + +FIXME: Needs update for stretch + +Versions of GCC present in Debian Stretch +----------------------------------------- + +- GCC 5 is the default compiler for all frontends on all architectures + except for Ada. + +- GCC 4.9 is the default compiler for Ada. + +- GCC 4.8 was removed for the release of Stretch. + +- GCC 4.7 was removed for the release of Jessie. + +- GCC 3.3 is not provided anymore; it is used to build libstdc++5 on + the amd64 and i386 architectures. It is expected that libstdc++5 is + not available anymore for the release following Lenny. + +- GCC 2.95 and GCC 2.7.2.3 were removed for the release of Lenny. + +How are the default compilers selected? +--------------------------------------- + +Starting in Debian 3.0, there is now a gcc-defaults package set. This +creates the actual packages for gcc, gnat, g++, gobjc, chill, gcj, gij, +gdc and gpc. These packages will depend on the corresponding default +compiler for that architecture. For Debian 5.0 for example, "gcc" +depends on "gcc-5", which means that the "gcc-5" package will +install a binary called "gcc-5", which is symlinked to in the "gcc" +package as "gcc". + +This may seem confusing, but what it allows you do to is install more +than one version of the GCC compiler collection at the same time, +making sure you are always using the one preferred for that +architecture. To use the other compiler, simply set CC=gcc-5, or +similar. + +The default compiler versions for Debian GNU/Linux on amd64 are +(minor version numbers omitted): + + cpp : cpp-6 + gcc : gcc-6 + g++ : g++-6 + gfortran : gfortran-6 + gcj : gcj-6 + gij : gij-6 + gccgo : gccgo-6 + gobjc : gobjc-6 + gobjc++ : gobjc++-6 + gdc : gdc-6 + +Most of the documentation for GCC including the manual pages is +licensed under the GFDL and therefore not included in the main section. + +Thanks to gcc-defaults, each architecture can choose its own preferred +compiler for each language, and that preference can change without +requiring a complete rebuild of both compiler packages for all +architectures. + +Practical implications +---------------------- + +The most important practical implications are in the merging/linking +of object files built with different compilers; If you use the 4.9 +C compiler, you should use the gcc-4.9 compiler driver for all your +work. When configuring sources, use + + CC=gcc-4.9 ./configure <configure options> # bash + setenv CC gcc-4.9; ./configure <options> # csh + +When calling make, use make CC=gcc-4.9. + +libstdc++ ABI +------------- + +Starting with Debian 8.0 (stretch), gcc-5 and newer compiler versions +now provides a stable libcxx11 ABI, and stable support for C++11 (GCC +version before 5 called this supported experimental). This required +some changes in the libstdc++ ABI, and now libstdc++6 provides a dual +ABI, the classic libcxx98 ABI, and the new libcxx11. Many C++ using +packages were rebuilt; it is likely that third party applications will +need rebuilds too. See https://wiki.debian.org/GCC5. + +C Application Binary Interface +------------------------------ + +Starting with Debian 4.0 (lenny), gcc-4.1 and newer compilers do +support the long double datatype with 128bit on the alpha, powerpc, +s390 and sparc architectures. Libraries and applications using this +datatype have to be rebuilt using the compiler versions in Lenny +unless these depend on libc6/libc6.1 and libstdc++6, which still have +compatibility with a 64bit long double datatype. + +gcc/g++/... are not handled using alternatives +---------------------------------------------- + +The symlinks in /usr/bin (gcc, g++, ...) are not handled using the Debian +alternative mechanism. There are differences in the architecture specific +ABI on some architectures and the C++ ABI differs as well. Having the +symlinks managed by alternatives doesn't allow reliable builds with the +same major/minor version of the compiler. To use another compiler version, +set the appropriate environment variables as described above in the section +"Practical implications". + +C++ libraries +------------- + +To use the libstdc++ library for debugging (found in the +libstd++6-<GCC version>-dbg package), add /usr/lib/debug to your +LD_LIBRARY_PATH. For gdb to display the source you need to get the +correspondig gcc-X.Y source package, unpack the source and point gdb +to the location of the source (dir directive). + +C++ Application Binary Interface +-------------------------------- + +Sometimes, the C++ ABI of GCC changes. It is impossible to link +object files that obey different ABIs into an executable. When the +ABI changes, Debian provides a new version of libstdc++ with a new +soname. + +Version 4 of the ABI was used by GCC 3.0 and 3.1; it is no longer +supported. + +Version 5 of the ABI is common to GCC 3.2 and 3.3; GCC 3.3 +provides libstdc++5. It is only supported as a runtime library. + +Version 6 of the ABI is common to GCC 3.4 and later; GCC 4.3 provides +libstdc++6. + +libstdc++6 in GCC 5 provides a dual ABI, see https://wiki.debian.org/GCC5. + +Bugs +---- + +Before submitting a bug, please read README.Bugs in this directory. + +Feedback appreciated +-------------------- + +Feedback about this document is appreciated; preferably as a Severity: +wishlist bug against Package: gcc . For general discussions and +questions, subscribe and/or email the debian-gcc@lists.debian.org mailing +list. + +Maintainers of these packages +----------------------------- + +Matthias Klose <doko@debian.org> +Ludovic Brenta <ludovic@ludovic-brenta.org> (gnat) +Iain Buclaw <ibuclaw@ubuntu.com> (gdc) +Aurelien Jarno <aurel32@debian.org> (mips*-linux) +Aurelien Jarno <aurel32@debian.org> (s390X*-linux) + +Former and/or inactive maintainers of these packages +---------------------------------------------------- + +Falk Hueffner <falk@debian.org> (alpha-linux) +Ray Dassen <jdassen@debian.org> +Jeff Bailey <jbailey@nisa.net> (hurd-i386) +Joel Baker <fenton@debian.org> (netbsd-i386) +Randolph Chung <tausq@debian.org> (ia64-linux) +Philip Blundell <pb@debian.org> (arm-linux) +Ben Collins <bcollins@debian.org> (sparc-linux) +Dan Jacobowitz <dan@debian.org> (powerpc-linux) +Thiemo Seufer <ths@networkno.de> (mips*-linux) +Matt Taggart <taggart@carmen.fc.hp.com> (hppa-linux) +Gerhard Tonn <GerhardTonn@swol.de> (s390-linux) +Roman Zippel <zippel@linux-m68k.org> (m68k-linux) +Arthur Loiret <arthur.loiret@gmail.com> (gdc) + +=============================================================================== + diff --git a/debian/README.Debian.m4 b/debian/README.Debian.m4 new file mode 100644 index 0000000..e3b1786 --- /dev/null +++ b/debian/README.Debian.m4 @@ -0,0 +1,205 @@ +divert(-1) +define(`ifenabled', `ifelse(index(PACKAGES, `$1'), -1, `dnl', `$2')') + +divert`'dnl +dnl -------------------------------------------------------------------------- + The Debian GNU Compiler Collection Setup + ======================================== + +Abstract +-------- + +Debian uses a default version of GCC for most packages; however, some +packages require another version. So, Debian allows several versions +of GCC to coexist on the same system, and selects the default version +by means of the gcc-defaults package, which creates symbolic links as +appropriate. + +FIXME: Needs update for stretch + +Versions of GCC present in Debian Stretch +----------------------------------------- + +- GCC 5 is the default compiler for all frontends on all architectures + except for Ada. + +- GCC 4.9 is the default compiler for Ada. + +- GCC 4.8 was removed for the release of Stretch. + +- GCC 4.7 was removed for the release of Jessie. + +- GCC 3.3 is not provided anymore; it is used to build libstdc++5 on + the amd64 and i386 architectures. It is expected that libstdc++5 is + not available anymore for the release following Lenny. + +- GCC 2.95 and GCC 2.7.2.3 were removed for the release of Lenny. + +How are the default compilers selected? +--------------------------------------- + +Starting in Debian 3.0, there is now a gcc-defaults package set. This +creates the actual packages for gcc, gnat, g++, gobjc, chill, gcj, gij, +gdc and gpc. These packages will depend on the corresponding default +compiler for that architecture. For Debian 5.0 for example, "gcc" +depends on "gcc-5", which means that the "gcc-5" package will +install a binary called "gcc-5", which is symlinked to in the "gcc" +package as "gcc". + +This may seem confusing, but what it allows you do to is install more +than one version of the GCC compiler collection at the same time, +making sure you are always using the one preferred for that +architecture. To use the other compiler, simply set CC=gcc-5, or +similar. + +The default compiler versions for Debian GNU/OS_NAME on DEB_ARCH are +(minor version numbers omitted): + + cpp : cpp-PV_CPP + gcc : gcc-PV_GCC +ifenabled(`g++',` g++ : g++-PV_GPP') +ifenabled(`gfortran',` gfortran : gfortran-PV_GFORT') +ifenabled(`gcj',` gcj : gcj-PV_GCJ') +ifenabled(`gcj',` gij : gij-PV_GIJ') +ifenabled(`gccgo',` gccgo : gccgo-PV_GGO') +ifenabled(`gobjc',` gobjc : gobjc-PV_GOBJC') +ifenabled(`gobjc++',` gobjc++ : gobjc++-PV_GOBJCXX') +ifenabled(`gnat',` gnat : gnat-PV_GNAT') +ifenabled(`gpc',` gpc : gpc-PV_GPC') +ifenabled(`gdc',` gdc : gdc-PV_GDC') + +ifdef(`GFDL',`dnl +Documentation for the default compilers can be found in + + /usr/share/doc/<compiler>-<package version>. +',`dnl +Most of the documentation for GCC including the manual pages is +licensed under the GFDL and therefore not included in the main section. +')`'dnl + +Thanks to gcc-defaults, each architecture can choose its own preferred +compiler for each language, and that preference can change without +requiring a complete rebuild of both compiler packages for all +architectures. + + +Practical implications +---------------------- + +The most important practical implications are in the merging/linking +of object files built with different compilers; If you use the 4.9 +C compiler, you should use the `gcc-4.9' compiler driver for all your +work. When configuring sources, use + + CC=gcc-4.9 ./configure <configure options> # bash + setenv CC gcc-4.9; ./configure <options> # csh + +When calling make, use `make CC=gcc-4.9'. + + +libstdc++ ABI +------------- + +Starting with Debian 8.0 (stretch), gcc-5 and newer compiler versions +now provides a stable libcxx11 ABI, and stable support for C++11 (GCC +version before 5 called this supported experimental). This required +some changes in the libstdc++ ABI, and now libstdc++6 provides a dual +ABI, the classic libcxx98 ABI, and the new libcxx11. Many C++ using +packages were rebuilt; it is likely that third party applications will +need rebuilds too. See https://wiki.debian.org/GCC5. + + +C Application Binary Interface +------------------------------ + +Starting with Debian 4.0 (lenny), gcc-4.1 and newer compilers do +support the `long double' datatype with 128bit on the alpha, powerpc, +s390 and sparc architectures. Libraries and applications using this +datatype have to be rebuilt using the compiler versions in Lenny +unless these depend on libc6/libc6.1 and libstdc++6, which still have +compatibility with a 64bit `long double' datatype. + + +gcc/g++/... are not handled using alternatives +---------------------------------------------- + +The symlinks in /usr/bin (gcc, g++, ...) are not handled using the Debian +alternative mechanism. There are differences in the architecture specific +ABI on some architectures and the C++ ABI differs as well. Having the +symlinks managed by alternatives doesn't allow reliable builds with the +same major/minor version of the compiler. To use another compiler version, +set the appropriate environment variables as described above in the section +"Practical implications". + + +C++ libraries +------------- + +To use the libstdc++ library for debugging (found in the +libstd++6-<GCC version>-dbg package), add /usr/lib/debug to your +LD_LIBRARY_PATH. For gdb to display the source you need to get the +correspondig gcc-X.Y source package, unpack the source and point gdb +to the location of the source (`dir' directive). + + +C++ Application Binary Interface +-------------------------------- + +Sometimes, the C++ ABI of GCC changes. It is impossible to link +object files that obey different ABIs into an executable. When the +ABI changes, Debian provides a new version of libstdc++ with a new +soname. + +Version 4 of the ABI was used by GCC 3.0 and 3.1; it is no longer +supported. + +Version 5 of the ABI is common to GCC 3.2 and 3.3; GCC 3.3 +provides libstdc++5. It is only supported as a runtime library. + +Version 6 of the ABI is common to GCC 3.4 and later; GCC 4.3 provides +libstdc++6. + +libstdc++6 in GCC 5 provides a dual ABI, see https://wiki.debian.org/GCC5. + +Bugs +---- + +Before submitting a bug, please read README.Bugs in this directory. + + +Feedback appreciated +-------------------- + +Feedback about this document is appreciated; preferably as a Severity: +wishlist bug against Package: gcc . For general discussions and +questions, subscribe and/or email the debian-gcc@lists.debian.org mailing +list. + +Maintainers of these packages +----------------------------- + +Matthias Klose <doko@debian.org> +Ludovic Brenta <ludovic@ludovic-brenta.org> (gnat) +Iain Buclaw <ibuclaw@ubuntu.com> (gdc) +Aurelien Jarno <aurel32@debian.org> (mips*-linux) +Aurelien Jarno <aurel32@debian.org> (s390X*-linux) + +Former and/or inactive maintainers of these packages +---------------------------------------------------- + +Falk Hueffner <falk@debian.org> (alpha-linux) +Ray Dassen <jdassen@debian.org> +Jeff Bailey <jbailey@nisa.net> (hurd-i386) +Joel Baker <fenton@debian.org> (netbsd-i386) +Randolph Chung <tausq@debian.org> (ia64-linux) +Philip Blundell <pb@debian.org> (arm-linux) +Ben Collins <bcollins@debian.org> (sparc-linux) +Dan Jacobowitz <dan@debian.org> (powerpc-linux) +Thiemo Seufer <ths@networkno.de> (mips*-linux) +Matt Taggart <taggart@carmen.fc.hp.com> (hppa-linux) +Gerhard Tonn <GerhardTonn@swol.de> (s390-linux) +Roman Zippel <zippel@linux-m68k.org> (m68k-linux) +Arthur Loiret <arthur.loiret@gmail.com> (gdc) + +=============================================================================== + diff --git a/debian/aot-compile b/debian/aot-compile new file mode 100644 index 0000000..93e1c60 --- /dev/null +++ b/debian/aot-compile @@ -0,0 +1,98 @@ +#!/usr/bin/python + +## Copyright (C) 2006, 2008 Red Hat, Inc. +## Written by Gary Benson <gbenson@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 sys +sys.path.append("/usr/lib/gcc") +import aotcompile +import getopt +import os + +usage = """\ +Usage: %s [OPTION...] SRCDIR DSTDIR +AOT-compile all Java bytecode in SRCDIR into DSTDIR. + +Options: + -M, --make=PATH make executable to use (%s) + -C, --gcj=PATH gcj executable to use (%s) + -D, --dbtool=PATH gcj-dbtool executable to use (%s) + -m, --makeflags=FLAGS flags to pass to make during build + -c, --gcjflags=FLAGS flags to pass to gcj during compilation + in addition to %s + -l, --ldflags=FLAGS flags to pass to gcj during linking + in addition to %s + -e, --exclude=PATH do not compile PATH + -L, --libdir=DIR overwrite destination directory + +Extra flags may also be passed using the AOT_MAKEFLAGS, AOT_GCJFLAGS +and AOT_LDFLAGS environment variables. + +The parallel=<n> option in DEB_BUILD_OPTIONS is passed to make unless +-j<n> is passed with -m, --makeflags""" % ( + os.path.basename(sys.argv[0]), + aotcompile.PATHS["make"], + aotcompile.PATHS["gcj"], + aotcompile.PATHS["dbtool"], + repr(" ".join(aotcompile.GCJFLAGS)), + repr(" ".join(aotcompile.LDFLAGS))) + +try: + try: + opts, args = getopt.getopt( + sys.argv[1:], + "M:C:D:m:c:l:e:L:", + ["make=", "gcj=", "dbtool=", + "makeflags=" "gcjflags=", "ldflags=", + "exclude=", "libdir="]) + srcdir, dstdir = args + except: + print >>sys.stderr, usage + sys.exit(1) + + compiler = aotcompile.Compiler(srcdir, dstdir) + for o, a in opts: + if o in ("-M", "--make"): + aotcompile.PATHS["make"] = a + if o in ("-C", "--gcj"): + aotcompile.PATHS["gcj"] = a + if o in ("-D", "--dbtool"): + aotcompile.PATHS["dbtool"] = a + if o in ("-m", "--makeflags"): + compiler.makeflags[0:0] = a.split() + if o in ("-c", "--gcjflags"): + compiler.gcjflags[0:0] = a.split() + if o in ("-l", "--ldflags"): + compiler.ldflags[0:0] = a.split() + if o in ("-e", "--exclude"): + compiler.exclusions.append(a) + if o in ("-L", "--libdir"): + compiler.libdir = a + + compiler.makeflags[0:0] = os.environ.get("AOT_MAKEFLAGS", "").split() + compiler.gcjflags[0:0] = os.environ.get("AOT_GCJFLAGS", "").split() + compiler.ldflags[0:0] = os.environ.get("AOT_LDFLAGS", "").split() + + try: + n = [int(o.replace('parallel=', '')) for o in os.environ.get("DEB_BUILD_OPTIONS", "").replace(',',' ').split() if o.startswith('parallel=')][-1] + except (ValueError, IndexError): + n=1 + if not [o for o in compiler.makeflags if o.startswith('-j')] and n > 1: + compiler.makeflags.append('-j%d' % n) + + compiler.compile() + +except aotcompile.Error, e: + print >>sys.stderr, "%s: error: %s" % ( + os.path.basename(sys.argv[0]), e) + sys.exit(1) diff --git a/debian/aotcompile.py b/debian/aotcompile.py new file mode 100644 index 0000000..3ef7f1f --- /dev/null +++ b/debian/aotcompile.py @@ -0,0 +1,435 @@ + +# -*- python -*- + +## Copyright (C) 2005, 2006, 2008 Red Hat, Inc. +## Written by Gary Benson <gbenson@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", + "dbtool": "/usr/bin/gcj-dbtool"} + +MAKEFLAGS = [] +GCJFLAGS = ["-g", "-O2", "-fPIC", "-findirect-dispatch", "-fjni"] +LDFLAGS = ["-Wl,-Bsymbolic"] + +MAX_CLASSES_PER_JAR = 1024 +MAX_BYTES_PER_JAR = 1048576 + +# Calculate the maximum jar size/maximum classes per jar. +try: + for line in file('/proc/meminfo'): + if line.startswith('MemTotal:'): + memtotal = int(line.split()[1]) + break + if memtotal < 2200000: + MAX_CLASSES_PER_JAR = 512 + MAX_BYTES_PER_JAR = 524288 + if memtotal < 1100000: + 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 + +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 $@ + +%(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, libdir, prefix = None): + self.srcdir = os.path.abspath(srcdir) + self.libdir = os.path.abspath(libdir) + if prefix is None: + self.dstdir = self.libdir + else: + self.dstdir = os.path.join(prefix, self.libdir.lstrip(os.sep)) + + # 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() + if not jobs: + raise Error, "nothing to do" + 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 + self.classnames = {} + + def addClass(self, bytes, name): + """Subclasses call this from their __init__ method for + every class they find.""" + digest = md5.new(bytes).digest() + self.classes[digest] = bytes + self.classnames[digest] = name + + 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(): + try: + name = classname(bytes) + except: + warn("job %s: class %s malformed or not a valid class file" % (self.path, self.classnames[hash])) + raise + 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, name) + +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(), name) + +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 --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..e8702e3 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,1555 @@ +gcc-defaults (1.168) unstable; urgency=medium + + * Fix building the cross packages. + + -- Matthias Klose <doko@debian.org> Sat, 08 Apr 2017 21:18:51 +0200 + +gcc-defaults (1.167) unstable; urgency=medium + + * Fix README.Bugs and gdc docdir symlinks. Closes: #858112. + * Install gcov-dump man pages. + + -- Matthias Klose <doko@debian.org> Fri, 07 Apr 2017 16:30:56 +0200 + +gcc-defaults (1.166) unstable; urgency=medium + + * gcc: Install gcov-dump symlinks. + + -- Matthias Klose <doko@debian.org> Thu, 16 Mar 2017 15:08:32 +0100 + +gcc-defaults (1.165) unstable; urgency=medium + + * Bump GCC 6 version to 6.3.0. + * Stop building powerpc cross packages from this source. + * Build mips64el packages from this source. + * gcc-multilib: Add conflicts with GCC 7 cross compiler packages. + * Mark all cross compiler packages excluding the -multilib packages + as M-A: foreign. + * Re-add mips64el as a gcj architecture. Closes: #851391. + * Bump libgcj-bc version number. Closes: #851775. + + -- Matthias Klose <doko@debian.org> Wed, 18 Jan 2017 17:11:46 +0100 + +gcc-defaults (1.164) unstable; urgency=medium + + * Bump GCC 6 version to 6.2.1. + * Bump GCC 5 version to 5.4.1. + * Rename libphobos-dev to libgphobos-dev. + * Mark libgphobos-dev as Multi-Arch: same. + + -- Matthias Klose <doko@debian.org> Fri, 18 Nov 2016 14:33:45 +0100 + +gcc-defaults (1.163) unstable; urgency=medium + + * Default to GCC 6, upload to unstable. + + -- Matthias Klose <doko@debian.org> Wed, 03 Aug 2016 13:56:07 +0200 + +gcc-defaults (1.162) experimental; urgency=medium + + * Default the 32bit x86 architectures to i686, keep i585 symlinks. + See https://lists.debian.org/debian-devel/2015/09/msg00589.html + + -- Matthias Klose <doko@debian.org> Tue, 10 May 2016 21:00:28 +0200 + +gcc-defaults (1.161) experimental; urgency=medium + + * Bump libgcj soname to 17. + + -- Matthias Klose <doko@debian.org> Sat, 09 Jan 2016 12:35:14 +0100 + +gcc-defaults (1.160) experimental; urgency=medium + + * Default to GCC 6. + + -- Matthias Klose <doko@debian.org> Sat, 02 Jan 2016 13:37:49 +0100 + +gcc-defaults (1.152) unstable; urgency=medium + + * Fix version in the libgcj-bc shlibs file. Closes: #825361. + + -- Matthias Klose <doko@debian.org> Fri, 27 May 2016 03:37:44 +0200 + +gcc-defaults (1.151) unstable; urgency=medium + + * Default the 32bit x86 architectures to i686, keep i585 symlinks. + See https://lists.debian.org/debian-devel/2015/09/msg00589.html + * Build gdc-sh4-linux-gnu. + + -- Matthias Klose <doko@debian.org> Mon, 02 May 2016 18:23:12 +0200 + +gcc-defaults (1.150) unstable; urgency=medium + + * Bump GCC 5 version to 5.3.1. + * Fix package descriptions (Daniele Forsi). Closes: #807276. + * Update gcc-multilib's conflict list. + + -- Matthias Klose <doko@debian.org> Sun, 13 Dec 2015 16:14:05 +0100 + +gcc-defaults (1.149) unstable; urgency=medium + + * Enable gccgo on sparc and sparc64. + * Enable package builds for mips64, mips64el and sh4. + * Enable the gnat cross build on sh4. + * gcc-hppa64-linux-gnu: Fix gcc symlink, don't ship gcov and gcov-tool. + Closes: #806423. + * Stop building gccgo-hppa-linux-gnu, gccgo-m68k-linux-gnu. + + -- Matthias Klose <doko@debian.org> Mon, 30 Nov 2015 09:01:59 +0100 + +gcc-defaults (1.147) unstable; urgency=medium + + * Fix some fall-out building cross gcc packages. + * Build a gcc-hppa64-linux-gnu package. + * gcc: Provide an unversioned gcov-tool binary. + * Update README.Debian. + + -- Matthias Klose <doko@debian.org> Wed, 25 Nov 2015 20:46:31 +0100 + +gcc-defaults (1.146) unstable; urgency=medium + + * Build defaults packages for Debian cross architectures, including + all frontends and multilib packages. + + -- Matthias Klose <doko@debian.org> Tue, 24 Nov 2015 13:22:50 +0100 + +gcc-defaults (1.145) unstable; urgency=medium + + [ Aurelien Jarno ] + * Build gdc-multilib on mips64 and mips64el. + + -- Matthias Klose <doko@debian.org> Mon, 03 Aug 2015 10:33:23 +0200 + +gcc-defaults (1.144) unstable; urgency=medium + + * Build gdc with an epoch. Closes: #794329. + + -- Matthias Klose <doko@debian.org> Sat, 01 Aug 2015 20:45:36 +0200 + +gcc-defaults (1.143) unstable; urgency=high + + * Upload to unstable. + * Bump required GCC 5 version to 5.2.1-13. + + -- Matthias Klose <doko@debian.org> Thu, 30 Jul 2015 22:47:44 +0200 + +gcc-defaults (1.142) experimental; urgency=medium + + * Bump GCC 5 version to 5.2.1. + * Bump GCC 4.9 version to 4.9.3. + * Default to GCC 5 on sparc and hurd-i386. + * Change the long description of the multilib packages, because lintian + and ftp-master reject the capitalized version of "Dependency package". + + -- Matthias Klose <doko@debian.org> Sun, 19 Jul 2015 12:31:21 +0200 + +gcc-defaults (1.141) experimental; urgency=medium + + * Build multilib and gccgo packages for mips64* (James Cowgill). + Addresses: #773177. + * gcc-multilib: Break gcc-4.9-mips-linux-gnu. Add breaks for gcc-5 + cross compilers. + * gcj-jdk: Fix libgcj.pc symlink (Victor Seva). Addresses: #778376. + + -- Matthias Klose <doko@debian.org> Wed, 25 Feb 2015 13:34:24 +0100 + +gcc-defaults (1.140) experimental; urgency=medium + + * Provide the gcc-ar, gcc-nm and gcc-ranlib symlinks again. + * Provide a gcov-tool symlink. + + -- Matthias Klose <doko@debian.org> Fri, 13 Feb 2015 02:57:53 +0100 + +gcc-defaults (1.139) experimental; urgency=medium + + * Build a gdc-multilib package. + + -- Matthias Klose <doko@debian.org> Wed, 28 Jan 2015 23:50:29 +0100 + +gcc-defaults (1.138) experimental; urgency=medium + + * Bump GCC version to 5. + + -- Matthias Klose <doko@debian.org> Tue, 27 Jan 2015 21:18:46 +0100 + +gcc-defaults (1.135) unstable; urgency=medium + + * Bump GCC 4.9 version to 4.9.2. + * gcc-multilib: Add breaks to the gcc-4.9 cross compilers. + + -- Matthias Klose <doko@debian.org> Tue, 04 Nov 2014 16:35:11 +0100 + +gcc-defaults (1.134) unstable; urgency=medium + + [ Aurelien Jarno ] + * Don't build libphobos-dev on kfreebsd-amd64 and kfreebsd-i386 as + libphobos-4.9-dev is not built on these architectures. Closes: #761277. + + [ Matthias Klose ] + * Build libphobos-dev on hppa. Closes: #763103. + + -- Aurelien Jarno <aurel32@debian.org> Sat, 18 Oct 2014 10:57:13 +0200 + +gcc-defaults (1.133) unstable; urgency=medium + + * Build a libphobos-dev package (more than one package is providing + libphobos-dev). + * Build the gdc package on arm64 and sh4. + + -- Matthias Klose <doko@debian.org> Thu, 04 Sep 2014 22:43:26 +0200 + +gcc-defaults (1.132) unstable; urgency=medium + + * Provide i586-* compat symlinks for kfreebsd-i386 and hurd-i386. + + -- Matthias Klose <doko@debian.org> Tue, 19 Aug 2014 19:00:20 +0200 + +gcc-defaults (1.131) unstable; urgency=medium + + * Build-depend on dpkg-dev (>= 1.17.11). + + -- Matthias Klose <doko@debian.org> Sun, 17 Aug 2014 15:34:11 +0200 + +gcc-defaults (1.130) unstable; urgency=medium + + * Bump GCC 4.9 versions to 4.9.1. + * gfortran: Install alternatives for f77. Closes: #545461. + + -- Matthias Klose <doko@debian.org> Thu, 17 Jul 2014 21:52:39 +0200 + +gcc-defaults (1.129) unstable; urgency=medium + + * Default to 4.9 for m68k (Thorsten Glaser). + * Default to 4.9 for all remaining architectures (powerpcspe, sh4, x32). + * Provide gcc-{ar,nm,ranlib} man pages. + * Build a gccgo-doc package when building the documentation packages. + * Build-depend on gcc-4.9-base instead of gcc-4.8-base. + + -- Matthias Klose <doko@debian.org> Fri, 27 Jun 2014 16:13:12 +0200 + +gcc-defaults (1.128) unstable; urgency=medium + + * Default to GCC 4.9 for all architectures except m68k, or1k, powerpcspe, + sh4 and x32. + * Bump GCC 4.8 versions to 4.8.3. + * Move the gserialver binary and man page into the gcj-jdk package. + Closes: #747503. + + -- Matthias Klose <doko@debian.org> Tue, 10 Jun 2014 15:45:03 +0200 + +gcc-defaults (1.127exp2) experimental; urgency=medium + + * Provide the gnu triplet prefixed gcov symlink. + * Add ppc64el as a native gcj architecture. + * Default to 4.9 on mips64 and mips64el (Yunqiang Su). Closes: #744095. + + -- Matthias Klose <doko@debian.org> Sat, 03 May 2014 19:57:42 +0200 + +gcc-defaults (1.127) unstable; urgency=medium + + * Default gij/gcj to 4.9 for every architecture with a successful build. + * Default gccgo to 4.9 for every architecture (Go 1.2). + * Default gdc to 4.9 for every architecture. + * Provide the gnu triplet prefixed gcov symlink. + * Add ppc64el as a native gcj architecture. Closes: #744937. + * On x86 targets provide gnu-type prefixed binaries with the cpu that GCC + is configured for. + * Default to 4.8 on mips64 and mips64el (Yunqiang Su). Closes: #744095. + + -- Matthias Klose <doko@debian.org> Sat, 03 May 2014 19:41:43 +0200 + +gcc-defaults (1.126exp1) experimental; urgency=medium + + * Provide the gcc-{ar,nm,ranlib} symlinks again. + + -- Matthias Klose <doko@debian.org> Fri, 04 Apr 2014 14:28:44 +0200 + +gcc-defaults (1.125exp1) experimental; urgency=medium + + * Default to 4.9 on all architectures for which 4.9 doesn't fail to build. + + -- Matthias Klose <doko@debian.org> Fri, 17 Jan 2014 10:42:36 +0100 + +gcc-defaults (1.125) unstable; urgency=low + + * Build gccgo for arm64 and ppc64el. + * Default to 4.8 for powerpcspe (Roland Stigge). Closes: #734771. + * Default to 4.8 for powerpc (based on promises from powerpc porters not + showing that much involvement at least in the past). + * rebuild-gcj-db: Rebuild databases for 4.9. + + -- Matthias Klose <doko@debian.org> Fri, 17 Jan 2014 10:15:40 +0100 + +gcc-defaults (1.124) unstable; urgency=low + + [ Matthias Klose ] + * Bump GCC 4.8 versions to 4.8.2. + * Default to 4.8 for hppa (John David Anglin). + * Default to 4.7 for powerpcspe (Roland Stigge). + * Default to 4.8 for alpha (Michael Cree). + * Default to 4.8 for ppc64. It is a primary release architecture + upstream, although there is no support from the Debian ppc64 + porters. + + [ Aurelien Jarno ] + * Default to 4.8 for s390x architecture. + + -- Matthias Klose <doko@debian.org> Fri, 13 Dec 2013 02:12:54 +0100 + +gcc-defaults (1.123) unstable; urgency=low + + [ Aurelien Jarno ] + * Enable gcc-multilib on sparc64. + * Default to 4.8 for sparc64 architecture. + + [ Matthias Klose ] + * Default gcj to 4.8 on ia64 as well. + * Stop building the -spu packages on powerpc. + * Bump libgcj-common version to 4.8. + * Let gfortran provide the gfortran-mod version of the default + gfortran compiler. Addresses #714730. + + -- Matthias Klose <doko@debian.org> Sun, 11 Aug 2013 16:54:31 +0200 + +gcc-defaults (1.122) unstable; urgency=low + + [ Matthias Klose ] + * Update maintainer list. + * Default gccgo to 4.8 for every architecture (requiring 4.8.1-4). + * Fix gccgo-multilib dependency (closes: #712266). + * Default to 4.8 for m68k (Thorsten Glaser, Wouter Verhelst). + * Build gcj packages for arm64. + + [ Aurelien Jarno ] + * Default to 4.8 for mips and mipsel architectures. + + -- Matthias Klose <doko@debian.org> Sun, 30 Jun 2013 23:33:50 +0200 + +gcc-defaults (1.121) unstable; urgency=low + + * Bump GCC 4.8 versions to 4.8.1. + * Bump GCC 4.7 versions to 4.7.3. + * Bump GCC 4.6 versions to 4.6.4. + * Default to 4.8 for all x86 architectures. + * Default to 4.8 for ARM architectures (agreed by the ARM porters). + * Default gdc to 4.8 for every architecture. + * Default gij/gcj to 4.8 for every architecture. + * Stop building the gdc-v1 package. + * Add support for x32 (Daniel Schepler). Closes: #692140. + * Fix broken symlink in gcj-jre-headless. Closes: #710471. + * Fix gcj package descriptions. Closes: #652495. + + -- Matthias Klose <doko@debian.org> Wed, 12 Jun 2013 23:11:47 +0200 + +gcc-defaults (1.120) unstable; urgency=low + + * Bump GCC 4.7 versions to 4.7.2. + * Don't try to update the libgcj-db database for 4.5, removed for + the wheezy release. Closes: #620582, #626600. + + -- Matthias Klose <doko@debian.org> Thu, 27 Sep 2012 02:00:03 +0200 + +gcc-defaults (1.119) unstable; urgency=low + + [ Matthias Klose ] + * Bump gcc-4.7 version to 4.7.1. + * Provide gcc-{ar,nm,ranlib} for architectures with 4.7 as the default. + * Update README.Debian for Wheezy. Closes: #675026. + + [Hiroyuki Yamamoto] + * Build gccgo on ppc64. Closes: #668861. + + -- Matthias Klose <doko@debian.org> Tue, 26 Jun 2012 03:05:15 +0200 + +gcc-defaults (1.118) unstable; urgency=low + + * Default to GCC 4.7 for gcc, g++, gfortran on amd64, i386, + kfreebsd-amd64, kfreebsd-i386 and hurd-i386. + + -- Matthias Klose <doko@debian.org> Mon, 07 May 2012 17:30:36 +0200 + +gcc-defaults (1.117) unstable; urgency=low + + [ Samuel Thibault ] + * Default gij/gcj to 4.7 on the Hurd too. + + [ Matthias Klose ] + * Default the spu cross compilers to 4.7. + * Check for gcj-4.7 in rebuild-gcj-db. + * Build gccgo on armel, armhf, mips, mipsel, build gccgo-multilib + on mips, mipsel. + + -- Matthias Klose <doko@debian.org> Wed, 02 May 2012 19:26:49 +0200 + +gcc-defaults (1.116) unstable; urgency=low + + * Bump libgcj soversion. Closes: #666437. + + -- Matthias Klose <doko@debian.org> Mon, 02 Apr 2012 08:47:08 +0200 + +gcc-defaults (1.115) unstable; urgency=low + + * Don't build gccgo-multilib on kfreebsd-amd64, mips, mipsel. + + -- Matthias Klose <doko@debian.org> Wed, 28 Mar 2012 16:50:54 +0200 + +gcc-defaults (1.114) unstable; urgency=low + + * Add new architectures for gccgo-multilib. + + -- Matthias Klose <doko@debian.org> Wed, 28 Mar 2012 15:00:42 +0200 + +gcc-defaults (1.113) unstable; urgency=low + + * Bump GCC 4.6 versions to 4.6.3. + * Default gccgo to gccgo-4.7 (Go language version 1). + * Default gij/gcj to 4.7 for every architecture except ia64 and the Hurd. + * Bump standards version to 3.9.3. + * Remove Arthur from uploaders. + + -- Matthias Klose <doko@debian.org> Tue, 27 Mar 2012 23:10:01 +0200 + +gcc-defaults (1.112) unstable; urgency=low + + * gdc-v1: Fix gdmd-v1 symlinks. + + -- Matthias Klose <doko@debian.org> Thu, 05 Jan 2012 18:25:16 +0100 + +gcc-defaults (1.111) unstable; urgency=low + + * Default gdc to gdc-4.6, providing D version 2. + + -- Matthias Klose <doko@debian.org> Tue, 03 Jan 2012 07:25:30 +0100 + +gcc-defaults (1.110) unstable; urgency=low + + * Default to 4.6 for alpha (Michael Cree). Closes: #649922. + * Default to 4.6 for m68k, except gij/gcj (Thorsten Glaser). + * Build a gdc-v1 package to prepare the D v1 to D v2 transition. + + -- Matthias Klose <doko@debian.org> Sat, 10 Dec 2011 21:26:12 +0100 + +gcc-defaults (1.109) unstable; urgency=low + + * Bump GCC 4.6 versions to 4.6.2. + * Default to 4.6 for powerpcspe (Kyle Moffett). Closes: #647456. + + -- Matthias Klose <doko@debian.org> Thu, 24 Nov 2011 13:19:06 +0100 + +gcc-defaults (1.108) unstable; urgency=low + + [ Matthias Klose ] + * debian/rules: Remove duplicate code. + * Fix libgcj.pc symlink for multiarch builds. + * Fix upgrade path (/usr/include/asm must be a symlink). Closes: #638418. + + [ Aurelien Jarno ] + * Add support for s390x. + + -- Matthias Klose <doko@debian.org> Sat, 24 Sep 2011 16:55:44 +0200 + +gcc-defaults (1.107) unstable; urgency=low + + * Enable multiarch build for libgcj-bc. Closes: #633359. + * Don't care about gc[cj]-4.6 build dependencies on m68k. + * Fix last references to obsolete gcj package. + + -- Matthias Klose <doko@debian.org> Sat, 09 Jul 2011 19:23:28 +0200 + +gcc-defaults (1.106) unstable; urgency=low + + * Bump GCC 4.6 versions to 4.6.1. + * Bump GCC 4.4 versions to 4.4.6. + * Default to 4.6 for sh4 (Nobuhiro Iwamatsu). Closes: #633073. + * Default to 4.6 for ia64 (email exchange with Bdale Garbee). + * Default to 4.6 for sparc64 (Aurelian Jarno). + * Default to 4.6 for sparc. Last "supported" architecture in Debian + using GCC 4.4, but unmaintained by the Debian GCC maintainers. + * Make cpp Multi-Arch: allowed. Closes: #630853. + * cpp: Don't call update-alternatives on upgrade. Closes: #568299. + + -- Matthias Klose <doko@debian.org> Sat, 09 Jul 2011 15:59:53 +0200 + +gcc-defaults (1.105) unstable; urgency=low + + * Build libgcj-bc for multiarch. Closes: #630417. + + -- Matthias Klose <doko@debian.org> Thu, 16 Jun 2011 23:47:48 +0200 + +gcc-defaults (1.104) unstable; urgency=low + + * Bump libgcj version for gcj-4.6. Closes: #624632. + * gcc-multilib: Drop the pre-depends on linux-libc-dev. Closes: #624660. + + -- Matthias Klose <doko@debian.org> Sat, 30 Apr 2011 20:44:40 +0200 + +gcc-defaults (1.103) unstable; urgency=low + + * Don't build gccgo on armel and armhf. Closes: #622095. + * Add dependency on gcc-multilib to the other -multilib packages. + * Stop building transitional gij and gcj packages. + * Default to 4.6 for x86, armel, hppa, powerpc. + * Default to 4.6 for armhf (Konstantinos Margaritis). + * Default to 4.6 for hurd-i386 (Samuel Thibault). + * Default to 4.6 for s390 (Bastian Blank). + * Default to 4.6 for mips and mipsel (Aurelian Jarno). + + -- Matthias Klose <doko@debian.org> Fri, 29 Apr 2011 17:38:51 +0200 + +gcc-defaults (1.102) unstable; urgency=medium + + * Fix typos. Closes: #620275, #620190. + + -- Matthias Klose <doko@debian.org> Fri, 01 Apr 2011 15:53:14 +0200 + +gcc-defaults (1.101) unstable; urgency=low + + * Update rebuild-gcj-db for gcj-4.5 and gcj-4.6. + * debian/rules: Fix libgcj-bc.so.1 symlink for multiarch path, + when building for multiarch (Martin Pitt). + * Remove sparc gcc/g++ wrappers. + + -- Matthias Klose <doko@debian.org> Wed, 30 Mar 2011 00:37:25 +0200 + +gcc-defaults (1.100) unstable; urgency=low + + * c99: Do not accept -ansi option (Mike Miller). Closes: #617321. + * c99: Clarify c99 error message incorrectly refering to ANSI C + (Mike Miller). Closes: #618718. + * On hppa, default gcc, g++, gobjc, gobjc++, gfortran to GCC-4.5. + * Build gccgo and gccgo-multilib packages. + + -- Matthias Klose <doko@debian.org> Sun, 27 Mar 2011 13:05:18 +0200 + +gcc-defaults (1.99) unstable; urgency=low + + * gdc: Fix versioned dependency on gdc-4.4. + + -- Matthias Klose <doko@debian.org> Mon, 07 Mar 2011 22:43:33 +0100 + +gcc-defaults (1.98) unstable; urgency=low + + * Stop building gpc. Closes: #613923. + * Default to gdc-4.4. + * On amd64, armel, armhf, i386, powerpc, ppc64, kfreebsd-amd64 + and kfreebsd-i386: + Default gcc, g++, gobjc, gobjc++, gfortran to GCC-4.5. + * Do not install anymore the sparc gcc/g++ wrappers. + + -- Matthias Klose <doko@debian.org> Sun, 06 Mar 2011 03:10:53 +0100 + +gcc-defaults (1.97) unstable; urgency=low + + * On armhf, point gdc to gdc-4.4. + * Tighten build dependency on python. Closes: #604188. + * Add Vcs-* attributes to the control file. Closes: #597058. + + -- Matthias Klose <doko@debian.org> Mon, 06 Dec 2010 02:28:32 +0100 + +gcc-defaults (1.96) unstable; urgency=low + + * Bump dependencies to 4.4.5. + * Bump gdc version to 1.060. + * Build using dh_python2 instead of python-central. + + -- Matthias Klose <doko@debian.org> Tue, 05 Oct 2010 10:19:12 +0200 + +gcc-defaults (1.95) unstable; urgency=low + + * Fix libgcj-bc shlibs file. Closes: #584545. + + -- Matthias Klose <doko@debian.org> Sat, 05 Jun 2010 19:05:46 +0200 + +gcc-defaults (1.94) unstable; urgency=low + + * Bump dependencies to 4.4.4 / 4.3.5. + * Build gdc for sparc. + * Add powerpcspe to gcj_archs. + + -- Matthias Klose <doko@debian.org> Sun, 30 May 2010 22:18:54 +0200 + +gcc-defaults (1.93) unstable; urgency=low + + * Bump dependencies to 4.4.3. + * gdc: Make gdc-4.3 the default. + * Fix file conflict error install gdc. Closes: #573487. + * Fix some lintian warnings. + + -- Matthias Klose <doko@debian.org> Sun, 14 Mar 2010 04:29:59 +0100 + +gcc-defaults (1.92) unstable; urgency=low + + * Make GCC-4.4 the default for the spu cross compilers. + + -- Matthias Klose <doko@debian.org> Wed, 06 Jan 2010 14:20:22 +0100 + +gcc-defaults (1.91) unstable; urgency=low + + * gcj-jdk: Add dh_javadoc, conflict with gjdoc. + + -- Matthias Klose <doko@debian.org> Wed, 09 Dec 2009 01:28:37 +0100 + +gcc-defaults (1.90) unstable; urgency=low + + * Make GCC-4.4 the default. + + -- Matthias Klose <doko@debian.org> Tue, 08 Dec 2009 00:39:44 +0100 + +gcc-defaults (1.89) unstable; urgency=low + + * Remove support for gdc-4.2. Addresses: #559361. + * Don't build gdc on hurd-i386. + + -- Arthur Loiret <aloiret@debian.org> Sun, 06 Dec 2009 21:13:48 +0000 + +gcc-defaults (1.88) unstable; urgency=low + + [ Matthias Klose ] + * libgcj-common: Don't use absolute paths in debhelper autoscripts. + Closes: #511491. + * Build gnat for armel. + * Tighten the dependencies to 4.3.4. + * gpc-doc: Install non-shared doc directory. Closes: #553570. + * libgcj-bc: Add doc dir symlink. Closes: #552764. + * Remove the alternative build-dependency on java-gcj-compat-dev. + Closes: #536192. + * Fix formatting error in dh_nativejava(1). Closes: #531912. + * libgcj-common (rebuild-gcj-db): Be quiet, armel and hppa are known + to work. + * Add hurd-i386 to gcj_archs and gcj_native_archs. + + [ Aurelien Jarno ] + * Enable ada on kfreebsd-amd64. + + [ Ludovic Brenta ] + * Don't build gnat from gcc-defaults anymore. + + [ Nobuhiro Iwamatsu ] + * Don't build gpc-doc on sh3 and sh4. Closes: #547990. + * Build java packages for sh4. Closes: #547989. + + -- Matthias Klose <doko@debian.org> Mon, 02 Nov 2009 00:50:32 +0100 + +gcc-defaults (1.87) unstable; urgency=low + + * gcj-jre-headless/gcj-jdk: Depend on gij-4.3/gcj-4.3. Closes: #532292. + + -- Matthias Klose <doko@debian.org> Thu, 11 Jun 2009 18:31:42 -0400 + +gcc-defaults (1.86) unstable; urgency=low + + * Reupload, last upload rejected due to wrong encoding in changelog. + + -- Matthias Klose <doko@debian.org> Wed, 20 May 2009 15:02:31 +0200 + +gcc-defaults (1.85) unstable; urgency=low + + * Move library files for aot-compile into a private directory. + + -- Matthias Klose <doko@debian.org> Tue, 19 May 2009 04:48:34 +0200 + +gcc-defaults (1.84) unstable; urgency=low + + * Make GCC-4.4 the default for java packages on hppa. + * Build packages gcj-{jre-headless,jre,jdk}, mark gij and gcj as + transitional packages. + * Let gcj-{jre-headless,jre,jdk} depend on the java-gcj-compat packages + on architectures where gij/gcj-4.3 is the default. + * gcj-jdk: Conflict with classpath-common (<= 2:0.97.2-1.1), common + binary gappletviewer and man page. + * Change section names of java packages. + * Handle wrong /usr/share/doc/libgcj-common symlink left over from + gcj-4.1. Closes: #396583. + * Update Debian README. Closes: #498950. + + -- Matthias Klose <doko@debian.org> Sun, 18 May 2009 22:12:18 +0200 + +gcc-defaults (1.83) unstable; urgency=low + + * Build gij/gcj packages for hppa. + + -- Matthias Klose <doko@debian.org> Mon, 04 May 2009 01:52:17 +0200 + +gcc-defaults (1.81) unstable; urgency=low + + * Enable java on hurd-i386 (Samuel Thibault). Closes: #525083. + + -- Matthias Klose <doko@debian.org> Thu, 23 Apr 2009 08:42:48 +0200 + +gcc-defaults (1.80) unstable; urgency=low + + * Fix required version on alpha. + + -- Arthur Loiret <aloiret@debian.org> Fri, 06 Mar 2009 06:27:00 +0000 + +gcc-defaults (1.79) unstable; urgency=low + + * Make GCC-4.3 the default on alpha. + * Tighten the dependencies to 4.3.3-2. + - This version has a fix for PR middle-end/38969, adresses: #513007. + * Bump Standards-Version to 3.8.0. + * Add myself to Uploaders. + + -- Arthur Loiret <aloiret@debian.org> Thu, 05 Mar 2009 19:34:05 +0000 + +gcc-defaults (1.78) unstable; urgency=low + + * Build gij/gcj packages for alpha. + + -- Matthias Klose <doko@debian.org> Sun, 01 Feb 2009 12:29:37 +0100 + +gcc-defaults (1.77) unstable; urgency=medium + + * libgcj-bc: Don't require 4.3.2. + + -- Matthias Klose <doko@debian.org> Thu, 25 Sep 2008 07:38:56 +0200 + +gcc-defaults (1.76) unstable; urgency=low + + [ Aurelien Jarno ] + * Add kfreebsd-amd64 and kfreebsd-i386 to gcj_archs and gcj_native_archs. + Closes: #497770. + + [ Matthias Klose ] + * Tighten the dependencies to 4.3.2. + + -- Matthias Klose <doko@debian.org> Fri, 05 Sep 2008 23:41:52 +0200 + +gcc-defaults (1.75) unstable; urgency=low + + * gcj: Don't provide the grmic(1) symlink. Closes: #486713. + + -- Matthias Klose <doko@debian.org> Sat, 28 Jun 2008 15:31:07 +0200 + +gcc-defaults (1.74) unstable; urgency=low + + * Tighten the dependencies to 4.3.1. + * gfortran: Don't include symlinks for runtime libs in /usr/lib. + Closes: #485792. + * Build libgcj-common on all architectures. + + -- Matthias Klose <doko@debian.org> Wed, 18 Jun 2008 15:51:36 -0400 + +gcc-defaults (1.73) unstable; urgency=low + + * Make GCC-4.3 the default on amd64 and i386. + * Tighten the dependencies to 4.3.0-5. + * Tighten the dependencies to 4.2.4-1. + + -- Matthias Klose <doko@debian.org> Wed, 04 Jun 2008 00:56:41 +0200 + +gcc-defaults (1.72) unstable; urgency=high + + * Dont't build java related packages on alpha, arm, hppa. Closes: #483135. + + -- Matthias Klose <doko@debian.org> Wed, 28 May 2008 06:47:59 +0200 + +gcc-defaults (1.71) unstable; urgency=high + + [Arthur Loiret] + * Some clean up in build system. Add gnat_no_archs java_no_archs, + gpc_no_archs and gdc_no_archs vars. + * Build gfortran on sh3 and sh4, don't build java. + + [Matthias Klose] + * Don't add a symlink for gc-analyze(1) when building without GFDL docs. + Closes: #471818. + * rebuild-gcj-db: Don't complain about gcj-dbtool succeeding on armel. + Closes: #469412. + * Remove jv-scan symlink. Closes: #477548. + * Make ObjC, Obj-C++ 4.3 the default on armel. + * Use /emul/... for amd64 biarch only. + + -- Matthias Klose <doko@debian.org> Fri, 09 May 2008 00:39:11 +0200 + +gcc-defaults (1.70) unstable; urgency=low + + [Matthias Klose] + * /usr/share/gcj/debian_defaults: Remove alpha, arm, hppa from + gcj_archs, remove alpha from gcj_native_archs, add armel to + gcj_archs and gcj_native_archs. + * Make GCC-4.3 the default on hppa. + * Remove gcj-4.3 build dependency on arm. + + [Ludovic Brenta] + * make gnat-4.3 the default on alpha, mips and mipsel again, so + now all architectures have the same default. Closes: #475365. + + [Arthur Loiret] + * debian/README.Debian: + - Mention libstdc++ is provided by GCC-4.3. + - Updates for gdc. + * Remove gdc's Depends on cpp, gdc now has its own doc dir. + - debian/gdc.preinst: handle symlink->directory conversion. + * Don't build gdc on sparc. Closes: #461101. + * Don't compress README.Debian anymore. + + -- Matthias Klose <doko@debian.org> Fri, 18 Apr 2008 19:37:44 +0200 + +gcc-defaults (1.69) unstable; urgency=low + + [Arthur Loiret] + * Build gcc-spu, g++-spu, gfortran-spu packages, defaulted to GCC-4.3. + * Fix sh3, sh4 binary package generation. + + -- Matthias Klose <doko@debian.org> Wed, 02 Apr 2008 01:44:48 +0200 + +gcc-defaults (1.68) unstable; urgency=low + + * gfortran: Restore the gfortran library symlinks on alpha, amd64, i386, hppa. + + -- Matthias Klose <doko@debian.org> Sun, 30 Mar 2008 19:21:50 +0200 + +gcc-defaults (1.67) unstable; urgency=medium + + * Add build-dependency on gnat-4.3-base. + * Don't build the g77 package anymore, remove build dependency on + gcc-3.4-base. + * Update README for Lenny. + * Make gnat-4.2 the default on alpha, mips and mipsel. The Debian + patches are not yet ported for these architectures (keep 4.3-x + version numbers for gnat, libgnatvsn-dev, libgnatprj-dev). Add + build dependency on gnat-4.2-base for these architectures. + * Tighten versions and dependencies for the gnat packages to the + final 4.3.0 release. + + -- Matthias Klose <doko@debian.org> Sun, 30 Mar 2008 15:07:31 +0200 + +gcc-defaults (1.66) unstable; urgency=low + + [Arthur Loiret] + * Build multilib packages for mips and mipsel. + + [Matthias Klose] + * Make GCC-4.3 the default on all architectures except alpha, amd64, + hppa, i386. + - alpha and hppa show regressions in the glibc testsuite. + - amd64 and i386 have a patch in debian not supported upstream, and + changing code generation. + + -- Matthias Klose <doko@debian.org> Sun, 23 Mar 2008 18:24:47 +0100 + +gcc-defaults (1.64) unstable; urgency=low + + [Matthias Klose] + * gcc: Remove dangling FAQ symlink. Closes: #453812. + * gij: Update conflict with java-gcj-compat, + provide java*-runtime-headless instead of java*-runtime. + * Depend on the packages of the GCC-4.2.3 release. + * Tighten dependencies for gnat packages. + + [Ludovic Brenta] + * libgnatvsn-dev, libgnatprj-dev: new packages; depend on the + corresponding packages from gnat-4.3. + * Make gnat-4.3 the default on all architectures. + * gnat: install documentation in /usr/share/doc/gnat; do not symlink + to cpp and do not depend on cpp (Ada does not need a C + preprocessor). + + [Arthur Loiret] + * gdc: Make gdc-4.2 the default on hurd-i386. + + -- Ludovic Brenta <lbrenta@debian.org> Wed, 12 Mar 2008 22:32:44 +0100 + +gcc-defaults (1.63) unstable; urgency=low + + * Make gfortran-4.3 the default on all architectures. + * Make gij-4.3/gcj-4.3 the default on all architectures except alpha. + + -- Matthias Klose <doko@debian.org> Sun, 20 Jan 2008 17:17:53 +0100 + +gcc-defaults (1.62) unstable; urgency=low + + * Dont build libgcj-bc on the Hurd (Michael Banck). Closes: #445279. + * (Build-)depend on gcc-4.2 (>= 4.2.2-3). + * Make gpc-2.1 based on GCC-4.1 the default. + * Make GCC-4.2 the default on m68k. Closes: #451190. + * Add gdc, make gdc-4.1 the default (Arthur Loiret). Closes: #456596. + + -- Matthias Klose <doko@debian.org> Tue, 25 Dec 2007 19:58:38 +0100 + +gcc-defaults (1.61) unstable; urgency=medium + + * libgcj-common: Update classmap db's for gcj-4.3 as well. + * Do not build g77 and g77-doc for armel. + * gcj: Install gc-analyze symlinks where the default is >= 4.2. + + -- Matthias Klose <doko@debian.org> Tue, 04 Sep 2007 02:41:40 +0200 + +gcc-defaults (1.60) unstable; urgency=low + + * Make GCC-4.2 the default for C, C++, ObjC, ObjC++, GFortran for + all architectures except m68k. + + -- Matthias Klose <doko@debian.org> Sat, 01 Sep 2007 11:56:19 +0200 + +gcc-defaults (1.59) unstable; urgency=low + + * Make GCJ-4.2 the default on hppa. + + -- Matthias Klose <doko@debian.org> Tue, 28 Aug 2007 00:58:50 +0200 + +gcc-defaults (1.58) unstable; urgency=low + + * Keep GCJ-4.1 as the default for alpha. + + -- Matthias Klose <doko@debian.org> Sun, 26 Aug 2007 13:29:19 +0200 + +gcc-defaults (1.57) unstable; urgency=low + + * Fix version requirement in libgcj-bc shlibs file. + + -- Matthias Klose <doko@debian.org> Fri, 24 Aug 2007 17:02:34 +0200 + +gcc-defaults (1.56) unstable; urgency=medium + + * Revert gnat to depend on gnat-4.1 as the transition to gnat-4.2 + has not yet started. Closes: #431103. + * Don't provide the gccbug symlinks anymore. + * Don't build gnat for armel. Closes: #408808. + * Don't install gij-wrapper symlink. Closes LP: #118464. + * Add symlink for grmic. + * Keep GCC-4.1 as the default for C, C++, ObjC, ObjC++. + * GCJ-4.2 is the default for all architectures but hppa and m68k. + * Don't build the lib32gcj-bc package anymore. + + -- Matthias Klose <doko@debian.org> Fri, 24 Aug 2007 00:40:47 +0200 + +gcc-defaults (1.55) experimental; urgency=low + + * Make GCC-4.2 the default for Java. + + -- Matthias Klose <doko@debian.org> Wed, 18 Jul 2007 23:44:36 +0200 + +gcc-defaults (1.54) experimental; urgency=low + + * Lower the priority of the -multilib packages. + * Make GCC-4.2 the default for C, C++, ObjC, ObjC++, GFortran. + * Support kfreebsd-amd64. Closes: #423166. + * Re-add gcjh binary. Closes: #423740. + + -- Matthias Klose <doko@debian.org> Sat, 26 May 2007 16:33:24 +0200 + +gcc-defaults (1.52) unstable; urgency=medium + + * Add multilib packages for gcc, g++, gobjc, gobjc++, gfortran. + + -- Matthias Klose <doko@debian.org> Wed, 25 Apr 2007 23:10:56 +0200 + +gcc-defaults (1.51) experimental; urgency=low + + * Depend on the 4.1.2 final release. + * Set priority of development packages to optional. + * Merge from Ubuntu: + - Tighten dependencies for ecj-generics backport. + - gcj: Drop gcjh, gcjh-wrapper, gjnih, add gjavah, gtnameserv. + - gij: Add gorbd, grmid, gserialver. + - gij/gcj: Add links for manpages for the classpath tools. + * Bump debhelper compatibility to v5. + * Bump libgcj-common to a 4.2 version, previously built by gcc-4.2. + + -- Matthias Klose <doko@debian.org> Sun, 4 Mar 2007 12:30:54 +0100 + +gcc-defaults (1.50) unstable; urgency=medium + + * gcj: Fix pkgconfig symlink. Closes: #394281, #404263. + * gcj: Conflict with libgcj2. Closes: #398127. + * Add copyright for the c89 and c99 manpages. Closes: #398065. + * gij: Recommend libgcj7-awt. Do not depend on it, because we want + to be able to install the runtime without X dependencies. + Closes: #394917. + + -- Matthias Klose <doko@debian.org> Mon, 1 Jan 2007 19:09:28 +0100 + +gcc-defaults (1.49) unstable; urgency=low + + * Replaces java-gcj-compat (<< 1.0.65-8), not (<< 1.0.65-7). + Really fixes #393903. + + -- Matthias Klose <doko@debian.org> Wed, 18 Oct 2006 21:11:19 +0200 + +gcc-defaults (1.48) unstable; urgency=low + + * Remove fsf-funding (again). Closes: #385732. + + -- Matthias Klose <doko@debian.org> Wed, 18 Oct 2006 20:48:45 +0200 + +gcc-defaults (1.47) unstable; urgency=low + + * libgcj-common: Add rebuild-security-providers, move + /usr/lib/security/classpath.security to /var, rebuild it + on installation. + * Fix libgcj-bc symlinks. Closes: #393351, #393562. + * /usr/share/gcj/debian_defaults: Makefile inclusion file + to define gcj_archs and gcj_native_archs. + + -- Matthias Klose <doko@debian.org> Tue, 17 Oct 2006 01:47:31 +0200 + +gcc-defaults (1.46) unstable; urgency=low + + * Build libgcj-common from the gcc-defaults sources. + + -- Matthias Klose <doko@debian.org> Sat, 7 Oct 2006 15:00:14 +0200 + +gcc-defaults (1.45) unstable; urgency=low + + * Fix g77 and gfortran postinst installation scripts. + + -- Matthias Klose <doko@debian.org> Mon, 2 Oct 2006 00:47:13 +0200 + +gcc-defaults (1.44) unstable; urgency=low + + * Remove the subversion directory from the upload. + + -- Matthias Klose <doko@debian.org> Sat, 30 Sep 2006 14:44:54 +0200 + +gcc-defaults (1.43) unstable; urgency=low + + * Do not install alternatives for man pages licensed under the GFDL, + second round. Closes: #387161, #390201, #388347. + * Upload package built with -Ifsf-funding. Closes: #385732. + * Let gij provide java2-runtime. Closes: #389215. + + -- Matthias Klose <doko@debian.org> Sat, 30 Sep 2006 13:55:56 +0200 + +gcc-defaults (1.42) unstable; urgency=medium + + * Build libgcj-bc from the gcc-defaults source package. + * gij: Add symlinks for gcj-dbtool, grmiregistry. + * gcj: Add symlinks for gcjh-wrapper. + * Do not install alternatives for man pages licensed under the GFDL. + Closes: #384278, #384303, #384923, #384927. + + -- Matthias Klose <doko@debian.org> Sat, 2 Sep 2006 13:20:16 +0000 + +gcc-defaults (1.41) unstable; urgency=low + + [Ludovic Brenta] + * Do not build gnat on m32r. Closes: #379079. + + [Michael Banck] + * debian/control (Build-Depends): Conditionalize gcj-4.1 to !hurd-i386. + * debian/rules: + + Use hurd-i386, not gnu-i386 when matching DEB_HOST_ARCH. + + Add gcj and gij to no_packages for hurd-i386. + * Closes: #381018. + + [Matthias Klose] + * Do not build dependency packages for -doc packages licensed under the GFDL. + * Do not install symlinks for manpages licensed under the GFDL. + Closes: #200003. + * README: Mention gfortran. + * Add paragraph about missing GFDL'd docs and manual pages. + + -- Matthias Klose <doko@debian.org> Sun, 13 Aug 2006 23:42:01 +0200 + +gcc-defaults (1.40) unstable; urgency=low + + * Don't build gnat-doc on arm and m68k. + + -- Matthias Klose <doko@debian.org> Sat, 15 Jul 2006 22:04:21 +0000 + +gcc-defaults (1.39) unstable; urgency=medium + + * Fix another build failure on arm. + * Update the README. + + -- Matthias Klose <doko@debian.org> Sat, 15 Jul 2006 12:09:14 +0000 + +gcc-defaults (1.38) unstable; urgency=low + + * Fix the build failure on arm (don't try to build gnat). + * Set section of -doc packages to doc. + * Drop the libgcj-dev package; let gcj provide libgcj-dev. + * gcj: Add a symlink /usr/share/java/libgcj.jar. + + -- Matthias Klose <doko@debian.org> Thu, 6 Jul 2006 03:18:27 +0200 + +gcc-defaults (1.37) unstable; urgency=medium + + [Ludovic Brenta] + * Provide a gnat package that depends on the default Ada compiler. + * Update README.Debian for gnat, gfortran. Simplify it. + * debian/rules: reorder architectures alphabetically for future + maintainability. Clean up the way we exclude some languages + on some architectures. Disable Ada on m68k and GNU/Hurd, in + addition to GNU/NetBSD, SH3 and SH4 targets. + * debian/control (gnat): depend on cpp. + + [Matthias Klose] + * Build a gnat-doc package. + * Remove chill from the control file. + * gcj: Add a /usr/share/java/libgcj.jar symlink. + + -- Matthias Klose <doko@debian.org> Tue, 4 Jul 2006 23:52:43 +0200 + +gcc-defaults (1.36) unstable; urgency=medium + + * Make gcc-4.1 the default C compiler, g++-4.1 the default C++ compiler, + gobjc-4.1 the default ObjC compiler, treelang-4.1 the default Treelang + compiler, gfortran-4.1 the default Fortran compiler. + Closes: #366820. + * Don't build the chill package anymore. + * Build-depend on gcj-4.1-base, instead of gcc-4.0-base. Closes: #367952. + + -- Matthias Klose <doko@debian.org> Tue, 6 Jun 2006 03:10:08 +0200 + +gcc-defaults (1.35) unstable; urgency=low + + * Make gij-4.1/gcj-4.1 the default gij/gcj. + * gij: Add a conflict to java-gcj-compat (<< 1.0.56). + * Fix typo in gpc package description (closes: #363619). + * gobjc++: Recommend g++ and gobjc. + * Handle c89/c99 binaries by alternatives (closes: #365039). + + -- Matthias Klose <doko@debian.org> Sun, 7 May 2006 11:09:59 +0200 + +gcc-defaults (1.34) unstable; urgency=low + + * Fix typo in debian/rules. + + -- Matthias Klose <doko@debian.org> Sun, 2 Apr 2006 13:46:30 +0000 + +gcc-defaults (1.33) unstable; urgency=low + + * Add gobjc++ package. + * Build-Depend on gcc-4.1-base. + + -- Matthias Klose <doko@debian.org> Sat, 1 Apr 2006 12:21:34 +0000 + +gcc-defaults (1.32) unstable; urgency=low + + * Depend on the 3.4.6 and 4.0.3 final releases. + * Build-depend on the appropriate gcc-X.Y-base, gcj-X.Y-base packages. + + -- Matthias Klose <doko@debian.org> Thu, 23 Mar 2006 22:36:58 +0100 + +gcc-defaults (1.31) unstable; urgency=low + + * Use epoch for all packages. + + -- Matthias Klose <doko@debian.org> Sat, 24 Dec 2005 02:46:58 +0100 + +gcc-defaults (1.30) unstable; urgency=medium + + * Fix gfortran prerm script (closes: #334081). + * Clarify gfortran package description (closes: #333348). + * Remove version number of release, picky RM ... (closes: #321092). + * Build java packages for mips again. + * Update c99(1) man page (closes: #324687). + * Depend on the 3.4.5 final release, depend on the g++ versions + after changing the libstdc++ allocator. + * Handle /lib/cpp as an alternative. + * gcj: Depend on libgcj-dev and gij. + + -- Matthias Klose <doko@debian.org> Sun, 11 Dec 2005 10:58:11 +0100 + +gcc-defaults (1.29) unstable; urgency=low + + * Depend on the 4.0.2 final release. + * Build gfortran for m68k. + + -- Matthias Klose <doko@debian.org> Mon, 3 Oct 2005 22:28:43 +0000 + +gcc-defaults (1.28) unstable; urgency=low + + * Change build system to allow upload of versions of the form + [0-9]+.[0-9]+<anything>. + + -- Matthias Klose <doko@debian.org> Sat, 6 Aug 2005 01:09:15 +0200 + +gcc-defaults (1.27) unstable; urgency=high + + * Fix build for platforms with some compilers missing. + + -- Matthias Klose <doko@debian.org> Wed, 3 Aug 2005 19:09:10 +0200 + +gcc-defaults (1.26) unstable; urgency=high + + * Depend on the 4.0.1 final release. + * debian/control.m4: Remove. + * debian/control: Add substitution variables. + * debian/rules: Generate debian/*.substvars. + + -- Matthias Klose <doko@debian.org> Thu, 21 Jul 2005 15:30:16 +0200 + +gcc-defaults (1.24) unstable; urgency=low + + * Build-depend on dpkg-dev (>= 1.13.9). + + -- Matthias Klose <doko@debian.org> Fri, 8 Jul 2005 11:44:26 +0000 + +gcc-defaults (1.23) unstable; urgency=high + + * Make gcc-4.0 the default C compiler, g++-4.0 the default C++ compiler, + gobjc-4.0 the default ObjC compiler, treelang-4.0 the default Treelang + compiler, gcj-4.0 the default compiler for the Java language, and gij-4.0 + the default for the bytecode interpreter. + * Add gfortran package, depending on gfortran-4.0, not available for m68k. + * Make g77-3.4 the default for g77, gpc-3.4 the default for gpc. + * Add gjnih default (gcj package). + * gfortran: Add alternative for f95. + * Depend on the 3.4.4-4 and 4.0.0-11 versions (4.0.0-12 on sparc and hppa). + * gij: Provide java-virtual-machine, java-runtime and java1-runtime. + * README.Debian: Add a note, why the gcc/g++/... symlinks are not handled + using update-alternatives (closes: #312634). + * Suggest automake1.9 instead of automake (closes: #311293). + * Add support for GNU/kFreeBSD (closes: #316759). + + -- Matthias Klose <doko@debian.org> Mon, 4 Jul 2005 23:46:28 +0200 + +gcc-defaults (1.22) unstable; urgency=low + + * debian/control: Build depend on dpkg-dev (>= 1.13.9), needed to determine + the GNU architecture type. + * The symlinks for the tools change to the the new output of + dpkg-architecture -qDEB_HOST_GNU_TYPE (i.e. i386-linux-gcc becomes + i486-linux-gnu-gcc). + * Make 3.3.6-7 the required version (the first version built with the + dpkg-architecture changes). + + -- Matthias Klose <doko@debian.org> Sun, 26 Jun 2005 23:00:36 +0200 + +gcc-defaults (1.21) unstable; urgency=medium + + * Fix libgcj-dev dependency epoch (Daniel Schepler). Closes: #301584. + + -- Matthias Klose <doko@debian.org> Sun, 27 Mar 2005 01:41:53 +0100 + +gcc-defaults (1.20) unstable; urgency=low + + * Add libgcj-dev package (Andreas Jochens). Closes: #278105. + Packages using gcj -C (byte compiling) should (build-)depend on gcj, + packages compiling to native code, should (build-)depend on libgcj-dev. + + -- Matthias Klose <doko@debian.org> Fri, 25 Mar 2005 20:04:09 +0100 + +gcc-defaults (1.19) unstable; urgency=low + + * Depend on the 3.3.5 final release. + * Fix wrong symlink (closes: #275477). + + -- Matthias Klose <doko@debian.org> Sat, 13 Nov 2004 22:31:25 +0100 + +gcc-defaults (1.18) unstable; urgency=medium + + * Remove dangling symlink in cpp and gcc doc directories (closes: #265555). + + -- Matthias Klose <doko@debian.org> Fri, 13 Aug 2004 22:01:50 +0200 + +gcc-defaults (1.17) unstable; urgency=low + + * Don't build chill on amd64. + + -- Matthias Klose <doko@debian.org> Thu, 15 Jul 2004 00:15:14 +0200 + +gcc-defaults (1.16) unstable; urgency=medium + + * Add upstream FAQ to gcc package. + * Add README.Bugs document. + * On sparc, add configuration file /etc/disable_64_gcc to generate 32bit + code on sparc64 architecture (closes: #251149). + + -- Matthias Klose <doko@debian.org> Mon, 31 May 2004 22:03:32 -0300 + +gcc-defaults (1.15) unstable; urgency=low + + * Add gpc package for ia64, add binobj and gpidump links to gpc package. + * Make gpc-2,1-3.3 the default gpc version for all architectures. + * Update README.Debian. + + -- Matthias Klose <doko@debian.org> Sat, 1 May 2004 00:11:38 +0200 + +gcc-defaults (1.14) unstable; urgency=low + + * gcj: ReAdd dependency on gcj-3.3 (closes: #234986). + * Downgrade the dependency of gcj to gij to a recommendation. + * gij: Add suggestion for gcj. + + -- Matthias Klose <doko@debian.org> Thu, 26 Feb 2004 23:32:13 +0100 + +gcc-defaults (1.13) unstable; urgency=low + + * Depend on the 3.3.3 final release. + * gcj: Add dependency on gij. + + -- Matthias Klose <doko@debian.org> Wed, 25 Feb 2004 23:25:30 +0100 + +gcc-defaults (1.12) unstable; urgency=low + + * Build gij and gcj packages for hppa-linux. + + -- Matthias Klose <doko@debian.org> Thu, 19 Feb 2004 02:23:31 +0100 + +gcc-defaults (1.11) unstable; urgency=medium + + * Fix installation of g++ wrapper on sparc (closes: #225510). + + -- Matthias Klose <doko@debian.org> Sat, 3 Jan 2004 11:10:49 +0100 + +gcc-defaults (1.10) unstable; urgency=low + + * Depend on the 3.3.2 final release. + * Change priority of -doc packages to optional. + * Add dependencies for g++, g77, gobjc, gcj on gcc of the same + version (closes: #214694). + * Add sparc-g++.c to do the same thing as the gcc wrapper. + * Make the sparc gcc/g++ wrapper accept an override to disable 64-bit mode. + This can be done by touching /etc/disable_64_gcc (closes: #221282). + + -- Matthias Klose <doko@debian.org> Wed, 19 Nov 2003 22:09:30 +0100 + +gcc-defaults (1.9) unstable; urgency=low + + * control.m4: conditionalize on available languages (closes: #205226). + * Remove version information in package descriptions to ease the task + of the translators (closes: #205207). + + -- Matthias Klose <doko@debian.org> Sat, 16 Aug 2003 10:12:55 +0200 + +gcc-defaults (1.8) unstable; urgency=low + + * Add sparc-gcc.c wrapper for handling -m32/-m64 defaults. Replaces the + normal gcc symlink (Ben Collins). + * Make 3.3 the default for sparc again. + * Sync epoch for all architectures. + * Provide {cpp,gcc,g77,gpc}-doc dependency packages. + Closes: #178284, #188217, #193409, #197514. + + -- Matthias Klose <doko@debian.org> Fri, 25 Jul 2003 10:40:02 +0200 + +gcc-defaults (1.7) unstable; urgency=low + + * Add <GNU_TYPE>-{cpp,gcc,g++,gcj,g77} symlinks. + * Bump sparc back down to 3.2. Increase our epoch to compensate. + + -- Ben Collins <bcollins@debian.org> Wed, 4 Jun 2003 11:39:53 -0400 + +gcc-defaults (1.6) unstable; urgency=low + + * Make gcc-3.3 the default C compiler (g++-3.3 default for C++, g77-3.3 + default for Fortran, gobjc-3.3 default for ObjectiveC, g[ci]j-3.3 default + for Java). + The Debian gcc-3.3-0pre9 packages are build from the second prerelease, + which is identical to the 3.3 final release on GNU/Linux. + * Add c99 script (closes: #190823). + + -- Matthias Klose <doko@debian.org> Thu, 15 May 2003 20:46:56 +0200 + +gcc-defaults (1.5) unstable; urgency=medium + + * Update gpc date in package version. + * Make gpc-2.1-3.3 the default on hppa and ia64 (gpc-2.1-3.2 isn't built + anymore). + + -- Matthias Klose <doko@debian.org> Thu, 24 Apr 2003 07:36:45 +0200 + +gcc-defaults (1.4) unstable; urgency=low + + * Depend on the 3.2.3 prerelease. + * Correct gpc date in package version. + * Remove f77 alternative left over from an old egcs(?) version. + * gpc: Add links for gpidump and binobj. + * Remove old c++filt diversions left over by egcs, fixed script. + Closes: #138038. + * Add the fsf-funding(7), gfdl(7), gpl(7) man pages to the cpp package. + Closes: #181495. + + -- Matthias Klose <doko@debian.org> Sat, 15 Mar 2003 20:15:55 +0100 + +gcc-defaults (1.3) unstable; urgency=low + + * Make gcc-3.2 the default C compiler (g++-3.2 default for C++, g77-3.2 + default for Fortran, gobjc-3.2 default for ObjectiveC, g[ci]j-3.2 default + for Java). + * Increase epoch due to wrong gpc and chill default version (closes: #163294). + * Add netbsd-i386 support (closes: #162201). + * Add gpc-run symlinks. + * Make gpc-2.1-3.2 the default on hppa and ia64 (the gpc based on gcc-3.2 + is still an alpha version). + * Remove old c++filt diversions left over by egcs ... (closes: #138038). + + -- Matthias Klose <doko@debian.org> Sun, 29 Dec 2002 00:39:03 +0100 + +gcc-defaults (1.2) unstable; urgency=low + + * Make gcc-3.2 the default for the Hurd (closes: #156968). + * Added SH support in previous upload (closes: #155002). + + -- Matthias Klose <doko@debian.org> Fri, 6 Sep 2002 23:03:11 +0200 + +gcc-defaults (1.1) unstable; urgency=low + + * Add SH support. + + -- Matthias Klose <doko@debian.org> Fri, 2 Aug 2002 07:43:26 +0200 + +gcc-defaults (1.0) unstable; urgency=low + + * Make gcc-3.1 the default for the Hurd. + + -- Matthias Klose <doko@debian.org> Tue, 14 May 2002 21:41:35 +0200 + +gcc-defaults (0.22) unstable; urgency=low + + * Unreleased. + * Use ObjC 3.0 for ARM. + + -- Phil Blundell <pb@debian.org> Sun, 31 Mar 2002 18:17:33 +0100 + +gcc-defaults (0.21) unstable; urgency=low + + * Include java on ARM. + * Set ARM g77 version number to 3.0.4. + + -- Phil Blundell <pb@debian.org> Sat, 23 Mar 2002 04:15:58 -0500 + +gcc-defaults (0.20) unstable; urgency=medium + + * Rebuild with new debhelper (closes: #137295, #137296). + + -- Matthias Klose <doko@debian.org> Fri, 8 Mar 2002 09:05:28 +0100 + +gcc-defaults (0.19) unstable; urgency=medium + + * Set g77 version for ARM to 3.0. + * Disable java for mips(el); it clearly isn't getting built. + * Add self to Uploaders + + -- Philip Blundell <pb@debian.org> Sun, 3 Mar 2002 22:36:36 +0000 + +gcc-defaults (0.18) unstable; urgency=medium + + * Fix version of gobjc package on ia64 (closes: #131428). + + -- Matthias Klose <doko@debian.org> Tue, 29 Jan 2002 18:55:11 +0100 + +gcc-defaults (0.17) unstable; urgency=medium + + * Replace empty doc directories by symlinks to the cpp doc directory. + Closes: #117285. + * Add suggestions for -doc packages (somewhat closes: #115127). + * Build `gpc' package for mips and mipsel. + * gcj package: Provide default for `jv-convert'. + * Copy package descriptions from the gcc-X.Y packages and add "This is a + dependency package ...". Overkill closes: #124063. + + -- Matthias Klose <doko@debian.org> Sun, 20 Jan 2002 22:05:41 +0100 + +gcc-defaults (0.16) unstable; urgency=medium + + * Make 3.0 the default for gobjc on ia64. Closes: #122735. + * New package gij to provide a default for the java interpreter. + Closes: #119386. + * Make 3.0 the default for gcj and gij on ia64. + * Package gij provides java-virtual-machine and java1-runtime. + Closes: #119384. + * Reflect move to gcc-3.0.3. + + -- Matthias Klose <doko@debian.org> Sat, 8 Dec 2001 11:33:05 +0100 + +gcc-defaults (0.15) unstable; urgency=low + + * Add gpc-doc (<< 1:2.95.3) conflict for gpc package. Same for cpp + and gcc (Closes: #115299). + + -- Matthias Klose <doko@debian.org> Sun, 14 Oct 2001 11:14:05 +0200 + +gcc-defaults (0.14) unstable; urgency=low + + * Make gcj package for m68k. + + -- Matthias Klose <doko@debian.org> Sun, 7 Oct 2001 12:10:43 +0200 + +gcc-defaults (0.13) unstable; urgency=low + + * Make gcj package for powerpc. + + -- Matthias Klose <doko@debian.org> Sat, 4 Aug 2001 12:11:34 +0200 + +gcc-defaults (0.12) unstable; urgency=low + + * Replace suggestions of removed task-packages with minimal individual + packages (closes: #105695). + * symlinks for java manpages. + + -- Matthias Klose <doko@debian.org> Mon, 23 Jul 2001 21:06:15 +0200 + +gcc-defaults (0.11) unstable; urgency=low + + * Rebuild with current version of dpkg-dev (closes #102528). + + -- Matthias Klose <doko@gate.local> Thu, 28 Jun 2001 22:01:41 +0200 + +gcc-defaults (0.10) unstable; urgency=low + + * Set default for mips to 2.95. gcc-defaults for mips(el) has never been + uploaded to the archive with 3.x as the version, so we won't need to + epoch this fallback (Ryan Murray <rmurray@cyberhqz.com>). + + -- Matthias Klose <doko@debian.org> Tue, 26 Jun 2001 07:28:06 +0200 + +gcc-defaults (0.9) unstable; urgency=low + + * Increase epoch, use gcc-2.96 as default for ia64 (#101876, #101878). + * Update version number to 2.95.4 (on m68k). + + -- Matthias Klose <doko@debian.org> Sat, 23 Jun 2001 12:48:30 +0200 + +gcc-defaults (0.8.1) unstable; urgency=low + + * IA-64 currently uses 2.96 as the default and will soon have 3.0 as an + option. Reflect the correct default here, we had assumed 3.0 previously. + + -- Bdale Garbee <bdale@gag.com> Fri, 22 Jun 2001 00:16:08 -0600 + +gcc-defaults (0.8) unstable; urgency=low + + * Update version number to 2.95.4 (except m68k). + * debian/control.m4: correct CHILL description (closes: #93929). + * Default to 3.0 for ia64-linux, mips-linux and mipsel-linux + * gcj defaults to 3.0 for all architectures. + * Fix suggestions of task packages (closes: #96272, #96273). + + -- Matthias Klose <doko@debian.org> Sun, 27 May 2001 02:25:45 +0200 + +gcc-defaults (0.7) unstable; urgency=low + + * Rebuild control file. + + -- Matthias Klose <doko@debian.org> Thu, 29 Mar 2001 06:37:10 +0200 + +gcc-defaults (0.6) unstable; urgency=low + + * Support for hppa-linux (fixes #91940). + + -- Matthias Klose <doko@debian.org> Wed, 28 Mar 2001 06:43:40 +0200 + +gcc-defaults (0.5) testing unstable; urgency=high + + * Upload to testing; gcc-2.95 needs this package. + + -- Matthias Klose <doko@debian.org> Wed, 7 Feb 2001 18:25:35 +0100 + +gcc-defaults (0.4) unstable; urgency=low + + * Link /usr/share/doc/gcc to cpp doc directory (#80990). + + -- Matthias Klose <doko@debian.org> Mon, 1 Jan 2001 18:27:27 +0100 + +gcc-defaults (0.3) unstable; urgency=low + + * Reenable gcj for sparc. + * TODO: Update description of Debian compiler setup. + + -- Matthias Klose <doko@debian.org> Sun, 31 Dec 2000 10:59:01 +0000 + +gcc-defaults (0.2) unstable; urgency=low + + * Initial Release. + + -- Matthias Klose <doko@debian.org> Fri, 29 Dec 2000 19:12:08 +0100 + +Local variables: +mode: debian-changelog +End: diff --git a/debian/classfile.py b/debian/classfile.py new file mode 100644 index 0000000..d7e7d7e --- /dev/null +++ b/debian/classfile.py @@ -0,0 +1,222 @@ + +## Copyright (C) 2004, 2005 Red Hat, Inc. +## Written by Gary Benson <gbenson@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. + +"""Read Java(TM) class files.""" + +import cStringIO as StringIO +import struct + +class Class: + def __init__(self, arg): + if hasattr(arg, "read"): + self.fp = arg + elif type(arg) == type(""): + if arg.startswith("\xca\xfe\xba\xbe"): + self.fp = StringIO.StringIO(arg) + else: + self.fp = open(arg, "r") + else: + raise TypeError, type(arg) + + magic = self._read_int() + assert magic == 0xcafebabeL + minor, major = self._read(">HH") + self.version = (major, minor) + + self.pool_integrity_checks = None + try: + assert False + except AssertionError: + self.pool_integrity_checks = [] + + self._read_constants_pool() + + self.access_flags = self._read_short() + self.name = self._read_reference_Class() + self.super = self._read_reference_Class() + + self.interfaces = self._read_interfaces() + self.fields = self._read_fieldsormethods() + self.methods = self._read_fieldsormethods() + self.attributes = self._read_attributes() + + if self.pool_integrity_checks is not None: + for index, tag in self.pool_integrity_checks: + assert self.constants[index][0] == tag + + del self.fp, self.pool_integrity_checks + + def __repr__(self): + result = [] + attrs = [attr for attr in dir(self) + if not attr.startswith("_") and attr != "Member"] + attrs.sort() + for attr in attrs: + result.append("%-13s %s" % ( + attr + ":", attr == "constants" and + "<ELIDED>" or repr(getattr(self, attr)))) + return "\n".join(result) + + def _read_constants_pool(self): + self.constants = {} + skip = False + for i in xrange(1, self._read_short()): + if skip: + skip = False + continue + tag = { + 1: "Utf8", 3: "Integer", 4: "Float", 5: "Long", + 6: "Double", 7: "Class", 8: "String", 9: "Fieldref", + 10: "Methodref", 11: "InterfaceMethodref", + 12: "NameAndType"}[self._read_byte()] + skip = tag in ("Long", "Double") # crack crack crack! + self.constants[i] = (tag, getattr(self, "_read_constant_" + tag)()) + + def _read_interfaces(self): + result = [] + for i in xrange(self._read_short()): + result.append(self._read_reference_Class()) + return result + + def _read_fieldsormethods(self): + result = [] + for i in xrange(self._read_short()): + result.append(self.Member(self)) + return result + + class Member: + def __init__(self, source): + self.access_flags = source._read_short() + self.name = source._read_reference_Utf8() + self.descriptor = source._read_reference_Utf8() + self.attributes = source._read_attributes() + + def __repr__(self): + result = [] + attrs = [attr for attr in dir(self) if not attr.startswith("_")] + attrs.sort() + for attr in attrs: + value = getattr(self, attr) + if attr == "attributes" and value.has_key("Code"): + value = value.copy() + value.update({"Code": "<ELIDED>"}) + result.append("%-13s %s" % ( + attr + ":", repr(value).replace( + "'Code': '<ELIDED>'", "'Code': <ELIDED>"))) + return ("\n%s" % (15 * " ")).join(result) + + def _read_attributes(self): + result = {} + for i in xrange(self._read_short()): + name = self._read_reference_Utf8() + data = self.fp.read(self._read_int()) + assert not result.has_key(name) + result[name] = data + return result + + # Constants pool reference reader convenience functions + + def _read_reference_Utf8(self): + return self._read_references("Utf8")[0] + + def _read_reference_Class(self): + return self._read_references("Class")[0] + + def _read_reference_Class_NameAndType(self): + return self._read_references("Class", "NameAndType") + + def _read_references(self, *args): + result = [] + for arg in args: + index = self._read_short() + if self.pool_integrity_checks is not None: + self.pool_integrity_checks.append((index, arg)) + result.append(index) + return result + + # Constants pool constant reader functions + + def _read_constant_Utf8(self): + constant = self.fp.read(self._read_short()) + try: + constant = constant.decode("utf-8") + except UnicodeError: + constant = _bork_utf8_decode(constant) + try: + constant = constant.encode("us-ascii") + except UnicodeError: + pass + return constant + + def _read_constant_Integer(self): + return self._read_int() + + def _read_constant_Float(self): + return self._read(">f")[0] + + def _read_constant_Long(self): + return self._read(">q")[0] + + def _read_constant_Double(self): + return self._read(">d")[0] + + _read_constant_Class = _read_reference_Utf8 + _read_constant_String = _read_reference_Utf8 + _read_constant_Fieldref = _read_reference_Class_NameAndType + _read_constant_Methodref = _read_reference_Class_NameAndType + _read_constant_InterfaceMethodref = _read_reference_Class_NameAndType + + def _read_constant_NameAndType(self): + return self._read_reference_Utf8(), self._read_reference_Utf8() + + # Generic reader functions + + def _read_int(self): + # XXX how else to read 32 bits on a 64-bit box? + h, l = map(long, self._read(">HH")) + return (h << 16) + l + + def _read_short(self): + return self._read(">H")[0] + + def _read_byte(self): + return self._read("B")[0] + + def _read(self, fmt): + return struct.unpack(fmt, self.fp.read(struct.calcsize(fmt))) + +def _bork_utf8_decode(data): + # more crack! + bytes, unicode = map(ord, data), "" + while bytes: + b1 = bytes.pop(0) + if b1 & 0x80: + assert b1 & 0x40 + b2 = bytes.pop(0) + assert b2 & 0xC0 == 0x80 + if b1 & 0x20: + assert not b1 & 0x10 + b3 = bytes.pop(0) + assert b3 & 0xC0 == 0x80 + unicode += unichr( + ((b1 & 0x0f) << 12) + ((b2 & 0x3f) << 6) + (b3 & 0x3f)) + else: + unicode += unichr(((b1 & 0x1f) << 6) + (b2 & 0x3f)) + else: + unicode += unichr(b1) + return unicode + +if __name__ == "__main__": + print Class("/usr/share/katana/build/ListDependentClasses.class") + diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +9 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..3b4e92c --- /dev/null +++ b/debian/control @@ -0,0 +1,1944 @@ +Source: gcc-defaults +Section: devel +Priority: standard +Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org> +Uploaders: Matthias Klose <doko@debian.org> +Standards-Version: 3.9.8 +Build-Depends: m4, debhelper (>= 9), + dpkg-dev (>= 1.17.11), + gcc-6-base (>= 6.3.0-9), + lsb-release +Build-Depends-Indep: ca-certificates, gcj-jdk, python +Vcs-Svn: svn://svn.debian.org/svn/gcccvs/branches/sid/gcc-defaults +Vcs-Browser: http://svn.debian.org/viewsvn/gcccvs/branches/sid/gcc-defaults +XS-Python-Version: all + +Package: cpp +Priority: optional +Architecture: any +Section: interpreters +Multi-Arch: allowed +Depends: cpp-${pv:cpp} ${reqv:cpp}, ${misc:Depends} +Suggests: cpp-doc +Conflicts: cpp-doc (<< 1:2.95.3) +Description: GNU C preprocessor (cpp) + The GNU C preprocessor is a macro processor that is used automatically + by the GNU C compiler to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor but not the compiler. + . + This is a dependency package providing the default GNU C preprocessor. + +Package: gcc +Priority: optional +Architecture: any +Depends: cpp (>= ${version:cpp}), gcc-${pv:gcc} ${reqv:gcc}, ${misc:Depends} +Recommends: libc6-dev | libc-dev +Suggests: gcc-multilib, make, manpages-dev, autoconf, automake, libtool, flex, bison, gdb, gcc-doc +Provides: c-compiler +Conflicts: gcc-doc (<< 1:2.95.3) +Description: GNU C compiler + This is the GNU C compiler, a fairly portable optimizing compiler for C. + . + This is a dependency package providing the default GNU C compiler. + +Package: gcc-multilib +Priority: optional +Architecture: amd64 i386 kfreebsd-amd64 mips mips64 mips64el mipsel powerpc ppc64 s390 s390x sparc sparc64 x32 +Depends: cpp (>= ${version:cpp}), gcc (>= ${version:gcc}), gcc-${pv:gcc}-multilib ${reqv:gcc}, ${misc:Depends}, linux-libc-dev (>= 3.0.0-2) [linux-any] +Conflicts: gcc-4.9-alpha-linux-gnu, + gcc-4.9-aarch64-linux-gnu, + gcc-4.9-arm-linux-gnueabi, + gcc-4.9-arm-linux-gnueabihf, + gcc-4.9-hppa-linux-gnu, + gcc-4.9-m68k-linux-gnu, + gcc-4.9-powerpc-linux-gnu, + gcc-4.9-powerpc-linux-gnuspe, + gcc-4.9-powerpc64-linux-gnu, + gcc-4.9-powerpc64le-linux-gnu, + gcc-4.9-mips-linux-gnu, + gcc-4.9-mipsel-linux-gnu, + gcc-4.9-mips64-linux-gnuabi64, + gcc-4.9-mips64el-linux-gnuabi64, + gcc-4.9-s390x-linux-gnu, + gcc-4.9-sh4-linux-gnu, + gcc-4.9-sparc-linux-gnu, + gcc-4.9-sparc64-linux-gnu, + gcc-5-aarch64-linux-gnu, + gcc-5-alpha-linux-gnu, + gcc-5-arm-linux-gnueabi, + gcc-5-arm-linux-gnueabihf, + gcc-5-hppa-linux-gnu, + gcc-5-m68k-linux-gnu, + gcc-5-powerpc-linux-gnu, + gcc-5-powerpc-linux-gnuspe, + gcc-5-powerpc64-linux-gnu, + gcc-5-powerpc64le-linux-gnu, + gcc-5-mips-linux-gnu, + gcc-5-mipsel-linux-gnu, + gcc-5-mips64-linux-gnuabi64, + gcc-5-mips64el-linux-gnuabi64, + gcc-5-s390x-linux-gnu, + gcc-5-sh4-linux-gnu, + gcc-5-sparc-linux-gnu, + gcc-5-sparc64-linux-gnu, + gcc-6-aarch64-linux-gnu, + gcc-6-alpha-linux-gnu, + gcc-6-arm-linux-gnueabi, + gcc-6-arm-linux-gnueabihf, + gcc-6-hppa-linux-gnu, + gcc-6-m68k-linux-gnu, + gcc-6-powerpc-linux-gnu, + gcc-6-powerpc-linux-gnuspe, + gcc-6-powerpc64-linux-gnu, + gcc-6-powerpc64le-linux-gnu, + gcc-6-mips-linux-gnu, + gcc-6-mipsel-linux-gnu, + gcc-6-mips64-linux-gnuabi64, + gcc-6-mips64el-linux-gnuabi64, + gcc-6-s390x-linux-gnu, + gcc-6-sh4-linux-gnu, + gcc-6-sparc-linux-gnu, + gcc-6-sparc64-linux-gnu, + gcc-7-aarch64-linux-gnu, + gcc-7-alpha-linux-gnu, + gcc-7-arm-linux-gnueabi, + gcc-7-arm-linux-gnueabihf, + gcc-7-hppa-linux-gnu, + gcc-7-m68k-linux-gnu, + gcc-7-powerpc-linux-gnu, + gcc-7-powerpc-linux-gnuspe, + gcc-7-powerpc64-linux-gnu, + gcc-7-powerpc64le-linux-gnu, + gcc-7-mips-linux-gnu, + gcc-7-mipsel-linux-gnu, + gcc-7-mips64-linux-gnuabi64, + gcc-7-mips64el-linux-gnuabi64, + gcc-7-s390x-linux-gnu, + gcc-7-sh4-linux-gnu, + gcc-7-sparc-linux-gnu, + gcc-7-sparc64-linux-gnu, + gcc-8-aarch64-linux-gnu, + gcc-8-alpha-linux-gnu, + gcc-8-arm-linux-gnueabi, + gcc-8-arm-linux-gnueabihf, + gcc-8-hppa-linux-gnu, + gcc-8-m68k-linux-gnu, + gcc-8-powerpc-linux-gnu, + gcc-8-powerpc-linux-gnuspe, + gcc-8-powerpc64-linux-gnu, + gcc-8-powerpc64le-linux-gnu, + gcc-8-mips-linux-gnu, + gcc-8-mipsel-linux-gnu, + gcc-8-mips64-linux-gnuabi64, + gcc-8-mips64el-linux-gnuabi64, + gcc-8-s390x-linux-gnu, + gcc-8-sh4-linux-gnu, + gcc-8-sparc-linux-gnu, + gcc-8-sparc64-linux-gnu, +Description: GNU C compiler (multilib files) + This is the GNU C compiler, a fairly portable optimizing compiler for C. + . + A dependency package on architectures with multilib support; the package + contains dependencies for the non-default multilib architecture(s). + +Package: g++ +Priority: optional +Architecture: any +Depends: cpp (>= ${version:cpp}), gcc (>= ${version:cpp}), g++-${pv:gpp} ${reqv:gpp}, gcc-${pv:gpp} ${reqv:gpp}, ${misc:Depends} +Suggests: ${pkgmulti:gpp} +Provides: c++-compiler +Description: GNU C++ compiler + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This is a dependency package providing the default GNU C++ compiler. + +Package: g++-multilib +Priority: optional +Architecture: amd64 i386 kfreebsd-amd64 mips mips64 mips64el mipsel powerpc ppc64 s390 s390x sparc sparc64 x32 +Depends: cpp (>= ${version:cpp}), gcc-multilib (>= ${version:cpp}), g++ (>= ${version:cpp}), g++-${pv:gpp}-multilib ${reqv:gpp}, ${misc:Depends} +Description: GNU C++ compiler (multilib files) + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + A dependency package on architectures with multilib support; the package + contains dependencies for the non-default multilib architecture(s). + +Package: gobjc +Priority: optional +Architecture: any +Depends: cpp (>= ${version:cpp}), gcc (>= ${version:cpp}), gobjc-${pv:gobjc} ${reqv:gobjc}, ${misc:Depends} +Suggests: ${pkgmulti:gobjc} +Provides: objc-compiler +Description: GNU Objective-C compiler + This is the GNU Objective-C compiler, which compiles Objective-C on platforms + supported by the gcc compiler. It uses the gcc backend to generate optimized + code. + . + This is a dependency package providing the default GNU Objective-C compiler. + +Package: gobjc-multilib +Priority: optional +Architecture: amd64 i386 kfreebsd-amd64 mips mips64 mips64el mipsel powerpc ppc64 s390 s390x sparc sparc64 x32 +Depends: cpp (>= ${version:cpp}), gcc-multilib (>= ${version:cpp}), gobjc (>= ${version:gcc}), gobjc-${pv:gobjc}-multilib ${reqv:gobjc}, ${misc:Depends} +Description: GNU Objective-C compiler (multilib files) + This is the GNU Objective-C compiler, which compiles Objective-C on + platforms supported by the gcc compiler. + . + A dependency package on architectures with multilib support; the package + contains dependencies for the non-default multilib architecture(s). + +Package: gobjc++ +Priority: optional +Architecture: any +Depends: cpp (>= ${version:cpp}), gcc (>= ${version:cpp}), gobjc++-${pv:gobjcxx} ${reqv:gobjcxx}, ${misc:Depends} +Recommends: g++ (>= ${version:cpp}), gobjc (>= ${version:cpp}) +Suggests: ${pkgmulti:gobjcxx} +Provides: objc++-compiler +Description: GNU Objective-C++ compiler + This is the GNU Objective-C++ compiler, which compiles + Objective-C++ on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Objective-C++ compiler. + +Package: gobjc++-multilib +Priority: optional +Architecture: amd64 i386 kfreebsd-amd64 mips mips64 mips64el mipsel powerpc ppc64 s390 s390x sparc sparc64 x32 +Depends: cpp (>= ${version:cpp}), gobjc-multilib (>= ${version:cpp}), gobjc++ (>= ${version:gcc}), gobjc++-${pv:gobjcxx}-multilib ${reqv:gobjcxx}, ${misc:Depends} +Description: GNU Objective-C++ compiler (multilib files) + This is the GNU Objective-C++ compiler, which compiles Objective-C++ on + platforms supported by the gcc compiler. + . + A dependency package on architectures with multilib support; the package + contains dependencies for the non-default multilib architecture(s). + +Package: gfortran +Priority: optional +Architecture: any +Depends: cpp (>= ${version:cpp}), gcc (>= ${version:gcc}), gfortran-${pv:gfort} ${reqv:gfort}, ${misc:Depends} +Suggests: ${pkgmulti:gfort}, gfortran-doc +Provides: fortran-compiler, ${fortran:mod-version} +Description: GNU Fortran 95 compiler + This is the GNU Fortran 95 compiler, which compiles Fortran 95 on platforms + supported by the gcc compiler. It uses the gcc backend to generate optimized + code. + . + This is a dependency package providing the default GNU Fortran 95 compiler. + +Package: gfortran-multilib +Priority: optional +Architecture: amd64 i386 kfreebsd-amd64 mips mips64 mips64el mipsel powerpc ppc64 s390 s390x sparc sparc64 x32 +Depends: cpp (>= ${version:cpp}), gcc-multilib (>= ${version:cpp}), gfortran (>= ${version:gcc}), gfortran-${pv:gfort}-multilib ${reqv:gfort}, ${misc:Depends} +Description: GNU Fortran 95 compiler (multilib files) + This is the GNU Fortran compiler, which compiles Fortran 95 on platforms + supported by the gcc compiler. + . + A dependency package on architectures with multilib support; the package + contains dependencies for the non-default multilib architecture(s). + +Package: gccgo +Priority: optional +Architecture: any +Depends: cpp (>= ${version:cpp}), gcc (>= ${version:gcc}), gccgo-${pv:ggo} ${reqv:ggo}, ${misc:Depends} +Suggests: ${pkgmulti:ggo} +Provides: go-compiler +Description: Go compiler, based on the GCC backend + This is the GNU Go compiler, which compiles Go on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Go compiler. + +Package: gccgo-multilib +Priority: optional +Architecture: amd64 i386 mips mips64 mips64el mipsel powerpc ppc64 s390 s390x sparc sparc64 x32 +Depends: cpp (>= ${version:cpp}), gcc-multilib (>= ${version:cpp}), gccgo (>= ${version:ggo}), gccgo-${pv:ggo}-multilib ${reqv:ggo}, ${misc:Depends} +Description: Go compiler, based on the GCC backend (multilib files) + This is the GNU Go compiler, which compiles Go on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + A dependency package on architectures with multilib support; the package + contains dependencies for the non-default multilib architecture(s). + +Package: libgcj-common +Section: java +Architecture: all +Multi-Arch: foreign +Priority: optional +Depends: ${python:Depends}, ${misc:Depends} +Conflicts: classpath (<= 0.04-4) +Replaces: java-gcj-compat (<< 1.0.65-8), java-gcj-compat-dev (<< 1.0.80-2) +XB-Python-Version: ${python:Versions} +Description: Java runtime library (common files) + This package contains files shared by Classpath and libgcj libraries. + +Package: libgcj-bc +Section: java +Architecture: any +Multi-Arch: same +Priority: optional +Pre-Depends: ${misc:Pre-Depends} +Depends: libgcj-common (>= ${version:libgcjcommon}), ${pkg:libgcj} ${reqv:gij}, ${misc:Depends} +Description: Link time only library for use with gcj + A fake library that is used at link time only. It ensures that + binaries built with the BC-ABI link against a constant SONAME. + This way, BC-ABI binaries continue to work if the SONAME underlying + libgcj.so changes. + +Package: gcj-jdk +Section: java +Architecture: any +Priority: optional +Depends: libgcj-common (>= ${version:libgcjcommon}), gcj-jre (>= ${version:gcj}), ${dep:jdk}, ${pkg:gjdoc}, ${misc:Depends} +Provides: java-gcj-compat-dev, java-compiler, java-sdk, java2-sdk, java5-sdk, ${pkg:gjdoc} +Conflicts: gcj (<< ${ver:gcjconflict}), classpath-common (<= 2:0.97.2-1.1), ${pkg:gjdoc}, java-gcj-compat-dev (<< 1.0.80-2) +Replaces: ${pkg:gjdoc}, java-gcj-compat-dev (<< 1.0.80-2), gcj-jre-headless (<< 4:4.9.0-2) +Description: gcj and Classpath development tools for Java(TM) + GCJ is a front end to the GCC compiler which can natively compile both + Java(tm) source and bytecode files. The compiler can also generate class + files. Other java development tools from Classpath are included in this + package. + . + The package contains as well a collection of wrapper scripts and symlinks. + It is meant to provide a Java-SDK-like interface to the GCJ tool set. + +Package: gcj-jre-headless +Priority: optional +Section: java +Architecture: any +Depends: libgcj-common (>= ${version:libgcjcommon}), ${dep:jrehl}, ${misc:Depends} +Suggests: gcj-jdk +Conflicts: gij (<< ${ver:gcjconflict}), java-gcj-compat-headless (<< 1.0.80-6) +Replaces: java-gcj-compat-headless (<< 1.0.80-6) +Provides: java-gcj-compat-headless, java-virtual-machine, java5-runtime-headless, java2-runtime-headless, java1-runtime-headless, java-runtime-headless +Description: Java runtime environment using GIJ/Classpath (headless version) + GIJ is a Java bytecode interpreter, not limited to interpreting bytecode. + It includes a class loader which can dynamically load shared objects, so + it is possible to give it the name of a class which has been compiled and + put into a shared library on the class path. + . + The package contains as well a collection of wrapper scripts and symlinks. + It is meant to provide a Java-RTE-like interface to the GIJ/GCJ tool set, + limited to the headless tools and libraries. + +Package: gcj-jre +Section: java +Architecture: any +Priority: optional +Depends: libgcj-common (>= ${version:libgcjcommon}), gcj-jre-headless (>= ${version:gcj}), ${dep:jre}, ${misc:Depends} +Provides: java-gcj-compat, java5-runtime, java2-runtime, java1-runtime, java-runtime +Description: Java runtime environment using GIJ/Classpath + GIJ is a Java bytecode interpreter, not limited to interpreting bytecode. + It includes a class loader which can dynamically load shared objects, so + it is possible to give it the name of a class which has been compiled and + put into a shared library on the class path. + . + This is currently an empty package. + It is meant to provide a Java-RTE-like interface to the GIJ/GCJ tool set. + +Package: gdc +Priority: optional +Architecture: any +Depends: gdc-${pv:gdc} ${reqv:gdc}, ${dep:libgphobos}, ${misc:Depends} +Replaces: gdc-4.1 (<< 0.25-4.1.2-18), gdc-4.2 (<< 0.25-4.2.2-7), gdc-4.3 (<< 1:1.043-4.3.4-1) +Description: D compiler (language version 2), based on the GCC backend + This is a dependency package providing the default D compiler. + Per policy, all packages that contain D sources must use this package + in their Build-Depends line. + . + This compiler supports D language version 2. + +Package: gdc-multilib +Priority: optional +Architecture: amd64 i386 kfreebsd-amd64 mips mips64 mips64el mipsel powerpc ppc64 s390 s390x sparc sparc64 x32 +Depends: cpp (>= ${version:cpp}), gcc-multilib (>= ${version:cpp}), gdc (>= ${version:gcc}), gdc-${pv:gdc}-multilib ${reqv:gdc}, ${misc:Depends} +Description: D compiler (language version 2) (multilib files) + This compiler supports D language version 2. + . + A dependency package on architectures with multilib support; the package + contains dependencies for the non-default multilib architecture(s). + +Package: libgphobos-dev +Section: libdevel +Priority: optional +Architecture: any +Multi-Arch: same +Depends: libgphobos-${pv:gdc}-dev ${reqv:gdc}, ${misc:Depends} +Provides: libphobos-dev +Description: Phobos D standard library + This is a dependency package providing the default D standard library. + +Package: gcc-hppa64-linux-gnu +Priority: optional +Architecture: amd64 hppa i386 x32 +Depends: gcc (>= ${version:gcc}), gcc-${pv:gcc}-hppa64-linux-gnu ${reqv:gcc}, + ${misc:Depends} +Conflicts: gcc-5-hppa64-linux-gnu (<< 5.2.1-26), + gcc-5-hppa64 (<< 5.2.1-26), + gcc-4.9-hppa64 (<< 4.9.3-7), + gcc-4.8-hppa64 (<< 4.8.5-3) +Description: GNU C compiler (cross compiler for hppa64-linux-gnu) + This is the GNU C compiler, a fairly portable optimizing compiler for C. + . + This is a dependency package providing the default GNU C cross-compiler + for the hppa64 architecture. + +Package: cpp-s390x-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Section: interpreters +Depends: cpp-${pv:cpp}-s390x-linux-gnu ${reqv:cpp}, ${misc:Depends} +Suggests: cpp-doc +Description: GNU C preprocessor (cpp) for the s390x architecture + The GNU C preprocessor is a macro processor that is used automatically + by the GNU C compiler to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor but not the cross-compiler for s390x architecture. + . + This is a dependency package providing the default GNU C preprocessor + for the s390x architecture. + +Package: gcc-s390x-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-s390x-linux-gnu (>= ${version:cpp}), + gcc-${pv:gcc}-s390x-linux-gnu ${reqv:gcc}, + ${misc:Depends} +Recommends: libc6-dev-s390x-cross | libc-dev-s390x-cross +Suggests: make, manpages-dev, autoconf, automake, libtool, flex, bison, gdb-s390x-linux-gnu, gcc-doc +Description: GNU C compiler for the s390x architecture + This is the GNU C compiler, a fairly portable optimizing compiler for C. + . + This is a dependency package providing the default GNU C cross-compiler + for the s390x architecture. + +Package: g++-s390x-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-s390x-linux-gnu (>= ${version:cpp}), + gcc-s390x-linux-gnu (>= ${version:cpp}), + g++-${pv:gpp}-s390x-linux-gnu ${reqv:gpp}, + ${misc:Depends} +Description: GNU C++ compiler for the s390x architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This is a dependency package providing the default GNU C++ cross-compiler + for the s390x architecture. + +Package: gobjc-s390x-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-s390x-linux-gnu (>= ${version:cpp}), + gcc-s390x-linux-gnu (>= ${version:cpp}), + gobjc-${pv:gobjc}-s390x-linux-gnu ${reqv:gobjc}, + ${misc:Depends} +Description: GNU Objective-C compiler for the s390x architecture + This is the GNU Objective-C compiler, which compiles Objective-C on platforms + supported by the gcc compiler. It uses the gcc backend to generate optimized + code. + . + This is a dependency package providing the default GNU Objective-C + cross-compiler for the s390x architecture. + +Package: gobjc++-s390x-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-s390x-linux-gnu (>= ${version:cpp}), + gcc-s390x-linux-gnu (>= ${version:cpp}), + gobjc++-${pv:gobjcxx}-s390x-linux-gnu ${reqv:gobjcxx}, + ${misc:Depends} +Recommends: g++-s390x-linux-gnu (>= ${version:cpp}), gobjc-s390x-linux-gnu (>= ${version:cpp}) +Description: GNU Objective-C++ compiler for the s390x architecture + This is the GNU Objective-C++ compiler, which compiles + Objective-C++ on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Objective-C++ + cross-compiler for the s390x architecture. + +Package: gfortran-s390x-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-s390x-linux-gnu (>= ${version:cpp}), + gcc-s390x-linux-gnu (>= ${version:gcc}), + gfortran-${pv:gfort}-s390x-linux-gnu ${reqv:gfort}, + ${misc:Depends} +Suggests: gfortran-doc +Description: GNU Fortran 95 compiler for the s390x architecture + This is the GNU Fortran 95 compiler, which compiles Fortran 95 on platforms + supported by the gcc compiler. It uses the gcc backend to generate optimized + code. + . + This is a dependency package providing the default GNU Fortran 95 + cross-compiler for the s390x architecture. + +Package: gccgo-s390x-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-s390x-linux-gnu (>= ${version:cpp}), + g++-s390x-linux-gnu (>= ${version:gcc}), + gccgo-${pv:ggo}-s390x-linux-gnu ${reqv:ggo}, + ${misc:Depends} +Suggests: gccgo-doc +Description: Go compiler (based on GCC) for the s390x architecture + This is the GNU Go compiler, which compiles Go on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Go cross-compiler + for the s390x architecture. + +Package: gcj-s390x-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-s390x-linux-gnu (>= ${version:cpp}), + gcj-${pv:gcj}-s390x-linux-gnu ${reqv:gcj}, + ${misc:Depends} +Description: GNU Java compiler (based on GCC) for the s390x architecture + This is the GNU Java compiler, which compiles java on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Java cross-compiler + for the s390x architecture. + +Package: gdc-s390x-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-s390x-linux-gnu (>= ${version:cpp}), + gdc-${pv:gdc}-s390x-linux-gnu ${reqv:gdc}, + ${misc:Depends} +Description: GNU D compiler (based on GCC) for the s390x architecture + This is the GNU D compiler, which compiles D on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU D cross-compiler + for the s390x architecture. + +Package: gcc-multilib-s390x-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Depends: cpp-s390x-linux-gnu (>= ${version:cpp}), + gcc-s390x-linux-gnu (>= ${version:gcc}), + gcc-${pv:gcc}-multilib-s390x-linux-gnu ${reqv:gcc}, + ${misc:Depends} +Recommends: libc6-dev-s390x-cross | libc-dev-s390x-cross +Suggests: make, manpages-dev, autoconf, automake, libtool, flex, bison, gdb-s390x-linux-gnu, gcc-doc +Description: GNU C compiler for the s390x architecture + This is the GNU C compiler, a fairly portable optimizing compiler for C. + . + This is a dependency package providing the default GNU C cross-compiler + for the s390x architecture. + +Package: g++-multilib-s390x-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Depends: cpp-s390x-linux-gnu (>= ${version:cpp}), + g++-s390x-linux-gnu (>= ${version:gpp}), + gcc-multilib-s390x-linux-gnu (>= ${version:gcc}), + g++-${pv:gpp}-multilib-s390x-linux-gnu ${reqv:gpp}, + ${misc:Depends} +Description: GNU C++ compiler for the s390x architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This is a dependency package providing the default GNU C++ + cross-compiler for the s390x architecture. + +Package: gobjc-multilib-s390x-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Depends: cpp-s390x-linux-gnu (>= ${version:cpp}), + gobjc-s390x-linux-gnu (>= ${version:gobjc}), + gcc-multilib-s390x-linux-gnu (>= ${version:cpp}), + gobjc-${pv:gobjc}-multilib-s390x-linux-gnu ${reqv:gobjc}, + ${misc:Depends} +Description: GNU Objective-C compiler for the s390x architecture + This is the GNU Objective-C compiler, which compiles Objective-C on platforms + supported by the gcc compiler. It uses the gcc backend to generate optimized + code. + . + This is a dependency package providing the default GNU Objective-C + cross-compiler for the s390x architecture. + +Package: gobjc++-multilib-s390x-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Depends: cpp-s390x-linux-gnu (>= ${version:cpp}), + gcc-multilib-s390x-linux-gnu (>= ${version:cpp}), + gobjc++-s390x-linux-gnu (>= ${version:gobjcxx}), + gobjc++-${pv:gobjcxx}-multilib-s390x-linux-gnu ${reqv:gobjcxx}, + ${misc:Depends} +Recommends: g++-s390x-linux-gnu (>= ${version:cpp}), + gobjc-s390x-linux-gnu (>= ${version:cpp}) +Description: GNU Objective-C++ compiler for the s390x architecture + This is the GNU Objective-C++ compiler, which compiles + Objective-C++ on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Objective-C++ + cross-compiler for the s390x architecture. + +Package: gfortran-multilib-s390x-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Depends: cpp-s390x-linux-gnu (>= ${version:cpp}), + gcc-multilib-s390x-linux-gnu (>= ${version:gcc}), + gfortran-s390x-linux-gnu (>= ${version:gfort}), + gfortran-${pv:gfort}-multilib-s390x-linux-gnu ${reqv:gfort}, + ${misc:Depends} +Suggests: gfortran-doc +Description: GNU Fortran 95 compiler for the s390x architecture + This is the GNU Fortran 95 compiler, which compiles Fortran 95 on platforms + supported by the gcc compiler. It uses the gcc backend to generate optimized + code. + . + This is a dependency package providing the default GNU Fortran 95 + cross-compiler for the s390x architecture. + +Package: gccgo-multilib-s390x-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Depends: cpp-s390x-linux-gnu (>= ${version:cpp}), + g++-multilib-s390x-linux-gnu (>= ${version:gcc}), + gccgo-s390x-linux-gnu (>= ${version:ggo}), + gccgo-${pv:ggo}-multilib-s390x-linux-gnu ${reqv:ggo}, + ${misc:Depends} +Suggests: gccgo-doc +Description: Go compiler (based on GCC) for the s390x architecture + This is the GNU Go compiler, which compiles Go on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Go cross-compiler + cross-compiler for the s390x architecture. + +Package: gdc-multilib-s390x-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Depends: cpp-s390x-linux-gnu (>= ${version:cpp}), + gdc-${pv:gdc}-multilib-s390x-linux-gnu ${reqv:gdc}, + gdc-s390x-linux-gnu (>= ${version:gdc}), + ${misc:Depends} +Description: GNU D compiler (based on GCC) for the s390x architecture + This is the GNU D compiler, which compiles D on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU D cross-compiler + cross-compiler for the s390x architecture. + +Package: cpp-powerpc64le-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 ppc64 +Multi-Arch: foreign +Section: interpreters +Depends: cpp-${pv:cpp}-powerpc64le-linux-gnu ${reqv:cpp}, ${misc:Depends} +Suggests: cpp-doc +Description: GNU C preprocessor (cpp) for the ppc64el architecture + The GNU C preprocessor is a macro processor that is used automatically + by the GNU C compiler to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor but not the cross-compiler for ppc64el architecture. + . + This is a dependency package providing the default GNU C preprocessor + for the ppc64el architecture. + +Package: gcc-powerpc64le-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 ppc64 +Multi-Arch: foreign +Depends: cpp-powerpc64le-linux-gnu (>= ${version:cpp}), + gcc-${pv:gcc}-powerpc64le-linux-gnu ${reqv:gcc}, + ${misc:Depends} +Recommends: libc6-dev-ppc64el-cross | libc-dev-ppc64el-cross +Suggests: make, manpages-dev, autoconf, automake, libtool, flex, bison, gdb-powerpc64le-linux-gnu, gcc-doc +Description: GNU C compiler for the ppc64el architecture + This is the GNU C compiler, a fairly portable optimizing compiler for C. + . + This is a dependency package providing the default GNU C cross-compiler + for the ppc64el architecture. + +Package: g++-powerpc64le-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 ppc64 +Multi-Arch: foreign +Depends: cpp-powerpc64le-linux-gnu (>= ${version:cpp}), + gcc-powerpc64le-linux-gnu (>= ${version:cpp}), + g++-${pv:gpp}-powerpc64le-linux-gnu ${reqv:gpp}, + ${misc:Depends} +Description: GNU C++ compiler for the ppc64el architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This is a dependency package providing the default GNU C++ cross-compiler + for the ppc64el architecture. + +Package: gobjc-powerpc64le-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 ppc64 +Multi-Arch: foreign +Depends: cpp-powerpc64le-linux-gnu (>= ${version:cpp}), + gcc-powerpc64le-linux-gnu (>= ${version:cpp}), + gobjc-${pv:gobjc}-powerpc64le-linux-gnu ${reqv:gobjc}, + ${misc:Depends} +Description: GNU Objective-C compiler for the ppc64el architecture + This is the GNU Objective-C compiler, which compiles Objective-C on platforms + supported by the gcc compiler. It uses the gcc backend to generate optimized + code. + . + This is a dependency package providing the default GNU Objective-C + cross-compiler for the ppc64el architecture. + +Package: gobjc++-powerpc64le-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 ppc64 +Multi-Arch: foreign +Depends: cpp-powerpc64le-linux-gnu (>= ${version:cpp}), + gcc-powerpc64le-linux-gnu (>= ${version:cpp}), + gobjc++-${pv:gobjcxx}-powerpc64le-linux-gnu ${reqv:gobjcxx}, + ${misc:Depends} +Recommends: g++-powerpc64le-linux-gnu (>= ${version:cpp}), gobjc-powerpc64le-linux-gnu (>= ${version:cpp}) +Description: GNU Objective-C++ compiler for the ppc64el architecture + This is the GNU Objective-C++ compiler, which compiles + Objective-C++ on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Objective-C++ + cross-compiler for the ppc64el architecture. + +Package: gfortran-powerpc64le-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 ppc64 +Multi-Arch: foreign +Depends: cpp-powerpc64le-linux-gnu (>= ${version:cpp}), + gcc-powerpc64le-linux-gnu (>= ${version:gcc}), + gfortran-${pv:gfort}-powerpc64le-linux-gnu ${reqv:gfort}, + ${misc:Depends} +Suggests: gfortran-doc +Description: GNU Fortran 95 compiler for the ppc64el architecture + This is the GNU Fortran 95 compiler, which compiles Fortran 95 on platforms + supported by the gcc compiler. It uses the gcc backend to generate optimized + code. + . + This is a dependency package providing the default GNU Fortran 95 + cross-compiler for the ppc64el architecture. + +Package: gccgo-powerpc64le-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 ppc64 +Multi-Arch: foreign +Depends: cpp-powerpc64le-linux-gnu (>= ${version:cpp}), + g++-powerpc64le-linux-gnu (>= ${version:gcc}), + gccgo-${pv:ggo}-powerpc64le-linux-gnu ${reqv:ggo}, + ${misc:Depends} +Suggests: gccgo-doc +Description: Go compiler (based on GCC) for the ppc64el architecture + This is the GNU Go compiler, which compiles Go on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Go cross-compiler + for the ppc64el architecture. + +Package: gcj-powerpc64le-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 ppc64 +Multi-Arch: foreign +Depends: cpp-powerpc64le-linux-gnu (>= ${version:cpp}), + gcj-${pv:gcj}-powerpc64le-linux-gnu ${reqv:gcj}, + ${misc:Depends} +Description: GNU Java compiler (based on GCC) for the ppc64el architecture + This is the GNU Java compiler, which compiles java on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Java cross-compiler + for the ppc64el architecture. + +Package: gdc-powerpc64le-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 ppc64 +Multi-Arch: foreign +Depends: cpp-powerpc64le-linux-gnu (>= ${version:cpp}), + gdc-${pv:gdc}-powerpc64le-linux-gnu ${reqv:gdc}, + ${misc:Depends} +Description: GNU D compiler (based on GCC) for the ppc64el architecture + This is the GNU D compiler, which compiles D on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU D cross-compiler + for the ppc64el architecture. + +Package: cpp-aarch64-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Section: interpreters +Depends: cpp-${pv:cpp}-aarch64-linux-gnu ${reqv:cpp}, ${misc:Depends} +Suggests: cpp-doc +Description: GNU C preprocessor (cpp) for the arm64 architecture + The GNU C preprocessor is a macro processor that is used automatically + by the GNU C compiler to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor but not the cross-compiler for arm64 architecture. + . + This is a dependency package providing the default GNU C preprocessor + for the arm64 architecture. + +Package: gcc-aarch64-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-aarch64-linux-gnu (>= ${version:cpp}), + gcc-${pv:gcc}-aarch64-linux-gnu ${reqv:gcc}, + ${misc:Depends} +Recommends: libc6-dev-arm64-cross | libc-dev-arm64-cross +Suggests: make, manpages-dev, autoconf, automake, libtool, flex, bison, gdb-aarch64-linux-gnu, gcc-doc +Description: GNU C compiler for the arm64 architecture + This is the GNU C compiler, a fairly portable optimizing compiler for C. + . + This is a dependency package providing the default GNU C cross-compiler + for the arm64 architecture. + +Package: g++-aarch64-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-aarch64-linux-gnu (>= ${version:cpp}), + gcc-aarch64-linux-gnu (>= ${version:cpp}), + g++-${pv:gpp}-aarch64-linux-gnu ${reqv:gpp}, + ${misc:Depends} +Description: GNU C++ compiler for the arm64 architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This is a dependency package providing the default GNU C++ cross-compiler + for the arm64 architecture. + +Package: gobjc-aarch64-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-aarch64-linux-gnu (>= ${version:cpp}), + gcc-aarch64-linux-gnu (>= ${version:cpp}), + gobjc-${pv:gobjc}-aarch64-linux-gnu ${reqv:gobjc}, + ${misc:Depends} +Description: GNU Objective-C compiler for the arm64 architecture + This is the GNU Objective-C compiler, which compiles Objective-C on platforms + supported by the gcc compiler. It uses the gcc backend to generate optimized + code. + . + This is a dependency package providing the default GNU Objective-C + cross-compiler for the arm64 architecture. + +Package: gobjc++-aarch64-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-aarch64-linux-gnu (>= ${version:cpp}), + gcc-aarch64-linux-gnu (>= ${version:cpp}), + gobjc++-${pv:gobjcxx}-aarch64-linux-gnu ${reqv:gobjcxx}, + ${misc:Depends} +Recommends: g++-aarch64-linux-gnu (>= ${version:cpp}), gobjc-aarch64-linux-gnu (>= ${version:cpp}) +Description: GNU Objective-C++ compiler for the arm64 architecture + This is the GNU Objective-C++ compiler, which compiles + Objective-C++ on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Objective-C++ + cross-compiler for the arm64 architecture. + +Package: gfortran-aarch64-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-aarch64-linux-gnu (>= ${version:cpp}), + gcc-aarch64-linux-gnu (>= ${version:gcc}), + gfortran-${pv:gfort}-aarch64-linux-gnu ${reqv:gfort}, + ${misc:Depends} +Suggests: gfortran-doc +Description: GNU Fortran 95 compiler for the arm64 architecture + This is the GNU Fortran 95 compiler, which compiles Fortran 95 on platforms + supported by the gcc compiler. It uses the gcc backend to generate optimized + code. + . + This is a dependency package providing the default GNU Fortran 95 + cross-compiler for the arm64 architecture. + +Package: gccgo-aarch64-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-aarch64-linux-gnu (>= ${version:cpp}), + g++-aarch64-linux-gnu (>= ${version:gcc}), + gccgo-${pv:ggo}-aarch64-linux-gnu ${reqv:ggo}, + ${misc:Depends} +Suggests: gccgo-doc +Description: Go compiler (based on GCC) for the arm64 architecture + This is the GNU Go compiler, which compiles Go on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Go cross-compiler + for the arm64 architecture. + +Package: gcj-aarch64-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-aarch64-linux-gnu (>= ${version:cpp}), + gcj-${pv:gcj}-aarch64-linux-gnu ${reqv:gcj}, + ${misc:Depends} +Description: GNU Java compiler (based on GCC) for the arm64 architecture + This is the GNU Java compiler, which compiles java on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Java cross-compiler + for the arm64 architecture. + +Package: gdc-aarch64-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-aarch64-linux-gnu (>= ${version:cpp}), + gdc-${pv:gdc}-aarch64-linux-gnu ${reqv:gdc}, + ${misc:Depends} +Description: GNU D compiler (based on GCC) for the arm64 architecture + This is the GNU D compiler, which compiles D on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU D cross-compiler + for the arm64 architecture. + +Package: cpp-arm-linux-gnueabihf +Priority: optional +Architecture: amd64 i386 x32 arm64 +Multi-Arch: foreign +Section: interpreters +Depends: cpp-${pv:cpp}-arm-linux-gnueabihf ${reqv:cpp}, ${misc:Depends} +Suggests: cpp-doc +Description: GNU C preprocessor (cpp) for the armhf architecture + The GNU C preprocessor is a macro processor that is used automatically + by the GNU C compiler to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor but not the cross-compiler for armhf architecture. + . + This is a dependency package providing the default GNU C preprocessor + for the armhf architecture. + +Package: gcc-arm-linux-gnueabihf +Priority: optional +Architecture: amd64 i386 x32 arm64 +Multi-Arch: foreign +Depends: cpp-arm-linux-gnueabihf (>= ${version:cpp}), + gcc-${pv:gcc}-arm-linux-gnueabihf ${reqv:gcc}, + ${misc:Depends} +Recommends: libc6-dev-armhf-cross | libc-dev-armhf-cross +Suggests: make, manpages-dev, autoconf, automake, libtool, flex, bison, gdb-arm-linux-gnueabihf, gcc-doc +Description: GNU C compiler for the armhf architecture + This is the GNU C compiler, a fairly portable optimizing compiler for C. + . + This is a dependency package providing the default GNU C cross-compiler + for the armhf architecture. + +Package: g++-arm-linux-gnueabihf +Priority: optional +Architecture: amd64 i386 x32 arm64 +Multi-Arch: foreign +Depends: cpp-arm-linux-gnueabihf (>= ${version:cpp}), + gcc-arm-linux-gnueabihf (>= ${version:cpp}), + g++-${pv:gpp}-arm-linux-gnueabihf ${reqv:gpp}, + ${misc:Depends} +Description: GNU C++ compiler for the armhf architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This is a dependency package providing the default GNU C++ cross-compiler + for the armhf architecture. + +Package: gobjc-arm-linux-gnueabihf +Priority: optional +Architecture: amd64 i386 x32 arm64 +Multi-Arch: foreign +Depends: cpp-arm-linux-gnueabihf (>= ${version:cpp}), + gcc-arm-linux-gnueabihf (>= ${version:cpp}), + gobjc-${pv:gobjc}-arm-linux-gnueabihf ${reqv:gobjc}, + ${misc:Depends} +Description: GNU Objective-C compiler for the armhf architecture + This is the GNU Objective-C compiler, which compiles Objective-C on platforms + supported by the gcc compiler. It uses the gcc backend to generate optimized + code. + . + This is a dependency package providing the default GNU Objective-C + cross-compiler for the armhf architecture. + +Package: gobjc++-arm-linux-gnueabihf +Priority: optional +Architecture: amd64 i386 x32 arm64 +Multi-Arch: foreign +Depends: cpp-arm-linux-gnueabihf (>= ${version:cpp}), + gcc-arm-linux-gnueabihf (>= ${version:cpp}), + gobjc++-${pv:gobjcxx}-arm-linux-gnueabihf ${reqv:gobjcxx}, + ${misc:Depends} +Recommends: g++-arm-linux-gnueabihf (>= ${version:cpp}), gobjc-arm-linux-gnueabihf (>= ${version:cpp}) +Description: GNU Objective-C++ compiler for the armhf architecture + This is the GNU Objective-C++ compiler, which compiles + Objective-C++ on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Objective-C++ + cross-compiler for the armhf architecture. + +Package: gfortran-arm-linux-gnueabihf +Priority: optional +Architecture: amd64 i386 x32 arm64 +Multi-Arch: foreign +Depends: cpp-arm-linux-gnueabihf (>= ${version:cpp}), + gcc-arm-linux-gnueabihf (>= ${version:gcc}), + gfortran-${pv:gfort}-arm-linux-gnueabihf ${reqv:gfort}, + ${misc:Depends} +Suggests: gfortran-doc +Description: GNU Fortran 95 compiler for the armhf architecture + This is the GNU Fortran 95 compiler, which compiles Fortran 95 on platforms + supported by the gcc compiler. It uses the gcc backend to generate optimized + code. + . + This is a dependency package providing the default GNU Fortran 95 + cross-compiler for the armhf architecture. + +Package: gccgo-arm-linux-gnueabihf +Priority: optional +Architecture: amd64 i386 x32 arm64 +Multi-Arch: foreign +Depends: cpp-arm-linux-gnueabihf (>= ${version:cpp}), + g++-arm-linux-gnueabihf (>= ${version:gcc}), + gccgo-${pv:ggo}-arm-linux-gnueabihf ${reqv:ggo}, + ${misc:Depends} +Suggests: gccgo-doc +Description: Go compiler (based on GCC) for the armhf architecture + This is the GNU Go compiler, which compiles Go on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Go cross-compiler + for the armhf architecture. + +Package: gcj-arm-linux-gnueabihf +Priority: optional +Architecture: amd64 i386 x32 arm64 +Multi-Arch: foreign +Depends: cpp-arm-linux-gnueabihf (>= ${version:cpp}), + gcj-${pv:gcj}-arm-linux-gnueabihf ${reqv:gcj}, + ${misc:Depends} +Description: GNU Java compiler (based on GCC) for the armhf architecture + This is the GNU Java compiler, which compiles java on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Java cross-compiler + for the armhf architecture. + +Package: gdc-arm-linux-gnueabihf +Priority: optional +Architecture: amd64 i386 x32 arm64 +Multi-Arch: foreign +Depends: cpp-arm-linux-gnueabihf (>= ${version:cpp}), + gdc-${pv:gdc}-arm-linux-gnueabihf ${reqv:gdc}, + ${misc:Depends} +Description: GNU D compiler (based on GCC) for the armhf architecture + This is the GNU D compiler, which compiles D on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU D cross-compiler + for the armhf architecture. + +Package: cpp-arm-linux-gnueabi +Priority: optional +Architecture: amd64 i386 x32 arm64 +Multi-Arch: foreign +Section: interpreters +Depends: cpp-${pv:cpp}-arm-linux-gnueabi ${reqv:cpp}, ${misc:Depends} +Suggests: cpp-doc +Description: GNU C preprocessor (cpp) for the armel architecture + The GNU C preprocessor is a macro processor that is used automatically + by the GNU C compiler to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor but not the cross-compiler for armel architecture. + . + This is a dependency package providing the default GNU C preprocessor + for the armel architecture. + +Package: gcc-arm-linux-gnueabi +Priority: optional +Architecture: amd64 i386 x32 arm64 +Multi-Arch: foreign +Depends: cpp-arm-linux-gnueabi (>= ${version:cpp}), + gcc-${pv:gcc}-arm-linux-gnueabi ${reqv:gcc}, + ${misc:Depends} +Recommends: libc6-dev-armel-cross | libc-dev-armel-cross +Suggests: make, manpages-dev, autoconf, automake, libtool, flex, bison, gdb-arm-linux-gnueabi, gcc-doc +Description: GNU C compiler for the armel architecture + This is the GNU C compiler, a fairly portable optimizing compiler for C. + . + This is a dependency package providing the default GNU C cross-compiler + for the armel architecture. + +Package: g++-arm-linux-gnueabi +Priority: optional +Architecture: amd64 i386 x32 arm64 +Multi-Arch: foreign +Depends: cpp-arm-linux-gnueabi (>= ${version:cpp}), + gcc-arm-linux-gnueabi (>= ${version:cpp}), + g++-${pv:gpp}-arm-linux-gnueabi ${reqv:gpp}, + ${misc:Depends} +Description: GNU C++ compiler for the armel architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This is a dependency package providing the default GNU C++ cross-compiler + for the armel architecture. + +Package: gobjc-arm-linux-gnueabi +Priority: optional +Architecture: amd64 i386 x32 arm64 +Multi-Arch: foreign +Depends: cpp-arm-linux-gnueabi (>= ${version:cpp}), + gcc-arm-linux-gnueabi (>= ${version:cpp}), + gobjc-${pv:gobjc}-arm-linux-gnueabi ${reqv:gobjc}, + ${misc:Depends} +Description: GNU Objective-C compiler for the armel architecture + This is the GNU Objective-C compiler, which compiles Objective-C on platforms + supported by the gcc compiler. It uses the gcc backend to generate optimized + code. + . + This is a dependency package providing the default GNU Objective-C + cross-compiler for the armel architecture. + +Package: gobjc++-arm-linux-gnueabi +Priority: optional +Architecture: amd64 i386 x32 arm64 +Multi-Arch: foreign +Depends: cpp-arm-linux-gnueabi (>= ${version:cpp}), + gcc-arm-linux-gnueabi (>= ${version:cpp}), + gobjc++-${pv:gobjcxx}-arm-linux-gnueabi ${reqv:gobjcxx}, + ${misc:Depends} +Recommends: g++-arm-linux-gnueabi (>= ${version:cpp}), gobjc-arm-linux-gnueabi (>= ${version:cpp}) +Description: GNU Objective-C++ compiler for the armel architecture + This is the GNU Objective-C++ compiler, which compiles + Objective-C++ on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Objective-C++ + cross-compiler for the armel architecture. + +Package: gfortran-arm-linux-gnueabi +Priority: optional +Architecture: amd64 i386 x32 arm64 +Multi-Arch: foreign +Depends: cpp-arm-linux-gnueabi (>= ${version:cpp}), + gcc-arm-linux-gnueabi (>= ${version:gcc}), + gfortran-${pv:gfort}-arm-linux-gnueabi ${reqv:gfort}, + ${misc:Depends} +Suggests: gfortran-doc +Description: GNU Fortran 95 compiler for the armel architecture + This is the GNU Fortran 95 compiler, which compiles Fortran 95 on platforms + supported by the gcc compiler. It uses the gcc backend to generate optimized + code. + . + This is a dependency package providing the default GNU Fortran 95 + cross-compiler for the armel architecture. + +Package: gccgo-arm-linux-gnueabi +Priority: optional +Architecture: amd64 i386 x32 arm64 +Multi-Arch: foreign +Depends: cpp-arm-linux-gnueabi (>= ${version:cpp}), + g++-arm-linux-gnueabi (>= ${version:gcc}), + gccgo-${pv:ggo}-arm-linux-gnueabi ${reqv:ggo}, + ${misc:Depends} +Suggests: gccgo-doc +Description: Go compiler (based on GCC) for the armel architecture + This is the GNU Go compiler, which compiles Go on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Go cross-compiler + for the armel architecture. + +Package: gcj-arm-linux-gnueabi +Priority: optional +Architecture: amd64 i386 x32 arm64 +Multi-Arch: foreign +Depends: cpp-arm-linux-gnueabi (>= ${version:cpp}), + gcj-${pv:gcj}-arm-linux-gnueabi ${reqv:gcj}, + ${misc:Depends} +Description: GNU Java compiler (based on GCC) for the armel architecture + This is the GNU Java compiler, which compiles java on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Java cross-compiler + for the armel architecture. + +Package: gdc-arm-linux-gnueabi +Priority: optional +Architecture: amd64 i386 x32 arm64 +Multi-Arch: foreign +Depends: cpp-arm-linux-gnueabi (>= ${version:cpp}), + gdc-${pv:gdc}-arm-linux-gnueabi ${reqv:gdc}, + ${misc:Depends} +Description: GNU D compiler (based on GCC) for the armel architecture + This is the GNU D compiler, which compiles D on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU D cross-compiler + for the armel architecture. + +Package: cpp-mips-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Section: interpreters +Depends: cpp-${pv:cpp}-mips-linux-gnu ${reqv:cpp}, ${misc:Depends} +Suggests: cpp-doc +Description: GNU C preprocessor (cpp) for the mips architecture + The GNU C preprocessor is a macro processor that is used automatically + by the GNU C compiler to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor but not the cross-compiler for mips architecture. + . + This is a dependency package providing the default GNU C preprocessor + for the mips architecture. + +Package: gcc-mips-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-mips-linux-gnu (>= ${version:cpp}), + gcc-${pv:gcc}-mips-linux-gnu ${reqv:gcc}, + ${misc:Depends} +Recommends: libc6-dev-mips-cross | libc-dev-mips-cross +Suggests: make, manpages-dev, autoconf, automake, libtool, flex, bison, gdb-mips-linux-gnu, gcc-doc +Description: GNU C compiler for the mips architecture + This is the GNU C compiler, a fairly portable optimizing compiler for C. + . + This is a dependency package providing the default GNU C cross-compiler + for the mips architecture. + +Package: g++-mips-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-mips-linux-gnu (>= ${version:cpp}), + gcc-mips-linux-gnu (>= ${version:cpp}), + g++-${pv:gpp}-mips-linux-gnu ${reqv:gpp}, + ${misc:Depends} +Description: GNU C++ compiler for the mips architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This is a dependency package providing the default GNU C++ cross-compiler + for the mips architecture. + +Package: gobjc-mips-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-mips-linux-gnu (>= ${version:cpp}), + gcc-mips-linux-gnu (>= ${version:cpp}), + gobjc-${pv:gobjc}-mips-linux-gnu ${reqv:gobjc}, + ${misc:Depends} +Description: GNU Objective-C compiler for the mips architecture + This is the GNU Objective-C compiler, which compiles Objective-C on platforms + supported by the gcc compiler. It uses the gcc backend to generate optimized + code. + . + This is a dependency package providing the default GNU Objective-C + cross-compiler for the mips architecture. + +Package: gobjc++-mips-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-mips-linux-gnu (>= ${version:cpp}), + gcc-mips-linux-gnu (>= ${version:cpp}), + gobjc++-${pv:gobjcxx}-mips-linux-gnu ${reqv:gobjcxx}, + ${misc:Depends} +Recommends: g++-mips-linux-gnu (>= ${version:cpp}), gobjc-mips-linux-gnu (>= ${version:cpp}) +Description: GNU Objective-C++ compiler for the mips architecture + This is the GNU Objective-C++ compiler, which compiles + Objective-C++ on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Objective-C++ + cross-compiler for the mips architecture. + +Package: gfortran-mips-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-mips-linux-gnu (>= ${version:cpp}), + gcc-mips-linux-gnu (>= ${version:gcc}), + gfortran-${pv:gfort}-mips-linux-gnu ${reqv:gfort}, + ${misc:Depends} +Suggests: gfortran-doc +Description: GNU Fortran 95 compiler for the mips architecture + This is the GNU Fortran 95 compiler, which compiles Fortran 95 on platforms + supported by the gcc compiler. It uses the gcc backend to generate optimized + code. + . + This is a dependency package providing the default GNU Fortran 95 + cross-compiler for the mips architecture. + +Package: gccgo-mips-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-mips-linux-gnu (>= ${version:cpp}), + g++-mips-linux-gnu (>= ${version:gcc}), + gccgo-${pv:ggo}-mips-linux-gnu ${reqv:ggo}, + ${misc:Depends} +Suggests: gccgo-doc +Description: Go compiler (based on GCC) for the mips architecture + This is the GNU Go compiler, which compiles Go on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Go cross-compiler + for the mips architecture. + +Package: gcj-mips-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-mips-linux-gnu (>= ${version:cpp}), + gcj-${pv:gcj}-mips-linux-gnu ${reqv:gcj}, + ${misc:Depends} +Description: GNU Java compiler (based on GCC) for the mips architecture + This is the GNU Java compiler, which compiles java on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Java cross-compiler + for the mips architecture. + +Package: gdc-mips-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-mips-linux-gnu (>= ${version:cpp}), + gdc-${pv:gdc}-mips-linux-gnu ${reqv:gdc}, + ${misc:Depends} +Description: GNU D compiler (based on GCC) for the mips architecture + This is the GNU D compiler, which compiles D on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU D cross-compiler + for the mips architecture. + +Package: gcc-multilib-mips-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Depends: cpp-mips-linux-gnu (>= ${version:cpp}), + gcc-mips-linux-gnu (>= ${version:gcc}), + gcc-${pv:gcc}-multilib-mips-linux-gnu ${reqv:gcc}, + ${misc:Depends} +Recommends: libc6-dev-mips-cross | libc-dev-mips-cross +Suggests: make, manpages-dev, autoconf, automake, libtool, flex, bison, gdb-mips-linux-gnu, gcc-doc +Description: GNU C compiler for the mips architecture + This is the GNU C compiler, a fairly portable optimizing compiler for C. + . + This is a dependency package providing the default GNU C cross-compiler + for the mips architecture. + +Package: g++-multilib-mips-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Depends: cpp-mips-linux-gnu (>= ${version:cpp}), + g++-mips-linux-gnu (>= ${version:gpp}), + gcc-multilib-mips-linux-gnu (>= ${version:gcc}), + g++-${pv:gpp}-multilib-mips-linux-gnu ${reqv:gpp}, + ${misc:Depends} +Description: GNU C++ compiler for the mips architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This is a dependency package providing the default GNU C++ + cross-compiler for the mips architecture. + +Package: gobjc-multilib-mips-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Depends: cpp-mips-linux-gnu (>= ${version:cpp}), + gobjc-mips-linux-gnu (>= ${version:gobjc}), + gcc-multilib-mips-linux-gnu (>= ${version:cpp}), + gobjc-${pv:gobjc}-multilib-mips-linux-gnu ${reqv:gobjc}, + ${misc:Depends} +Description: GNU Objective-C compiler for the mips architecture + This is the GNU Objective-C compiler, which compiles Objective-C on platforms + supported by the gcc compiler. It uses the gcc backend to generate optimized + code. + . + This is a dependency package providing the default GNU Objective-C + cross-compiler for the mips architecture. + +Package: gobjc++-multilib-mips-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Depends: cpp-mips-linux-gnu (>= ${version:cpp}), + gcc-multilib-mips-linux-gnu (>= ${version:cpp}), + gobjc++-mips-linux-gnu (>= ${version:gobjcxx}), + gobjc++-${pv:gobjcxx}-multilib-mips-linux-gnu ${reqv:gobjcxx}, + ${misc:Depends} +Recommends: g++-mips-linux-gnu (>= ${version:cpp}), + gobjc-mips-linux-gnu (>= ${version:cpp}) +Description: GNU Objective-C++ compiler for the mips architecture + This is the GNU Objective-C++ compiler, which compiles + Objective-C++ on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Objective-C++ + cross-compiler for the mips architecture. + +Package: gfortran-multilib-mips-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Depends: cpp-mips-linux-gnu (>= ${version:cpp}), + gcc-multilib-mips-linux-gnu (>= ${version:gcc}), + gfortran-mips-linux-gnu (>= ${version:gfort}), + gfortran-${pv:gfort}-multilib-mips-linux-gnu ${reqv:gfort}, + ${misc:Depends} +Suggests: gfortran-doc +Description: GNU Fortran 95 compiler for the mips architecture + This is the GNU Fortran 95 compiler, which compiles Fortran 95 on platforms + supported by the gcc compiler. It uses the gcc backend to generate optimized + code. + . + This is a dependency package providing the default GNU Fortran 95 + cross-compiler for the mips architecture. + +Package: gccgo-multilib-mips-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Depends: cpp-mips-linux-gnu (>= ${version:cpp}), + g++-multilib-mips-linux-gnu (>= ${version:gcc}), + gccgo-mips-linux-gnu (>= ${version:ggo}), + gccgo-${pv:ggo}-multilib-mips-linux-gnu ${reqv:ggo}, + ${misc:Depends} +Suggests: gccgo-doc +Description: Go compiler (based on GCC) for the mips architecture + This is the GNU Go compiler, which compiles Go on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Go cross-compiler + cross-compiler for the mips architecture. + +Package: gdc-multilib-mips-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Depends: cpp-mips-linux-gnu (>= ${version:cpp}), + gdc-${pv:gdc}-multilib-mips-linux-gnu ${reqv:gdc}, + gdc-mips-linux-gnu (>= ${version:gdc}), + ${misc:Depends} +Description: GNU D compiler (based on GCC) for the mips architecture + This is the GNU D compiler, which compiles D on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU D cross-compiler + cross-compiler for the mips architecture. + +Package: cpp-mipsel-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Section: interpreters +Depends: cpp-${pv:cpp}-mipsel-linux-gnu ${reqv:cpp}, ${misc:Depends} +Suggests: cpp-doc +Description: GNU C preprocessor (cpp) for the mipsel architecture + The GNU C preprocessor is a macro processor that is used automatically + by the GNU C compiler to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor but not the cross-compiler for mipsel architecture. + . + This is a dependency package providing the default GNU C preprocessor + for the mipsel architecture. + +Package: gcc-mipsel-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-mipsel-linux-gnu (>= ${version:cpp}), + gcc-${pv:gcc}-mipsel-linux-gnu ${reqv:gcc}, + ${misc:Depends} +Recommends: libc6-dev-mipsel-cross | libc-dev-mipsel-cross +Suggests: make, manpages-dev, autoconf, automake, libtool, flex, bison, gdb-mipsel-linux-gnu, gcc-doc +Description: GNU C compiler for the mipsel architecture + This is the GNU C compiler, a fairly portable optimizing compiler for C. + . + This is a dependency package providing the default GNU C cross-compiler + for the mipsel architecture. + +Package: g++-mipsel-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-mipsel-linux-gnu (>= ${version:cpp}), + gcc-mipsel-linux-gnu (>= ${version:cpp}), + g++-${pv:gpp}-mipsel-linux-gnu ${reqv:gpp}, + ${misc:Depends} +Description: GNU C++ compiler for the mipsel architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This is a dependency package providing the default GNU C++ cross-compiler + for the mipsel architecture. + +Package: gobjc-mipsel-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-mipsel-linux-gnu (>= ${version:cpp}), + gcc-mipsel-linux-gnu (>= ${version:cpp}), + gobjc-${pv:gobjc}-mipsel-linux-gnu ${reqv:gobjc}, + ${misc:Depends} +Description: GNU Objective-C compiler for the mipsel architecture + This is the GNU Objective-C compiler, which compiles Objective-C on platforms + supported by the gcc compiler. It uses the gcc backend to generate optimized + code. + . + This is a dependency package providing the default GNU Objective-C + cross-compiler for the mipsel architecture. + +Package: gobjc++-mipsel-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-mipsel-linux-gnu (>= ${version:cpp}), + gcc-mipsel-linux-gnu (>= ${version:cpp}), + gobjc++-${pv:gobjcxx}-mipsel-linux-gnu ${reqv:gobjcxx}, + ${misc:Depends} +Recommends: g++-mipsel-linux-gnu (>= ${version:cpp}), gobjc-mipsel-linux-gnu (>= ${version:cpp}) +Description: GNU Objective-C++ compiler for the mipsel architecture + This is the GNU Objective-C++ compiler, which compiles + Objective-C++ on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Objective-C++ + cross-compiler for the mipsel architecture. + +Package: gfortran-mipsel-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-mipsel-linux-gnu (>= ${version:cpp}), + gcc-mipsel-linux-gnu (>= ${version:gcc}), + gfortran-${pv:gfort}-mipsel-linux-gnu ${reqv:gfort}, + ${misc:Depends} +Suggests: gfortran-doc +Description: GNU Fortran 95 compiler for the mipsel architecture + This is the GNU Fortran 95 compiler, which compiles Fortran 95 on platforms + supported by the gcc compiler. It uses the gcc backend to generate optimized + code. + . + This is a dependency package providing the default GNU Fortran 95 + cross-compiler for the mipsel architecture. + +Package: gccgo-mipsel-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-mipsel-linux-gnu (>= ${version:cpp}), + g++-mipsel-linux-gnu (>= ${version:gcc}), + gccgo-${pv:ggo}-mipsel-linux-gnu ${reqv:ggo}, + ${misc:Depends} +Suggests: gccgo-doc +Description: Go compiler (based on GCC) for the mipsel architecture + This is the GNU Go compiler, which compiles Go on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Go cross-compiler + for the mipsel architecture. + +Package: gcj-mipsel-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-mipsel-linux-gnu (>= ${version:cpp}), + gcj-${pv:gcj}-mipsel-linux-gnu ${reqv:gcj}, + ${misc:Depends} +Description: GNU Java compiler (based on GCC) for the mipsel architecture + This is the GNU Java compiler, which compiles java on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Java cross-compiler + for the mipsel architecture. + +Package: gdc-mipsel-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-mipsel-linux-gnu (>= ${version:cpp}), + gdc-${pv:gdc}-mipsel-linux-gnu ${reqv:gdc}, + ${misc:Depends} +Description: GNU D compiler (based on GCC) for the mipsel architecture + This is the GNU D compiler, which compiles D on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU D cross-compiler + for the mipsel architecture. + +Package: gcc-multilib-mipsel-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Depends: cpp-mipsel-linux-gnu (>= ${version:cpp}), + gcc-mipsel-linux-gnu (>= ${version:gcc}), + gcc-${pv:gcc}-multilib-mipsel-linux-gnu ${reqv:gcc}, + ${misc:Depends} +Recommends: libc6-dev-mipsel-cross | libc-dev-mipsel-cross +Suggests: make, manpages-dev, autoconf, automake, libtool, flex, bison, gdb-mipsel-linux-gnu, gcc-doc +Description: GNU C compiler for the mipsel architecture + This is the GNU C compiler, a fairly portable optimizing compiler for C. + . + This is a dependency package providing the default GNU C cross-compiler + for the mipsel architecture. + +Package: g++-multilib-mipsel-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Depends: cpp-mipsel-linux-gnu (>= ${version:cpp}), + g++-mipsel-linux-gnu (>= ${version:gpp}), + gcc-multilib-mipsel-linux-gnu (>= ${version:gcc}), + g++-${pv:gpp}-multilib-mipsel-linux-gnu ${reqv:gpp}, + ${misc:Depends} +Description: GNU C++ compiler for the mipsel architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This is a dependency package providing the default GNU C++ + cross-compiler for the mipsel architecture. + +Package: gobjc-multilib-mipsel-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Depends: cpp-mipsel-linux-gnu (>= ${version:cpp}), + gobjc-mipsel-linux-gnu (>= ${version:gobjc}), + gcc-multilib-mipsel-linux-gnu (>= ${version:cpp}), + gobjc-${pv:gobjc}-multilib-mipsel-linux-gnu ${reqv:gobjc}, + ${misc:Depends} +Description: GNU Objective-C compiler for the mipsel architecture + This is the GNU Objective-C compiler, which compiles Objective-C on platforms + supported by the gcc compiler. It uses the gcc backend to generate optimized + code. + . + This is a dependency package providing the default GNU Objective-C + cross-compiler for the mipsel architecture. + +Package: gobjc++-multilib-mipsel-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Depends: cpp-mipsel-linux-gnu (>= ${version:cpp}), + gcc-multilib-mipsel-linux-gnu (>= ${version:cpp}), + gobjc++-mipsel-linux-gnu (>= ${version:gobjcxx}), + gobjc++-${pv:gobjcxx}-multilib-mipsel-linux-gnu ${reqv:gobjcxx}, + ${misc:Depends} +Recommends: g++-mipsel-linux-gnu (>= ${version:cpp}), + gobjc-mipsel-linux-gnu (>= ${version:cpp}) +Description: GNU Objective-C++ compiler for the mipsel architecture + This is the GNU Objective-C++ compiler, which compiles + Objective-C++ on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Objective-C++ + cross-compiler for the mipsel architecture. + +Package: gfortran-multilib-mipsel-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Depends: cpp-mipsel-linux-gnu (>= ${version:cpp}), + gcc-multilib-mipsel-linux-gnu (>= ${version:gcc}), + gfortran-mipsel-linux-gnu (>= ${version:gfort}), + gfortran-${pv:gfort}-multilib-mipsel-linux-gnu ${reqv:gfort}, + ${misc:Depends} +Suggests: gfortran-doc +Description: GNU Fortran 95 compiler for the mipsel architecture + This is the GNU Fortran 95 compiler, which compiles Fortran 95 on platforms + supported by the gcc compiler. It uses the gcc backend to generate optimized + code. + . + This is a dependency package providing the default GNU Fortran 95 + cross-compiler for the mipsel architecture. + +Package: gccgo-multilib-mipsel-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Depends: cpp-mipsel-linux-gnu (>= ${version:cpp}), + g++-multilib-mipsel-linux-gnu (>= ${version:gcc}), + gccgo-mipsel-linux-gnu (>= ${version:ggo}), + gccgo-${pv:ggo}-multilib-mipsel-linux-gnu ${reqv:ggo}, + ${misc:Depends} +Suggests: gccgo-doc +Description: Go compiler (based on GCC) for the mipsel architecture + This is the GNU Go compiler, which compiles Go on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Go cross-compiler + cross-compiler for the mipsel architecture. + +Package: gdc-multilib-mipsel-linux-gnu +Priority: optional +Architecture: amd64 i386 x32 +Depends: cpp-mipsel-linux-gnu (>= ${version:cpp}), + gdc-${pv:gdc}-multilib-mipsel-linux-gnu ${reqv:gdc}, + gdc-mipsel-linux-gnu (>= ${version:gdc}), + ${misc:Depends} +Description: GNU D compiler (based on GCC) for the mipsel architecture + This is the GNU D compiler, which compiles D on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU D cross-compiler + cross-compiler for the mipsel architecture. + +Package: cpp-mips64el-linux-gnuabi64 +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Section: interpreters +Depends: cpp-${pv:cpp}-mips64el-linux-gnuabi64 ${reqv:cpp}, ${misc:Depends} +Suggests: cpp-doc +Description: GNU C preprocessor (cpp) for the mips64el architecture + The GNU C preprocessor is a macro processor that is used automatically + by the GNU C compiler to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor but not the cross-compiler for mips64el architecture. + . + This is a dependency package providing the default GNU C preprocessor + for the mips64el architecture. + +Package: gcc-mips64el-linux-gnuabi64 +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-mips64el-linux-gnuabi64 (>= ${version:cpp}), + gcc-${pv:gcc}-mips64el-linux-gnuabi64 ${reqv:gcc}, + ${misc:Depends} +Recommends: libc6-dev-mips64el-cross | libc-dev-mips64el-cross +Suggests: make, manpages-dev, autoconf, automake, libtool, flex, bison, gdb-mips64el-linux-gnuabi64, gcc-doc +Description: GNU C compiler for the mips64el architecture + This is the GNU C compiler, a fairly portable optimizing compiler for C. + . + This is a dependency package providing the default GNU C cross-compiler + for the mips64el architecture. + +Package: g++-mips64el-linux-gnuabi64 +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-mips64el-linux-gnuabi64 (>= ${version:cpp}), + gcc-mips64el-linux-gnuabi64 (>= ${version:cpp}), + g++-${pv:gpp}-mips64el-linux-gnuabi64 ${reqv:gpp}, + ${misc:Depends} +Description: GNU C++ compiler for the mips64el architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This is a dependency package providing the default GNU C++ cross-compiler + for the mips64el architecture. + +Package: gobjc-mips64el-linux-gnuabi64 +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-mips64el-linux-gnuabi64 (>= ${version:cpp}), + gcc-mips64el-linux-gnuabi64 (>= ${version:cpp}), + gobjc-${pv:gobjc}-mips64el-linux-gnuabi64 ${reqv:gobjc}, + ${misc:Depends} +Description: GNU Objective-C compiler for the mips64el architecture + This is the GNU Objective-C compiler, which compiles Objective-C on platforms + supported by the gcc compiler. It uses the gcc backend to generate optimized + code. + . + This is a dependency package providing the default GNU Objective-C + cross-compiler for the mips64el architecture. + +Package: gobjc++-mips64el-linux-gnuabi64 +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-mips64el-linux-gnuabi64 (>= ${version:cpp}), + gcc-mips64el-linux-gnuabi64 (>= ${version:cpp}), + gobjc++-${pv:gobjcxx}-mips64el-linux-gnuabi64 ${reqv:gobjcxx}, + ${misc:Depends} +Recommends: g++-mips64el-linux-gnuabi64 (>= ${version:cpp}), gobjc-mips64el-linux-gnuabi64 (>= ${version:cpp}) +Description: GNU Objective-C++ compiler for the mips64el architecture + This is the GNU Objective-C++ compiler, which compiles + Objective-C++ on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Objective-C++ + cross-compiler for the mips64el architecture. + +Package: gfortran-mips64el-linux-gnuabi64 +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-mips64el-linux-gnuabi64 (>= ${version:cpp}), + gcc-mips64el-linux-gnuabi64 (>= ${version:gcc}), + gfortran-${pv:gfort}-mips64el-linux-gnuabi64 ${reqv:gfort}, + ${misc:Depends} +Suggests: gfortran-doc +Description: GNU Fortran 95 compiler for the mips64el architecture + This is the GNU Fortran 95 compiler, which compiles Fortran 95 on platforms + supported by the gcc compiler. It uses the gcc backend to generate optimized + code. + . + This is a dependency package providing the default GNU Fortran 95 + cross-compiler for the mips64el architecture. + +Package: gccgo-mips64el-linux-gnuabi64 +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-mips64el-linux-gnuabi64 (>= ${version:cpp}), + g++-mips64el-linux-gnuabi64 (>= ${version:gcc}), + gccgo-${pv:ggo}-mips64el-linux-gnuabi64 ${reqv:ggo}, + ${misc:Depends} +Suggests: gccgo-doc +Description: Go compiler (based on GCC) for the mips64el architecture + This is the GNU Go compiler, which compiles Go on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Go cross-compiler + for the mips64el architecture. + +Package: gcj-mips64el-linux-gnuabi64 +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-mips64el-linux-gnuabi64 (>= ${version:cpp}), + gcj-${pv:gcj}-mips64el-linux-gnuabi64 ${reqv:gcj}, + ${misc:Depends} +Description: GNU Java compiler (based on GCC) for the mips64el architecture + This is the GNU Java compiler, which compiles java on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Java cross-compiler + for the mips64el architecture. + +Package: gdc-mips64el-linux-gnuabi64 +Priority: optional +Architecture: amd64 i386 x32 +Multi-Arch: foreign +Depends: cpp-mips64el-linux-gnuabi64 (>= ${version:cpp}), + gdc-${pv:gdc}-mips64el-linux-gnuabi64 ${reqv:gdc}, + ${misc:Depends} +Description: GNU D compiler (based on GCC) for the mips64el architecture + This is the GNU D compiler, which compiles D on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU D cross-compiler + for the mips64el architecture. + +Package: gcc-multilib-mips64el-linux-gnuabi64 +Priority: optional +Architecture: amd64 i386 x32 +Depends: cpp-mips64el-linux-gnuabi64 (>= ${version:cpp}), + gcc-mips64el-linux-gnuabi64 (>= ${version:gcc}), + gcc-${pv:gcc}-multilib-mips64el-linux-gnuabi64 ${reqv:gcc}, + ${misc:Depends} +Recommends: libc6-dev-mips64el-cross | libc-dev-mips64el-cross +Suggests: make, manpages-dev, autoconf, automake, libtool, flex, bison, gdb-mips64el-linux-gnuabi64, gcc-doc +Description: GNU C compiler for the mips64el architecture + This is the GNU C compiler, a fairly portable optimizing compiler for C. + . + This is a dependency package providing the default GNU C cross-compiler + for the mips64el architecture. + +Package: g++-multilib-mips64el-linux-gnuabi64 +Priority: optional +Architecture: amd64 i386 x32 +Depends: cpp-mips64el-linux-gnuabi64 (>= ${version:cpp}), + g++-mips64el-linux-gnuabi64 (>= ${version:gpp}), + gcc-multilib-mips64el-linux-gnuabi64 (>= ${version:gcc}), + g++-${pv:gpp}-multilib-mips64el-linux-gnuabi64 ${reqv:gpp}, + ${misc:Depends} +Description: GNU C++ compiler for the mips64el architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This is a dependency package providing the default GNU C++ + cross-compiler for the mips64el architecture. + +Package: gobjc-multilib-mips64el-linux-gnuabi64 +Priority: optional +Architecture: amd64 i386 x32 +Depends: cpp-mips64el-linux-gnuabi64 (>= ${version:cpp}), + gobjc-mips64el-linux-gnuabi64 (>= ${version:gobjc}), + gcc-multilib-mips64el-linux-gnuabi64 (>= ${version:cpp}), + gobjc-${pv:gobjc}-multilib-mips64el-linux-gnuabi64 ${reqv:gobjc}, + ${misc:Depends} +Description: GNU Objective-C compiler for the mips64el architecture + This is the GNU Objective-C compiler, which compiles Objective-C on platforms + supported by the gcc compiler. It uses the gcc backend to generate optimized + code. + . + This is a dependency package providing the default GNU Objective-C + cross-compiler for the mips64el architecture. + +Package: gobjc++-multilib-mips64el-linux-gnuabi64 +Priority: optional +Architecture: amd64 i386 x32 +Depends: cpp-mips64el-linux-gnuabi64 (>= ${version:cpp}), + gcc-multilib-mips64el-linux-gnuabi64 (>= ${version:cpp}), + gobjc++-mips64el-linux-gnuabi64 (>= ${version:gobjcxx}), + gobjc++-${pv:gobjcxx}-multilib-mips64el-linux-gnuabi64 ${reqv:gobjcxx}, + ${misc:Depends} +Recommends: g++-mips64el-linux-gnuabi64 (>= ${version:cpp}), + gobjc-mips64el-linux-gnuabi64 (>= ${version:cpp}) +Description: GNU Objective-C++ compiler for the mips64el architecture + This is the GNU Objective-C++ compiler, which compiles + Objective-C++ on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Objective-C++ + cross-compiler for the mips64el architecture. + +Package: gfortran-multilib-mips64el-linux-gnuabi64 +Priority: optional +Architecture: amd64 i386 x32 +Depends: cpp-mips64el-linux-gnuabi64 (>= ${version:cpp}), + gcc-multilib-mips64el-linux-gnuabi64 (>= ${version:gcc}), + gfortran-mips64el-linux-gnuabi64 (>= ${version:gfort}), + gfortran-${pv:gfort}-multilib-mips64el-linux-gnuabi64 ${reqv:gfort}, + ${misc:Depends} +Suggests: gfortran-doc +Description: GNU Fortran 95 compiler for the mips64el architecture + This is the GNU Fortran 95 compiler, which compiles Fortran 95 on platforms + supported by the gcc compiler. It uses the gcc backend to generate optimized + code. + . + This is a dependency package providing the default GNU Fortran 95 + cross-compiler for the mips64el architecture. + +Package: gccgo-multilib-mips64el-linux-gnuabi64 +Priority: optional +Architecture: amd64 i386 x32 +Depends: cpp-mips64el-linux-gnuabi64 (>= ${version:cpp}), + g++-multilib-mips64el-linux-gnuabi64 (>= ${version:gcc}), + gccgo-mips64el-linux-gnuabi64 (>= ${version:ggo}), + gccgo-${pv:ggo}-multilib-mips64el-linux-gnuabi64 ${reqv:ggo}, + ${misc:Depends} +Suggests: gccgo-doc +Description: Go compiler (based on GCC) for the mips64el architecture + This is the GNU Go compiler, which compiles Go on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Go cross-compiler + cross-compiler for the mips64el architecture. + +Package: gdc-multilib-mips64el-linux-gnuabi64 +Priority: optional +Architecture: amd64 i386 x32 +Depends: cpp-mips64el-linux-gnuabi64 (>= ${version:cpp}), + gdc-${pv:gdc}-multilib-mips64el-linux-gnuabi64 ${reqv:gdc}, + gdc-mips64el-linux-gnuabi64 (>= ${version:gdc}), + ${misc:Depends} +Description: GNU D compiler (based on GCC) for the mips64el architecture + This is the GNU D compiler, which compiles D on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU D cross-compiler + cross-compiler for the mips64el architecture. diff --git a/debian/control.cross-ada.in b/debian/control.cross-ada.in new file mode 100644 index 0000000..fd2f08c --- /dev/null +++ b/debian/control.cross-ada.in @@ -0,0 +1,26 @@ + +Package: gnat-CROSS_GNU_TYPE +Priority: optional +Architecture: @host_archs@ +Depends: cpp-CROSS_GNU_TYPE (>= ${version:cpp}), + gnat-${pv:gnat}-CROSS_GNU_TYPE ${reqv:gnat}, + ${misc:Depends} +Description: GNU Ada compiler (based on GCC) for the CROSS_ARCH architecture + This is the GNU Ada compiler, which compiles Ada on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU D cross-compiler + cross-compiler for the CROSS_ARCH architecture. + +Package: gnat-sjlj-CROSS_GNU_TYPE +Priority: optional +Architecture: @host_archs@ +Depends: cpp-CROSS_GNU_TYPE (>= ${version:cpp}), + gnat-${pv:gnat}-sjlj-CROSS_GNU_TYPE ${reqv:gnat}, + ${misc:Depends} +Description: GNU Ada compiler (based on GCC) for the CROSS_ARCH architecture + This is the GNU Ada compiler, which compiles Ada on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU D cross-compiler + cross-compiler for the CROSS_ARCH architecture. diff --git a/debian/control.cross-ml.in b/debian/control.cross-ml.in new file mode 100644 index 0000000..570f1b6 --- /dev/null +++ b/debian/control.cross-ml.in @@ -0,0 +1,110 @@ + +Package: gcc-multilib-CROSS_GNU_TYPE +Priority: optional +Architecture: @host_archs@ +Depends: cpp-CROSS_GNU_TYPE (>= ${version:cpp}), + gcc-CROSS_GNU_TYPE (>= ${version:gcc}), + gcc-${pv:gcc}-multilib-CROSS_GNU_TYPE ${reqv:gcc}, + ${misc:Depends} +Recommends: libc6-dev-CROSS_ARCH-cross | libc-dev-CROSS_ARCH-cross +Suggests: make, manpages-dev, autoconf, automake, libtool, flex, bison, gdb-CROSS_GNU_TYPE, gcc-doc +Description: GNU C compiler for the CROSS_ARCH architecture + This is the GNU C compiler, a fairly portable optimizing compiler for C. + . + This is a dependency package providing the default GNU C cross-compiler + for the CROSS_ARCH architecture. + +Package: g++-multilib-CROSS_GNU_TYPE +Priority: optional +Architecture: @host_archs@ +Depends: cpp-CROSS_GNU_TYPE (>= ${version:cpp}), + g++-CROSS_GNU_TYPE (>= ${version:gpp}), + gcc-multilib-CROSS_GNU_TYPE (>= ${version:gcc}), + g++-${pv:gpp}-multilib-CROSS_GNU_TYPE ${reqv:gpp}, + ${misc:Depends} +Description: GNU C++ compiler for the CROSS_ARCH architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This is a dependency package providing the default GNU C++ + cross-compiler for the CROSS_ARCH architecture. + +Package: gobjc-multilib-CROSS_GNU_TYPE +Priority: optional +Architecture: @host_archs@ +Depends: cpp-CROSS_GNU_TYPE (>= ${version:cpp}), + gobjc-CROSS_GNU_TYPE (>= ${version:gobjc}), + gcc-multilib-CROSS_GNU_TYPE (>= ${version:cpp}), + gobjc-${pv:gobjc}-multilib-CROSS_GNU_TYPE ${reqv:gobjc}, + ${misc:Depends} +Description: GNU Objective-C compiler for the CROSS_ARCH architecture + This is the GNU Objective-C compiler, which compiles Objective-C on platforms + supported by the gcc compiler. It uses the gcc backend to generate optimized + code. + . + This is a dependency package providing the default GNU Objective-C + cross-compiler for the CROSS_ARCH architecture. + +Package: gobjc++-multilib-CROSS_GNU_TYPE +Priority: optional +Architecture: @host_archs@ +Depends: cpp-CROSS_GNU_TYPE (>= ${version:cpp}), + gcc-multilib-CROSS_GNU_TYPE (>= ${version:cpp}), + gobjc++-CROSS_GNU_TYPE (>= ${version:gobjcxx}), + gobjc++-${pv:gobjcxx}-multilib-CROSS_GNU_TYPE ${reqv:gobjcxx}, + ${misc:Depends} +Recommends: g++-CROSS_GNU_TYPE (>= ${version:cpp}), + gobjc-CROSS_GNU_TYPE (>= ${version:cpp}) +Description: GNU Objective-C++ compiler for the CROSS_ARCH architecture + This is the GNU Objective-C++ compiler, which compiles + Objective-C++ on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Objective-C++ + cross-compiler for the CROSS_ARCH architecture. + +Package: gfortran-multilib-CROSS_GNU_TYPE +Priority: optional +Architecture: @host_archs@ +Depends: cpp-CROSS_GNU_TYPE (>= ${version:cpp}), + gcc-multilib-CROSS_GNU_TYPE (>= ${version:gcc}), + gfortran-CROSS_GNU_TYPE (>= ${version:gfort}), + gfortran-${pv:gfort}-multilib-CROSS_GNU_TYPE ${reqv:gfort}, + ${misc:Depends} +Suggests: gfortran-doc +Description: GNU Fortran 95 compiler for the CROSS_ARCH architecture + This is the GNU Fortran 95 compiler, which compiles Fortran 95 on platforms + supported by the gcc compiler. It uses the gcc backend to generate optimized + code. + . + This is a dependency package providing the default GNU Fortran 95 + cross-compiler for the CROSS_ARCH architecture. + +Package: gccgo-multilib-CROSS_GNU_TYPE +Priority: optional +Architecture: @host_archs@ +Depends: cpp-CROSS_GNU_TYPE (>= ${version:cpp}), + g++-multilib-CROSS_GNU_TYPE (>= ${version:gcc}), + gccgo-CROSS_GNU_TYPE (>= ${version:ggo}), + gccgo-${pv:ggo}-multilib-CROSS_GNU_TYPE ${reqv:ggo}, + ${misc:Depends} +Suggests: gccgo-doc +Description: Go compiler (based on GCC) for the CROSS_ARCH architecture + This is the GNU Go compiler, which compiles Go on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Go cross-compiler + cross-compiler for the CROSS_ARCH architecture. + +Package: gdc-multilib-CROSS_GNU_TYPE +Priority: optional +Architecture: @host_archs@ +Depends: cpp-CROSS_GNU_TYPE (>= ${version:cpp}), + gdc-${pv:gdc}-multilib-CROSS_GNU_TYPE ${reqv:gdc}, + gdc-CROSS_GNU_TYPE (>= ${version:gdc}), + ${misc:Depends} +Description: GNU D compiler (based on GCC) for the CROSS_ARCH architecture + This is the GNU D compiler, which compiles D on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU D cross-compiler + cross-compiler for the CROSS_ARCH architecture. diff --git a/debian/control.cross.in b/debian/control.cross.in new file mode 100644 index 0000000..4bb0bd8 --- /dev/null +++ b/debian/control.cross.in @@ -0,0 +1,140 @@ + +Package: cpp-CROSS_GNU_TYPE +Priority: optional +Architecture: @host_archs@ +Multi-Arch: foreign +Section: interpreters +Depends: cpp-${pv:cpp}-CROSS_GNU_TYPE ${reqv:cpp}, ${misc:Depends} +Suggests: cpp-doc +Description: GNU C preprocessor (cpp) for the CROSS_ARCH architecture + The GNU C preprocessor is a macro processor that is used automatically + by the GNU C compiler to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor but not the cross-compiler for CROSS_ARCH architecture. + . + This is a dependency package providing the default GNU C preprocessor + for the CROSS_ARCH architecture. + +Package: gcc-CROSS_GNU_TYPE +Priority: optional +Architecture: @host_archs@ +Multi-Arch: foreign +Depends: cpp-CROSS_GNU_TYPE (>= ${version:cpp}), + gcc-${pv:gcc}-CROSS_GNU_TYPE ${reqv:gcc}, + ${misc:Depends} +Recommends: libc6-dev-CROSS_ARCH-cross | libc-dev-CROSS_ARCH-cross +Suggests: make, manpages-dev, autoconf, automake, libtool, flex, bison, gdb-CROSS_GNU_TYPE, gcc-doc +Description: GNU C compiler for the CROSS_ARCH architecture + This is the GNU C compiler, a fairly portable optimizing compiler for C. + . + This is a dependency package providing the default GNU C cross-compiler + for the CROSS_ARCH architecture. + +Package: g++-CROSS_GNU_TYPE +Priority: optional +Architecture: @host_archs@ +Multi-Arch: foreign +Depends: cpp-CROSS_GNU_TYPE (>= ${version:cpp}), + gcc-CROSS_GNU_TYPE (>= ${version:cpp}), + g++-${pv:gpp}-CROSS_GNU_TYPE ${reqv:gpp}, + ${misc:Depends} +Description: GNU C++ compiler for the CROSS_ARCH architecture + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This is a dependency package providing the default GNU C++ cross-compiler + for the CROSS_ARCH architecture. + +Package: gobjc-CROSS_GNU_TYPE +Priority: optional +Architecture: @host_archs@ +Multi-Arch: foreign +Depends: cpp-CROSS_GNU_TYPE (>= ${version:cpp}), + gcc-CROSS_GNU_TYPE (>= ${version:cpp}), + gobjc-${pv:gobjc}-CROSS_GNU_TYPE ${reqv:gobjc}, + ${misc:Depends} +Description: GNU Objective-C compiler for the CROSS_ARCH architecture + This is the GNU Objective-C compiler, which compiles Objective-C on platforms + supported by the gcc compiler. It uses the gcc backend to generate optimized + code. + . + This is a dependency package providing the default GNU Objective-C + cross-compiler for the CROSS_ARCH architecture. + +Package: gobjc++-CROSS_GNU_TYPE +Priority: optional +Architecture: @host_archs@ +Multi-Arch: foreign +Depends: cpp-CROSS_GNU_TYPE (>= ${version:cpp}), + gcc-CROSS_GNU_TYPE (>= ${version:cpp}), + gobjc++-${pv:gobjcxx}-CROSS_GNU_TYPE ${reqv:gobjcxx}, + ${misc:Depends} +Recommends: g++-CROSS_GNU_TYPE (>= ${version:cpp}), gobjc-CROSS_GNU_TYPE (>= ${version:cpp}) +Description: GNU Objective-C++ compiler for the CROSS_ARCH architecture + This is the GNU Objective-C++ compiler, which compiles + Objective-C++ on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Objective-C++ + cross-compiler for the CROSS_ARCH architecture. + +Package: gfortran-CROSS_GNU_TYPE +Priority: optional +Architecture: @host_archs@ +Multi-Arch: foreign +Depends: cpp-CROSS_GNU_TYPE (>= ${version:cpp}), + gcc-CROSS_GNU_TYPE (>= ${version:gcc}), + gfortran-${pv:gfort}-CROSS_GNU_TYPE ${reqv:gfort}, + ${misc:Depends} +Suggests: gfortran-doc +Description: GNU Fortran 95 compiler for the CROSS_ARCH architecture + This is the GNU Fortran 95 compiler, which compiles Fortran 95 on platforms + supported by the gcc compiler. It uses the gcc backend to generate optimized + code. + . + This is a dependency package providing the default GNU Fortran 95 + cross-compiler for the CROSS_ARCH architecture. + +Package: gccgo-CROSS_GNU_TYPE +Priority: optional +Architecture: @host_archs@ +Multi-Arch: foreign +Depends: cpp-CROSS_GNU_TYPE (>= ${version:cpp}), + g++-CROSS_GNU_TYPE (>= ${version:gcc}), + gccgo-${pv:ggo}-CROSS_GNU_TYPE ${reqv:ggo}, + ${misc:Depends} +Suggests: gccgo-doc +Description: Go compiler (based on GCC) for the CROSS_ARCH architecture + This is the GNU Go compiler, which compiles Go on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Go cross-compiler + for the CROSS_ARCH architecture. + +Package: gcj-CROSS_GNU_TYPE +Priority: optional +Architecture: @host_archs@ +Multi-Arch: foreign +Depends: cpp-CROSS_GNU_TYPE (>= ${version:cpp}), + gcj-${pv:gcj}-CROSS_GNU_TYPE ${reqv:gcj}, + ${misc:Depends} +Description: GNU Java compiler (based on GCC) for the CROSS_ARCH architecture + This is the GNU Java compiler, which compiles java on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Java cross-compiler + for the CROSS_ARCH architecture. + +Package: gdc-CROSS_GNU_TYPE +Priority: optional +Architecture: @host_archs@ +Multi-Arch: foreign +Depends: cpp-CROSS_GNU_TYPE (>= ${version:cpp}), + gdc-${pv:gdc}-CROSS_GNU_TYPE ${reqv:gdc}, + ${misc:Depends} +Description: GNU D compiler (based on GCC) for the CROSS_ARCH architecture + This is the GNU D compiler, which compiles D on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU D cross-compiler + for the CROSS_ARCH architecture. diff --git a/debian/control.doc b/debian/control.doc new file mode 100644 index 0000000..14afacf --- /dev/null +++ b/debian/control.doc @@ -0,0 +1,36 @@ + +Package: cpp-doc +Section: doc +Architecture: any +Priority: optional +Depends: cpp-${pv:cpp}-doc ${reqv:cpp}, ${misc:Depends} +Suggests: cpp (>= ${version:cpp}) +Description: Documentation for the GNU C preprocessor (cpp) + Documentation for the GNU C preprocessor in info format (dependency package). + +Package: gfortran-doc +Section: doc +Architecture: any +Priority: optional +Depends: gfortran-${pv:gfort}-doc ${reqv:gfort}, ${misc:Depends} +Suggests: gfortran (>= ${version:gfort}) +Description: Documentation for the GNU Fortran compiler (gfortran) + Documentation for the GNU Fortran compiler in info format (dependency package). + +Package: gcc-doc +Section: doc +Architecture: any +Priority: optional +Depends: gcc-${pv:gcc}-doc ${reqv:gcc}, ${misc:Depends} +Suggests: gcc (>= ${version:gcc}) +Description: Documentation for the GNU C compilers (gcc, gobjc, g++) + Documentation for the GNU compilers in info format (dependency package). + +Package: gccgo-doc +Section: doc +Architecture: any +Priority: optional +Depends: gccgo-${pv:ggo}-doc ${reqv:ggo}, ${misc:Depends} +Suggests: gccgo (>= ${version:ggo}) +Description: Documentation for the GNU Go compiler + Documentation for the GNU Go compiler in info format (dependency package). diff --git a/debian/control.hppa64.in b/debian/control.hppa64.in new file mode 100644 index 0000000..c6db8ce --- /dev/null +++ b/debian/control.hppa64.in @@ -0,0 +1,15 @@ + +Package: gcc-hppa64-linux-gnu +Priority: optional +Architecture: @hppa64_archs@ +Depends: gcc (>= ${version:gcc}), gcc-${pv:gcc}-hppa64-linux-gnu ${reqv:gcc}, + ${misc:Depends} +Conflicts: gcc-5-hppa64-linux-gnu (<< 5.2.1-26), + gcc-5-hppa64 (<< 5.2.1-26), + gcc-4.9-hppa64 (<< 4.9.3-7), + gcc-4.8-hppa64 (<< 4.8.5-3) +Description: GNU C compiler (cross compiler for hppa64-linux-gnu) + This is the GNU C compiler, a fairly portable optimizing compiler for C. + . + This is a dependency package providing the default GNU C cross-compiler + for the hppa64 architecture. diff --git a/debian/control.native.in b/debian/control.native.in new file mode 100644 index 0000000..7d66d0d --- /dev/null +++ b/debian/control.native.in @@ -0,0 +1,355 @@ + +Package: cpp +Priority: optional +Architecture: any +Section: interpreters +Multi-Arch: allowed +Depends: cpp-${pv:cpp} ${reqv:cpp}, ${misc:Depends} +Suggests: cpp-doc +Conflicts: cpp-doc (<< 1:2.95.3) +Description: GNU C preprocessor (cpp) + The GNU C preprocessor is a macro processor that is used automatically + by the GNU C compiler to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor but not the compiler. + . + This is a dependency package providing the default GNU C preprocessor. + +Package: gcc +Priority: optional +Architecture: any +Depends: cpp (>= ${version:cpp}), gcc-${pv:gcc} ${reqv:gcc}, ${misc:Depends} +Recommends: libc6-dev | libc-dev +Suggests: gcc-multilib, make, manpages-dev, autoconf, automake, libtool, flex, bison, gdb, gcc-doc +Provides: c-compiler +Conflicts: gcc-doc (<< 1:2.95.3) +Description: GNU C compiler + This is the GNU C compiler, a fairly portable optimizing compiler for C. + . + This is a dependency package providing the default GNU C compiler. + +Package: gcc-multilib +Priority: optional +Architecture: @multilib_archs@ +Depends: cpp (>= ${version:cpp}), gcc (>= ${version:gcc}), gcc-${pv:gcc}-multilib ${reqv:gcc}, ${misc:Depends}, linux-libc-dev (>= 3.0.0-2) [linux-any] +Conflicts: gcc-4.9-alpha-linux-gnu, + gcc-4.9-aarch64-linux-gnu, + gcc-4.9-arm-linux-gnueabi, + gcc-4.9-arm-linux-gnueabihf, + gcc-4.9-hppa-linux-gnu, + gcc-4.9-m68k-linux-gnu, + gcc-4.9-powerpc-linux-gnu, + gcc-4.9-powerpc-linux-gnuspe, + gcc-4.9-powerpc64-linux-gnu, + gcc-4.9-powerpc64le-linux-gnu, + gcc-4.9-mips-linux-gnu, + gcc-4.9-mipsel-linux-gnu, + gcc-4.9-mips64-linux-gnuabi64, + gcc-4.9-mips64el-linux-gnuabi64, + gcc-4.9-s390x-linux-gnu, + gcc-4.9-sh4-linux-gnu, + gcc-4.9-sparc-linux-gnu, + gcc-4.9-sparc64-linux-gnu, + gcc-5-aarch64-linux-gnu, + gcc-5-alpha-linux-gnu, + gcc-5-arm-linux-gnueabi, + gcc-5-arm-linux-gnueabihf, + gcc-5-hppa-linux-gnu, + gcc-5-m68k-linux-gnu, + gcc-5-powerpc-linux-gnu, + gcc-5-powerpc-linux-gnuspe, + gcc-5-powerpc64-linux-gnu, + gcc-5-powerpc64le-linux-gnu, + gcc-5-mips-linux-gnu, + gcc-5-mipsel-linux-gnu, + gcc-5-mips64-linux-gnuabi64, + gcc-5-mips64el-linux-gnuabi64, + gcc-5-s390x-linux-gnu, + gcc-5-sh4-linux-gnu, + gcc-5-sparc-linux-gnu, + gcc-5-sparc64-linux-gnu, + gcc-6-aarch64-linux-gnu, + gcc-6-alpha-linux-gnu, + gcc-6-arm-linux-gnueabi, + gcc-6-arm-linux-gnueabihf, + gcc-6-hppa-linux-gnu, + gcc-6-m68k-linux-gnu, + gcc-6-powerpc-linux-gnu, + gcc-6-powerpc-linux-gnuspe, + gcc-6-powerpc64-linux-gnu, + gcc-6-powerpc64le-linux-gnu, + gcc-6-mips-linux-gnu, + gcc-6-mipsel-linux-gnu, + gcc-6-mips64-linux-gnuabi64, + gcc-6-mips64el-linux-gnuabi64, + gcc-6-s390x-linux-gnu, + gcc-6-sh4-linux-gnu, + gcc-6-sparc-linux-gnu, + gcc-6-sparc64-linux-gnu, + gcc-7-aarch64-linux-gnu, + gcc-7-alpha-linux-gnu, + gcc-7-arm-linux-gnueabi, + gcc-7-arm-linux-gnueabihf, + gcc-7-hppa-linux-gnu, + gcc-7-m68k-linux-gnu, + gcc-7-powerpc-linux-gnu, + gcc-7-powerpc-linux-gnuspe, + gcc-7-powerpc64-linux-gnu, + gcc-7-powerpc64le-linux-gnu, + gcc-7-mips-linux-gnu, + gcc-7-mipsel-linux-gnu, + gcc-7-mips64-linux-gnuabi64, + gcc-7-mips64el-linux-gnuabi64, + gcc-7-s390x-linux-gnu, + gcc-7-sh4-linux-gnu, + gcc-7-sparc-linux-gnu, + gcc-7-sparc64-linux-gnu, + gcc-8-aarch64-linux-gnu, + gcc-8-alpha-linux-gnu, + gcc-8-arm-linux-gnueabi, + gcc-8-arm-linux-gnueabihf, + gcc-8-hppa-linux-gnu, + gcc-8-m68k-linux-gnu, + gcc-8-powerpc-linux-gnu, + gcc-8-powerpc-linux-gnuspe, + gcc-8-powerpc64-linux-gnu, + gcc-8-powerpc64le-linux-gnu, + gcc-8-mips-linux-gnu, + gcc-8-mipsel-linux-gnu, + gcc-8-mips64-linux-gnuabi64, + gcc-8-mips64el-linux-gnuabi64, + gcc-8-s390x-linux-gnu, + gcc-8-sh4-linux-gnu, + gcc-8-sparc-linux-gnu, + gcc-8-sparc64-linux-gnu, +Description: GNU C compiler (multilib files) + This is the GNU C compiler, a fairly portable optimizing compiler for C. + . + A dependency package on architectures with multilib support; the package + contains dependencies for the non-default multilib architecture(s). + +Package: g++ +Priority: optional +Architecture: any +Depends: cpp (>= ${version:cpp}), gcc (>= ${version:cpp}), g++-${pv:gpp} ${reqv:gpp}, gcc-${pv:gpp} ${reqv:gpp}, ${misc:Depends} +Suggests: ${pkgmulti:gpp} +Provides: c++-compiler +Description: GNU C++ compiler + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + This is a dependency package providing the default GNU C++ compiler. + +Package: g++-multilib +Priority: optional +Architecture: @multilib_archs@ +Depends: cpp (>= ${version:cpp}), gcc-multilib (>= ${version:cpp}), g++ (>= ${version:cpp}), g++-${pv:gpp}-multilib ${reqv:gpp}, ${misc:Depends} +Description: GNU C++ compiler (multilib files) + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + . + A dependency package on architectures with multilib support; the package + contains dependencies for the non-default multilib architecture(s). + +Package: gobjc +Priority: optional +Architecture: any +Depends: cpp (>= ${version:cpp}), gcc (>= ${version:cpp}), gobjc-${pv:gobjc} ${reqv:gobjc}, ${misc:Depends} +Suggests: ${pkgmulti:gobjc} +Provides: objc-compiler +Description: GNU Objective-C compiler + This is the GNU Objective-C compiler, which compiles Objective-C on platforms + supported by the gcc compiler. It uses the gcc backend to generate optimized + code. + . + This is a dependency package providing the default GNU Objective-C compiler. + +Package: gobjc-multilib +Priority: optional +Architecture: @multilib_archs@ +Depends: cpp (>= ${version:cpp}), gcc-multilib (>= ${version:cpp}), gobjc (>= ${version:gcc}), gobjc-${pv:gobjc}-multilib ${reqv:gobjc}, ${misc:Depends} +Description: GNU Objective-C compiler (multilib files) + This is the GNU Objective-C compiler, which compiles Objective-C on + platforms supported by the gcc compiler. + . + A dependency package on architectures with multilib support; the package + contains dependencies for the non-default multilib architecture(s). + +Package: gobjc++ +Priority: optional +Architecture: any +Depends: cpp (>= ${version:cpp}), gcc (>= ${version:cpp}), gobjc++-${pv:gobjcxx} ${reqv:gobjcxx}, ${misc:Depends} +Recommends: g++ (>= ${version:cpp}), gobjc (>= ${version:cpp}) +Suggests: ${pkgmulti:gobjcxx} +Provides: objc++-compiler +Description: GNU Objective-C++ compiler + This is the GNU Objective-C++ compiler, which compiles + Objective-C++ on platforms supported by the gcc compiler. It uses the + gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Objective-C++ compiler. + +Package: gobjc++-multilib +Priority: optional +Architecture: @multilib_archs@ +Depends: cpp (>= ${version:cpp}), gobjc-multilib (>= ${version:cpp}), gobjc++ (>= ${version:gcc}), gobjc++-${pv:gobjcxx}-multilib ${reqv:gobjcxx}, ${misc:Depends} +Description: GNU Objective-C++ compiler (multilib files) + This is the GNU Objective-C++ compiler, which compiles Objective-C++ on + platforms supported by the gcc compiler. + . + A dependency package on architectures with multilib support; the package + contains dependencies for the non-default multilib architecture(s). + +Package: gfortran +Priority: optional +Architecture: any +Depends: cpp (>= ${version:cpp}), gcc (>= ${version:gcc}), gfortran-${pv:gfort} ${reqv:gfort}, ${misc:Depends} +Suggests: ${pkgmulti:gfort}, gfortran-doc +Provides: fortran-compiler, ${fortran:mod-version} +Description: GNU Fortran 95 compiler + This is the GNU Fortran 95 compiler, which compiles Fortran 95 on platforms + supported by the gcc compiler. It uses the gcc backend to generate optimized + code. + . + This is a dependency package providing the default GNU Fortran 95 compiler. + +Package: gfortran-multilib +Priority: optional +Architecture: @multilib_archs@ +Depends: cpp (>= ${version:cpp}), gcc-multilib (>= ${version:cpp}), gfortran (>= ${version:gcc}), gfortran-${pv:gfort}-multilib ${reqv:gfort}, ${misc:Depends} +Description: GNU Fortran 95 compiler (multilib files) + This is the GNU Fortran compiler, which compiles Fortran 95 on platforms + supported by the gcc compiler. + . + A dependency package on architectures with multilib support; the package + contains dependencies for the non-default multilib architecture(s). + +Package: gccgo +Priority: optional +Architecture: any +Depends: cpp (>= ${version:cpp}), gcc (>= ${version:gcc}), gccgo-${pv:ggo} ${reqv:ggo}, ${misc:Depends} +Suggests: ${pkgmulti:ggo} +Provides: go-compiler +Description: Go compiler, based on the GCC backend + This is the GNU Go compiler, which compiles Go on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + This is a dependency package providing the default GNU Go compiler. + +Package: gccgo-multilib +Priority: optional +Architecture: @go_multilib_archs@ +Depends: cpp (>= ${version:cpp}), gcc-multilib (>= ${version:cpp}), gccgo (>= ${version:ggo}), gccgo-${pv:ggo}-multilib ${reqv:ggo}, ${misc:Depends} +Description: Go compiler, based on the GCC backend (multilib files) + This is the GNU Go compiler, which compiles Go on platforms supported by + the gcc compiler. It uses the gcc backend to generate optimized code. + . + A dependency package on architectures with multilib support; the package + contains dependencies for the non-default multilib architecture(s). + +Package: libgcj-common +Section: java +Architecture: all +Multi-Arch: foreign +Priority: optional +Depends: ${python:Depends}, ${misc:Depends} +Conflicts: classpath (<= 0.04-4) +Replaces: java-gcj-compat (<< 1.0.65-8), java-gcj-compat-dev (<< 1.0.80-2) +XB-Python-Version: ${python:Versions} +Description: Java runtime library (common files) + This package contains files shared by Classpath and libgcj libraries. + +Package: libgcj-bc +Section: java +Architecture: any +Multi-Arch: same +Priority: optional +Pre-Depends: ${misc:Pre-Depends} +Depends: libgcj-common (>= ${version:libgcjcommon}), ${pkg:libgcj} ${reqv:gij}, ${misc:Depends} +Description: Link time only library for use with gcj + A fake library that is used at link time only. It ensures that + binaries built with the BC-ABI link against a constant SONAME. + This way, BC-ABI binaries continue to work if the SONAME underlying + libgcj.so changes. + +Package: gcj-jdk +Section: java +Architecture: any +Priority: optional +Depends: libgcj-common (>= ${version:libgcjcommon}), gcj-jre (>= ${version:gcj}), ${dep:jdk}, ${pkg:gjdoc}, ${misc:Depends} +Provides: java-gcj-compat-dev, java-compiler, java-sdk, java2-sdk, java5-sdk, ${pkg:gjdoc} +Conflicts: gcj (<< ${ver:gcjconflict}), classpath-common (<= 2:0.97.2-1.1), ${pkg:gjdoc}, java-gcj-compat-dev (<< 1.0.80-2) +Replaces: ${pkg:gjdoc}, java-gcj-compat-dev (<< 1.0.80-2), gcj-jre-headless (<< 4:4.9.0-2) +Description: gcj and Classpath development tools for Java(TM) + GCJ is a front end to the GCC compiler which can natively compile both + Java(tm) source and bytecode files. The compiler can also generate class + files. Other java development tools from Classpath are included in this + package. + . + The package contains as well a collection of wrapper scripts and symlinks. + It is meant to provide a Java-SDK-like interface to the GCJ tool set. + +Package: gcj-jre-headless +Priority: optional +Section: java +Architecture: any +Depends: libgcj-common (>= ${version:libgcjcommon}), ${dep:jrehl}, ${misc:Depends} +Suggests: gcj-jdk +Conflicts: gij (<< ${ver:gcjconflict}), java-gcj-compat-headless (<< 1.0.80-6) +Replaces: java-gcj-compat-headless (<< 1.0.80-6) +Provides: java-gcj-compat-headless, java-virtual-machine, java5-runtime-headless, java2-runtime-headless, java1-runtime-headless, java-runtime-headless +Description: Java runtime environment using GIJ/Classpath (headless version) + GIJ is a Java bytecode interpreter, not limited to interpreting bytecode. + It includes a class loader which can dynamically load shared objects, so + it is possible to give it the name of a class which has been compiled and + put into a shared library on the class path. + . + The package contains as well a collection of wrapper scripts and symlinks. + It is meant to provide a Java-RTE-like interface to the GIJ/GCJ tool set, + limited to the headless tools and libraries. + +Package: gcj-jre +Section: java +Architecture: any +Priority: optional +Depends: libgcj-common (>= ${version:libgcjcommon}), gcj-jre-headless (>= ${version:gcj}), ${dep:jre}, ${misc:Depends} +Provides: java-gcj-compat, java5-runtime, java2-runtime, java1-runtime, java-runtime +Description: Java runtime environment using GIJ/Classpath + GIJ is a Java bytecode interpreter, not limited to interpreting bytecode. + It includes a class loader which can dynamically load shared objects, so + it is possible to give it the name of a class which has been compiled and + put into a shared library on the class path. + . + This is currently an empty package. + It is meant to provide a Java-RTE-like interface to the GIJ/GCJ tool set. + +Package: gdc +Priority: optional +Architecture: any +Depends: gdc-${pv:gdc} ${reqv:gdc}, ${dep:libgphobos}, ${misc:Depends} +Replaces: gdc-4.1 (<< 0.25-4.1.2-18), gdc-4.2 (<< 0.25-4.2.2-7), gdc-4.3 (<< 1:1.043-4.3.4-1) +Description: D compiler (language version 2), based on the GCC backend + This is a dependency package providing the default D compiler. + Per policy, all packages that contain D sources must use this package + in their Build-Depends line. + . + This compiler supports D language version 2. + +Package: gdc-multilib +Priority: optional +Architecture: @d_multilib_archs@ +Depends: cpp (>= ${version:cpp}), gcc-multilib (>= ${version:cpp}), gdc (>= ${version:gcc}), gdc-${pv:gdc}-multilib ${reqv:gdc}, ${misc:Depends} +Description: D compiler (language version 2) (multilib files) + This compiler supports D language version 2. + . + A dependency package on architectures with multilib support; the package + contains dependencies for the non-default multilib architecture(s). + +Package: libgphobos-dev +Section: libdevel +Priority: optional +Architecture: any +Multi-Arch: same +Depends: libgphobos-${pv:gdc}-dev ${reqv:gdc}, ${misc:Depends} +Provides: libphobos-dev +Description: Phobos D standard library + This is a dependency package providing the default D standard library. diff --git a/debian/control.pkg-config.in b/debian/control.pkg-config.in new file mode 100644 index 0000000..79679e0 --- /dev/null +++ b/debian/control.pkg-config.in @@ -0,0 +1,15 @@ + +Package: pkg-config-CROSS_GNU_TYPE +Priority: optional +Architecture: @host_archs@ +Depends: pkg-config (>= 0.25-1.1ubuntu2), ${misc:Depends} +Description: manage compile and link flags for libraries for CROSS_ARCH architecture + pkg-config is a system for managing library compile and link flags that + works with automake and autoconf. + . + Increasingly libraries ship with ".pc" files that allow querying of the + compiler and linker flags needed to use them through the pkg-config(1) + program. + . + This is a dependency package providing cross pkg-config support for the + CROSS_ARCH architecture. diff --git a/debian/control.source b/debian/control.source new file mode 100644 index 0000000..b9329a6 --- /dev/null +++ b/debian/control.source @@ -0,0 +1,14 @@ +Source: @SOURCE@ +Section: devel +Priority: standard +Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org> +Uploaders: Matthias Klose <doko@debian.org> +Standards-Version: 3.9.8 +Build-Depends: m4, debhelper (>= 9), + dpkg-dev (>= 1.17.11), + gcc-6-base (>= 6.3.0-9), + lsb-release +Build-Depends-Indep: ca-certificates, gcj-jdk, python +Vcs-Svn: svn://svn.debian.org/svn/gcccvs/branches/sid/gcc-defaults +Vcs-Browser: http://svn.debian.org/viewsvn/gcccvs/branches/sid/gcc-defaults +XS-Python-Version: all diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..ed6b0f5 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,42 @@ +gcc-defaults is Copyright (C) 2000, 2001, 2006, 2009 Debian. + +These scripts are 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, or (at your option) any +later version. + +On Debian GNU/Linux systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL'. + +The c89 and c99 man pages are taken from netbsd: + +Copyright (c) 1999 The NetBSD Foundation, 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. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the NetBSD + Foundation, Inc. and its contributors. +4. Neither the name of The NetBSD Foundation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +``AS IS'' AND ANY EXPRESS 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 THE FOUNDATION OR CONTRIBUTORS +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 --git a/debian/copyright.libgcj-common b/debian/copyright.libgcj-common new file mode 100644 index 0000000..9b3c6e2 --- /dev/null +++ b/debian/copyright.libgcj-common @@ -0,0 +1,31 @@ +gcc-defaults is Copyright (C) 2000, 2001, 2006 Debian. + +These scripts are 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, or (at your option) any +later version. + +The file classpath.security in the libgcj-common package is part of +GNU Classpath. GNU Classpath 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, or (at +your option) any later version. + +The files aot-compile aotcompile.py, classfile.py, generate-cacerts.pl +are + + Copyright (C) 2004, 2005 Red Hat, Inc. + Written by Gary Benson <gbenson@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. + +On Debian GNU/Linux systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL'. diff --git a/debian/cpp.postinst b/debian/cpp.postinst new file mode 100644 index 0000000..653c75f --- /dev/null +++ b/debian/cpp.postinst @@ -0,0 +1,9 @@ +#! /bin/sh + +set -e + +if [ "$1" != upgrade ]; then + update-alternatives --quiet --install /lib/cpp cpp /usr/bin/cpp 10 +fi + +#DEBHELPER# diff --git a/debian/cpp.prerm b/debian/cpp.prerm new file mode 100644 index 0000000..f3758f8 --- /dev/null +++ b/debian/cpp.prerm @@ -0,0 +1,9 @@ +#! /bin/sh + +set -e + +if [ "$1" != upgrade ]; then + update-alternatives --quiet --remove cpp /usr/bin/cpp +fi + +#DEBHELPER# diff --git a/debian/dh_javadoc b/debian/dh_javadoc new file mode 100644 index 0000000..aa50462 --- /dev/null +++ b/debian/dh_javadoc @@ -0,0 +1,141 @@ +#!/usr/bin/perl -w + +=head1 NAME + +dh_javadoc - generate javadoc documentation and install in package directory + +=cut + +use strict; +use Debian::Debhelper::Dh_Lib; + +=head1 SYNOPSIS + +B<dh_javadoc> [S<I<debhelper options>>] [B<-p<package>>] [B<--sourcedir I<source path>>] [S<I<Java packages>>] + +=head1 DESCRIPTION + +dh_javadoc is a debhelper program that is responsible for generating HTML Java +documentation and installing it in package directories. This should be done in +the documentaion package of all Java libraries. Normal Java programs should not +be supplied with javadoc documentation (neither in their main package or in a +separate documentation package) + +Any package specified as parameters will be installed into the first package +dh_javadoc is told to act on. Use of the standard debhelper B<-p> option is +highly recommended. + +A file named debian/package.javadoc may list additional packages to have +documentation generated. These should be separated by new lines. + +When the Java policy is modified, this script will also install links to the +documentation in a common place so that javadoc pages may be interlinked; and +also provide a substitution variable for documentation package dependencies. + +Javadoc generation is done using gjdoc, currently the only free javadoc +implementation. When new features are added to this (such as overview files), +this script will be modified accordingly. + +=head1 OPTIONS + +=over 4 + +=item B<--sourcedir I<source path>> + +Specify the source path in which to look for Java source files. + +=item I<Java packages> + +Names of Java packages to be documented. + +=back + +=head1 TODO + +=over 4 + +=item + + +Check parameters more carefully. + +=item + + +Add substvar for documentation dependencies + +=item + + +Don't put the 'common' directory in all packages - refer to one in +/usr/share/gjdoc & insist on creating that dependency + +=item + + +Other items depend on gjdoc improvements: + +=over 8 + +=item - + +Add package listings to common directory + +=item - + +Generate dependency substvar based on additional doc packages used. + +=back + +=back + +=cut + +use Cwd; + +init(options => { + "sourcedir=s" => \$dh{SOURCEDIR}, +}); + +foreach my $package (@{$dh{DOPACKAGES}}) { + my $tmp=tmpdir($package); + + my @packages = @ARGV; + + if (-e "debian/$package.javadoc"){ + open PACKAGES, "debian/$package.javadoc" + or error("Unable to open file: debian/$package.javadoc: $!"); + my @pkgs; + my $i = 0; + while(<PACKAGES>){chomp($pkgs[$i++]=$_);} + close PACKAGES or warning("Error closing debian/$package.javadoc: $!"); + @packages = (@packages, @pkgs); + } + + my $src_dir; + if ($dh{SOURCEDIR}){ + $src_dir = getcwd .'/'. $dh{SOURCEDIR}; + }else{ + $src_dir = getcwd(); + } + + if (! -e "/usr/bin/javadoc"){ + error("/usr/bin/javadoc not found"); + } + + # make directory + doit('install', '-g', '0', '-o', '0', '-d', "$tmp/usr/share/doc/$package/api/"); + # generate javadoc + doit('javadoc', "-sourcepath", $src_dir, "-d", "$tmp/usr/share/doc/$package/api/", @packages); + # and remove gjdoc_rawcomment.cache + doit('rm', "-f", "gjdoc_rawcomment.cache"); + +} + +=head1 SEE ALSO + +L<debhelper(7)> + +This program is designed similar to debhelper + +=head1 AUTHOR + +Mark Howard <mh@debian.org> + +=cut diff --git a/debian/dh_nativejava b/debian/dh_nativejava new file mode 100644 index 0000000..34209d1 --- /dev/null +++ b/debian/dh_nativejava @@ -0,0 +1,102 @@ +#!/usr/bin/perl -w + +=head1 NAME + +dh_nativejava - compile jar files to native code and register them + +=cut + +use strict; +use Debian::Debhelper::Dh_Lib; +use IO::File; +use POSIX qw(tmpnam); +use Cwd; + +=head1 SYNOPSIS + +B<dh_nativejava> [S<I<debhelper options>>] [B<-n>] [B<-o>] [B<--sourcedir=>I<dir>] + +=head1 DESCRIPTION + +dh_nativejava is a debhelper program that is responsible for compiling +jars to native code and to make them known to the system. + +It also automatically generates the postinst and postrm commands needed +to updated the global classmap database and adds a dependency on +libgcj-common in the misc:Depends substitution variable. + +=head1 OPTIONS + +=over 4 + +=item B<-n>, B<--noscripts> + +Do not modify postinst/postrm scripts. + +=item B<-o>, B<--onlyscripts> + +Only modify postinst/postrm scripts, do not actually compile any files +or register them. May be useful if the files are already built and +registered. + +=item B<--destdir=>I<directory> + +Use this if you want the compiled files to be put in a directory +other than the default of "/usr/lib/gcj" + +=back + +=head1 NOTES + +Note that this command is not idempotent. "dh_clean -k" should be called +between invocations of this command. Otherwise, it may cause multiple +instances of the same text to be added to maintainer scripts. + +=cut + +init(); + +my $destdir = $dh{DESTDIR}; +if (! $dh{DESTDIR}) { + $destdir = "/usr/lib/gcj"; +} + +my $pwd = getcwd; +my $sourcelist; +do { + $sourcelist = tmpnam(); +} until my $fh = IO::File->new($sourcelist, O_RDWR|O_CREAT|O_EXCL); + +foreach my $package (@{$dh{DOPACKAGES}}) { + my $tmp=tmpdir($package); + + # Figure out if this is a GCJ package. + if ($tmp =~ '-gcj$') { + my $jardir =$tmp; + $jardir =~ s/-gcj$//; + if (! $dh{ONLYSCRIPTS}) { + complex_doit("find $pwd -type f ! -type l > $sourcelist"); + doit("aot-compile", "-L", $destdir, "-c", "-fsource-filename=$sourcelist", "$jardir", "$tmp/usr/lib/gcj"); + doit("mkdir", "-p", "$tmp/usr/share/gcj/classmap.d"); + complex_doit("mv $tmp/usr/lib/gcj/*.db $tmp/usr/share/gcj/classmap.d"); + } + # Install scripts to rebuild global classmap.db. + if (! $dh{NOSCRIPTS}) { + autoscript($package,"postinst", "postinst-rebuild-gcj-db", ""); + autoscript($package,"postrm", "postrm-rebuild-gcj-db", ""); + } + addsubstvar($package, "misc:Depends", "libgcj-common (>> 1:4.1.1-13)"); + } +} + +END { unlink($sourcelist) or die "Couldn't unlink $sourcelist : $!" } + +=head1 SEE ALSO + +L<debhelper(7)> + +=head1 AUTHOR + +Michael Koch <mkoch@debian.org>, Matthias Klose <doko@ubuntu.com> + +=cut diff --git a/debian/disable_64_gcc b/debian/disable_64_gcc new file mode 100644 index 0000000..c6bc395 --- /dev/null +++ b/debian/disable_64_gcc @@ -0,0 +1,5 @@ +# "empty" file, if it exists, it will disable generation of 64 bit code +# if the wrapper runs on a sparc64 architecture. +# +# Remove or rename it, if gcc should generate 64bit on sparc64 architectures +# by default. diff --git a/debian/g++.postinst.in b/debian/g++.postinst.in new file mode 100644 index 0000000..6be5a9a --- /dev/null +++ b/debian/g++.postinst.in @@ -0,0 +1,37 @@ +#! /bin/sh -e + +# remove the doc dir, if it's still a directory and replace with a symlink +pkg=`basename $0 .postinst` +if [ ! -L /usr/share/doc/$pkg ]; then + rm -rf /usr/share/doc/$pkg + ln -s cpp /usr/share/doc/$pkg +fi + +# fix for report #138038: remove old diversions +if [ -n "`dpkg-divert --list /usr/bin/c++filt.binutils`" ]; then + # diversion of /usr/bin/c++filt + # to /usr/bin/c++filt.binutils + # /usr/bin/c++filt is from old g++ + # /usr/bin/c++filt.binutils is from current binutils + rm -f /usr/bin/c++filt + dpkg-divert --package g++ --rename --remove /usr/bin/c++filt \ + || true +fi +if [ -n "`dpkg-divert --list /usr/man/man1/c++filt.binutils.1.gz`" ]; then + # diversion of /usr/man/man1/c++filt.1.gz + # to /usr/man/man1/c++filt.binutils.1.gz + # /usr/man/man1/c++filt.1.gz is from old g++ + # /usr/man/man1/c++filt.binutils.1.gz does not exist any more + # /usr/share/man/man1/c++filt.1.gz is from current binutils + rm -f /usr/man/man1/c++filt.1.gz + dpkg-divert --package g++ --rename --remove /usr/man/man1/c++filt.1.gz \ + || true +fi + +update-alternatives \ + --install /usr/bin/c++ c++ /usr/bin/g++ 20 \ + @GFDL@--slave /usr/share/man/man1/c++.1.gz c++.1.gz /usr/share/man/man1/g++.1.gz + +#DEBHELPER# + +exit 0 diff --git a/debian/g++.prerm b/debian/g++.prerm new file mode 100644 index 0000000..70f7c8e --- /dev/null +++ b/debian/g++.prerm @@ -0,0 +1,9 @@ +#! /bin/sh -e + +if [ $1 != "upgrade" ]; then + update-alternatives --remove c++ /usr/bin/g++ +fi + +#DEBHELPER# + +exit 0 diff --git a/debian/g77-doc.prerm b/debian/g77-doc.prerm new file mode 100644 index 0000000..953c783 --- /dev/null +++ b/debian/g77-doc.prerm @@ -0,0 +1,8 @@ +#! /bin/sh -e + +# this is an empty script needed for the upgrade from earlier +# versions calling install-info + +#DEBHELPER# + +exit 0 diff --git a/debian/g77.postinst.in b/debian/g77.postinst.in new file mode 100644 index 0000000..6c05b6d --- /dev/null +++ b/debian/g77.postinst.in @@ -0,0 +1,15 @@ +#! /bin/sh -e + +# remove the doc dir, if it's still a directory and replace with a symlink +pkg=`basename $0 .postinst` +if [ ! -L /usr/share/doc/$pkg ]; then + rm -rf /usr/share/doc/$pkg + ln -s cpp /usr/share/doc/$pkg +fi + +update-alternatives --install /usr/bin/f77 f77 /usr/bin/g77 20 \ + @GFDL@--slave /usr/share/man/man1/f77.1.gz f77.1.gz /usr/share/man/man1/g77.1.gz + +#DEBHELPER# + +exit 0 diff --git a/debian/g77.prerm b/debian/g77.prerm new file mode 100644 index 0000000..ac4c3f2 --- /dev/null +++ b/debian/g77.prerm @@ -0,0 +1,7 @@ +#! /bin/sh -e + +if [ $1 != "upgrade" ]; then + update-alternatives --remove f77 /usr/bin/g77 +fi + +#DEBHELPER# diff --git a/debian/gcc.postinst.in b/debian/gcc.postinst.in new file mode 100644 index 0000000..0828ab6 --- /dev/null +++ b/debian/gcc.postinst.in @@ -0,0 +1,29 @@ +#! /bin/sh -e + +# remove the doc dir, if it's still a directory and replace with a symlink +pkg=`basename $0 .postinst` +if [ ! -L /usr/share/doc/$pkg ]; then + rm -rf /usr/share/doc/$pkg + ln -s cpp /usr/share/doc/$pkg +fi + +update-alternatives --quiet \ + --install /usr/bin/cc cc /usr/bin/gcc 20 \ + @GFDL@--slave /usr/share/man/man1/cc.1.gz cc.1.gz /usr/share/man/man1/gcc.1.gz + +update-alternatives --quiet \ + --install /usr/bin/c89 c89 /usr/bin/c89-gcc 20 \ + --slave /usr/share/man/man1/c89.1.gz c89.1.gz /usr/share/man/man1/c89-gcc.1.gz + +update-alternatives --quiet \ + --install /usr/bin/c99 c99 /usr/bin/c99-gcc 20 \ + --slave /usr/share/man/man1/c99.1.gz c99.1.gz /usr/share/man/man1/c99-gcc.1.gz + +# remove f77 alternative left over from an old egcs version ... +if [ -h /etc/alternatives/f77 -a ! -e /etc/alternatives/f77 ]; then + rm -f /etc/alternatives/f77 +fi + +#DEBHELPER# + +exit 0 diff --git a/debian/gcc.preinst b/debian/gcc.preinst new file mode 100644 index 0000000..af198fb --- /dev/null +++ b/debian/gcc.preinst @@ -0,0 +1,10 @@ +#! /bin/sh -e + +if [ -d /usr/share/doc/gcc ]; then + echo "Removing old gcc doc directory." + rm -rf /usr/share/doc/gcc +fi + +#DEBHELPER# + +exit 0 diff --git a/debian/gcc.prerm b/debian/gcc.prerm new file mode 100644 index 0000000..64b43f4 --- /dev/null +++ b/debian/gcc.prerm @@ -0,0 +1,11 @@ +#! /bin/sh -e + +if [ $1 != "upgrade" ]; then + update-alternatives --quiet --remove cc /usr/bin/gcc + update-alternatives --quiet --remove c89 /usr/bin/c89-gcc + update-alternatives --quiet --remove c99 /usr/bin/c99-gcc +fi + +#DEBHELPER# + +exit 0 diff --git a/debian/gdc.preinst b/debian/gdc.preinst new file mode 100644 index 0000000..277ccc7 --- /dev/null +++ b/debian/gdc.preinst @@ -0,0 +1,10 @@ +#! /bin/sh -e + +if [ -L /usr/share/doc/gdc ]; then + echo "Removing old gdc doc directory symlink." + rm -rf /usr/share/doc/gdc +fi + +#DEBHELPER# + +exit 0 diff --git a/debian/generate-cacerts.pl.in b/debian/generate-cacerts.pl.in new file mode 100644 index 0000000..b90f6ef --- /dev/null +++ b/debian/generate-cacerts.pl.in @@ -0,0 +1,106 @@ +#!/usr/bin/perl + +# Copyright (C) 2007, 2009 Free Software Foundation +# +# 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. + +# generate-cacerts.pl generates a gkeytool keystore named 'cacerts' +# from OpenSSL's certificate bundle. + +# First extract each of OpenSSL's bundled certificates into its own +# aliased filename. +chomp($file=@ARGV[0]); +$file = "/etc/pki/tls/cert.pem" unless $file ne ""; +open(CERTS, $file); +@certs = <CERTS>; +close(CERTS); + +$pem_file_number = 0; +$writing_cert = 0; +foreach $cert (@certs) +{ + if ($cert eq "-----BEGIN CERTIFICATE-----\n") + { + if ($writing_cert != 0) + { + die "$file is malformed."; + } + $pem_file_number++; + # Numbering each file guarantees that cert aliases will be + # unique. + $pem_file_name = "$pem_file_number$cert_alias.pem"; + $writing_cert = 1; + open(PEM, ">$pem_file_name"); + print PEM $cert; + } + elsif ($cert eq "-----END CERTIFICATE-----\n") + { + $writing_cert = 0; + print PEM $cert; + close(PEM); + } + elsif ($cert =~ /Issuer: /) + { + # Generate an alias using the OU and CN attributes of the + # Issuer field if both are present, otherwise use only the CN + # attribute. The Issuer field must have either the OU or the + # CN attribute. + $_ = $cert; + if ($cert =~ /OU=/) + { + s/Issuer:.*?OU=//; + # Remove other occurrences of OU=. + s/OU=.*CN=//; + # Remove CN= if there were not other occurrences of OU=. + s/CN=//; + } + elsif ($cert =~ /CN=/) + { + s/Issuer:.*CN=//; + } + s/\W//g; + tr/A-Z/a-z/; + $cert_alias = $_ + } + else + { + if ($writing_cert == 1) + { + print PEM $cert; + } + } +} + +# Check that the correct number of .pem files were produced. +@pem_files = <*.pem>; +if (@pem_files != $pem_file_number) +{ + die "Number of .pem files produced does not match". + " number of certs read from $file."; +} + +# Now store each cert in the 'cacerts' file using gkeytool. +$certs_written_count = 0; +foreach $pem_file (@pem_files) +{ + system "yes | gkeytool@gcc_suffix@ -import -alias `basename $pem_file .pem`". + " -keystore cacerts -storepass '' -file $pem_file". + " 2>&1 >/dev/null"; + unlink($pem_file); + $certs_written_count++; +} + +# Check that the correct number of certs were added to the keystore. +if ($certs_written_count != $pem_file_number) +{ + die "Number of certs added to keystore does not match". + " number of certs read from $file."; +} diff --git a/debian/gfortran.postinst.in b/debian/gfortran.postinst.in new file mode 100644 index 0000000..c03d987 --- /dev/null +++ b/debian/gfortran.postinst.in @@ -0,0 +1,11 @@ +#! /bin/sh -e + +update-alternatives --install /usr/bin/f95 f95 /usr/bin/gfortran 20 \ + @GFDL@--slave /usr/share/man/man1/f95.1.gz f95.1.gz /usr/share/man/man1/gfortran.1.gz + +update-alternatives --install /usr/bin/f77 f77 /usr/bin/gfortran 20 \ + @GFDL@--slave /usr/share/man/man1/f77.1.gz f77.1.gz /usr/share/man/man1/gfortran.1.gz + +#DEBHELPER# + +exit 0 diff --git a/debian/gfortran.prerm b/debian/gfortran.prerm new file mode 100644 index 0000000..f3a1a9a --- /dev/null +++ b/debian/gfortran.prerm @@ -0,0 +1,9 @@ +#! /bin/sh -e + +if [ $1 != "upgrade" ]; then + update-alternatives --remove f95 /usr/bin/gfortran + + update-alternatives --remove f77 /usr/bin/gfortran +fi + +#DEBHELPER# diff --git a/debian/gij.prerm b/debian/gij.prerm new file mode 100644 index 0000000..b368ea4 --- /dev/null +++ b/debian/gij.prerm @@ -0,0 +1,8 @@ +#! /bin/sh -e + +# make sure that no more alternatives are around from the libgcj2 package +update-alternatives --remove gij /usr/bin/gij-3.0 >/dev/null 2>&1 || true + +#DEBHELPER# + +exit 0 diff --git a/debian/libgcj-bc.overrides b/debian/libgcj-bc.overrides new file mode 100644 index 0000000..d5e53ef --- /dev/null +++ b/debian/libgcj-bc.overrides @@ -0,0 +1 @@ +libgcj-bc: pkg-has-shlibs-control-file-but-no-actual-shared-libs diff --git a/debian/libgcj-common.postinst b/debian/libgcj-common.postinst new file mode 100644 index 0000000..cdffa42 --- /dev/null +++ b/debian/libgcj-common.postinst @@ -0,0 +1,9 @@ +#! /bin/sh + +set -e + +rebuild-security-providers + +#DEBHELPER# + +exit 0 diff --git a/debian/libgcj-common.preinst b/debian/libgcj-common.preinst new file mode 100644 index 0000000..38a71de --- /dev/null +++ b/debian/libgcj-common.preinst @@ -0,0 +1,21 @@ +#!/bin/sh + +set -e + +case "$1" in + install|upgrade) + if [ -L /usr/share/doc/libgcj-common ]; then + rm -f /usr/share/doc/libgcj-common + fi + ;; + abort-upgrade) + ;; + *) + echo "preinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +#DEBHELPER# + +exit 0 diff --git a/debian/libgcj-common.prerm b/debian/libgcj-common.prerm new file mode 100644 index 0000000..9acef4a --- /dev/null +++ b/debian/libgcj-common.prerm @@ -0,0 +1,12 @@ +#! /bin/sh + +set -e + +case "$1" in + remove) + rm -f /var/lib/security/classpath.security +esac + +#DEBHELPER# + +exit 0 diff --git a/debian/postinst-rebuild-gcj-db b/debian/postinst-rebuild-gcj-db new file mode 100644 index 0000000..e1a745e --- /dev/null +++ b/debian/postinst-rebuild-gcj-db @@ -0,0 +1,3 @@ +if which rebuild-gcj-db >/dev/null 2>&1; then + rebuild-gcj-db +fi diff --git a/debian/postrm-rebuild-gcj-db b/debian/postrm-rebuild-gcj-db new file mode 100644 index 0000000..e1a745e --- /dev/null +++ b/debian/postrm-rebuild-gcj-db @@ -0,0 +1,3 @@ +if which rebuild-gcj-db >/dev/null 2>&1; then + rebuild-gcj-db +fi diff --git a/debian/rebuild-gcj-db b/debian/rebuild-gcj-db new file mode 100644 index 0000000..297a00b --- /dev/null +++ b/debian/rebuild-gcj-db @@ -0,0 +1,106 @@ +#! /bin/bash + +set -e + +if [ $# -gt 1 ]; then + cat 1>&2 <<-EOF + rebuild-gcj-db: re-build the gcj classmap database + + usage: $0 [install|remove] + EOF + exit 1 +fi + +mode=install +case "$1" in + install|remove) + mode=$1;; +esac + +uname=$(uname -m) + +rebuild_db() +{ + dbtool=$1; shift + dbLocation=$1; shift + dirs= + + for dir; do [ -d $dir ] && dirs="$dirs $dir"; done + if [ -z "$dirs" ]; then + # no more dirs with .db files on the system + return 0 + fi + mkdir -p $(dirname $dbLocation) + if $dbtool -n $dbLocation.tmp 64; then + : + #case "$uname" in parisc*) + # echo >&2 "$dbtool succeeded unexpectedly" + #esac + else + case "$uname" in + m68k) + echo >&2 "ERROR: $dbtool did fail; known problem on $uname" + return 0;; + *) + exit 2 + esac + fi + find $dirs -follow -name '*.db' -print0 | \ + xargs -r -0 $dbtool -m $dbLocation.tmp $dbLocation.tmp || exit 1 + mv $dbLocation.tmp $dbLocation +} + + +rebuild_databases() +{ + v=$1 + dbtool=gcj-dbtool-$1 + dbLocation=`$dbtool -p || true` + + if [ -n "$dbLocation" ]; then + case "$uname" in m68k) + echo >&2 "$dbtool succeeded unexpectedly" + esac + else + case "$uname" in + m68k) + echo >&2 "ERROR: $dbtool did fail; known problem on $uname" + return 0;; + *) + exit 2 + esac + fi + + if [ "$mode" = remove ] && [ ! -f "$dbLocation" ]; then + # libgcj7-0 or libgcj8 are already removed; no need + # to rebuild anything + return 0 + fi + rebuild_db \ + $dbtool \ + $dbLocation \ + /usr/share/gcj/classmap.d \ + /usr/share/gcj-$v/classmap.d +} + +# still different databases for each gcj-4.x + +if which gcj-dbtool-4.9 >/dev/null 2>&1; then + rebuild_databases 4.9 +fi + +if which gcj-dbtool-4.8 >/dev/null 2>&1; then + rebuild_databases 4.8 +fi + +if which gcj-dbtool-4.7 >/dev/null 2>&1; then + rebuild_databases 4.7 +fi + +if which gcj-dbtool-4.6 >/dev/null 2>&1; then + rebuild_databases 4.6 +fi + +if which gcj-dbtool-4.4 >/dev/null 2>&1; then + rebuild_databases 4.4 +fi diff --git a/debian/rebuild-security-providers b/debian/rebuild-security-providers new file mode 100755 index 0000000..bd33a66 --- /dev/null +++ b/debian/rebuild-security-providers @@ -0,0 +1,19 @@ +#! /bin/bash +# Rebuild the list of security providers in classpath.security + +secfiles="/var/lib/security/classpath.security" + +for secfile in $secfiles; do + # check if this classpath.security file exists + #[ -f "$secfile" ] || continue + + sed '/^security\.provider\./d' /etc/java/security/classpath.security \ + > $secfile + + count=0 + for provider in $(ls /etc/java/security/security.d) + do + count=$((count + 1)) + echo "security.provider.${count}=${provider#*-}" >> "$secfile" + done +done diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..b68f714 --- /dev/null +++ b/debian/rules @@ -0,0 +1,1535 @@ +#! /usr/bin/make -f + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +# version number of the defaults package +VDEF := $(strip $(shell dpkg-parsechangelog | awk -F: '/^Version:/ {print $$NF}')) +SOURCE := $(strip $(shell dpkg-parsechangelog | awk -F: '/^Source:/ {print $$NF}')) + +VMAJOR := $(shell echo $(VDEF) | awk -F. '{print $$1}') +VMINOR := $(shell echo $(VDEF) | awk -F. '{print $$2}' | sed -e 's/\([0-9]*\).*/\1/') +REL_EXT := $(shell echo $(VDEF) | sed -e 's/^$(VMAJOR)\.$(VMINOR)//') +SPACE := $(EMPTY) $(EMPTY) + +# gcc-defaults 0.8 is the first version for 2.95.4. +#REL_NO_295 := $(shell expr $(VMINOR) + 15)$(REL_EXT) +# gcc-defaults 0.6 is the first version with 2.96 support. +#REL_NO_296 := $(shell expr $(VMINOR) + 17)$(REL_EXT) +# gcc-defaults 0.17 is the first version with 3.0.4 support. +#REL_NO_30 := $(shell expr $(VMINOR) + 6)$(REL_EXT) +# gcc-defaults 1.0 is the first version with 3.1 support. +#REL_NO_31 := $(shell expr $(VMINOR) + 1)$(REL_EXT) +# gcc-defaults 1.2 is the first version with 3.2 support. +#REL_NO_32 := $(shell expr $(VMINOR) - 1)$(REL_EXT) +# gcc-defaults 1.3 is the first version with 3.2.2 support. +#REL_NO_322 := $(shell expr $(VMINOR) - 3)$(REL_EXT) +# gcc-defaults 1.4 is the first version with 3.2.3 support. +#REL_NO_323 := $(shell expr $(VMINOR) - 4)$(REL_EXT) +# gcc-defaults 1.5 is the first version with 3.3 support. +#REL_NO_33 := $(shell expr $(VMINOR) - 5)$(REL_EXT) +# gcc-defaults 1.7 is the first version with 3.3.1 support. +#REL_NO_331 := $(shell expr $(VMINOR) - 7)$(REL_EXT) +# gcc-defaults 1.10 is the first version with 3.3.2 support. +#REL_NO_332 := $(shell expr $(VMINOR) - 9)$(REL_EXT) +# gcc-defaults 1.13 is the first version with 3.3.3 support. +#REL_NO_333 := $(shell expr $(VMINOR) - 12)$(REL_EXT) +# gcc-defaults 1.16 is the first version with 3.3.4 support. +#REL_NO_334 := $(shell expr $(VMINOR) - 15)$(REL_EXT) +# gcc-defaults 1.19 is the first version with 3.3.5 support. +#REL_NO_335 := $(shell expr $(VMINOR) - 18)$(REL_EXT) +# gcc-defaults 1.22 is the first version with 3.3.6 support. +#REL_NO_336 := $(shell expr $(VMINOR) - 21)$(REL_EXT) + +# gcc-defaults 1.22 is the first version with 3.4.3 support. +#REL_NO_343 := $(shell expr $(VMINOR) - 21)$(REL_EXT) +# gcc-defaults 1.23 is the first version with 3.4.4 support. +#REL_NO_344 := $(shell expr $(VMINOR) - 23)$(REL_EXT) +# gcc-defaults 1.30 is the first version with 3.4.5 support. +#REL_NO_345 := $(shell expr $(VMINOR) - 29)$(REL_EXT) +# gcc-defaults 1.32 is the first version with 3.4.5 support. +#REL_NO_346 := $(shell expr $(VMINOR) - 31)$(REL_EXT) + +# gcc-defaults 1.23 is the first version with 4.0.0 support. +#REL_NO_400 := $(shell expr $(VMINOR) - 22)$(REL_EXT) +# gcc-defaults 1.26 is the first version with 4.0.1 support. +#REL_NO_401 := $(shell expr $(VMINOR) - 25)$(REL_EXT) +# gcc-defaults 1.29 is the first version with 4.0.2 support. +#REL_NO_402 := $(shell expr $(VMINOR) - 28)$(REL_EXT) +# gcc-defaults 1.32 is the first version with 4.0.3 support. +#REL_NO_403 := $(shell expr $(VMINOR) - 31)$(REL_EXT) + +# gcc-defaults 1.33 is the first version with 4.1.0 support. +#REL_NO_410 := $(shell expr $(VMINOR) - 33)$(REL_EXT) +# gcc-defaults 1.36 is the first version with 4.1.1 support. +#REL_NO_411 := $(shell expr $(VMINOR) - 35)$(REL_EXT) +# gcc-defaults 1.51 is the first version with 4.1.2 support. +#REL_NO_412 := $(shell expr $(VMINOR) - 50)$(REL_EXT) + +# gcc-defaults 1.54 is the first version with 4.2.0 support. +#REL_NO_420 := $(shell expr $(VMINOR) - 54)$(REL_EXT) +# gcc-defaults 1.56 is the first version with 4.2.1 support. +#REL_NO_421 := $(shell expr $(VMINOR) - 55)$(REL_EXT) +# gcc-defaults 1.62 is the first version with 4.2.2 support. +#REL_NO_422 := $(shell expr $(VMINOR) - 61)$(REL_EXT) +# gcc-defaults 1.63 is the first version with 4.2.3 support. +#REL_NO_423 := $(shell expr $(VMINOR) - 62)$(REL_EXT) +# gcc-defaults 1.73 is the first version with 4.2.4 support. +#REL_NO_424 := $(shell expr $(VMINOR) - 72)$(REL_EXT) + +# gcc-defaults 1.63 is the first version with 4.3 support. +#REL_NO_43 := $(shell expr $(VMINOR) - 62)$(REL_EXT) +# gcc-defaults 1.66 is the first version with 4.3 support. +#REL_NO_430 := $(shell expr $(VMINOR) - 65)$(REL_EXT) +# gcc-defaults 1.74 is the first version with 4.3.1 support. +#REL_NO_431 := $(shell expr $(VMINOR) - 73)$(REL_EXT) +# gcc-defaults 1.76 is the first version with 4.3.2 support. +#REL_NO_432 := $(shell expr $(VMINOR) - 75)$(REL_EXT) +# gcc-defaults 1.79 is the first version with 4.3.3 support. +#REL_NO_433 := $(shell expr $(VMINOR) - 78)$(REL_EXT) +# gcc-defaults 1.88 is the first version with 4.3.4 support. +#REL_NO_434 := $(shell expr $(VMINOR) - 87)$(REL_EXT) +# gcc-defaults 1.94 is the first version with 4.3.5 support. +#REL_NO_435 := $(shell expr $(VMINOR) - 93)$(REL_EXT) + +# gcc-defaults 1.81 is the first version with 4.4.0 support. +#REL_NO_440 := $(shell expr $(VMINOR) - 80)$(REL_EXT) +# gcc-defaults 1.88 is the first version with 4.4.1 support. +#REL_NO_441 := $(shell expr $(VMINOR) - 87)$(REL_EXT) +# gcc-defaults 1.90 is the first version with 4.4.2 support. +#REL_NO_442 := $(shell expr $(VMINOR) - 89)$(REL_EXT) +# gcc-defaults 1.93 is the first version with 4.4.3 support. +#REL_NO_443 := $(shell expr $(VMINOR) - 92)$(REL_EXT) +# gcc-defaults 1.94 is the first version with 4.4.4 support. +#REL_NO_444 := $(shell expr $(VMINOR) - 93)$(REL_EXT) +# gcc-defaults 1.96 is the first version with 4.4.5 support. +#REL_NO_445 := $(shell expr $(VMINOR) - 95)$(REL_EXT) +# gcc-defaults 1.106 is the first version with 4.4.6 support. +#REL_NO_446 := $(shell expr $(VMINOR) - 105)$(REL_EXT) + +# gcc-defaults 1.98 is the first version with 4.5.2 support. +#REL_NO_452 := $(shell expr $(VMINOR) - 97)$(REL_EXT) +# gcc-defaults 1.103 is the first version with 4.5.3 support. +#REL_NO_453 := $(shell expr $(VMINOR) - 102)$(REL_EXT) + +# gcc-defaults 1.100 is the first version with 4.6.0 support. +#REL_NO_460 := $(shell expr $(VMINOR) - 99)$(REL_EXT) +# gcc-defaults 1.106 is the first version with 4.6.1 support. +#REL_NO_461 := $(shell expr $(VMINOR) - 105)$(REL_EXT) +# gcc-defaults 1.109 is the first version with 4.6.2 support. +#REL_NO_462 := $(shell expr $(VMINOR) - 108)$(REL_EXT) +# gcc-defaults 1.113 is the first version with 4.6.3 support. +#REL_NO_463 := $(shell expr $(VMINOR) - 112)$(REL_EXT) +# gcc-defaults 1.121 is the first version with 4.6.4 support. +#REL_NO_464 := $(shell expr $(VMINOR) - 120)$(REL_EXT) + +# gcc-defaults 1.113 is the first version with 4.7.0 support. +#REL_NO_470 := $(shell expr $(VMINOR) - 112)$(REL_EXT) +# gcc-defaults 1.119 is the first version with 4.7.1 support. +#REL_NO_471 := $(shell expr $(VMINOR) - 118)$(REL_EXT) +# gcc-defaults 1.120 is the first version with 4.7.2 support. +#REL_NO_472 := $(shell expr $(VMINOR) - 119)$(REL_EXT) +# gcc-defaults 1.121 is the first version with 4.7.3 support. +#REL_NO_473 := $(shell expr $(VMINOR) - 120)$(REL_EXT) + +REL_NO_481 := $(shell expr $(VMINOR) - 120)$(REL_EXT) +REL_NO_482 := $(shell expr $(VMINOR) - 123)$(REL_EXT) +REL_NO_483 := $(shell expr $(VMINOR) - 127)$(REL_EXT) +REL_NO_484 := $(shell expr $(VMINOR) - 135)$(REL_EXT) + +REL_NO_490 := $(shell expr $(VMINOR) - 125)$(REL_EXT) +REL_NO_491 := $(shell expr $(VMINOR) - 129)$(REL_EXT) +REL_NO_492 := $(shell expr $(VMINOR) - 134)$(REL_EXT) +REL_NO_493 := $(shell expr $(VMINOR) - 141)$(REL_EXT) + +REL_NO_50 := $(shell expr $(VMINOR) - 138)$(REL_EXT) +REL_NO_52 := $(shell expr $(VMINOR) - 141)$(REL_EXT) +REL_NO_53 := $(shell expr $(VMINOR) - 149)$(REL_EXT) +REL_NO_54 := $(shell expr $(VMINOR) - 163)$(REL_EXT) + +REL_NO_60 := $(shell expr $(VMINOR) - 159)$(REL_EXT) +REL_NO_61 := $(shell expr $(VMINOR) - 162)$(REL_EXT) +REL_NO_62 := $(shell expr $(VMINOR) - 163)$(REL_EXT) +REL_NO_63 := $(shell expr $(VMINOR) - 164)$(REL_EXT) + +# minimum required gcc-X.Y versions +REQV_295 := (>= 1:2.95.4-16) +REQV_296 := +REQV_30 := (>= 1:3.0.4-12) +REQV_32 := (>= 1:3.2.3-1) +REQV_33 := (>= 1:3.3.6-1) +REQV_34 := (>= 3.4.6-1) +REQV_40 := (>= 4.0.3-1) +REQV_41 := (>= 4.1.2-1) +REQV_41_GCJ := (>= 4.1.2-1) +REQV_42 := (>= 4.2.4-1) +REQV_42_GCJ := (>= 4.2.4-1) +REQV_43 := (>= 4.3.5-1) +REQV_44 := (>= 4.4.7-1~) +REQV_45 := (>= 4.5.3-1) +REQV_46 := (>= 4.6.4-1~) +REQV_46_GDC := $(REQV_46) +REQV_47 := (>= 4.7.3-1~) +REQV_48 := (>= 4.8.4-1~) +REQV_49 := (>= 4.9.3-10~) +REQV_5 := (>= 5.4.1-2~) +REQV_6 := (>= 6.3.0-9~) + +REQV_LIBGCJ_BC := (>= 6.3.0-1~) + +# architecture dependent variables +DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH) +DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +ifneq (,$(filter $(DEB_HOST_ARCH), i386 kfreebsd-i386 hurd-i386)) + DEB_HOST_GNU_TYPE := $(subst i586,i686,$(DEB_HOST_GNU_TYPE)) + i586_symlinks = yes +endif +DEB_HOST_MULTIARCH := $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) + +all_archs = alpha amd64 armel armhf arm64 hppa i386 ia64 m68k mips mipsel mips64 mips64el or1k powerpc powerpcspe ppc64 ppc64el s390 s390x sh4 sparc sparc64 x32 hurd-i386 kfreebsd-amd64 kfreebsd-i386 + +gcc5_archs = +gcc6_archs = alpha amd64 armel armhf arm64 hppa i386 ia64 m68k mips mipsel mips64 mips64el or1k powerpc powerpcspe ppc64 ppc64el s390 s390x sh4 sparc sparc64 x32 hurd-i386 kfreebsd-amd64 kfreebsd-i386 + +gcj5_archs = +gcj6_archs = alpha amd64 armel armhf arm64 hppa i386 ia64 m68k mips mipsel mips64 mips64el or1k powerpc powerpcspe ppc64 ppc64el s390 s390x sh4 sparc sparc64 x32 hurd-i386 kfreebsd-amd64 kfreebsd-i386 + +gnat5_archs = alpha amd64 armel armhf arm64 hppa i386 ia64 m68k mips mipsel mips64 mips64el or1k powerpc powerpcspe ppc64 ppc64el s390 s390x sh4 sparc sparc64 x32 hurd-i386 kfreebsd-amd64 kfreebsd-i386 +gnat6_archs = + +# CV_XXX is the complete version number, including the release, without epoch +CV_CPP := 6.3.0-$(REL_NO_63) +CV_GCC := 6.3.0-$(REL_NO_63) +CV_GPP := 6.3.0-$(REL_NO_63) +CV_GOBJC := 6.3.0-$(REL_NO_63) +CV_GOBJCXX := 6.3.0-$(REL_NO_63) +CV_GFORT := 6.3.0-$(REL_NO_63) +CV_GGO := 6.3.0-$(REL_NO_63) +CV_GNAT := 6.3.0-$(REL_NO_63) +CV_GCJ := 6.3.0-$(REL_NO_63) +CV_GIJ := 6.3.0-$(REL_NO_63) +CV_LIBGCJBC := 6.3.0-$(REL_NO_63) +CV_GDC := 6.3.0-$(REL_NO_63) +CV_LIBGCJCOMMON := 1:6.3-$(REL_NO_63) +$(foreach a, $(all_archs), \ + $(foreach v, CV_CPP CV_GCC CV_GPP CV_GOBJC CV_GOBJCXX CV_GFORT CV_GGO CV_GNAT CV_GCJ CV_GDC, \ + $(eval $(v)_$(a) = $(call $(v))))) + +ifneq (,$(filter $(DEB_HOST_ARCH), $(gcc5_archs))) + CV_CPP := 5.4-$(REL_NO_54) + CV_GCC := 5.4-$(REL_NO_54) + CV_GPP := 5.4-$(REL_NO_54) + CV_GOBJC := 5.4-$(REL_NO_54) + CV_GOBJCXX := 5.4-$(REL_NO_54) + CV_GFORT := 5.4-$(REL_NO_54) + CV_GGO := 5.4-$(REL_NO_54) + CV_GDC := 5.4-$(REL_NO_54) + $(foreach a, $(gcc5_archs), \ + $(foreach v, CV_CPP CV_GCC CV_GPP CV_GOBJC CV_GOBJCXX CV_GFORT CV_GGO CV_GDC, \ + $(eval $(v)_$(a) = $(call $(v))))) +endif + +ifneq (,$(filter $(DEB_HOST_ARCH), $(gcj5_archs))) + CV_GCJ := 5.4-$(REL_NO_54) + CV_GIJ := 5.4-$(REL_NO_54) + CV_LIBGCJBC := 5.4-$(REL_NO_54) + $(foreach a, $(gcc5_archs), \ + $(foreach v, CV_GCJ, \ + $(eval $(v)_$(a) = $(call $(v))))) +endif + +ifneq (,$(filter $(DEB_HOST_ARCH), $(gnat5_archs))) + CV_GNAT := 5.4-$(REL_NO_54) + $(foreach a, $(gnat5_archs), \ + $(foreach v, CV_GNAT, \ + $(eval $(v)_$(a) = $(call $(v))))) +endif + +REQV_CPP = $(REQV_6) +REQV_GCC = $(REQV_6) +REQV_GPP = $(REQV_6) +REQV_GOBJC = $(REQV_6) +REQV_GOBJCXX = $(REQV_6) +REQV_GFORT = $(REQV_6) +REQV_GGO = $(REQV_6) +REQV_GNAT = $(REQV_6) +REQV_GCJ = $(REQV_6) +REQV_GIJ = $(REQV_6) +REQV_GDC = $(REQV_6) +$(foreach a, $(all_archs), \ + $(foreach v, REQV_CPP REQV_GCC REQV_GPP REQV_GOBJC REQV_GOBJCXX REQV_GFORT REQV_GGO REQV_GNAT REQV_GCJ REQV_GDC, \ + $(eval $(v)_$(a) = $(call $(v))))) + +ifneq (,$(filter $(DEB_HOST_ARCH),$(gcc5_archs))) + REQV_CPP = $(REQV_5) + REQV_GCC = $(REQV_5) + REQV_GPP = $(REQV_5) + REQV_GOBJC = $(REQV_5) + REQV_GOBJCXX = $(REQV_5) + REQV_GFORT = $(REQV_5) + REQV_GGO = $(REQV_5) + REQV_GNAT = $(REQV_5) + REQV_GDC = $(REQV_5) + $(foreach a, $(gcc5_archs), \ + $(foreach v, REQV_CPP REQV_GCC REQV_GPP REQV_GOBJC REQV_GOBJCXX REQV_GFORT REQV_GGO REQV_GCJ REQV_GDC, \ + $(eval $(v)_$(a) = $(call $(v))))) +endif + +ifneq (,$(filter $(DEB_HOST_ARCH),$(gcj5_archs))) + REQV_GCJ = $(REQV_5) + REQV_GIJ = $(REQV_5) + $(foreach a, $(gcj5_archs), \ + $(foreach v, REQV_GCJ, \ + $(eval $(v)_$(a) = $(call $(v))))) +endif + +ifneq (,$(filter $(DEB_HOST_ARCH),$(gnat5_archs))) + REQV_GNAT = $(REQV_5) + $(foreach a, $(gnat5_archs), \ + $(foreach v, REQV_GNAT, \ + $(eval $(v)_$(a) = $(call $(v))))) +endif + +EPOCH=4 +OS_NAME := Linux +distribution := $(shell lsb_release -is) +distrelease := $(shell lsb_release -cs) +vendor := $(shell if dpkg-vendor --derives-from Ubuntu; then echo Ubuntu; else echo Debian; fi) + +lib32 = /usr/lib32 + +gcj_archs = alpha amd64 armel armhf arm64 hppa i386 ia64 m68k mips mipsel mips64el \ + powerpc powerpcspe ppc64 ppc64el s390 s390x sh4 sparc sparc64 x32 \ + kfreebsd-amd64 kfreebsd-i386 hurd-i386 +gcj_native_archs = alpha amd64 armel armhf arm64 hppa i386 ia64 mips mipsel mips64el \ + powerpc powerpcspe ppc64 ppc64el s390 s390x sh4 sparc sparc64 x32 \ + kfreebsd-amd64 kfreebsd-i386 hurd-i386 + +multilib_archs = $(sort \ + amd64 i386 kfreebsd-amd64 mips mips64 mips64el mipsel \ + powerpc ppc64 s390 s390x sparc sparc64 x32 \ + $(if $(filter $(vendor), Ubuntu), armel armhf)) + +go_archs = alpha amd64 arm64 armel armhf i386 ia64 m68k \ + mips mips64 mips64el mipsel \ + powerpc powerpcspe ppc64 ppc64el s390 s390x sparc sparc64 x32 + +go_multilib_archs = $(filter $(go_archs), $(filter-out armel armhf, $(multilib_archs))) + +d_multilib_archs = $(filter-out armel, $(multilib_archs)) + +ada_archs = alpha amd64 arm64 armel armhf hppa i386 ia64 m68k \ + mips mips64el mipsel \ + powerpc ppc64 ppc64el s390 s390x sh4 sparc sparc64 \ + kfreebsd-amd64 kfreebsd-i386 hurd-i386 + +hppa64_archs = amd64 hppa i386 x32 +phobos_archs = amd64 armel armhf i386 x32 hppa + +HOST_ARCHS_alpha = amd64 i386 x32 +HOST_ARCHS_armhf = amd64 i386 x32 arm64 +HOST_ARCHS_armel = amd64 i386 x32 arm64 +HOST_ARCHS_arm64 = amd64 i386 x32 +HOST_ARCHS_hppa = amd64 i386 x32 +HOST_ARCHS_m68k = amd64 i386 x32 +HOST_ARCHS_mips = amd64 i386 x32 +HOST_ARCHS_mipsel = amd64 i386 x32 +HOST_ARCHS_mips64 = amd64 i386 x32 +HOST_ARCHS_mips64el = amd64 i386 x32 +HOST_ARCHS_powerpc = amd64 i386 x32 ppc64el +HOST_ARCHS_powerpcspe = amd64 i386 x32 +HOST_ARCHS_ppc64 = amd64 i386 x32 +HOST_ARCHS_ppc64el = amd64 i386 x32 ppc64 +HOST_ARCHS_s390x = amd64 i386 x32 +HOST_ARCHS_sh4 = amd64 i386 x32 +HOST_ARCHS_sparc64 = amd64 i386 x32 + +ifeq ($(SOURCE),gcc-defaults) + with_native = yes + CROSS_ARCHS ?= s390x ppc64el arm64 armhf armel \ + $(if $(filter $(vendor), Ubuntu),, mips mipsel mips64el) +else + CROSS_ARCHS ?= alpha hppa m68k mips64 powerpc powerpcspe ppc64 sh4 sparc64 \ + $(if $(filter $(vendor), Ubuntu), mips mipsel mips64el) +endif +with_cross = yes + +ifneq (, $(filter $(DEB_HOST_ARCH),amd64 i386 x32)) + # just use the default from above +else ifeq ($(DEB_HOST_ARCH),arm64) + CROSS_ARCHS = $(if $(findstring ports,$(SOURCE)),, armel armhf) +else ifeq ($(DEB_HOST_ARCH),ppc64) + CROSS_ARCHS = $(if $(findstring ports,$(SOURCE)), ppc64el) +else ifeq ($(DEB_HOST_ARCH),ppc64el) + CROSS_ARCHS = $(if $(findstring ports,$(SOURCE)), powerpc) +else + CROSS_ARCHS = +endif + +CROSS_ARCH = $(subst .,,$(suffix $@)) +_gnu_type = $(shell dpkg-architecture -a$(1) -qDEB_HOST_GNU_TYPE -f) +CROSS_GNU_TYPE = $(call _gnu_type,${CROSS_ARCH}) + +all_packages := +ifeq ($(with_native),yes) + # FIXME: not all packages ... + all_packages := cpp gcc g++ gfortran gcj-jdk gobjc gobjc++ gdc gccgo libgphobos-dev + ifneq (,$(filter $(DEB_HOST_ARCH), $(hppa64_archs))) + all_packages += gcc-hppa64-linux-gnu + endif +endif +no_packages := + +# TODO: +# - setup packages, no_packages macro + +# is this a multiarch-enabled build? +ifeq (,$(filter $(distrelease),lenny etch squeeze dapper hardy jaunty karmic lucid maverick)) + with_multiarch_lib := yes +endif + +LIBGCJ = libgcj17 +LIBGCJ_PC = libgcj17.pc +LIBGCJ_SONAME = 17 + +ifneq (,$(filter $(DEB_HOST_ARCH),$(gcj5_archs))) + LIBGCJ = libgcj16 + LIBGCJ_PC = libgcj16.pc + LIBGCJ_SONAME = 16 +endif + +ifneq (,$(filter $(DEB_HOST_ARCH), $(multilib_archs))) + with_multilib = yes +endif +ifneq (,$(filter $(DEB_HOST_ARCH), $(go_multilib_archs))) + with_go_multilib = yes +endif + +with_gfdl_docs := no +ifeq ($(distribution),Ubuntu) + with_gfdl_docs := yes +endif + +ifeq ($(with_native),yes) + ifeq (,$(filter $(DEB_HOST_ARCH),$(go_archs))) + no_packages += gccgo + endif + + java_no_archs := arm + ifneq (,$(filter $(DEB_HOST_ARCH),$(java_no_archs))) + no_packages += libgcj-bc gcj-jre-headless gcj-jre gcj-jdk + endif + + gdc_no_archs = s390 + ifneq (,$(filter $(DEB_HOST_ARCH),$(gdc_no_archs))) + no_packages += gdc + endif + + ifeq (,$(filter $(DEB_HOST_ARCH),$(phobos_archs))) + no_packages += libgphobos-dev + endif + + ifeq (,$(filter $(DEB_HOST_ARCH),$(hppa64_archs))) + no_packages += gcc-hppa64-linux-gnu + endif + + ifeq (,$(filter $(DEB_HOST_ARCH),$(ada_archs))) + no_packages += gnat gnat-sjlj + endif + + ifneq ($(with_gfdl_docs),yes) + no_packages := $(sort $(no_packages) cpp-doc gcc-doc gfortran-doc) + endif + +endif + +ifeq ($(DEB_HOST_ARCH),hurd-i386) + OS_NAME := Hurd +endif + +ifneq (,$(filter $(DEB_HOST_ARCH),kfreebsd-i386 kfreebsd-amd64)) + OS_NAME := kFreeBSD +endif + +ifeq ($(DEB_HOST_ARCH),netbsd-i386) + OS_NAME := NetBSD +endif + +# packages which are in the control file, but never built ... +invalid_packages = \ + gccgo-hppa-linux-gnu \ + gccgo-sh4-linux-gnu \ + gccgo-multilib-arm-linux-gnueabi \ + gccgo-multilib-arm-linux-gnueabihf \ + gdc-multilib-arm-linux-gnueabi + +ifeq ($(with_cross),yes) + cross_packages := $(filter-out $(invalid_packages) gcc-hppa64-linux-gnu, \ + $(shell dh_listpackages -a | egrep -- '-gnu|-kfreebsd')) + all_packages := $(all_packages) $(cross_packages) +endif +packages := $(filter-out $(no_packages), $(all_packages)) + +# derived version number (without release, e.g. 4.9.3, 5.2.1) +$(foreach v, V_CPP V_GCC V_GPP V_GOBJC V_GOBJCXX V_GFORT V_GGO V_GNAT V_GCJ V_GIJ V_GDC, \ + $(eval $(v) = $(patsubst %-$(lastword $(subst -, ,$(call C$(v)))),%,$(call C$(v)))) \ +) +$(foreach a, $(all_archs), \ + $(foreach v, V_CPP V_GCC V_GPP V_GOBJC V_GOBJCXX V_GFORT V_GGO V_GNAT V_GCJ V_GIJ V_GDC, \ + $(eval $(v)_$(a) = $(patsubst %-$(lastword $(subst -, ,$(call C$(v)_$(a)))),%,$(call C$(v)_$(a)))) \ +)) + +# number for the package name (e.g. 4.9, 5, 6) +$(foreach v, V_CPP V_GCC V_GPP V_GOBJC V_GOBJCXX V_GFORT V_GGO V_GNAT V_GCJ V_GIJ V_GDC, \ + $(eval P$(v) = $(firstword $(subst -, ,$(subst ., ,$(call $(v)))))) \ +) +$(foreach a, $(all_archs), \ + $(foreach v, V_CPP V_GCC V_GPP V_GOBJC V_GOBJCXX V_GFORT V_GGO V_GNAT V_GCJ V_GIJ V_GDC, \ + $(eval P$(v)_$(a) = $(firstword $(subst -, ,$(subst ., ,$(call $(v)_$(a)))))) \ +)) + +ifneq (,$(filter $(DEB_HOST_ARCH), $(gcc49_archs))) + $(foreach v, V_CPP V_GCC V_GPP V_GOBJC V_GOBJCXX V_GFORT V_GGO V_GDC, \ + $(eval P$(v) = $(subst $(SPACE),.,$(wordlist 1,2,$(subst ., ,$(call $(v)))))) \ + ) + $(foreach a, $(gcc49_archs), \ + $(foreach v, V_CPP V_GCC V_GPP V_GOBJC V_GOBJCXX V_GFORT V_GGO V_GDC, \ + $(eval P$(v)_$(a) = $(subst $(SPACE),.,$(wordlist 1,2,$(subst ., ,$(call $(v)_$(a)))))) \ + )) +endif + +ifneq (,$(filter $(DEB_HOST_ARCH), $(gcj49_archs))) + $(foreach v, V_GCJ V_GIJ, \ + $(eval P$(v) = $(subst $(SPACE),.,$(wordlist 1,2,$(subst ., ,$(call $(v)))))) \ + ) + $(foreach a, $(gcj49_archs), \ + $(foreach v, V_GCJ V_GIJ, \ + $(eval P$(v)_$(a) = $(subst $(SPACE),.,$(wordlist 1,2,$(subst ., ,$(call $(v)_$(a)))))) \ + )) +endif + +ifneq (,$(filter $(DEB_HOST_ARCH), $(gnat49_archs))) + $(foreach v, V_GNAT, \ + $(eval P$(v) = $(subst $(SPACE),.,$(wordlist 1,2,$(subst ., ,$(call $(v)))))) \ + ) + $(foreach a, $(gnat49_archs), \ + $(foreach v, V_GNAT, \ + $(eval P$(v)_$(a) = $(subst $(SPACE),.,$(wordlist 1,2,$(subst ., ,$(call $(v)_$(a)))))) \ + )) +endif + +MOD_VER := $(shell apt-cache show gfortran-$(PV_GFORT) \ + | sed -n '/^Provides/s/.*\(gfortran-mod-[0-9]*\).*/\1/p' \ + | head -1) + +README: + m4 -DPACKAGES="$(packages)" \ + -DOS_NAME=$(OS_NAME) \ + -DDEB_ARCH=$(DEB_HOST_ARCH) \ + -DV_CPP=$(V_CPP) -DPV_CPP=$(PV_CPP) \ + -DV_GCC=$(V_GCC) -DPV_GCC=$(PV_GCC) \ + -DV_GPP=$(V_GPP) -DPV_GPP=$(PV_GPP) \ + -DV_GOBJC=$(V_GOBJC) -DPV_GOBJC=$(PV_GOBJC) \ + -DV_GOBJCXX=$(V_GOBJCXX) -DPV_GOBJCXX=$(PV_GOBJCXX) \ + -DV_GFORT=$(V_GFORT) -DPV_GFORT=$(PV_GFORT) \ + -DV_GGO=$(V_GGO) -DPV_GGO=$(PV_GGO) \ + -DV_GNAT=$(V_GNAT) -DPV_GNAT=$(PV_GNAT) \ + -DV_GCJ=$(V_GCJ) -DPV_GCJ=$(PV_GCJ) \ + -DV_GIJ=$(V_GIJ) -DPV_GIJ=$(PV_GIJ) \ + -DV_GDC=$(V_GDC) -DPV_GDC=$(PV_GDC) \ + $(if $(filter yes,$(with_gfdl_docs)), -DGFDL) \ + debian/README.Debian.m4 > debian/README.Debian.tmp2 + uniq debian/README.Debian.tmp2 > debian/README.Debian.tmp + rm -f debian/README.Debian.tmp2 + [ -e debian/README.Debian ] \ + && cmp -s debian/README.Debian debian/README.Debian.tmp \ + && rm -f debian/README.Debian.tmp && exit 0; \ + mv debian/README.Debian.tmp debian/README.Debian + +substvars: substvars-native $(foreach a,$(CROSS_ARCHS),substvars.$(a)) +substvars-native: + ( \ + echo 'version:cpp=$(EPOCH):$(CV_CPP)'; \ + echo 'version:gcc=$(EPOCH):$(CV_GCC)'; \ + echo 'version:gpp=$(EPOCH):$(CV_GPP)'; \ + echo 'version:gobjc=$(EPOCH):$(CV_GOBJC)'; \ + echo 'version:gobjcxx=$(EPOCH):$(CV_GOBJCXX)'; \ + echo 'version:gij=$(EPOCH):$(CV_GIJ)'; \ + echo 'version:gcj=$(EPOCH):$(CV_GCJ)'; \ + echo 'version:gfort=$(EPOCH):$(CV_GFORT)'; \ + echo 'version:ggo=$(EPOCH):$(CV_GGO)'; \ + echo 'version:gnat=$(EPOCH):$(CV_GNAT)'; \ + echo 'version:gdc=$(CV_GDC)'; \ + echo 'version:libgcjcommon=$(CV_LIBGCJCOMMON)'; \ + echo 'pv:cpp=$(PV_CPP)'; \ + echo 'pv:gcc=$(PV_GCC)'; \ + echo 'pv:gpp=$(PV_GPP)'; \ + echo 'pv:gobjc=$(PV_GOBJC)'; \ + echo 'pv:gobjcxx=$(PV_GOBJCXX)'; \ + echo 'pv:gfort=$(PV_GFORT)'; \ + echo 'pv:ggo=$(PV_GGO)'; \ + echo 'pv:gnat=$(PV_GNAT)'; \ + echo 'pv:gcj=$(PV_GCJ)'; \ + echo 'pv:gij=$(PV_GIJ)'; \ + echo 'pv:gdc=$(PV_GDC)'; \ + echo 'reqv:cpp=$(REQV_CPP)'; \ + echo 'reqv:gcc=$(REQV_GCC)'; \ + echo 'reqv:gpp=$(REQV_GPP)'; \ + echo 'reqv:gobjc=$(REQV_GOBJC)'; \ + echo 'reqv:gobjcxx=$(REQV_GOBJCXX)'; \ + echo 'reqv:gfort=$(REQV_GFORT)'; \ + echo 'reqv:ggo=$(REQV_GGO)'; \ + echo 'reqv:gnat=$(REQV_GNAT)'; \ + echo 'reqv:gcj=$(REQV_GCJ)'; \ + echo 'reqv:gij=$(REQV_GIJ)'; \ + echo 'reqv:gdc=$(REQV_GDC)'; \ + echo 'pkg:libgcj=$(LIBGCJ)'; \ + echo 'pkg:libgcjawt=$(LIBGCJ)-awt'; \ + echo 'version:libgcjbc=$(CV_LIBGCJBC)'; \ + ) > debian/substvars.native +ifeq ($(with_multilib),yes) + ( \ + echo 'pkgmulti:gcc=gcc-multilib'; \ + echo 'pkgmulti:gpp=g++-multilib'; \ + echo 'pkgmulti:gobjc=gobjc-multilib'; \ + echo 'pkgmulti:gobjcxx=gobjc++-multilib'; \ + echo 'pkgmulti:gfort=gfortran-multilib'; \ + echo 'pkgmulti:ggo=gccgo-multilib'; \ + echo 'pkgmulti:gdc=gdc-multilib'; \ + ) >> debian/substvars.native +endif + ( \ + echo 'dep:jrehl=gcj-$${pv:gij}-jre-headless $${reqv:gij}'; \ + echo 'dep:jre=gcj-$${pv:gij}-jre $${reqv:gij}'; \ + echo 'dep:jdk=gcj-$${pv:gcj}-jdk $${reqv:gcj}'; \ + echo 'pkg:gjdoc=gjdoc'; \ + echo 'ver:gcjconflict=4:4.4.0-2'; \ + ) >> debian/substvars.native +ifneq (,$(MOD_VER)) + echo 'fortran:mod-version=$(MOD_VER)' >> debian/substvars.native +endif +ifneq (,$(filter $(DEB_HOST_ARCH),$(phobos_archs))) + echo 'dep:libgphobos=libgphobos-dev (= $${version:gdc})' >> debian/substvars.native +endif + +substvars.%: + ( \ + echo 'version:cpp=$(EPOCH):$(CV_CPP_$(CROSS_ARCH))'; \ + echo 'version:gcc=$(EPOCH):$(CV_GCC_$(CROSS_ARCH))'; \ + echo 'version:gpp=$(EPOCH):$(CV_GPP_$(CROSS_ARCH))'; \ + echo 'version:gobjc=$(EPOCH):$(CV_GOBJC_$(CROSS_ARCH))'; \ + echo 'version:gobjcxx=$(EPOCH):$(CV_GOBJCXX_$(CROSS_ARCH))'; \ + echo 'version:gcj=$(EPOCH):$(CV_GCJ_$(CROSS_ARCH))'; \ + echo 'version:gfort=$(EPOCH):$(CV_GFORT_$(CROSS_ARCH))'; \ + echo 'version:ggo=$(EPOCH):$(CV_GGO_$(CROSS_ARCH))'; \ + echo 'version:gdc=$(CV_GDC_$(CROSS_ARCH))'; \ + echo 'pv:cpp=$(PV_CPP_$(CROSS_ARCH))'; \ + echo 'pv:gcc=$(PV_GCC_$(CROSS_ARCH))'; \ + echo 'pv:gpp=$(PV_GPP_$(CROSS_ARCH))'; \ + echo 'pv:gobjc=$(PV_GOBJC_$(CROSS_ARCH))'; \ + echo 'pv:gobjcxx=$(PV_GOBJCXX_$(CROSS_ARCH))'; \ + echo 'pv:gfort=$(PV_GFORT_$(CROSS_ARCH))'; \ + echo 'pv:ggo=$(PV_GGO_$(CROSS_ARCH))'; \ + echo 'pv:gcj=$(PV_GCJ_$(CROSS_ARCH))'; \ + echo 'pv:gdc=$(PV_GDC_$(CROSS_ARCH))'; \ + echo 'reqv:cpp=$(REQV_CPP_$(CROSS_ARCH))'; \ + echo 'reqv:gcc=$(REQV_GCC_$(CROSS_ARCH))'; \ + echo 'reqv:gpp=$(REQV_GPP_$(CROSS_ARCH))'; \ + echo 'reqv:gobjc=$(REQV_GOBJC_$(CROSS_ARCH))'; \ + echo 'reqv:gobjcxx=$(REQV_GOBJCXX_$(CROSS_ARCH))'; \ + echo 'reqv:gfort=$(REQV_GFORT_$(CROSS_ARCH))'; \ + echo 'reqv:ggo=$(REQV_GGO_$(CROSS_ARCH))'; \ + echo 'reqv:gcj=$(REQV_GCJ_$(CROSS_ARCH))'; \ + echo 'reqv:gdc=$(REQV_GDC_$(CROSS_ARCH))'; \ + ) > debian/substvars.$* + $(if $(filter $(CROSS_ARCH),$(multilib_archs)), \ + ( \ + echo 'pkgmulti:gcc=gcc-multilib'; \ + echo 'pkgmulti:gpp=g++-multilib'; \ + echo 'pkgmulti:gobjc=gobjc-multilib'; \ + echo 'pkgmulti:gobjcxx=gobjc++-multilib'; \ + echo 'pkgmulti:gfort=gfortran-multilib'; \ + echo 'pkgmulti:ggo=gccgo-multilib'; \ + echo 'pkgmulti:gdc=gdc-multilib'; \ + ) >> debian/substvars.$*; \ + ) + ( \ + echo 'dep:gcj=gcj-$${pv:gcj} $${reqv:gcj}'; \ + ) >> debian/substvars.$* +ifneq (,$(MOD_VER)) + echo 'fortran:mod-version=$(MOD_VER)' >> debian/substvars.$* +endif + $(if $(filter $(CROSS_ARCH),$(phobos_archs)), \ + echo 'dep:libgphobos=libgphobos-dev (= $${version:gdc})' >> debian/substvars.$* \ + ) + +control: +ifeq ($(with_native),yes) + sed \ + -e "s/@SOURCE@/$(SOURCE)/g" \ + debian/control.source > debian/control + sed \ + -e "s/@multilib_archs@/$(multilib_archs)/g" \ + -e "s/@go_multilib_archs@/$(go_multilib_archs)/g" \ + -e "s/@d_multilib_archs@/$(d_multilib_archs)/g" \ + debian/control.native.in >> debian/control +else + sed \ + -e "s/@SOURCE@/$(SOURCE)/g" debian/control.source \ + | grep -v '^Build-Depends-Indep:' \ + > debian/control +endif +ifeq ($(SOURCE),gcc-defaults) + sed \ + -e "s/@hppa64_archs@/$(hppa64_archs)/g" \ + debian/control.hppa64.in >> debian/control +endif +ifeq ($(with_cross),yes) + : # FIXME: filter-out some gdc and gccgo multilib configs + $(foreach a,$(CROSS_ARCHS), \ + sed \ + -e "s/CROSS_ARCH/$(a)/g" \ + -e 's/CROSS_GNU_TYPE/$(call _gnu_type,$(a))/g' \ + -e 's/@host_archs@/$(HOST_ARCHS_$(a))/g' \ + debian/control.cross.in \ + $(if $(filter $(a),$(multilib_archs)), debian/control.cross-ml.in) \ + $(if $(filter $(vendor),Ubuntu), debian/control.pkg-config.in) \ + | awk '/^Package: gccgo-(hppa|sh)/ {skip=1} skip == 0 {print } /^$$/ && skip == 1 {skip=0}' \ + >> debian/control; \ + ) +endif +ifeq ($(SOURCE)-$(with_gfdl_docs),gcc-defaults-yes) + cat debian/control.doc >> debian/control +endif + +build-arch: build +build-indep: cacerts-stamp build-stamp +build: README build-stamp +build-stamp: + dh_testdir + touch build-stamp + +clean: + dh_testdir + dh_testroot + rm -f *-stamp + rm -rf build + rm -f debian/control.tmp* + rm -f debian/substvars.* + rm -f debian/lib*gcj-bc.shlibs + rm -f debian/gcc.postinst debian/g++.postinst debian/gfortran.postinst + rm -f debian/generate-cacerts.pl + rm -f debian/dh_nativejava.1 + dh_clean + +pre-install: build substvars + dh_testdir + dh_testroot + dh_prep + +install: pre-install install-native $(foreach a,$(CROSS_ARCHS),install.$(a)) + +install-native: pre-install +ifeq ($(with_native),yes) + for p in $(filter-out $(cross_packages), $(shell dh_listpackages)); do \ + cp -l debian/substvars.native debian/$$p.substvars; \ + done + + : # cpp + dh_installdirs -pcpp \ + lib usr/bin \ + usr/share/man/man1 usr/share/man/man7 usr/share/doc/cpp + dh_link -pcpp \ + /usr/bin/cpp-$(PV_CPP) /usr/bin/cpp \ + /usr/bin/cpp-$(PV_CPP) /usr/bin/$(DEB_HOST_GNU_TYPE)-cpp + + ifeq ($(with_gfdl_docs),yes) + for i in gfdl.7 gpl.7 fsf-funding.7; do \ + cp -p $$i debian/cpp/usr/share/man/man7/$${i}gcc; \ + done + dh_link -pcpp \ + /usr/share/man/man1/cpp-$(PV_CPP).1.gz /usr/share/man/man1/cpp.1.gz \ + /usr/share/man/man1/cpp-$(PV_CPP).1.gz /usr/share/man/man1/$(DEB_HOST_GNU_TYPE)-cpp.1.gz + + : # cpp-doc + dh_installdirs -pcpp-doc \ + usr/share/doc usr/share/info + dh_link -pcpp-doc \ + /usr/share/doc/gcc-$(PV_CPP)-base/cpp.html /usr/share/doc/cpp-doc/cpp.html \ + /usr/share/doc/gcc-$(PV_CPP)-base/cppinternals.html /usr/share/doc/cpp-doc/cppinternals.html \ + /usr/share/info/cpp-$(PV_CPP).info.gz /usr/share/info/cpp.info.gz \ + /usr/share/info/cppinternals-$(PV_CPP).info.gz /usr/share/info/cppinternals.info.gz + endif + + : # gcc + dh_installdirs -pgcc usr/bin usr/share/man/man1 usr/share/doc + dh_link -pgcc \ + /usr/share/doc/cpp /usr/share/doc/gcc \ + /usr/bin/gcc-$(PV_GCC) /usr/bin/gcc \ + /usr/bin/gcc-$(PV_GCC) /usr/bin/$(DEB_HOST_GNU_TYPE)-gcc \ + /usr/bin/gcov-$(PV_GCC) /usr/bin/gcov \ + /usr/bin/gcov-$(PV_GCC) /usr/bin/$(DEB_HOST_GNU_TYPE)-gcov \ + /usr/share/doc/gcc-$(PV_GCC)/README.Bugs /usr/share/doc/cpp/README.Bugs \ + $(if $(filter $(DEB_HOST_ARCH), $(gcc49_archs)),, \ + /usr/bin/gcov-dump-$(PV_GCC) /usr/bin/gcov-dump \ + /usr/bin/gcov-dump-$(PV_GCC) /usr/bin/$(DEB_HOST_GNU_TYPE)-gcov-dump \ + /usr/bin/gcov-tool-$(PV_GCC) /usr/bin/gcov-tool \ + /usr/bin/gcov-tool-$(PV_GCC) /usr/bin/$(DEB_HOST_GNU_TYPE)-gcov-tool \ + ) + dh_link -pgcc \ + /usr/bin/gcc-ar-$(PV_GCC) /usr/bin/gcc-ar \ + /usr/bin/gcc-nm-$(PV_GCC) /usr/bin/gcc-nm \ + /usr/bin/gcc-ranlib-$(PV_GCC) /usr/bin/gcc-ranlib \ + /usr/bin/gcc-ar-$(PV_GCC) /usr/bin/$(DEB_HOST_GNU_TYPE)-gcc-ar \ + /usr/bin/gcc-nm-$(PV_GCC) /usr/bin/$(DEB_HOST_GNU_TYPE)-gcc-nm \ + /usr/bin/gcc-ranlib-$(PV_GCC) /usr/bin/$(DEB_HOST_GNU_TYPE)-gcc-ranlib \ + /usr/share/man/man1/gcc-ar-$(PV_GCC).1.gz /usr/share/man/man1/gcc-ar.1.gz \ + /usr/share/man/man1/gcc-ar-$(PV_GCC).1.gz /usr/share/man/man1/$(DEB_HOST_GNU_TYPE)-gcc-ar.1.gz \ + /usr/share/man/man1/gcc-nm-$(PV_GCC).1.gz /usr/share/man/man1/gcc-nm.1.gz \ + /usr/share/man/man1/gcc-nm-$(PV_GCC).1.gz /usr/share/man/man1/$(DEB_HOST_GNU_TYPE)-gcc-nm.1.gz \ + /usr/share/man/man1/gcc-ranlib-$(PV_GCC).1.gz /usr/share/man/man1/gcc-ranlib.1.gz \ + /usr/share/man/man1/gcc-ranlib-$(PV_GCC).1.gz /usr/share/man/man1/$(DEB_HOST_GNU_TYPE)-gcc-ranlib.1.gz + install -m 755 -p c89 debian/gcc/usr/bin/c89-gcc + install -m 644 -p c89.1 debian/gcc/usr/share/man/man1/c89-gcc.1 + install -m 755 -p c99 debian/gcc/usr/bin/c99-gcc + install -m 644 -p c99.1 debian/gcc/usr/share/man/man1/c99-gcc.1 + sed 's/@VER@/$(PV_GCC)/g' c99.1 > debian/gcc/usr/share/man/man1/c99-gcc.1 + + sed -e 's/@GFDL@/$(if $(filter-out yes,$(with_gfdl_docs)),\#)/g' \ + debian/gcc.postinst.in > debian/gcc.postinst + + ifeq ($(with_gfdl_docs),yes) + dh_link -pgcc \ + /usr/share/man/man1/gcc-$(PV_GCC).1.gz /usr/share/man/man1/gcc.1.gz \ + /usr/share/man/man1/gcc-$(PV_GCC).1.gz /usr/share/man/man1/$(DEB_HOST_GNU_TYPE)-gcc.1.gz \ + /usr/share/man/man1/gcov-$(PV_GCC).1.gz /usr/share/man/man1/gcov.1.gz \ + /usr/share/man/man1/gcov-$(PV_GCC).1.gz /usr/share/man/man1/$(DEB_HOST_GNU_TYPE)-gcov.1.gz \ + $(if $(filter $(DEB_HOST_ARCH), $(gcc49_archs)),, \ + /usr/share/man/man1/gcov-tool-$(PV_GCC).1.gz /usr/share/man/man1/gcov-tool.1.gz \ + /usr/share/man/man1/gcov-tool-$(PV_GCC).1.gz /usr/share/man/man1/$(DEB_HOST_GNU_TYPE)-gcov-tool.1.gz \ + /usr/share/man/man1/gcov-dump-$(PV_GCC).1.gz /usr/share/man/man1/gcov-dump.1.gz \ + /usr/share/man/man1/gcov-dump-$(PV_GCC).1.gz /usr/share/man/man1/$(DEB_HOST_GNU_TYPE)-gcov-dump.1.gz \ + ) + : # gcc-doc + dh_installdirs -pgcc-doc \ + usr/share/doc usr/share/info + dh_link -pgcc-doc \ + /usr/share/doc/gcc-$(PV_GCC)-base/gcc.html /usr/share/doc/gcc-doc/gcc.html \ + /usr/share/doc/gcc-$(PV_GCC)-base/gccint.html /usr/share/doc/gcc-doc/gccint.html \ + /usr/share/doc/gcc-$(PV_GCC)-base/libgomp.html /usr/share/doc/gcc-doc/libgomp.html \ + /usr/share/info/gcc-$(PV_GCC).info.gz /usr/share/info/gcc.info.gz \ + /usr/share/info/gccint-$(PV_GCC).info.gz /usr/share/info/gccint.info.gz \ + /usr/share/info/libgomp-$(PV_GCC).info.gz /usr/share/info/libgomp.info.gz + endif + +ifeq ($(with_multiarch_lib),yes) + ifeq ($(with_multilib),yes) + : # gcc-multilib + # multilib needs to provide a compat symlink pointing to the asm + # header directory of the primary architecture, since we may not + # have separate asm headers installed for our non-default targets. + dh_link -pgcc-multilib \ + /usr/include/$(DEB_HOST_MULTIARCH)/asm /usr/include/asm + endif +endif + +ifneq (,$(filter gdc, $(packages))) + : # gdc + dh_installdirs -pgdc + dh_installdocs -pgdc debian/README.Debian + + dh_link -pgdc \ + /usr/bin/gdc-$(PV_GDC) /usr/bin/gdc \ + /usr/bin/gdc-$(PV_GDC) /usr/bin/$(DEB_HOST_GNU_TYPE)-gdc + dh_link -pgdc \ + /usr/share/man/man1/gdc-$(PV_GDC).1.gz /usr/share/man/man1/gdc.1.gz \ + /usr/share/man/man1/gdc-$(PV_GDC).1.gz /usr/share/man/man1/$(DEB_HOST_GNU_TYPE)-gdc.1.gz + + ifneq (,$(filter libgphobos-dev, $(packages))) + : # gdc + dh_installdirs -plibgphobos-dev + dh_installdocs -plibgphobos-dev + endif +endif + +ifneq (,$(filter gobjc, $(packages))) + : # gobjc + dh_installdirs -pgobjc + dh_link -pgobjc \ + /usr/share/doc/cpp /usr/share/doc/gobjc +endif + +ifneq (,$(filter gobjc++, $(packages))) + : # gobjc++ + dh_installdirs -pgobjc++ + dh_link -pgobjc++ \ + /usr/share/doc/cpp /usr/share/doc/gobjc++ +endif + +ifneq (,$(filter g++, $(packages))) + : # g++ + dh_installdirs -pg++ + dh_link -pg++ \ + /usr/share/doc/cpp /usr/share/doc/g++ \ + /usr/bin/g++-$(PV_GPP) /usr/bin/g++ \ + /usr/bin/g++-$(PV_GPP) /usr/bin/$(DEB_HOST_GNU_TYPE)-g++ \ + $(if $(filter yes, $(with_gfdl_docs)), \ + /usr/share/man/man1/g++-$(PV_GPP).1.gz /usr/share/man/man1/g++.1.gz \ + /usr/share/man/man1/g++-$(PV_GPP).1.gz /usr/share/man/man1/$(DEB_HOST_GNU_TYPE)-g++.1.gz \ + ) + sed -e 's/@GFDL@/$(if $(filter-out yes,$(with_gfdl_docs)),\#)/g' \ + debian/g++.postinst.in > debian/g++.postinst +endif + +ifneq (,$(filter gfortran, $(packages))) + : # gfortran + dh_installdirs -pgfortran usr/bin /usr/share/man/man1 usr/share/doc + dh_link -pgfortran \ + /usr/share/doc/cpp /usr/share/doc/gfortran \ + /usr/bin/gfortran-$(PV_GFORT) /usr/bin/gfortran \ + /usr/bin/gfortran-$(PV_GFORT) /usr/bin/$(DEB_HOST_GNU_TYPE)-gfortran \ + $(if $(filter yes, $(with_gfdl_docs)), \ + /usr/share/man/man1/gfortran-$(PV_GFORT).1.gz /usr/share/man/man1/gfortran.1.gz \ + /usr/share/man/man1/gfortran-$(PV_GFORT).1.gz /usr/share/man/man1/$(DEB_HOST_GNU_TYPE)-gfortran.1.gz \ + ) + + ifeq ($(with_gfdl_docs),yes) + : # gfortran-doc + dh_installdirs -pgfortran-doc \ + usr/share/doc usr/share/info + dh_link -pgfortran-doc \ + /usr/share/doc/gcc-$(PV_GFORT)-base/fortran/gfortran.html \ + /usr/share/doc/gfortran-doc/fortran/gfortran.html \ + /usr/share/info/gfortran-$(PV_GFORT).info.gz /usr/share/info/gfortran.info.gz + endif + sed -e 's/@GFDL@/$(if $(filter-out yes,$(with_gfdl_docs)),\#)/g' \ + debian/gfortran.postinst.in > debian/gfortran.postinst +endif + +ifneq (,$(filter gccgo, $(packages))) + : # Go + dh_installdirs -pgccgo usr/share/doc + dh_link -pgccgo \ + /usr/share/doc/cpp /usr/share/doc/gccgo \ + /usr/bin/gccgo-$(PV_GGO) /usr/bin/gccgo \ + /usr/bin/gccgo-$(PV_GGO) /usr/bin/$(DEB_HOST_GNU_TYPE)-gccgo \ + $(if $(filter yes, $(with_gfdl_docs)), \ + /usr/share/man/man1/gccgo-$(PV_GGO).1.gz /usr/share/man/man1/gccgo.1.gz \ + /usr/share/man/man1/gccgo-$(PV_GGO).1.gz /usr/share/man/man1/$(DEB_HOST_GNU_TYPE)-gccgo.1.gz \ + ) + + ifeq ($(with_gfdl_docs),yes) + : # gccgo-doc + dh_installdirs -pgccgo-doc \ + usr/share/doc usr/share/info + dh_link -pgccgo-doc \ + /usr/share/doc/gcc-$(PV_GGO)-base/gccgo.html /usr/share/doc/gccgo-doc/gccgo.html \ + /usr/share/info/gccgo-$(PV_GGO).info.gz /usr/share/info/gccgo.info.gz + endif +endif + +ifneq (,$(filter gcj-jdk, $(packages))) + : # gcj-jre-headless + dh_installdirs -pgcj-jre-headless usr/bin /usr/share/man/man1 usr/share/doc + dh_link -pgcj-jre-headless \ + /usr/share/doc/libgcj-common /usr/share/doc/gcj-jre-headless \ + /usr/bin/gij-$(PV_GIJ) /usr/bin/gij \ + /usr/bin/gcj-dbtool-$(PV_GIJ) /usr/bin/gcj-dbtool \ + /usr/bin/gkeytool-$(PV_GIJ) /usr/bin/gkeytool \ + /usr/bin/gorbd-$(PV_GIJ) /usr/bin/gorbd \ + /usr/bin/grmid-$(PV_GIJ) /usr/bin/grmid \ + /usr/bin/grmiregistry-$(PV_GIJ) /usr/bin/grmiregistry \ + + : # gcj-jdk + dh_installdirs -pgcj-jdk usr/bin /usr/share/man/man1 usr/share/doc + dh_link -pgcj-jdk \ + /usr/share/doc/cpp /usr/share/doc/gcj-jdk \ + /usr/bin/gjavah-$(PV_GCJ) /usr/bin/gjavah \ + /usr/bin/gcj-$(PV_GCJ) /usr/bin/gcj \ + /usr/bin/gcj-$(PV_GCJ) /usr/bin/$(DEB_HOST_GNU_TYPE)-gcj \ + /usr/bin/gcjh-$(PV_GCJ) /usr/bin/gcjh \ + /usr/bin/gjar-$(PV_GCJ) /usr/bin/gjar \ + /usr/bin/gjarsigner-$(PV_GCJ) /usr/bin/gjarsigner \ + /usr/bin/grmic-$(PV_GCJ) /usr/bin/grmic \ + /usr/bin/jv-convert-$(PV_GCJ) /usr/bin/jv-convert \ + /usr/bin/jcf-dump-$(PV_GCJ) /usr/bin/jcf-dump \ + /usr/bin/gcj-wrapper-$(PV_GCJ) /usr/bin/gcj-wrapper \ + /usr/bin/gtnameserv-$(PV_GCJ) /usr/bin/gtnameserv \ + /usr/bin/gappletviewer-$(PV_GCJ) /usr/bin/gappletviewer \ + /usr/bin/gserialver-$(PV_GIJ) /usr/bin/gserialver \ + /usr/share/java/libgcj-$(PV_GCJ).jar /usr/share/java/libgcj.jar +ifeq ($(with_multiarch_lib),yes) + dh_link -pgcj-jdk \ + /usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig/$(LIBGCJ_PC) \ + /usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig/libgcj.pc +else + dh_link -pgcj-jdk \ + /usr/lib/pkgconfig/$(LIBGCJ_PC) /usr/lib/pkgconfig/libgcj.pc +endif + + dh_link -pgcj-jre-headless \ + /usr/share/man/man1/gkeytool-$(PV_GIJ).1.gz /usr/share/man/man1/gkeytool.1.gz \ + /usr/share/man/man1/gorbd-$(PV_GIJ).1.gz /usr/share/man/man1/gorbd.1.gz \ + /usr/share/man/man1/grmid-$(PV_GIJ).1.gz /usr/share/man/man1/grmid.1.gz \ + /usr/share/man/man1/grmiregistry-$(PV_GIJ).1.gz /usr/share/man/man1/grmiregistry.1.gz + + dh_link -pgcj-jdk \ + /usr/share/man/man1/gjar-$(PV_GCJ).1.gz /usr/share/man/man1/gjar.1.gz \ + /usr/share/man/man1/gjarsigner-$(PV_GCJ).1.gz /usr/share/man/man1/gjarsigner.1.gz \ + /usr/share/man/man1/gjavah-$(PV_GCJ).1.gz /usr/share/man/man1/gjavah.1.gz \ + /usr/share/man/man1/gnative2ascii-$(PV_GIJ).1.gz /usr/share/man/man1/gnative2ascii.1.gz \ + /usr/share/man/man1/gtnameserv-$(PV_GCJ).1.gz /usr/share/man/man1/gtnameserv.1.gz \ + /usr/share/man/man1/gappletviewer-$(PV_GCJ).1.gz /usr/share/man/man1/gappletviewer.1.gz \ + /usr/share/man/man1/gserialver-$(PV_GIJ).1.gz /usr/share/man/man1/gserialver.1.gz + + ifeq ($(with_gfdl_docs),yes) + dh_link -pgcj-jre-headless \ + /usr/share/man/man1/gij-$(PV_GIJ).1.gz /usr/share/man/man1/gij.1.gz \ + /usr/share/man/man1/gcj-dbtool-$(PV_GIJ).1.gz /usr/share/man/man1/gcj-dbtool.1.gz + dh_link -pgcj-jdk \ + /usr/share/man/man1/gcj-$(PV_GCJ).1.gz /usr/share/man/man1/gcj.1.gz \ + /usr/share/man/man1/gcj-$(PV_GCJ).1.gz /usr/share/man/man1/$(DEB_HOST_GNU_TYPE)-gcj.1.gz \ + /usr/share/man/man1/gcjh-$(PV_GCJ).1.gz /usr/share/man/man1/gcjh.1.gz \ + /usr/share/man/man1/grmic-$(PV_GCJ).1.gz /usr/share/man/man1/grmic.1.gz \ + /usr/share/man/man1/jv-convert-$(PV_GCJ).1.gz /usr/share/man/man1/jv-convert.1.gz \ + /usr/share/man/man1/jcf-dump-$(PV_GCJ).1.gz /usr/share/man/man1/jcf-dump.1.gz \ + /usr/share/man/man1/gcj-wrapper-$(PV_GCJ).1.gz /usr/share/man/man1/gcj-wrapper.1.gz \ + /usr/share/info/gcj-$(PV_GCJ).info.gz /usr/share/info/gcj.info.gz + endif + + dh_link -pgcj-jdk \ + /usr/bin/gjdoc-$(PV_GCJ) /usr/bin/gjdoc \ + /usr/share/man/man1/gjdoc-$(PV_GCJ).1.gz /usr/share/man/man1/gjdoc.1.gz + cp -p debian/dh_javadoc debian/gcj-jdk/usr/bin/ + pod2man -c Debhelper -r $(PV_GCJ) \ + debian/dh_javadoc debian/gcj-jdk/usr/share/man/man1/dh_javadoc.1 + + : # libgcj-bc + ifeq ($(with_multiarch_lib),yes) + dh_installdirs -plibgcj-bc \ + usr/lib/$(DEB_HOST_MULTIARCH) usr/share/doc usr/share/lintian/overrides + ln -s libgcj.so.$(LIBGCJ_SONAME) \ + debian/libgcj-bc/usr/lib/$(DEB_HOST_MULTIARCH)/libgcj_bc.so.1 + else + dh_installdirs -plibgcj-bc \ + usr/lib usr/share/doc usr/share/lintian/overrides + ln -s libgcj.so.$(LIBGCJ_SONAME) \ + debian/libgcj-bc/usr/lib/libgcj_bc.so.1 + endif + dh_link -plibgcj-bc \ + /usr/share/doc/libgcj-common /usr/share/doc/libgcj-bc + + mkdir -p debian/libgcj-bc/usr/share/lintian/overrides + cp -p debian/libgcj-bc.overrides \ + debian/libgcj-bc/usr/share/lintian/overrides/libgcj-bc + + echo "libgcj_bc 1 libgcj-bc $(REQV_LIBGCJ_BC)" \ + > debian/libgcj-bc.shlibs + + : # gcj-jre-headless + dh_installdirs -pgcj-jre-headless \ + usr/share/doc usr/lib/jvm + ln -sf java-1.5.0-gcj-$(PV_GCJ)-$(DEB_HOST_ARCH) \ + debian/gcj-jre-headless/usr/lib/jvm/java-1.5.0-gcj + ln -sf java-gcj-$(PV_GCJ) \ + debian/gcj-jre-headless/usr/lib/jvm/java-gcj +endif + + : # libgcj-common + dh_installdirs -plibgcj-common \ + /usr/bin \ + /usr/sbin \ + /etc/java/security/security.d \ + /usr/lib/security \ + /var/lib/security \ + /usr/share/gcj + install -m644 classpath.security debian/libgcj-common/etc/java/security/ + dh_link -plibgcj-common \ + /var/lib/security/classpath.security /usr/lib/security/classpath.security + install -m755 debian/rebuild-gcj-db \ + debian/libgcj-common/usr/bin/ + install -m755 debian/rebuild-security-providers \ + debian/libgcj-common/usr/sbin/ + ( \ + echo "# architectures with gcj support"; \ + echo "gcj_archs = $(gcj_archs)"; \ + echo "# architectures which should provide gcj native support"; \ + echo "gcj_native_archs = $(gcj_native_archs)" \ + ) > debian/libgcj-common/usr/share/gcj/debian_defaults + + : # GNU security provider + for i in \ + 1000-gnu.java.security.provider.Gnu \ + 1001-gnu.javax.crypto.jce.GnuCrypto \ + 1002-gnu.javax.crypto.jce.GnuSasl \ + 1003-gnu.javax.net.ssl.provider.Jessie \ + 1004-gnu.javax.security.auth.callback.GnuCallbacks; \ + do \ + touch debian/libgcj-common/etc/java/security/security.d/$$i; \ + done + + : # aotcompile & dh_nativejava + + mkdir -p debian/libgcj-common/usr/bin + install -m755 debian/aot-compile debian/libgcj-common/usr/bin/ + mkdir -p debian/libgcj-common/usr/lib/gcc + install -m644 debian/*.py debian/libgcj-common/usr/lib/gcc + + install -m755 debian/dh_nativejava debian/libgcj-common/usr/bin/ + mkdir -p debian/libgcj-common/usr/share/debhelper/autoscripts + install -m 644 debian/p*-rebuild-gcj-db \ + debian/libgcj-common/usr/share/debhelper/autoscripts/ + pod2man -c Debhelper debian/dh_nativejava debian/dh_nativejava.1 + mkdir -p debian/libgcj-common/usr/share/man/man1 + install -m644 debian/dh_nativejava.1 debian/libgcj-common/usr/share/man/man1/ + +ifneq (,$(filter gcc-hppa64-linux-gnu, $(packages))) + : # gcc-hppa64-linux-gnu + dh_installdirs -pgcc-hppa64-linux-gnu + dh_link -pgcc-hppa64-linux-gnu \ + /usr/bin/hppa64-linux-gnu-gcc-$(PV_GCC) /usr/bin/hppa64-linux-gnu-gcc \ + /usr/bin/hppa64-linux-gnu-gcc-ar-$(PV_GCC) /usr/bin/hppa64-linux-gnu-gcc-ar \ + /usr/bin/hppa64-linux-gnu-gcc-nm-$(PV_GCC) /usr/bin/hppa64-linux-gnu-gcc-nm \ + /usr/bin/hppa64-linux-gnu-gcc-ranlib-$(PV_GCC) /usr/bin/hppa64-linux-gnu-gcc-ranlib \ + /usr/share/man/man1/hppa64-linux-gnu-gcc-ar-$(PV_GCC).1.gz /usr/share/man/man1/hppa64-linux-gnu-gcc-ar.1.gz \ + /usr/share/man/man1/hppa64-linux-gnu-gcc-nm-$(PV_GCC).1.gz /usr/share/man/man1/hppa64-linux-gnu-gcc-nm.1.gz \ + /usr/share/man/man1/hppa64-linux-gnu-gcc-ranlib-$(PV_GCC).1.gz /usr/share/man/man1/hppa64-linux-gnu-gcc-ranlib.1.gz \ + $(if $(filter yes, $(with_gfdl_docs)), \ + /usr/share/man/man1/hppa64-linux-gnu-gcc-$(PV_GCC).1.gz /usr/share/man/man1/hppa64-linux-gnu-gcc.1.gz \ + ) +endif + + ifeq ($(i586_symlinks),yes) + cd debian; \ + for x in $$(find $(filter-out $(cross_packages), $(all_packages)) -type l -name 'i686-*'); do \ + link=$$(echo $$x | sed 's/i686-/i586-/'); \ + tgt=$$(basename $$x); \ + echo "Adding symlink: $$link -> $$tgt"; \ + rm -f $$link; cp -a $$x $$link; \ + done + endif +endif # with_native + +install.%: pre-install + for p in $(filter %-$(CROSS_GNU_TYPE), $(all_packages)); do \ + cp -l debian/substvars.$(CROSS_ARCH) debian/$$p.substvars; \ + done + + : # cpp-$(CROSS_GNU_TYPE) + dh_installdirs -pcpp-$(CROSS_GNU_TYPE) + dh_link -pcpp-$(CROSS_GNU_TYPE) \ + /usr/bin/$(CROSS_GNU_TYPE)-cpp-$(PV_CPP_$(CROSS_ARCH)) /usr/bin/$(CROSS_GNU_TYPE)-cpp + + $(if $(filter yes, $(with_gfdl_docs)), \ + dh_link -pcpp-$(CROSS_GNU_TYPE) \ + /usr/share/man/man1/$(CROSS_GNU_TYPE)-cpp-$(PV_CPP_$(CROSS_ARCH)).1.gz /usr/share/man/man1/$(CROSS_GNU_TYPE)-cpp.1.gz \ + ) + + : # gcc-$(CROSS_GNU_TYPE) + dh_installdirs -pgcc-$(CROSS_GNU_TYPE) + dh_link -pgcc-$(CROSS_GNU_TYPE) \ + /usr/share/doc/cpp-$(CROSS_GNU_TYPE) /usr/share/doc/gcc-$(CROSS_GNU_TYPE) \ + /usr/bin/$(CROSS_GNU_TYPE)-gcc-$(PV_GCC_$(CROSS_ARCH)) /usr/bin/$(CROSS_GNU_TYPE)-gcc \ + /usr/bin/$(CROSS_GNU_TYPE)-gcov-$(PV_GCC_$(CROSS_ARCH)) /usr/bin/$(CROSS_GNU_TYPE)-gcov \ + /usr/share/doc/gcc-$(PV_GCC_$(CROSS_ARCH))-base/README.Bugs /usr/share/doc/cpp-$(CROSS_GNU_TYPE)/README.Bugs \ + $(if $(filter $(CROSS_ARCH), $(gcc49_archs)),, \ + /usr/bin/$(CROSS_GNU_TYPE)-gcov-dump-$(PV_GCC_$(CROSS_ARCH)) /usr/bin/$(CROSS_GNU_TYPE)-gcov-dump \ + /usr/bin/$(CROSS_GNU_TYPE)-gcov-tool-$(PV_GCC_$(CROSS_ARCH)) /usr/bin/$(CROSS_GNU_TYPE)-gcov-tool \ + ) + dh_link -pgcc-$(CROSS_GNU_TYPE) \ + /usr/bin/$(CROSS_GNU_TYPE)-gcc-ar-$(PV_GCC_$(CROSS_ARCH)) /usr/bin/$(CROSS_GNU_TYPE)-gcc-ar \ + /usr/bin/$(CROSS_GNU_TYPE)-gcc-nm-$(PV_GCC_$(CROSS_ARCH)) /usr/bin/$(CROSS_GNU_TYPE)-gcc-nm \ + /usr/bin/$(CROSS_GNU_TYPE)-gcc-ranlib-$(PV_GCC_$(CROSS_ARCH)) /usr/bin/$(CROSS_GNU_TYPE)-gcc-ranlib \ + /usr/share/man/man1/$(CROSS_GNU_TYPE)-gcc-ar-$(PV_GCC_$(CROSS_ARCH)).1.gz /usr/share/man/man1/$(CROSS_GNU_TYPE)-gcc-ar.1.gz \ + /usr/share/man/man1/$(CROSS_GNU_TYPE)-gcc-nm-$(PV_GCC_$(CROSS_ARCH)).1.gz /usr/share/man/man1/$(CROSS_GNU_TYPE)-gcc-nm.1.gz \ + /usr/share/man/man1/$(CROSS_GNU_TYPE)-gcc-ranlib-$(PV_GCC_$(CROSS_ARCH)).1.gz /usr/share/man/man1/$(CROSS_GNU_TYPE)-gcc-ranlib.1.gz + : # install -m 755 -p c89 debian/gcc/usr/bin/c89-gcc + : # install -m 644 -p c89.1 debian/gcc/usr/share/man/man1/c89-gcc.1 + : # install -m 755 -p c99 debian/gcc/usr/bin/c99-gcc + : # install -m 644 -p c99.1 debian/gcc/usr/share/man/man1/c99-gcc.1 + : # sed 's/@VER@/$(PV_GCC)/g' c99.1 > debian/gcc/usr/share/man/man1/c99-gcc.1 + + : # sed -e 's/@GFDL@/$(if $(filter-out yes,$(with_gfdl_docs)),\#)/g' \ + : # debian/gcc.postinst.in > debian/gcc.postinst + + $(if $(filter yes, $(with_gfdl_docs)), \ + dh_link -pgcc-$(CROSS_GNU_TYPE) \ + /usr/share/man/man1/$(CROSS_GNU_TYPE)-gcc-$(PV_GCC_$(CROSS_ARCH)).1.gz /usr/share/man/man1/$(CROSS_GNU_TYPE)-gcc.1.gz \ + /usr/share/man/man1/$(CROSS_GNU_TYPE)-gcov-$(PV_GCC_$(CROSS_ARCH)).1.gz /usr/share/man/man1/$(CROSS_GNU_TYPE)-gcov.1.gz \ + $(if $(filter $(CROSS_ARCH), $(gcc49_archs)),, \ + /usr/share/man/man1/$(CROSS_GNU_TYPE)-gcov-tool-$(PV_GCC_$(CROSS_ARCH)).1.gz \ + /usr/share/man/man1/$(CROSS_GNU_TYPE)-gcov-tool.1.gz \ + /usr/share/man/man1/$(CROSS_GNU_TYPE)-gcov-dump-$(PV_GCC_$(CROSS_ARCH)).1.gz \ + /usr/share/man/man1/$(CROSS_GNU_TYPE)-gcov-dump.1.gz) \ + ) + + : # gdc-$(CROSS_GNU_TYPE) + $(if $(filter gdc-$(CROSS_GNU_TYPE), $(packages)), \ + dh_installdirs -pgdc-$(CROSS_GNU_TYPE); \ + dh_installdocs -pgdc-$(CROSS_GNU_TYPE) \ + debian/README.Debian; \ + dh_link -pgdc-$(CROSS_GNU_TYPE) \ + /usr/bin/$(CROSS_GNU_TYPE)-gdc-$(PV_GDC_$(CROSS_ARCH)) /usr/bin/$(CROSS_GNU_TYPE)-gdc \ + /usr/share/man/man1/$(CROSS_GNU_TYPE)-gdc-$(PV_GDC_$(CROSS_ARCH)).1.gz /usr/share/man/man1/$(CROSS_GNU_TYPE)-gdc.1.gz; \ + ) + + : # gobjc-$(CROSS_GNU_TYPE) + $(if $(filter gobjc-$(CROSS_GNU_TYPE), $(packages)), \ + dh_installdirs -pgobjc-$(CROSS_GNU_TYPE); \ + dh_link -pgobjc-$(CROSS_GNU_TYPE) \ + /usr/share/doc/cpp-$(CROSS_GNU_TYPE) /usr/share/doc/gobjc-$(CROSS_GNU_TYPE); \ + ) + + : # gobjc++-$(CROSS_GNU_TYPE) + $(if $(filter gobjc++-$(CROSS_GNU_TYPE), $(packages)), \ + dh_installdirs -pgobjc++-$(CROSS_GNU_TYPE); \ + dh_link -pgobjc++-$(CROSS_GNU_TYPE) \ + /usr/share/doc/cpp-$(CROSS_GNU_TYPE) /usr/share/doc/gobjc++-$(CROSS_GNU_TYPE); \ + ) + + : # g++-$(CROSS_GNU_TYPE) + $(if $(filter g++-$(CROSS_GNU_TYPE), $(packages)), \ + dh_installdirs -pg++-$(CROSS_GNU_TYPE); \ + dh_link -pg++-$(CROSS_GNU_TYPE) \ + /usr/share/doc/cpp-$(CROSS_GNU_TYPE) /usr/share/doc/g++-$(CROSS_GNU_TYPE) \ + /usr/bin/$(CROSS_GNU_TYPE)-g++-$(PV_GPP_$(CROSS_ARCH)) /usr/bin/$(CROSS_GNU_TYPE)-g++ \ + $(if $(filter yes, $(with_gfdl_docs)), \ + /usr/share/man/man1/$(CROSS_GNU_TYPE)-g++-$(PV_GPP_$(CROSS_ARCH)).1.gz /usr/share/man/man1/$(CROSS_GNU_TYPE)-g++.1.gz \ + ); \ + : # sed -e 's/@GFDL@/$(if $(filter-out yes,$(with_gfdl_docs)),\#)/g' \ + : # debian/g++.postinst.in > debian/g++.postinst; \ + ) + + : # gfortran-$(CROSS_GNU_TYPE) + $(if $(filter gfortran-$(CROSS_GNU_TYPE), $(packages)), \ + dh_installdirs -pgfortran-$(CROSS_GNU_TYPE); \ + dh_link -pgfortran-$(CROSS_GNU_TYPE) \ + /usr/share/doc/cpp-$(CROSS_GNU_TYPE) /usr/share/doc/gfortran-$(CROSS_GNU_TYPE) \ + /usr/bin/$(CROSS_GNU_TYPE)-gfortran-$(PV_GFORT_$(CROSS_ARCH)) /usr/bin/$(CROSS_GNU_TYPE)-gfortran \ + $(if $(filter yes, $(with_gfdl_docs)), \ + /usr/share/man/man1/$(CROSS_GNU_TYPE)-gfortran-$(PV_GFORT_$(CROSS_ARCH)).1.gz /usr/share/man/man1/$(CROSS_GNU_TYPE)-gfortran.1.gz \ + ); \ + : # sed -e 's/@GFDL@/$(if $(filter-out yes,$(with_gfdl_docs)),\#)/g' \ + : # debian/gfortran.postinst.in > debian/gfortran.postinst; \ + ) + + : # gccgo-$(CROSS_GNU_TYPE) + $(if $(filter gccgo-$(CROSS_GNU_TYPE), $(packages)), \ + dh_installdirs -pgccgo-$(CROSS_GNU_TYPE); \ + dh_link -pgccgo-$(CROSS_GNU_TYPE) \ + /usr/share/doc/cpp-$(CROSS_GNU_TYPE) /usr/share/doc/gccgo-$(CROSS_GNU_TYPE) \ + /usr/bin/$(CROSS_GNU_TYPE)-gccgo-$(PV_GGO_$(CROSS_ARCH)) /usr/bin/$(CROSS_GNU_TYPE)-gccgo \ + $(if $(filter yes, $(with_gfdl_docs)), \ + /usr/share/man/man1/$(CROSS_GNU_TYPE)-gccgo-$(PV_GGO_$(CROSS_ARCH)).1.gz /usr/share/man/man1/$(CROSS_GNU_TYPE)-gccgo.1.gz \ + ); \ + ) + + : # gcj-$(CROSS_GNU_TYPE) + $(if $(filter gcj-$(CROSS_GNU_TYPE), $(packages)), \ + dh_installdirs -pgcj-$(CROSS_GNU_TYPE); \ + dh_link -pgcj-$(CROSS_GNU_TYPE) \ + /usr/share/doc/cpp-$(CROSS_GNU_TYPE) /usr/share/doc/gcj-$(CROSS_GNU_TYPE) \ + /usr/bin/$(CROSS_GNU_TYPE)-gcj-$(PV_GCJ_$(CROSS_ARCH)) /usr/bin/$(CROSS_GNU_TYPE)-gcj \ + $(if $(filter yes, $(with_gfdl_docs)), \ + /usr/share/man/man1/$(CROSS_GNU_TYPE)-gcj-$(PV_GCJ_$(CROSS_ARCH)).1.gz /usr/share/man/man1/$(CROSS_GNU_TYPE)-gcj.1.gz \ + ); \ + ) + + : # gnat-$(CROSS_GNU_TYPE) + $(if $(filter gnat-$(CROSS_GNU_TYPE), $(packages)), \ + dh_installdirs -pgnat-$(CROSS_GNU_TYPE); \ + dh_link -pgnat-$(CROSS_GNU_TYPE) \ + /usr/share/doc/cpp-$(CROSS_GNU_TYPE) /usr/share/doc/gnat-$(CROSS_GNU_TYPE) \ + /usr/bin/$(CROSS_GNU_TYPE)-gnat-$(PV_GPP_$(CROSS_ARCH)) /usr/bin/$(CROSS_GNU_TYPE)-gnat \ + /usr/bin/$(CROSS_GNU_TYPE)-gnatbind-$(PV_GPP_$(CROSS_ARCH)) /usr/bin/$(CROSS_GNU_TYPE)-gnatbind \ + /usr/bin/$(CROSS_GNU_TYPE)-gnatchop-$(PV_GPP_$(CROSS_ARCH)) /usr/bin/$(CROSS_GNU_TYPE)-gnatchop \ + /usr/bin/$(CROSS_GNU_TYPE)-gnatclean-$(PV_GPP_$(CROSS_ARCH)) /usr/bin/$(CROSS_GNU_TYPE)-gnatclean \ + /usr/bin/$(CROSS_GNU_TYPE)-gnatfind-$(PV_GPP_$(CROSS_ARCH)) /usr/bin/$(CROSS_GNU_TYPE)-gnatfind \ + /usr/bin/$(CROSS_GNU_TYPE)-gnatkr-$(PV_GPP_$(CROSS_ARCH)) /usr/bin/$(CROSS_GNU_TYPE)-gnatkr \ + /usr/bin/$(CROSS_GNU_TYPE)-gnatlink-$(PV_GPP_$(CROSS_ARCH)) /usr/bin/$(CROSS_GNU_TYPE)-gnatlink \ + /usr/bin/$(CROSS_GNU_TYPE)-gnatls-$(PV_GPP_$(CROSS_ARCH)) /usr/bin/$(CROSS_GNU_TYPE)-gnatls \ + /usr/bin/$(CROSS_GNU_TYPE)-gnatmake-$(PV_GPP_$(CROSS_ARCH)) /usr/bin/$(CROSS_GNU_TYPE)-gnatmake \ + /usr/bin/$(CROSS_GNU_TYPE)-gnatprep-$(PV_GPP_$(CROSS_ARCH)) /usr/bin/$(CROSS_GNU_TYPE)-gnatprep \ + /usr/bin/$(CROSS_GNU_TYPE)-gnatxref-$(PV_GPP_$(CROSS_ARCH)) /usr/bin/$(CROSS_GNU_TYPE)-gnatxref \ + /usr/bin/$(CROSS_GNU_TYPE)-gnathtml-$(PV_GPP_$(CROSS_ARCH)) /usr/bin/$(CROSS_GNU_TYPE)-gnathtml \ + /usr/share/man/man1/$(CROSS_GNU_TYPE)-gnat-$(PV_GPP_$(CROSS_ARCH)).1.gz /usr/share/man/man1/$(CROSS_GNU_TYPE)-gnat.1.gz \ + /usr/share/man/man1/$(CROSS_GNU_TYPE)-gnatbind-$(PV_GPP_$(CROSS_ARCH)).1.gz /usr/share/man/man1/$(CROSS_GNU_TYPE)-gnatbind.1.gz \ + /usr/share/man/man1/$(CROSS_GNU_TYPE)-gnatchop-$(PV_GPP_$(CROSS_ARCH)).1.gz /usr/share/man/man1/$(CROSS_GNU_TYPE)-gnatchop.1.gz \ + /usr/share/man/man1/$(CROSS_GNU_TYPE)-gnatclean-$(PV_GPP_$(CROSS_ARCH)).1.gz /usr/share/man/man1/$(CROSS_GNU_TYPE)-gnatclean.1.gz \ + /usr/share/man/man1/$(CROSS_GNU_TYPE)-gnatfind-$(PV_GPP_$(CROSS_ARCH)).1.gz /usr/share/man/man1/$(CROSS_GNU_TYPE)-gnatfind.1.gz \ + /usr/share/man/man1/$(CROSS_GNU_TYPE)-gnatkr-$(PV_GPP_$(CROSS_ARCH)).1.gz /usr/share/man/man1/$(CROSS_GNU_TYPE)-gnatkr.1.gz \ + /usr/share/man/man1/$(CROSS_GNU_TYPE)-gnatlink-$(PV_GPP_$(CROSS_ARCH)).1.gz /usr/share/man/man1/$(CROSS_GNU_TYPE)-gnatlink.1.gz \ + /usr/share/man/man1/$(CROSS_GNU_TYPE)-gnatls-$(PV_GPP_$(CROSS_ARCH)).1.gz /usr/share/man/man1/$(CROSS_GNU_TYPE)-gnatls.1.gz \ + /usr/share/man/man1/$(CROSS_GNU_TYPE)-gnatmake-$(PV_GPP_$(CROSS_ARCH)).1.gz /usr/share/man/man1/$(CROSS_GNU_TYPE)-gnatmake.1.gz \ + /usr/share/man/man1/$(CROSS_GNU_TYPE)-gnatprep-$(PV_GPP_$(CROSS_ARCH)).1.gz /usr/share/man/man1/$(CROSS_GNU_TYPE)-gnatprep.1.gz \ + /usr/share/man/man1/$(CROSS_GNU_TYPE)-gnatxref-$(PV_GPP_$(CROSS_ARCH)).1.gz /usr/share/man/man1/$(CROSS_GNU_TYPE)-gnatxref.1.gz \ + /usr/share/man/man1/$(CROSS_GNU_TYPE)-gnathtml-$(PV_GPP_$(CROSS_ARCH)).1.gz /usr/share/man/man1/$(CROSS_GNU_TYPE)-gnathtml.1.gz; \ + dh_installdirs -pgnat-sjlj-$(CROSS_GNU_TYPE); \ + dh_link -pgnat-sjlj-$(CROSS_GNU_TYPE) \ + /usr/share/doc/cpp-$(CROSS_GNU_TYPE) /usr/share/doc/gnat-sjlj-$(CROSS_GNU_TYPE); \ + ) + +cacerts-stamp: +ifeq ($(with_native),yes) + dh_testdir + rm -rf build + mkdir -p build + sed 's/@gcc_suffix@//' debian/generate-cacerts.pl.in \ + > debian/generate-cacerts.pl + cd build && perl ../debian/generate-cacerts.pl \ + /etc/ssl/certs/ca-certificates.crt +endif + touch $@ + +nopkgs_native := $(foreach p, $(sort $(invalid_packages) $(no_packages) $(cross_packages)),-N$(p)) + +binary-indep: build-indep install +ifeq ($(with_native),yes) + dh_testdir + dh_testroot + dh_installchangelogs -i + + dh_installdocs -plibgcj-common + dh_installchangelogs -plibgcj-common + mv debian/libgcj-common/usr/share/doc/libgcj-common/changelog \ + debian/libgcj-common/usr/share/doc/libgcj-common/changelog.Debian + + install -m644 build/cacerts debian/libgcj-common/etc/java/cacerts-gcj + + dh_compress -i -XREADME.Debian + dh_fixperms -i + dh_python2 -plibgcj-common + dh_installdeb -i + dh_gencontrol -plibgcj-common -u-v$(CV_LIBGCJCOMMON) + dh_md5sums -i + dh_builddeb -i +endif + +binary-arch: binary-native $(foreach a,$(CROSS_ARCHS),binary.$(a)) +binary-native: build-arch install +ifeq ($(with_native),yes) + dh_testdir + dh_testroot +# dh_installdebconf + dh_installdocs -pcpp + for p in `dh_listpackages $(nopkgs_native) -Ncpp -Nlibgcj-bc -Ncpp-doc -Ngcc-doc -Ngfortran-doc -Ngccgo-doc -Nlibgcj-common -Ngdc -Nlibgphobos-dev`; do \ + case "$$p" in \ + *-gnu*|*-kfreebsd*|gcc-hppa64-linux-gnu) continue;; \ + gij|gcj-*) t=libgcj-common;; \ + *) t=cpp; \ + esac; \ + echo ln -sf $$t debian/$$p/usr/share/doc/$$p; \ + mkdir -p debian/$$p/usr/share/doc; \ + rm -rf debian/$$p/usr/share/doc/$$p; \ + ln -sf $$t debian/$$p/usr/share/doc/$$p; \ + done + + dh_installchangelogs -pcpp -pgdc -plibgphobos-dev + for i in cpp gdc libgphobos-dev; do \ + mv debian/$$i/usr/share/doc/$$i/changelog \ + debian/$$i/usr/share/doc/$$i/changelog.Debian; \ + done +ifeq ($(with_gfdl_docs),yes) + dh_installdocs -pcpp-doc -pgcc-doc -pgfortran-doc -pgccgo-doc + dh_installchangelogs -pcpp-doc -pgcc-doc -pgfortran-doc -pgccgo-doc + for i in cpp-doc gcc-doc gfortran-doc gccgo-doc; do \ + mv debian/$$i/usr/share/doc/$$i/changelog \ + debian/$$i/usr/share/doc/$$i/changelog.Debian; \ + done +endif +ifneq (,$(filter gcc-hppa64-linux-gnu, $(packages))) + dh_installdocs -pgcc-hppa64-linux-gnu + dh_installchangelogs -pgcc-hppa64-linux-gnu + mv debian/gcc-hppa64-linux-gnu/usr/share/doc/gcc-hppa64-linux-gnu/changelog \ + debian/gcc-hppa64-linux-gnu/usr/share/doc/gcc-hppa64-linux-gnu/changelog.Debian +endif + + dh_compress -s $(nopkgs_native) -XREADME.Debian + +ifneq (,$(filter $(DEB_HOST_ARCH),i386 kfreebsd-i386 hurd-i386)) +# temporary i486-* symlinks for jessie/sid + ifeq ($(DEB_HOST_GNU_CPU)),i586) + gnutype=$(subst i586,i486,$(DEB_HOST_GNU_TYPE)); \ + for i in $$(find debian -name 'i586-*'); do \ + cp -a $$i $$(echo $$i | sed "s,$(DEB_HOST_GNU_TYPE),$$gnutype,"); \ + done + endif +# for backports to wheezy and squeeze + ifeq ($(DEB_HOST_GNU_CPU)),i486) + gnutype=$(subst i486,i586,$(DEB_HOST_GNU_TYPE)); \ + for i in $$(find debian -name 'i486-*'); do \ + cp -a $$i $$(echo $$i | sed "s,$(DEB_HOST_GNU_TYPE),$$gnutype,"); \ + done + endif +endif + + for p in $$(dh_listpackages -a); do \ + case $$p in \ + cpp|g++|gcc|gccgo|gcj-jdk|gcj-jre-headless|gfortran|gcc-hppa64-linux-gnu) \ + [ "$(with_gfdl_docs)" = yes ] && continue; \ + mkdir -p -m 755 debian/$$p/usr/share/lintian/overrides; \ + echo "$$p binary: binary-without-manpage" \ + >> debian/$$p/usr/share/lintian/overrides/$$p;; \ + cpp-doc|gcc-doc|gccgo-doc|gfortran-doc) \ + mkdir -p -m 755 debian/$$p/usr/share/lintian/overrides; \ + echo "$$p binary: documentation-package-not-architecture-independent" \ + >> debian/$$p/usr/share/lintian/overrides/$$p;; \ + esac; \ + done + + dh_fixperms -s $(nopkgs_native) + dh_installdeb -s $(nopkgs_native) + dh_gencontrol -pcpp \ + $(if $(filter yes, $(with_gfdl_docs)),-pcpp-doc) \ + -u-v$(EPOCH):$(CV_CPP) + dh_gencontrol -pgcc \ + $(if $(filter yes,$(with_multilib)),-pgcc-multilib) \ + $(if $(filter yes, $(with_gfdl_docs)),-pgcc-doc) \ + -u-v$(EPOCH):$(CV_GCC) +ifneq (,$(filter gdc, $(packages))) + dh_gencontrol -pgdc $(if $(filter yes,$(with_multilib)),-pgdc-multilib) \ + -u-v$(EPOCH):$(CV_GDC) +endif +ifneq (,$(filter libgphobos-dev, $(packages))) + dh_gencontrol -plibgphobos-dev -u-v$(CV_GDC) +endif +ifneq (,$(filter g++, $(packages))) + dh_gencontrol -pg++ $(if $(filter yes,$(with_multilib)),-pg++-multilib) \ + -u-v$(EPOCH):$(CV_GPP) +endif +ifneq (,$(filter gobjc, $(packages))) + dh_gencontrol -pgobjc $(if $(filter yes,$(with_multilib)),-pgobjc-multilib) \ + -u-v$(EPOCH):$(CV_GOBJC) +endif +ifneq (,$(filter gobjc++, $(packages))) + dh_gencontrol -pgobjc++ $(if $(filter yes,$(with_multilib)),-pgobjc++-multilib) \ + -u-v$(EPOCH):$(CV_GOBJCXX) +endif +ifneq (,$(filter gfortran, $(packages))) + dh_gencontrol -pgfortran $(if $(filter yes,$(with_multilib)),-pgfortran-multilib) \ + $(if $(filter yes, $(with_gfdl_docs)),-pgfortran-doc) \ + -u-v$(EPOCH):$(CV_GFORT) +endif +ifneq (,$(filter gccgo, $(packages))) + dh_gencontrol -pgccgo \ + $(if $(filter yes,$(with_go_multilib)),-pgccgo-multilib) \ + $(if $(filter yes, $(with_gfdl_docs)),-pgccgo-doc) \ + -u-v$(EPOCH):$(CV_GGO) +endif +ifneq (,$(filter gcj-jdk, $(packages))) + dh_gencontrol -plibgcj-bc -u-v$(CV_LIBGCJBC) + dh_gencontrol -pgcj-jre-headless -pgcj-jre -pgcj-jdk \ + -u-v$(EPOCH):$(CV_GCJ) +endif +ifneq (,$(filter gcc-hppa64-linux-gnu, $(packages))) + dh_gencontrol -pgcc-hppa64-linux-gnu \ + -u-v$(EPOCH):$(CV_GCC) +endif + dh_md5sums -s $(nopkgs_native) + dh_builddeb -s $(nopkgs_native) +endif # with_native + +binary.%: build-arch install + dh_testdir + dh_testroot + dh_installdocs -pcpp-$(CROSS_GNU_TYPE) \ + $(if $(filter pkg-config-$(CROSS_GNU_TYPE), $(packages)),-ppkg-config-$(CROSS_GNU_TYPE)) + + for p in $(filter %-$(CROSS_GNU_TYPE),$(cross_packages)); do \ + case "$$p" in \ + cpp-*|pkg-config-*) continue;; \ + *-gnu*|*-kfreebsd*) t=cpp-$(CROSS_GNU_TYPE);; \ + *) continue;; \ + esac; \ + echo ln -sf $$t debian/$$p/usr/share/doc/$$p; \ + mkdir -p debian/$$p/usr/share/doc; \ + rm -rf debian/$$p/usr/share/doc/$$p; \ + ln -sf $$t debian/$$p/usr/share/doc/$$p; \ + done + + dh_installchangelogs -pcpp-$(CROSS_GNU_TYPE) \ + $(if $(filter pkg-config-$(CROSS_GNU_TYPE), $(packages)),-ppkg-config-$(CROSS_GNU_TYPE)) + for i in cpp-$(CROSS_GNU_TYPE) $(if $(filter pkg-config-$(CROSS_GNU_TYPE), $(packages)),pkg-config-$(CROSS_GNU_TYPE)); do \ + mv debian/$$i/usr/share/doc/$$i/changelog \ + debian/$$i/usr/share/doc/$$i/changelog.Debian; \ + done + dh_compress $(foreach p,$(filter %-$(CROSS_GNU_TYPE),$(cross_packages)),-p$(p)) \ + -XREADME.Debian + $(if $(filter pkg-config-$(CROSS_GNU_TYPE), $(packages)), \ + dh_link -ppkg-config-$(CROSS_GNU_TYPE) \ + /usr/share/pkg-config-crosswrapper /usr/bin/${CROSS_GNU_TYPE}-pkg-config \ + ) + + for p in $(filter %-$(CROSS_GNU_TYPE),$(cross_packages)); do \ + case $$p in \ + cpp-$(CROSS_GNU_TYPE)|g++-$(CROSS_GNU_TYPE)|gcc-$(CROSS_GNU_TYPE)|gccgo-$(CROSS_GNU_TYPE)|gcj-$(CROSS_GNU_TYPE)|gfortran-$(CROSS_GNU_TYPE)) \ + [ "$(with_gfdl_docs)" = yes ] && continue; \ + mkdir -p -m 755 debian/$$p/usr/share/lintian/overrides; \ + echo "$$p binary: binary-without-manpage" \ + >> debian/$$p/usr/share/lintian/overrides/$$p;; \ + esac; \ + done + + dh_fixperms $(foreach p,$(filter %-$(CROSS_GNU_TYPE),$(cross_packages)),-p$(p)) + dh_installdeb $(foreach p,$(filter %-$(CROSS_GNU_TYPE),$(cross_packages)),-p$(p)) + dh_gencontrol -pcpp-$(CROSS_GNU_TYPE) '-u-v$(EPOCH):$(CV_CPP_$(CROSS_ARCH))' + dh_gencontrol -pgcc-$(CROSS_GNU_TYPE) \ + $(if $(filter $(CROSS_ARCH),$(multilib_archs)),-pgcc-multilib-$(CROSS_GNU_TYPE)) \ + '-u-v$(EPOCH):$(CV_GCC_$(CROSS_ARCH))' + + $(if $(filter gdc-$(CROSS_GNU_TYPE), $(packages)), \ + dh_gencontrol -pgdc-$(CROSS_GNU_TYPE) \ + $(if $(filter $(CROSS_ARCH),$(d_multilib_archs)),-pgdc-multilib-$(CROSS_GNU_TYPE)) \ + -u-v$(EPOCH):$(CV_GDC_$(CROSS_ARCH)) \ + ) + + $(if $(filter g++-$(CROSS_GNU_TYPE), $(packages)), \ + dh_gencontrol -pg++-$(CROSS_GNU_TYPE) \ + $(if $(filter $(CROSS_ARCH),$(multilib_archs)),-pg++-multilib-$(CROSS_GNU_TYPE)) \ + -u-v$(EPOCH):$(CV_GPP_$(CROSS_ARCH)) \ + ) + + $(if $(filter gobjc++-$(CROSS_GNU_TYPE), $(packages)), \ + dh_gencontrol -pgobjc-$(CROSS_GNU_TYPE) \ + $(if $(filter $(CROSS_ARCH),$(multilib_archs)),-pgobjc-multilib-$(CROSS_GNU_TYPE)) \ + -u-v$(EPOCH):$(CV_GOBJC_$(CROSS_ARCH)) \ + ) + + $(if $(filter gobjc++-$(CROSS_GNU_TYPE), $(packages)), \ + dh_gencontrol -pgobjc++-$(CROSS_GNU_TYPE) \ + $(if $(filter $(CROSS_ARCH),$(multilib_archs)),-pgobjc++-multilib-$(CROSS_GNU_TYPE)) \ + -u-v$(EPOCH):$(CV_GOBJCXX_$(CROSS_ARCH)) \ + ) + + $(if $(filter gfortran-$(CROSS_GNU_TYPE), $(packages)), \ + dh_gencontrol -pgfortran-$(CROSS_GNU_TYPE) \ + $(if $(filter $(CROSS_ARCH),$(multilib_archs)),-pgfortran-multilib-$(CROSS_GNU_TYPE)) \ + -u-v$(EPOCH):$(CV_GFORT_$(CROSS_ARCH)) \ + ) + + $(if $(filter gccgo-$(CROSS_GNU_TYPE), $(packages)), \ + dh_gencontrol -pgccgo-$(CROSS_GNU_TYPE) \ + $(if $(filter $(CROSS_ARCH),$(go_multilib_archs)),-pgccgo-multilib-$(CROSS_GNU_TYPE)) \ + -u-v$(EPOCH):$(CV_GGO_$(CROSS_ARCH)) \ + ) + + $(if $(filter gcj-$(CROSS_GNU_TYPE), $(packages)), \ + dh_gencontrol -pgcj-$(CROSS_GNU_TYPE) \ + -u-v$(EPOCH):$(CV_GCJ_$(CROSS_ARCH)) \ + ) + + $(if $(filter gnat-$(CROSS_GNU_TYPE), $(packages)), \ + dh_gencontrol -pgnat-$(CROSS_GNU_TYPE) -pgnat-sjlj-$(CROSS_GNU_TYPE) \ + -u-v$(EPOCH):$(CV_GNAT_$(CROSS_ARCH)) \ + ) + + $(if $(filter pkg-config-$(CROSS_GNU_TYPE), $(packages)), \ + dh_gencontrol -ppkg-config-$(CROSS_GNU_TYPE) \ + -u-v$(EPOCH):$(CV_GCC_$(CROSS_ARCH)) \ + ) + + dh_md5sums $(foreach p,$(filter %-$(CROSS_GNU_TYPE),$(cross_packages)),-p$(p)) + dh_builddeb $(foreach p,$(filter %-$(CROSS_GNU_TYPE),$(cross_packages)),-p$(p)) + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install substvars |