gcc-defaults (1.179) unstable; urgency=medium
authorMatthias Klose <doko@debian.org>
Thu, 16 Aug 2018 10:44:12 +0000 (11:44 +0100)
committerMatthias Klose <doko@debian.org>
Thu, 16 Aug 2018 10:44:12 +0000 (11:44 +0100)
  * Bump GCC 8 version to 8.2.0.
  * Build arm64, armel and armhf cross compilers on ppc64el.

[dgit import package gcc-defaults 1.179]

51 files changed:
c89 [new file with mode: 0644]
c89.1 [new file with mode: 0644]
c99 [new file with mode: 0644]
c99.1 [new file with mode: 0644]
classpath.security [new file with mode: 0644]
debian/README.Debian [new file with mode: 0644]
debian/README.Debian.m4 [new file with mode: 0644]
debian/aot-compile [new file with mode: 0644]
debian/aotcompile.py [new file with mode: 0644]
debian/changelog [new file with mode: 0644]
debian/classfile.py [new file with mode: 0644]
debian/compat [new file with mode: 0644]
debian/control [new file with mode: 0644]
debian/control.cross-ada.in [new file with mode: 0644]
debian/control.cross-ml.in [new file with mode: 0644]
debian/control.cross.in [new file with mode: 0644]
debian/control.doc [new file with mode: 0644]
debian/control.hppa64.in [new file with mode: 0644]
debian/control.native.in [new file with mode: 0644]
debian/control.pkg-config.in [new file with mode: 0644]
debian/control.source [new file with mode: 0644]
debian/copyright [new file with mode: 0644]
debian/copyright.libgcj-common [new file with mode: 0644]
debian/cpp.postinst [new file with mode: 0644]
debian/cpp.prerm [new file with mode: 0644]
debian/dh_javadoc [new file with mode: 0644]
debian/dh_nativejava [new file with mode: 0644]
debian/disable_64_gcc [new file with mode: 0644]
debian/g++.postinst.in [new file with mode: 0644]
debian/g++.prerm [new file with mode: 0644]
debian/g77-doc.prerm [new file with mode: 0644]
debian/g77.postinst.in [new file with mode: 0644]
debian/g77.prerm [new file with mode: 0644]
debian/gcc.postinst.in [new file with mode: 0644]
debian/gcc.prerm [new file with mode: 0644]
debian/gdc.preinst [new file with mode: 0644]
debian/generate-cacerts.pl.in [new file with mode: 0644]
debian/gfortran.postinst.in [new file with mode: 0644]
debian/gfortran.prerm [new file with mode: 0644]
debian/gij.prerm [new file with mode: 0644]
debian/libgcj-bc.overrides [new file with mode: 0644]
debian/libgcj-common.postinst [new file with mode: 0644]
debian/libgcj-common.preinst [new file with mode: 0644]
debian/libgcj-common.prerm [new file with mode: 0644]
debian/postinst-rebuild-gcj-db [new file with mode: 0644]
debian/postrm-rebuild-gcj-db [new file with mode: 0644]
debian/rebuild-gcj-db [new file with mode: 0644]
debian/rebuild-security-providers [new file with mode: 0755]
debian/rules [new file with mode: 0755]
gfdl.7 [new file with mode: 0644]
gpl.7 [new file with mode: 0644]

diff --git a/c89 b/c89
new file mode 100644 (file)
index 0000000..d0a3c1e
--- /dev/null
+++ b/c89
@@ -0,0 +1,23 @@
+#! /bin/sh
+
+# Call the appropriate C compiler with options to accept ANSI/ISO C
+# The following options are the same (as of gcc-2.95):
+#      -ansi
+#      -std=c89
+#      -std=iso9899:1990
+
+extra_flag=-std=c89
+
+for i; do
+    case "$i" in
+       -ansi|-std=c89|-std=iso9899:1990)
+           extra_flag=
+           ;;
+       -std=*)
+           echo >&2 "`basename $0` called with non ANSI/ISO C option $i"
+           exit 1
+           ;;
+    esac
+done
+
+exec gcc $extra_flag ${1+"$@"}
diff --git a/c89.1 b/c89.1
new file mode 100644 (file)
index 0000000..0bf2698
--- /dev/null
+++ b/c89.1
@@ -0,0 +1,68 @@
+.\"    $NetBSD: c89.1,v 1.5 1999/04/10 15:22:27 kleink Exp $
+.\"
+.\" 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.
+.\"
+.TH C89 1
+.SH NAME
+c89 \- ANSI (1989) C compiler
+.SH SYNOPSIS
+.B c89
+.I
+.RB "[\-pedantic]"
+.RB "[\-pedantic-errors]"
+.RB "[\-D_ANSI_SOURCE]"
+options ...
+.SH DESCRIPTION
+Calls the C compiler (cc) with the given
+.B options ,
+using a C language environment compatible with the
+-ansiC specification.
+.PP
+This includes proper handling of trigraphs,
+disabling non-ANSI compiler features (such as
+.B asm ,
+.B inline ,
+.B typeof ,
+and the $ character in identifiers),
+and definition of the preprocessor symbol
+__STRICT_ANSI__ .
+.SH SEE ALSO
+cc(1) for a description of all options.
+.SH HISTORY
+Appeared in
+NetBSD 1.4 .
+.SH BUGS
+Since
+.B c89
+is a shell wrapper script to
+.B cc ,
+compile errors are prefixed by "cc:".
diff --git a/c99 b/c99
new file mode 100644 (file)
index 0000000..046d30b
--- /dev/null
+++ b/c99
@@ -0,0 +1,24 @@
+#! /bin/sh
+
+# Call the appropriate C compiler with options to accept ANSI/ISO C
+# The following options are the same (as of gcc-3.3):
+#      -std=c99
+#      -std=c9x
+#      -std=iso9899:1999
+#      -std=iso9899:199x
+
+extra_flag=-std=c99
+
+for i; do
+    case "$i" in
+       -std=c9[9x]|-std=iso9899:199[9x])
+           extra_flag=
+           ;;
+       -std=*|-ansi)
+           echo >&2 "`basename $0` called with non ISO C99 option $i"
+           exit 1
+           ;;
+    esac
+done
+
+exec gcc $extra_flag ${1+"$@"}
diff --git a/c99.1 b/c99.1
new file mode 100644 (file)
index 0000000..48f4ddc
--- /dev/null
+++ b/c99.1
@@ -0,0 +1,70 @@
+.\"    $NetBSD: c89.1,v 1.5 1999/04/10 15:22:27 kleink Exp $
+.\"
+.\" 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.
+.\"
+.TH C99 1
+.SH NAME
+c99 \- ANSI (1999) C compiler
+.SH SYNOPSIS
+.B c99
+.I
+.RB "[\-pedantic]"
+.RB "[\-pedantic-errors]"
+.RB "[\-D_ANSI_SOURCE]"
+options ...
+.SH DESCRIPTION
+Calls the C compiler (cc) with the given
+.B options ,
+using a C language environment compatible with the
+-ansiC specification.
+.PP
+This includes proper handling of trigraphs,
+disabling non-ANSI compiler features (such as
+.B asm ,
+.B typeof ,
+and the $ character in identifiers),
+and definition of the preprocessor symbol
+__STRICT_ANSI__ .
+.PP
+The status of C99 features implemented in GCC is described at
+.I http://gcc.gnu.org/gcc-@VER@/c99status.html
+.SH SEE ALSO
+cc(1) for a description of all options.
+.SH HISTORY
+Appeared in
+NetBSD 1.4 .
+.SH BUGS
+Since
+.B c99
+is a shell wrapper script to
+.B cc ,
+compile errors are prefixed by "cc:".
diff --git a/classpath.security b/classpath.security
new file mode 100644 (file)
index 0000000..d606f4b
--- /dev/null
@@ -0,0 +1,51 @@
+# classpath.security
+#    Copyright (C) 2002, 2006 Free Software Foundation, Inc.
+# 
+# This file 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.
+# 
+# GNU Classpath 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.
+# 
+# You should have received a copy of the GNU General Public License
+# along with GNU Classpath; see the file COPYING.  If not, write to the
+# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA.
+# 
+# Linking this library statically or dynamically with other modules is
+# making a combined work based on this library.  Thus, the terms and
+# conditions of the GNU General Public License cover the whole
+# combination.
+# 
+# As a special exception, the copyright holders of this library give you
+# permission to link this library with independent modules to produce an
+# executable, regardless of the license terms of these independent
+# modules, and to copy and distribute the resulting executable under
+# terms of your choice, provided that you also meet, for each linked
+# independent module, the terms and conditions of the license of that
+# module.  An independent module is a module which is not derived from
+# or based on this library.  If you modify this library, you may extend
+# this exception to your version of the library, but you are not
+# obligated to do so.  If you do not wish to do so, delete this
+# exception statement from your version.
+
+# The VM-wide default callback handler class name.  MUST be a subclass of
+# javax.security.auth.callback.CallbackHandler
+auth.login.defaultCallbackHandler=gnu.javax.security.auth.callback.DefaultCallbackHandler
+
+# If this file isn't found we fall back to generating entropy through
+# "battling threads".
+securerandom.source=file:///dev/urandom
+
+# Note that the settings and ordering here are mirrored in Security.
+security.provider.1=gnu.java.security.provider.Gnu
+security.provider.2=gnu.javax.crypto.jce.GnuCrypto
+security.provider.3=gnu.javax.crypto.jce.GnuSasl
+security.provider.4=gnu.javax.net.ssl.provider.Jessie
+security.provider.5=gnu.javax.security.auth.callback.GnuCallbacks
diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644 (file)
index 0000000..46c877c
--- /dev/null
@@ -0,0 +1,183 @@
+               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-8
+       gcc             : gcc-8
+       g++             : g++-8
+       gfortran        : gfortran-8
+       gccgo           : gccgo-8
+       gobjc           : gobjc-8
+       gobjc++         : gobjc++-8
+       gdc             : gdc-8
+
+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 (file)
index 0000000..e3b1786
--- /dev/null
@@ -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 (file)
index 0000000..93e1c60
--- /dev/null
@@ -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 (file)
index 0000000..3ef7f1f
--- /dev/null
@@ -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 (file)
index 0000000..8828f7d
--- /dev/null
@@ -0,0 +1,1648 @@
+gcc-defaults (1.179) unstable; urgency=medium
+
+  * Bump GCC 8 version to 8.2.0.
+  * Build arm64, armel and armhf cross compilers on ppc64el.
+
+ -- Matthias Klose <doko@debian.org>  Thu, 16 Aug 2018 12:44:12 +0200
+
+gcc-defaults (1.178) unstable; urgency=medium
+
+  * gcc, g++: Provide gcc-<triplet>, g++-<triplet>.
+  * Bump standards version.
+  * Fix typos in package descriptions. Closes: #902276.
+
+ -- Matthias Klose <doko@debian.org>  Thu, 19 Jul 2018 10:22:48 +0200
+
+gcc-defaults (1.177) experimental; urgency=medium
+
+  * Default to GCC 8.
+  * Tighten dependencies on the cpp, gcc, g++ and gfortran packages.
+    Closes: #871630.
+
+ -- Matthias Klose <doko@debian.org>  Thu, 26 Apr 2018 09:48:54 +0200
+
+gcc-defaults (1.176) unstable; urgency=medium
+
+  * Build defaults packages for amd64 and i386.
+
+ -- Matthias Klose <doko@debian.org>  Wed, 04 Apr 2018 12:16:13 +0200
+
+gcc-defaults (1.175) unstable; urgency=medium
+
+  * Build defaults packages for riscv64 cross compilers.
+  * Default gccgo to GCC 8.
+  * Default gdc to GCC 8 (dh-dlang already makes this assumption).
+
+ -- Matthias Klose <doko@debian.org>  Fri, 23 Mar 2018 11:44:07 +0800
+
+gcc-defaults (1.174) unstable; urgency=medium
+
+  * Bump GCC 7 version to 7.3.0.
+  * Stop building the gcj packages. Closes: #892536.
+  * Fix build with recent debhelper. Closes: #878338.
+
+ -- Matthias Klose <doko@debian.org>  Thu, 15 Mar 2018 15:22:14 +0100
+
+gcc-defaults (1.173d1) unstable; urgency=medium
+
+  * Really build powerpc64le cross packages on ppc64.
+
+ -- Matthias Klose <doko@debian.org>  Sun, 17 Sep 2017 14:38:42 +0200
+
+gcc-defaults (1.173) unstable; urgency=medium
+
+  * Bump GCC 7 version to 7.2.0.
+  * Build powerpc64le cross packages on ppc64.
+  * Bump standards version.
+
+ -- Matthias Klose <doko@debian.org>  Sun, 17 Sep 2017 12:36:40 +0200
+
+gcc-defaults (1.172) unstable; urgency=medium
+
+  * Build gccbrig on x86 linux architectures only.
+  * Remove obsolete docdir symlink update (Sven Joachim). Closes: #867425.
+  * Don't build gccgo packages on m68k.
+
+ -- Matthias Klose <doko@debian.org>  Tue, 08 Aug 2017 11:56:36 -0400
+
+gcc-defaults (1.171) unstable; urgency=medium
+
+  * Provide liblto_plugin.so symlink in /usr/lib/bfd-plugins. Closes: #865690.
+  * dh_nativejava: Don't use deprecated POSIX::tmpnam(). Closes: #866315.
+  * Fix README.Bugs symlinks for cross compilers. Closes: #858112.
+  * Bump GCC 6 version to 6.4.0.
+
+ -- Matthias Klose <doko@debian.org>  Thu, 03 Aug 2017 21:23:51 -0400
+
+gcc-defaults (1.170) experimental; urgency=medium
+
+  * Bump GCC 6 version to 6.3.0.
+  * Bump GCC 7 version to 7.1.0.
+  * Build gccbrig and gcc-offload-nvptx packages.
+
+ -- Matthias Klose <doko@debian.org>  Tue, 21 Mar 2017 11:39:31 +0100
+
+gcc-defaults (1.169) experimental; urgency=medium
+
+  * gcc-multilib: Add conflicts with GCC 7 cross compiler packages.
+  * Stop building powerpc cross packages from this source.
+  * Build mips64el packages from this source.
+
+ -- Matthias Klose <doko@debian.org>  Sun, 27 Nov 2016 16:37:59 +0100
+
+gcc-defaults (1.168d1) unstable; urgency=medium
+
+  * Provide liblto_plugin.so symlink in /usr/lib/bfd-plugins. Closes: #865690.
+  * dh_nativejava: Don't use deprecated POSIX::tmpnam(). Closes: #866315.
+  * Fix README.Bugs symlinks for cross compilers. Closes: #858112.
+
+ -- Matthias Klose <doko@debian.org>  Mon, 03 Jul 2017 17:21:10 +0200
+
+gcc-defaults (1.168) experimental; urgency=medium
+
+  * Default to GCC 7, except for gij/gcj.
+
+ -- Matthias Klose <doko@debian.org>  Sat, 26 Nov 2016 17:14:56 +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.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.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 (file)
index 0000000..d7e7d7e
--- /dev/null
@@ -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 (file)
index 0000000..ec63514
--- /dev/null
@@ -0,0 +1 @@
+9
diff --git a/debian/control b/debian/control
new file mode 100644 (file)
index 0000000..f5fd69d
--- /dev/null
@@ -0,0 +1,2497 @@
+Source: gcc-defaults
+Section: devel
+Priority: standard
+Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
+Uploaders: Matthias Klose <doko@debian.org>
+Standards-Version: 4.2.0
+Build-Depends: m4, debhelper (>= 9),
+  dpkg-dev (>= 1.17.11),
+  gcc-8-base (>= 8.2.0-4),
+  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, ${gcc:triplet}
+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-i686-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-riscv64-linux-gnu,
+  gcc-7-s390x-linux-gnu,
+  gcc-7-sh4-linux-gnu,
+  gcc-7-sparc-linux-gnu,
+  gcc-7-x86-64-linux-gnu,
+  gcc-7-x86-64-linux-gnux32,
+  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-i686-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-riscv64-linux-gnu,
+  gcc-8-s390x-linux-gnu,
+  gcc-8-sh4-linux-gnu,
+  gcc-8-sparc-linux-gnu,
+  gcc-8-sparc64-linux-gnu,
+  gcc-8-x86-64-linux-gnu,
+  gcc-8-x86-64-linux-gnux32,
+  gcc-9-aarch64-linux-gnu,
+  gcc-9-alpha-linux-gnu,
+  gcc-9-arm-linux-gnueabi,
+  gcc-9-arm-linux-gnueabihf,
+  gcc-9-hppa-linux-gnu,
+  gcc-9-i686-linux-gnu,
+  gcc-9-m68k-linux-gnu,
+  gcc-9-powerpc-linux-gnu,
+  gcc-9-powerpc-linux-gnuspe,
+  gcc-9-powerpc64-linux-gnu,
+  gcc-9-powerpc64le-linux-gnu,
+  gcc-9-mips-linux-gnu,
+  gcc-9-mipsel-linux-gnu,
+  gcc-9-mips64-linux-gnuabi64,
+  gcc-9-mips64el-linux-gnuabi64,
+  gcc-9-riscv64-linux-gnu,
+  gcc-9-s390x-linux-gnu,
+  gcc-9-sh4-linux-gnu,
+  gcc-9-sparc-linux-gnu,
+  gcc-9-sparc64-linux-gnu,
+  gcc-9-x86-64-linux-gnu,
+  gcc-9-x86-64-linux-gnux32,
+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, ${gpp:triplet}
+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: gccbrig
+Priority: optional
+Architecture: amd64 i386 x32
+Depends: cpp (>= ${version:cpp}), gcc (>= ${version:cpp}),
+  gccbrig-${pv:brig} ${reqv:brig}, ${misc:Depends}
+Description: GNU BRIG (HSA IL) frontend
+ This is the GNU BRIG (HSA IL) frontend.  The consumed format is a binary
+ representation. The textual HSAIL can be compiled to it with a separate
+ assembler.
+ .
+ This is a dependency package providing the default GNU Objective-C compiler.
+
+Package: gcc-offload-nvptx
+Priority: optional
+Architecture: amd64
+Depends: cpp (>= ${version:cpp}), gcc (>= ${version:cpp}),
+  gcc-${pv:offl}-offload-nvptx ${reqv:offl}, ${misc:Depends}
+Description: GCC offloading compiler to NVPTX
+ This package contains libgomp plugin for offloading to NVidia
+ PTX. The plugin needs libcuda.so.1 shared library that has to be
+ installed separately.
+ .
+ This is a dependency package providing the default GNU Objective-C compiler.
+
+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-x86-64-linux-gnu
+Priority: optional
+Architecture: arm64 i386 ppc64el x32
+Multi-Arch: foreign
+Section: interpreters
+Depends: cpp-${pv:cpp}-x86-64-linux-gnu ${reqv:cpp}, ${misc:Depends}
+Suggests: cpp-doc
+Description: GNU C preprocessor (cpp) for the amd64 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 amd64 architecture.
+ .
+ This is a dependency package providing the default GNU C preprocessor
+ for the amd64 architecture.
+
+Package: gcc-x86-64-linux-gnu
+Priority: optional
+Architecture: arm64 i386 ppc64el x32
+Multi-Arch: foreign
+Depends: cpp-x86-64-linux-gnu (= ${version:cpp}),
+  gcc-${pv:gcc}-x86-64-linux-gnu ${reqv:gcc},
+  ${misc:Depends}
+Recommends: libc6-dev-amd64-cross | libc-dev-amd64-cross
+Suggests: make, manpages-dev, autoconf, automake, libtool, flex, bison, gdb-x86-64-linux-gnu, gcc-doc
+Description: GNU C compiler for the amd64 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 amd64 architecture.
+
+Package: g++-x86-64-linux-gnu
+Priority: optional
+Architecture: arm64 i386 ppc64el x32
+Multi-Arch: foreign
+Depends: cpp-x86-64-linux-gnu (= ${version:cpp}),
+  gcc-x86-64-linux-gnu (= ${version:cpp}),
+  g++-${pv:gpp}-x86-64-linux-gnu ${reqv:gpp},
+  ${misc:Depends}
+Description: GNU C++ compiler for the amd64 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 amd64 architecture.
+
+Package: gobjc-x86-64-linux-gnu
+Priority: optional
+Architecture: arm64 i386 ppc64el x32
+Multi-Arch: foreign
+Depends: cpp-x86-64-linux-gnu (>= ${version:cpp}),
+  gcc-x86-64-linux-gnu (>= ${version:cpp}),
+  gobjc-${pv:gobjc}-x86-64-linux-gnu ${reqv:gobjc},
+  ${misc:Depends}
+Description: GNU Objective-C compiler for the amd64 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 amd64 architecture.
+
+Package: gobjc++-x86-64-linux-gnu
+Priority: optional
+Architecture: arm64 i386 ppc64el x32
+Multi-Arch: foreign
+Depends: cpp-x86-64-linux-gnu (>= ${version:cpp}),
+  gcc-x86-64-linux-gnu (>= ${version:cpp}),
+  gobjc++-${pv:gobjcxx}-x86-64-linux-gnu ${reqv:gobjcxx},
+  ${misc:Depends}
+Recommends: g++-x86-64-linux-gnu (>= ${version:cpp}), gobjc-x86-64-linux-gnu (>= ${version:cpp})
+Description: GNU Objective-C++ compiler for the amd64 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 amd64 architecture.
+
+Package: gfortran-x86-64-linux-gnu
+Priority: optional
+Architecture: arm64 i386 ppc64el x32
+Multi-Arch: foreign
+Depends: cpp-x86-64-linux-gnu (= ${version:cpp}),
+  gcc-x86-64-linux-gnu (= ${version:gcc}),
+  gfortran-${pv:gfort}-x86-64-linux-gnu ${reqv:gfort},
+  ${misc:Depends}
+Suggests: gfortran-doc
+Description: GNU Fortran 95 compiler for the amd64 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 amd64 architecture.
+
+Package: gccgo-x86-64-linux-gnu
+Priority: optional
+Architecture: arm64 i386 ppc64el x32
+Multi-Arch: foreign
+Depends: cpp-x86-64-linux-gnu (>= ${version:cpp}),
+  g++-x86-64-linux-gnu (>= ${version:gcc}),
+  gccgo-${pv:ggo}-x86-64-linux-gnu ${reqv:ggo},
+  ${misc:Depends}
+Suggests: gccgo-doc
+Description: Go compiler (based on GCC) for the amd64 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 amd64 architecture.
+
+#Package: gcj-x86-64-linux-gnu
+#Priority: optional
+#Architecture: arm64 i386 ppc64el x32
+#Multi-Arch: foreign
+#Depends: cpp-x86-64-linux-gnu (>= ${version:cpp}),
+#  gcj-${pv:gcj}-x86-64-linux-gnu ${reqv:gcj},
+#  ${misc:Depends}
+#Description: GNU Java compiler (based on GCC) for the amd64 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 amd64 architecture.
+
+Package: gdc-x86-64-linux-gnu
+Priority: optional
+Architecture: arm64 i386 ppc64el x32
+Multi-Arch: foreign
+Depends: cpp-x86-64-linux-gnu (>= ${version:cpp}),
+  gdc-${pv:gdc}-x86-64-linux-gnu ${reqv:gdc},
+  ${misc:Depends}
+Description: GNU D compiler (based on GCC) for the amd64 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 amd64 architecture.
+
+Package: gcc-multilib-x86-64-linux-gnu
+Priority: optional
+Architecture: arm64 i386 ppc64el x32
+Depends: cpp-x86-64-linux-gnu (= ${version:cpp}),
+  gcc-x86-64-linux-gnu (= ${version:gcc}),
+  gcc-${pv:gcc}-multilib-x86-64-linux-gnu ${reqv:gcc},
+  ${misc:Depends}
+Recommends: libc6-dev-amd64-cross | libc-dev-amd64-cross
+Suggests: make, manpages-dev, autoconf, automake, libtool, flex, bison, gdb-x86-64-linux-gnu, gcc-doc
+Description: GNU C compiler for the amd64 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 amd64 architecture.
+
+Package: g++-multilib-x86-64-linux-gnu
+Priority: optional
+Architecture: arm64 i386 ppc64el x32
+Depends: cpp-x86-64-linux-gnu (= ${version:cpp}),
+  g++-x86-64-linux-gnu (= ${version:gpp}),
+  gcc-multilib-x86-64-linux-gnu (= ${version:gcc}),
+  g++-${pv:gpp}-multilib-x86-64-linux-gnu ${reqv:gpp},
+  ${misc:Depends}
+Description: GNU C++ compiler for the amd64 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 amd64 architecture.
+
+Package: gobjc-multilib-x86-64-linux-gnu
+Priority: optional
+Architecture: arm64 i386 ppc64el x32
+Depends: cpp-x86-64-linux-gnu (>= ${version:cpp}),
+  gobjc-x86-64-linux-gnu (>= ${version:gobjc}),
+  gcc-multilib-x86-64-linux-gnu (>= ${version:cpp}),
+  gobjc-${pv:gobjc}-multilib-x86-64-linux-gnu ${reqv:gobjc},
+  ${misc:Depends}
+Description: GNU Objective-C compiler for the amd64 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 amd64 architecture.
+
+Package: gobjc++-multilib-x86-64-linux-gnu
+Priority: optional
+Architecture: arm64 i386 ppc64el x32
+Depends: cpp-x86-64-linux-gnu (>= ${version:cpp}),
+  gcc-multilib-x86-64-linux-gnu (>= ${version:cpp}),
+  gobjc++-x86-64-linux-gnu (>= ${version:gobjcxx}),
+  gobjc++-${pv:gobjcxx}-multilib-x86-64-linux-gnu ${reqv:gobjcxx},
+  ${misc:Depends}
+Recommends: g++-x86-64-linux-gnu (>= ${version:cpp}),
+  gobjc-x86-64-linux-gnu (>= ${version:cpp})
+Description: GNU Objective-C++ compiler for the amd64 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 amd64 architecture.
+
+Package: gfortran-multilib-x86-64-linux-gnu
+Priority: optional
+Architecture: arm64 i386 ppc64el x32
+Depends: cpp-x86-64-linux-gnu (= ${version:cpp}),
+  gcc-multilib-x86-64-linux-gnu (= ${version:gcc}),
+  gfortran-x86-64-linux-gnu (= ${version:gfort}),
+  gfortran-${pv:gfort}-multilib-x86-64-linux-gnu ${reqv:gfort},
+  ${misc:Depends}
+Suggests: gfortran-doc
+Description: GNU Fortran 95 compiler for the amd64 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 amd64 architecture.
+
+Package: gccgo-multilib-x86-64-linux-gnu
+Priority: optional
+Architecture: arm64 i386 ppc64el x32
+Depends: cpp-x86-64-linux-gnu (>= ${version:cpp}),
+  g++-multilib-x86-64-linux-gnu (>= ${version:gcc}),
+  gccgo-x86-64-linux-gnu (>= ${version:ggo}),
+  gccgo-${pv:ggo}-multilib-x86-64-linux-gnu ${reqv:ggo},
+  ${misc:Depends}
+Suggests: gccgo-doc
+Description: Go compiler (based on GCC) for the amd64 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 amd64 architecture.
+
+Package: gdc-multilib-x86-64-linux-gnu
+Priority: optional
+Architecture: arm64 i386 ppc64el x32
+Depends: cpp-x86-64-linux-gnu (>= ${version:cpp}),
+  gdc-${pv:gdc}-multilib-x86-64-linux-gnu ${reqv:gdc},
+  gdc-x86-64-linux-gnu (>= ${version:gdc}),
+  ${misc:Depends}
+Description: GNU D compiler (based on GCC) for the amd64 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 amd64 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
+ 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
+ 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 ppc64el
+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 ppc64el
+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 ppc64el
+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 ppc64el
+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 ppc64el
+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 ppc64el
+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 ppc64el
+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 ppc64el
+#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 ppc64el
+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 ppc64el
+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 ppc64el
+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 ppc64el
+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 ppc64el
+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 ppc64el
+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 ppc64el
+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 ppc64el
+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 ppc64el
+#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 ppc64el
+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 ppc64el
+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 ppc64el
+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 ppc64el
+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 ppc64el
+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 ppc64el
+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 ppc64el
+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 ppc64el
+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 ppc64el
+#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 ppc64el
+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
+ 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
+ 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
+ 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
+ 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
+ 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
+ for the mips64el architecture.
+
+Package: cpp-i686-linux-gnu
+Priority: optional
+Architecture: amd64 arm64 ppc64el x32
+Multi-Arch: foreign
+Section: interpreters
+Depends: cpp-${pv:cpp}-i686-linux-gnu ${reqv:cpp}, ${misc:Depends}
+Suggests: cpp-doc
+Description: GNU C preprocessor (cpp) for the i386 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 i386 architecture.
+ .
+ This is a dependency package providing the default GNU C preprocessor
+ for the i386 architecture.
+
+Package: gcc-i686-linux-gnu
+Priority: optional
+Architecture: amd64 arm64 ppc64el x32
+Multi-Arch: foreign
+Depends: cpp-i686-linux-gnu (= ${version:cpp}),
+  gcc-${pv:gcc}-i686-linux-gnu ${reqv:gcc},
+  ${misc:Depends}
+Recommends: libc6-dev-i386-cross | libc-dev-i386-cross
+Suggests: make, manpages-dev, autoconf, automake, libtool, flex, bison, gdb-i686-linux-gnu, gcc-doc
+Description: GNU C compiler for the i386 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 i386 architecture.
+
+Package: g++-i686-linux-gnu
+Priority: optional
+Architecture: amd64 arm64 ppc64el x32
+Multi-Arch: foreign
+Depends: cpp-i686-linux-gnu (= ${version:cpp}),
+  gcc-i686-linux-gnu (= ${version:cpp}),
+  g++-${pv:gpp}-i686-linux-gnu ${reqv:gpp},
+  ${misc:Depends}
+Description: GNU C++ compiler for the i386 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 i386 architecture.
+
+Package: gobjc-i686-linux-gnu
+Priority: optional
+Architecture: amd64 arm64 ppc64el x32
+Multi-Arch: foreign
+Depends: cpp-i686-linux-gnu (>= ${version:cpp}),
+  gcc-i686-linux-gnu (>= ${version:cpp}),
+  gobjc-${pv:gobjc}-i686-linux-gnu ${reqv:gobjc},
+  ${misc:Depends}
+Description: GNU Objective-C compiler for the i386 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 i386 architecture.
+
+Package: gobjc++-i686-linux-gnu
+Priority: optional
+Architecture: amd64 arm64 ppc64el x32
+Multi-Arch: foreign
+Depends: cpp-i686-linux-gnu (>= ${version:cpp}),
+  gcc-i686-linux-gnu (>= ${version:cpp}),
+  gobjc++-${pv:gobjcxx}-i686-linux-gnu ${reqv:gobjcxx},
+  ${misc:Depends}
+Recommends: g++-i686-linux-gnu (>= ${version:cpp}), gobjc-i686-linux-gnu (>= ${version:cpp})
+Description: GNU Objective-C++ compiler for the i386 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 i386 architecture.
+
+Package: gfortran-i686-linux-gnu
+Priority: optional
+Architecture: amd64 arm64 ppc64el x32
+Multi-Arch: foreign
+Depends: cpp-i686-linux-gnu (= ${version:cpp}),
+  gcc-i686-linux-gnu (= ${version:gcc}),
+  gfortran-${pv:gfort}-i686-linux-gnu ${reqv:gfort},
+  ${misc:Depends}
+Suggests: gfortran-doc
+Description: GNU Fortran 95 compiler for the i386 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 i386 architecture.
+
+Package: gccgo-i686-linux-gnu
+Priority: optional
+Architecture: amd64 arm64 ppc64el x32
+Multi-Arch: foreign
+Depends: cpp-i686-linux-gnu (>= ${version:cpp}),
+  g++-i686-linux-gnu (>= ${version:gcc}),
+  gccgo-${pv:ggo}-i686-linux-gnu ${reqv:ggo},
+  ${misc:Depends}
+Suggests: gccgo-doc
+Description: Go compiler (based on GCC) for the i386 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 i386 architecture.
+
+#Package: gcj-i686-linux-gnu
+#Priority: optional
+#Architecture: amd64 arm64 ppc64el x32
+#Multi-Arch: foreign
+#Depends: cpp-i686-linux-gnu (>= ${version:cpp}),
+#  gcj-${pv:gcj}-i686-linux-gnu ${reqv:gcj},
+#  ${misc:Depends}
+#Description: GNU Java compiler (based on GCC) for the i386 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 i386 architecture.
+
+Package: gdc-i686-linux-gnu
+Priority: optional
+Architecture: amd64 arm64 ppc64el x32
+Multi-Arch: foreign
+Depends: cpp-i686-linux-gnu (>= ${version:cpp}),
+  gdc-${pv:gdc}-i686-linux-gnu ${reqv:gdc},
+  ${misc:Depends}
+Description: GNU D compiler (based on GCC) for the i386 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 i386 architecture.
+
+Package: gcc-multilib-i686-linux-gnu
+Priority: optional
+Architecture: amd64 arm64 ppc64el x32
+Depends: cpp-i686-linux-gnu (= ${version:cpp}),
+  gcc-i686-linux-gnu (= ${version:gcc}),
+  gcc-${pv:gcc}-multilib-i686-linux-gnu ${reqv:gcc},
+  ${misc:Depends}
+Recommends: libc6-dev-i386-cross | libc-dev-i386-cross
+Suggests: make, manpages-dev, autoconf, automake, libtool, flex, bison, gdb-i686-linux-gnu, gcc-doc
+Description: GNU C compiler for the i386 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 i386 architecture.
+
+Package: g++-multilib-i686-linux-gnu
+Priority: optional
+Architecture: amd64 arm64 ppc64el x32
+Depends: cpp-i686-linux-gnu (= ${version:cpp}),
+  g++-i686-linux-gnu (= ${version:gpp}),
+  gcc-multilib-i686-linux-gnu (= ${version:gcc}),
+  g++-${pv:gpp}-multilib-i686-linux-gnu ${reqv:gpp},
+  ${misc:Depends}
+Description: GNU C++ compiler for the i386 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 i386 architecture.
+
+Package: gobjc-multilib-i686-linux-gnu
+Priority: optional
+Architecture: amd64 arm64 ppc64el x32
+Depends: cpp-i686-linux-gnu (>= ${version:cpp}),
+  gobjc-i686-linux-gnu (>= ${version:gobjc}),
+  gcc-multilib-i686-linux-gnu (>= ${version:cpp}),
+  gobjc-${pv:gobjc}-multilib-i686-linux-gnu ${reqv:gobjc},
+  ${misc:Depends}
+Description: GNU Objective-C compiler for the i386 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 i386 architecture.
+
+Package: gobjc++-multilib-i686-linux-gnu
+Priority: optional
+Architecture: amd64 arm64 ppc64el x32
+Depends: cpp-i686-linux-gnu (>= ${version:cpp}),
+  gcc-multilib-i686-linux-gnu (>= ${version:cpp}),
+  gobjc++-i686-linux-gnu (>= ${version:gobjcxx}),
+  gobjc++-${pv:gobjcxx}-multilib-i686-linux-gnu ${reqv:gobjcxx},
+  ${misc:Depends}
+Recommends: g++-i686-linux-gnu (>= ${version:cpp}),
+  gobjc-i686-linux-gnu (>= ${version:cpp})
+Description: GNU Objective-C++ compiler for the i386 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 i386 architecture.
+
+Package: gfortran-multilib-i686-linux-gnu
+Priority: optional
+Architecture: amd64 arm64 ppc64el x32
+Depends: cpp-i686-linux-gnu (= ${version:cpp}),
+  gcc-multilib-i686-linux-gnu (= ${version:gcc}),
+  gfortran-i686-linux-gnu (= ${version:gfort}),
+  gfortran-${pv:gfort}-multilib-i686-linux-gnu ${reqv:gfort},
+  ${misc:Depends}
+Suggests: gfortran-doc
+Description: GNU Fortran 95 compiler for the i386 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 i386 architecture.
+
+Package: gccgo-multilib-i686-linux-gnu
+Priority: optional
+Architecture: amd64 arm64 ppc64el x32
+Depends: cpp-i686-linux-gnu (>= ${version:cpp}),
+  g++-multilib-i686-linux-gnu (>= ${version:gcc}),
+  gccgo-i686-linux-gnu (>= ${version:ggo}),
+  gccgo-${pv:ggo}-multilib-i686-linux-gnu ${reqv:ggo},
+  ${misc:Depends}
+Suggests: gccgo-doc
+Description: Go compiler (based on GCC) for the i386 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 i386 architecture.
+
+Package: gdc-multilib-i686-linux-gnu
+Priority: optional
+Architecture: amd64 arm64 ppc64el x32
+Depends: cpp-i686-linux-gnu (>= ${version:cpp}),
+  gdc-${pv:gdc}-multilib-i686-linux-gnu ${reqv:gdc},
+  gdc-i686-linux-gnu (>= ${version:gdc}),
+  ${misc:Depends}
+Description: GNU D compiler (based on GCC) for the i386 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 i386 architecture.
diff --git a/debian/control.cross-ada.in b/debian/control.cross-ada.in
new file mode 100644 (file)
index 0000000..fd2f08c
--- /dev/null
@@ -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 (file)
index 0000000..6bf5451
--- /dev/null
@@ -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
+ 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
+ for the CROSS_ARCH architecture.
diff --git a/debian/control.cross.in b/debian/control.cross.in
new file mode 100644 (file)
index 0000000..27f7703
--- /dev/null
@@ -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 (file)
index 0000000..14afacf
--- /dev/null
@@ -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 (file)
index 0000000..c86c0e6
--- /dev/null
@@ -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 (file)
index 0000000..71311c7
--- /dev/null
@@ -0,0 +1,408 @@
+
+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, ${gcc:triplet}
+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-i686-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-riscv64-linux-gnu,
+  gcc-7-s390x-linux-gnu,
+  gcc-7-sh4-linux-gnu,
+  gcc-7-sparc-linux-gnu,
+  gcc-7-x86-64-linux-gnu,
+  gcc-7-x86-64-linux-gnux32,
+  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-i686-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-riscv64-linux-gnu,
+  gcc-8-s390x-linux-gnu,
+  gcc-8-sh4-linux-gnu,
+  gcc-8-sparc-linux-gnu,
+  gcc-8-sparc64-linux-gnu,
+  gcc-8-x86-64-linux-gnu,
+  gcc-8-x86-64-linux-gnux32,
+  gcc-9-aarch64-linux-gnu,
+  gcc-9-alpha-linux-gnu,
+  gcc-9-arm-linux-gnueabi,
+  gcc-9-arm-linux-gnueabihf,
+  gcc-9-hppa-linux-gnu,
+  gcc-9-i686-linux-gnu,
+  gcc-9-m68k-linux-gnu,
+  gcc-9-powerpc-linux-gnu,
+  gcc-9-powerpc-linux-gnuspe,
+  gcc-9-powerpc64-linux-gnu,
+  gcc-9-powerpc64le-linux-gnu,
+  gcc-9-mips-linux-gnu,
+  gcc-9-mipsel-linux-gnu,
+  gcc-9-mips64-linux-gnuabi64,
+  gcc-9-mips64el-linux-gnuabi64,
+  gcc-9-riscv64-linux-gnu,
+  gcc-9-s390x-linux-gnu,
+  gcc-9-sh4-linux-gnu,
+  gcc-9-sparc-linux-gnu,
+  gcc-9-sparc64-linux-gnu,
+  gcc-9-x86-64-linux-gnu,
+  gcc-9-x86-64-linux-gnux32,
+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, ${gpp:triplet}
+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.
+
+Package: gccbrig
+Priority: optional
+Architecture: amd64 i386 x32
+Depends: cpp (>= ${version:cpp}), gcc (>= ${version:cpp}),
+  gccbrig-${pv:brig} ${reqv:brig}, ${misc:Depends}
+Description: GNU BRIG (HSA IL) frontend
+ This is the GNU BRIG (HSA IL) frontend.  The consumed format is a binary
+ representation. The textual HSAIL can be compiled to it with a separate
+ assembler.
+ .
+ This is a dependency package providing the default GNU Objective-C compiler.
+
+Package: gcc-offload-nvptx
+Priority: optional
+Architecture: amd64
+Depends: cpp (>= ${version:cpp}), gcc (>= ${version:cpp}),
+  gcc-${pv:offl}-offload-nvptx ${reqv:offl}, ${misc:Depends}
+Description: GCC offloading compiler to NVPTX
+ This package contains libgomp plugin for offloading to NVidia
+ PTX. The plugin needs libcuda.so.1 shared library that has to be
+ installed separately.
+ .
+ This is a dependency package providing the default GNU Objective-C compiler.
diff --git a/debian/control.pkg-config.in b/debian/control.pkg-config.in
new file mode 100644 (file)
index 0000000..79679e0
--- /dev/null
@@ -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 (file)
index 0000000..8d415fa
--- /dev/null
@@ -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: 4.2.0
+Build-Depends: m4, debhelper (>= 9),
+  dpkg-dev (>= 1.17.11),
+  gcc-8-base (>= 8.2.0-4),
+  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 (file)
index 0000000..ed6b0f5
--- /dev/null
@@ -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 (file)
index 0000000..9b3c6e2
--- /dev/null
@@ -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 (file)
index 0000000..653c75f
--- /dev/null
@@ -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 (file)
index 0000000..f3758f8
--- /dev/null
@@ -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 (file)
index 0000000..aa50462
--- /dev/null
@@ -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 (file)
index 0000000..206b27a
--- /dev/null
@@ -0,0 +1,101 @@
+#!/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 File::Temp qw(tempfile tempdir);
+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 ($tdir, $fh, $sourcelist);
+$tdir = tempdir(CLEANUP => 1);
+($fh, $sourcelist) = tempfile("sourcesXXXXX", DIR => $tdir);
+
+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 (file)
index 0000000..c6bc395
--- /dev/null
@@ -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 (file)
index 0000000..6be5a9a
--- /dev/null
@@ -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 (file)
index 0000000..70f7c8e
--- /dev/null
@@ -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 (file)
index 0000000..953c783
--- /dev/null
@@ -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 (file)
index 0000000..6c05b6d
--- /dev/null
@@ -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 (file)
index 0000000..ac4c3f2
--- /dev/null
@@ -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 (file)
index 0000000..85ff3e8
--- /dev/null
@@ -0,0 +1,24 @@
+#! /bin/sh
+
+set -e
+
+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.prerm b/debian/gcc.prerm
new file mode 100644 (file)
index 0000000..64b43f4
--- /dev/null
@@ -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 (file)
index 0000000..277ccc7
--- /dev/null
@@ -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 (file)
index 0000000..b90f6ef
--- /dev/null
@@ -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 (file)
index 0000000..c03d987
--- /dev/null
@@ -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 (file)
index 0000000..f3a1a9a
--- /dev/null
@@ -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 (file)
index 0000000..b368ea4
--- /dev/null
@@ -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 (file)
index 0000000..d5e53ef
--- /dev/null
@@ -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 (file)
index 0000000..cdffa42
--- /dev/null
@@ -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 (file)
index 0000000..38a71de
--- /dev/null
@@ -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 (file)
index 0000000..9acef4a
--- /dev/null
@@ -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 (file)
index 0000000..e1a745e
--- /dev/null
@@ -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 (file)
index 0000000..e1a745e
--- /dev/null
@@ -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 (file)
index 0000000..297a00b
--- /dev/null
@@ -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 (executable)
index 0000000..bd33a66
--- /dev/null
@@ -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 (executable)
index 0000000..fb916f5
--- /dev/null
@@ -0,0 +1,1625 @@
+#! /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)
+REL_NO_64      := $(shell expr $(VMINOR) - 170)$(REL_EXT)
+
+REL_NO_70      := $(shell expr $(VMINOR) - 167)$(REL_EXT)
+REL_NO_71      := $(shell expr $(VMINOR) - 169)$(REL_EXT)
+REL_NO_71      := $(shell expr $(VMINOR) - 170)$(REL_EXT)
+REL_NO_72      := $(shell expr $(VMINOR) - 172)$(REL_EXT)
+REL_NO_73      := $(shell expr $(VMINOR) - 173)$(REL_EXT)
+
+REL_NO_80      := $(shell expr $(VMINOR) - 175)$(REL_EXT)
+REL_NO_81      := $(shell expr $(VMINOR) - 177)$(REL_EXT)
+REL_NO_82      := $(shell expr $(VMINOR) - 178)$(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.4.0-1~)
+REQV_7         := (>= 7.3.0-11~)
+REQV_8         := (>= 8.2.0-4~)
+
+REQV_LIBGCJ_BC := (>= 6.4.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 riscv64 s390 s390x sh4 sparc sparc64 x32 hurd-i386 kfreebsd-amd64 kfreebsd-i386
+
+gcc7_archs =
+gcc8_archs  = alpha amd64 armel armhf arm64 hppa i386 ia64 m68k mips mipsel mips64 mips64el or1k powerpc powerpcspe ppc64 ppc64el riscv64 s390 s390x sh4 sparc sparc64 x32 hurd-i386 kfreebsd-amd64 kfreebsd-i386
+
+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
+gcj6_archs  =
+
+gnat_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
+gnat7_archs  =
+
+# CV_XXX is the complete version number, including the release, without epoch
+CV_CPP         := 8.2.0-$(REL_NO_82)
+CV_GCC         := 8.2.0-$(REL_NO_82)
+CV_GPP         := 8.2.0-$(REL_NO_82)
+CV_GOBJC       := 8.2.0-$(REL_NO_82)
+CV_GOBJCXX     := 8.2.0-$(REL_NO_82)
+CV_GFORT       := 8.2.0-$(REL_NO_82)
+CV_GGO         := 8.2.0-$(REL_NO_82)
+CV_GNAT                := 8.2.0-$(REL_NO_82)
+CV_GCJ         := 6.4.0-$(REL_NO_64)
+CV_GIJ         := 6.4.0-$(REL_NO_64)
+CV_LIBGCJBC    := 6.4.0-$(REL_NO_64)
+CV_GDC         := 8.2.0-$(REL_NO_82)
+CV_LIBGCJCOMMON        := 1:6.4-$(REL_NO_64)
+CV_BRIG                := 8.2.0-$(REL_NO_82)
+CV_OFFL                := 8.2.0-$(REL_NO_82)
+
+$(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 CV_BRIG CV_OFFL, \
+    $(eval $(v)_$(a) = $(call $(v)))))
+
+ifneq (,$(filter $(DEB_HOST_ARCH), $(gcc7_archs)))
+  CV_CPP               := 7.3.0-$(REL_NO_73)
+  CV_GCC               := 7.3.0-$(REL_NO_73)
+  CV_GPP               := 7.3.0-$(REL_NO_73)
+  CV_GOBJC             := 7.3.0-$(REL_NO_73)
+  CV_GOBJCXX           := 7.3.0-$(REL_NO_73)
+  CV_GFORT             := 7.3.0-$(REL_NO_73)
+  CV_GGO               := 7.3.0-$(REL_NO_73)
+  CV_GDC               := 7.3.0-$(REL_NO_73)
+  CV_BRIG              := 7.3.0-$(REL_NO_73)
+  CV_OFFL              := 7.3.0-$(REL_NO_73)
+  $(foreach a, $(gcc7_archs), \
+    $(foreach v, CV_CPP CV_GCC CV_GPP CV_GOBJC CV_GOBJCXX CV_GFORT CV_GGO CV_GDC CV_BRIG CV_OFFL, \
+      $(eval $(v)_$(a) = $(call $(v)))))
+endif
+
+ifneq (,$(filter $(DEB_HOST_ARCH), $(gnat7_archs)))
+  CV_GNAT              := 7.3.0-$(REL_NO_73)
+  $(foreach a, $(gnat5_archs), \
+    $(foreach v, CV_GNAT, \
+      $(eval $(v)_$(a) = $(call $(v)))))
+endif
+
+REQV_CPP       = $(REQV_8)
+REQV_GCC       = $(REQV_8)
+REQV_GPP       = $(REQV_8)
+REQV_GOBJC     = $(REQV_8)
+REQV_GOBJCXX   = $(REQV_8)
+REQV_GFORT     = $(REQV_8)
+REQV_GGO       = $(REQV_8)
+REQV_GNAT      = $(REQV_8)
+REQV_GCJ       = $(REQV_6)
+REQV_GIJ       = $(REQV_6)
+REQV_GDC       = $(REQV_8)
+REQV_BRIG      = $(REQV_8)
+REQV_OFFL      = $(REQV_8)
+$(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 REQV_BRIG REQV_OFFL, \
+    $(eval $(v)_$(a) = $(call $(v)))))
+
+ifneq (,$(filter $(DEB_HOST_ARCH),$(gcc7_archs)))
+  REQV_CPP     = $(REQV_7)
+  REQV_GCC     = $(REQV_7)
+  REQV_GPP     = $(REQV_7)
+  REQV_GOBJC   = $(REQV_7)
+  REQV_GOBJCXX = $(REQV_7)
+  REQV_GFORT   = $(REQV_7)
+  REQV_GGO     = $(REQV_7)
+  REQV_GNAT    = $(REQV_7)
+  REQV_GDC     = $(REQV_7)
+  REQV_BRIG    = $(REQV_7)
+  REQV_OFFL    = $(REQV_7)
+  $(foreach a, $(gcc7_archs), \
+    $(foreach v, REQV_CPP REQV_GCC REQV_GPP REQV_GOBJC REQV_GOBJCXX REQV_GFORT REQV_GGO REQV_GCJ REQV_GDC REQV_BRIG REQV_OFFL, \
+      $(eval $(v)_$(a) = $(call $(v)))))
+endif
+
+ifneq (,$(filter $(DEB_HOST_ARCH),$(gnat7_archs)))
+  REQV_GNAT    = $(REQV_7)
+  $(foreach a, $(gnat7_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
+gcj_archs =
+gcj_native_archs =
+
+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 \
+       mips mips64 mips64el mipsel \
+       powerpc powerpcspe ppc64 ppc64el riscv64 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
+
+nvptx_archs = amd64
+brig_archs = amd64 i386 x32
+
+hppa64_archs = amd64 hppa i386 x32
+phobos_archs = amd64 armel armhf i386 x32 hppa
+
+HOST_ARCHS_alpha = amd64 i386 x32
+HOST_ARCHS_amd64 = arm64 i386 ppc64el x32
+HOST_ARCHS_armhf = amd64 i386 x32 arm64 ppc64el
+HOST_ARCHS_armel = amd64 i386 x32 arm64 ppc64el
+HOST_ARCHS_arm64 = amd64 i386 x32 ppc64el
+HOST_ARCHS_hppa = amd64 i386 x32
+HOST_ARCHS_i386 = amd64 arm64 ppc64el 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 ppc64el
+HOST_ARCHS_ppc64el = amd64 i386 x32 ppc64
+HOST_ARCHS_riscv64 = amd64 i386 x32
+HOST_ARCHS_s390x = amd64 i386 x32
+HOST_ARCHS_sh4 = amd64 i386 x32
+HOST_ARCHS_sparc64 = amd64 i386 x32
+HOST_ARCHS_x32 = amd64 arm64 i386 ppc64el
+
+ifeq (,$(CROSS_ARCHS))
+  ifeq ($(SOURCE),gcc-defaults)
+    ifneq (,$(filter $(DEB_HOST_ARCH),amd64 i386 x32))
+      CROSS_ARCHS  = s390x ppc64el arm64 armhf armel \
+       $(if $(filter $(vendor), Ubuntu), powerpc, mips mipsel mips64el) \
+        $(if $(filter $(DEB_HOST_ARCH), i386 x32), amd64) \
+        $(if $(filter $(DEB_HOST_ARCH), amd64 x32), i386)
+    else ifeq ($(DEB_HOST_ARCH),arm64)
+      CROSS_ARCHS = amd64 armel armhf i386
+    else ifeq ($(DEB_HOST_ARCH),ppc64)
+      CROSS_ARCHS = ppc64el
+    else ifeq ($(DEB_HOST_ARCH),ppc64el)
+      CROSS_ARCHS = amd64 i386 $(if $(filter $(vendor), Ubuntu), powerpc) armel armhf arm64
+    else
+      CROSS_ARCHS =
+    endif
+  else # -ports package
+    ifneq (,$(filter $(DEB_HOST_ARCH),amd64 i386 x32))
+      CROSS_ARCHS  ?= alpha hppa m68k mips64 powerpcspe ppc64 riscv64 sh4 sparc64 \
+               $(if $(filter $(vendor), Ubuntu), mips mipsel mips64el, powerpc) \
+               $(if $(filter $(DEB_HOST_ARCH), amd64 i386), x32)
+    else ifeq ($(DEB_HOST_ARCH),arm64)
+      CROSS_ARCHS = x32
+    else ifeq ($(DEB_HOST_ARCH),ppc64el)
+      CROSS_ARCHS = x32 $(if $(filter $(vendor), Ubuntu),, powerpc)
+    else
+      CROSS_ARCHS =
+    endif
+  endif
+endif
+
+ifeq ($(SOURCE),gcc-defaults)
+  with_native = yes
+endif
+ifneq (,$(CROSS_ARCHS))
+  with_cross  = yes
+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})
+CROSS_PKG_GNU_TYPE = $(subst _,-,$(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
+  all_packages := cpp gcc g++ gfortran gobjc gobjc++ gdc gccgo libgphobos-dev
+  ifneq (,$(filter $(DEB_HOST_ARCH), $(hppa64_archs)))
+    all_packages += gcc-hppa64-linux-gnu
+  endif
+  ifneq (,$(filter $(DEB_HOST_ARCH), $(nvptx_archs)))
+    all_packages += gcc-offload-nvptx
+  endif
+  ifneq (,$(filter $(DEB_HOST_ARCH), $(brig_archs)))
+    all_packages += gccbrig
+  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-m68k-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 V_BRIG V_OFFL, \
+  $(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 V_BRIG V_OFFL, \
+    $(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 V_BRIG V_OFFL, \
+  $(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 V_BRIG V_OFFL, \
+    $(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 V_BRIG V_OFFL, \
+    $(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 V_BRIG V_OFFL, \
+      $(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) \
+          -DV_BRIG=$(V_BRIG)     -DPV_BRIG=$(PV_BRIG) \
+          -DV_OFFL=$(V_OFFL)     -DPV_OFFL=$(PV_OFFL) \
+          $(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 'version:brig=$(CV_BRIG)'; \
+         echo 'version:offl=$(CV_OFFL)'; \
+         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 'pv:brig=$(PV_BRIG)'; \
+         echo 'pv:offl=$(PV_OFFL)'; \
+         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 'reqv:brig=$(REQV_BRIG)'; \
+         echo 'reqv:offl=$(REQV_OFFL)'; \
+         echo 'pkg:libgcj=$(LIBGCJ)'; \
+         echo 'pkg:libgcjawt=$(LIBGCJ)-awt'; \
+         echo 'version:libgcjbc=$(CV_LIBGCJBC)'; \
+         echo 'gcc:triplet=gcc-$(subst _,-,$(DEB_HOST_GNU_TYPE)) (= $(EPOCH):$(CV_GCC))'; \
+         echo 'gpp:triplet=g++-$(subst _,-,$(DEB_HOST_GNU_TYPE)) (= $(EPOCH):$(CV_GPP))'; \
+       ) > 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,amd64 $(CROSS_ARCHS), \
+         sed \
+           -e "s/CROSS_ARCH/$(a)/g" \
+           -e 's/CROSS_GNU_TYPE/$(subst _,-,$(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: build-stamp # cacerts-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/lib/gcc/$(DEB_HOST_GNU_TYPE)/$(PV_GCC)/liblto_plugin.so /usr/lib/bfd-plugins/liblto_plugin.so \
+         /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
+
+ifneq (,$(gcj_archs))
+       : # 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/
+endif
+
+ifneq (,$(filter gccbrig, $(packages)))
+       : # gccbrig
+       dh_installdirs -pgccbrig
+       dh_link -pgccbrig \
+         /usr/share/doc/cpp /usr/share/doc/gccbrig \
+         /usr/bin/gccbrig-$(PV_BRIG) /usr/bin/gccbrig \
+         /usr/bin/gccbrig-$(PV_BRIG) /usr/bin/$(DEB_HOST_GNU_TYPE)-gccbrig \
+         $(if $(filter yes, $(with_gfdl_docs)), \
+           /usr/share/man/man1/gccbrig-$(PV_BRIG).1.gz /usr/share/man/man1/gccbrig.1.gz \
+           /usr/share/man/man1/gccbrig-$(PV_BRIG).1.gz /usr/share/man/man1/$(DEB_HOST_GNU_TYPE)-gccbrig.1.gz \
+         )
+endif
+
+ifneq (,$(filter gcc-offload-nvptx, $(packages)))
+       : # gcc-offload-nvptx
+       dh_installdirs -pgcc-offload-nvptx
+       dh_link -pgcc-offload-nvptx \
+         /usr/share/doc/cpp /usr/share/doc/gcc-offload-nvptx \
+         /usr/bin/$(DEB_HOST_GNU_TYPE)-accel-nvptx-none-gcc-$(PV_OFFL) \
+           /usr/bin/$(DEB_HOST_GNU_TYPE)-accel-nvptx-none-gcc \
+         $(if $(filter yes, $(with_gfdl_docs)), \
+           /usr/share/man/man1/$(DEB_HOST_GNU_TYPE)-accel-nvptx-none-$(PV_OFFL).1.gz \
+             /usr/share/man/man1/$(DEB_HOST_GNU_TYPE)-accel-nvptx-none.1.gz \
+         )
+endif
+
+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_PKG_GNU_TYPE), $(all_packages)); do \
+         cp -l debian/substvars.$(CROSS_ARCH) debian/$$p.substvars; \
+       done
+
+       : # cpp-$(CROSS_PKG_GNU_TYPE)
+       dh_installdirs -pcpp-$(CROSS_PKG_GNU_TYPE)
+       dh_link -pcpp-$(CROSS_PKG_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_PKG_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_PKG_GNU_TYPE)
+       dh_installdirs -pgcc-$(CROSS_PKG_GNU_TYPE)
+       dh_link -pgcc-$(CROSS_PKG_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_GNU_TYPE)-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_PKG_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_PKG_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_PKG_GNU_TYPE)
+       $(if $(filter gdc-$(CROSS_PKG_GNU_TYPE), $(packages)), \
+         dh_installdirs -pgdc-$(CROSS_PKG_GNU_TYPE); \
+         dh_installdocs -pgdc-$(CROSS_PKG_GNU_TYPE) \
+           debian/README.Debian; \
+         dh_link -pgdc-$(CROSS_PKG_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_PKG_GNU_TYPE)
+       $(if $(filter gobjc-$(CROSS_PKG_GNU_TYPE), $(packages)), \
+         dh_installdirs -pgobjc-$(CROSS_PKG_GNU_TYPE); \
+         dh_link -pgobjc-$(CROSS_PKG_GNU_TYPE) \
+           /usr/share/doc/cpp-$(CROSS_GNU_TYPE) /usr/share/doc/gobjc-$(CROSS_GNU_TYPE); \
+       )
+
+       : # gobjc++-$(CROSS_PKG_GNU_TYPE)
+       $(if $(filter gobjc++-$(CROSS_PKG_GNU_TYPE), $(packages)), \
+         dh_installdirs -pgobjc++-$(CROSS_PKG_GNU_TYPE); \
+         dh_link -pgobjc++-$(CROSS_PKG_GNU_TYPE) \
+           /usr/share/doc/cpp-$(CROSS_GNU_TYPE) /usr/share/doc/gobjc++-$(CROSS_GNU_TYPE); \
+       )
+
+       : # g++-$(CROSS_PKG_GNU_TYPE)
+       $(if $(filter g++-$(CROSS_PKG_GNU_TYPE), $(packages)), \
+         dh_installdirs -pg++-$(CROSS_PKG_GNU_TYPE); \
+         dh_link -pg++-$(CROSS_PKG_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_PKG_GNU_TYPE)
+       $(if $(filter gfortran-$(CROSS_PKG_GNU_TYPE), $(packages)), \
+         dh_installdirs -pgfortran-$(CROSS_PKG_GNU_TYPE); \
+         dh_link -pgfortran-$(CROSS_PKG_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_PKG_GNU_TYPE)
+       $(if $(filter gccgo-$(CROSS_PKG_GNU_TYPE), $(packages)), \
+         dh_installdirs -pgccgo-$(CROSS_PKG_GNU_TYPE); \
+         dh_link -pgccgo-$(CROSS_PKG_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 \
+           ); \
+       )
+
+ifneq (,$(gcj_archs))
+       : # gcj-$(CROSS_PKG_GNU_TYPE)
+       $(if $(filter gcj-$(CROSS_PKG_GNU_TYPE), $(packages)), \
+         dh_installdirs -pgcj-$(CROSS_PKG_GNU_TYPE); \
+         dh_link -pgcj-$(CROSS_PKG_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 \
+           ); \
+       )
+endif
+
+       : # gnat-$(CROSS_PKG_GNU_TYPE)
+       $(if $(filter gnat-$(CROSS_PKG_GNU_TYPE), $(packages)), \
+         dh_installdirs -pgnat-$(CROSS_PKG_GNU_TYPE); \
+         dh_link -pgnat-$(CROSS_PKG_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_PKG_GNU_TYPE); \
+         dh_link -pgnat-sjlj-$(CROSS_PKG_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, $(filter $(shell dh_listpackages -a), $(sort $(invalid_packages) $(no_packages) $(cross_packages))),-N$(p))
+
+binary-indep: build-indep install
+ifeq ($(with_native),yes)
+       dh_testdir
+       dh_testroot
+  ifneq (,$(gcj_archs))
+       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
+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 $(if $(gcj_archs),-Nlibgcj-bc -Nlibgcj-common) $(if $(filter yes,$(with_gfdl_docs)),-Ncpp-doc -Ngcc-doc -Ngfortran-doc -Ngccgo-doc) -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 -a $(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 -a $(nopkgs_native)
+       dh_installdeb -a $(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 gccbrig, $(packages)))
+       dh_gencontrol -pgccbrig \
+         -u-v$(EPOCH):$(CV_BRIG)
+endif
+ifneq (,$(filter gcc-offload-nvptx, $(packages)))
+       dh_gencontrol -pgcc-offload-nvptx \
+         -u-v$(EPOCH):$(CV_OFFL)
+endif
+ifneq (,$(filter gcc-hppa64-linux-gnu, $(packages)))
+       dh_gencontrol -pgcc-hppa64-linux-gnu \
+         -u-v$(EPOCH):$(CV_GCC)
+endif
+       dh_md5sums -a $(nopkgs_native)
+       dh_builddeb -a $(nopkgs_native)
+endif # with_native
+
+binary.%: build-arch install
+       dh_testdir
+       dh_testroot
+       dh_installdocs -pcpp-$(CROSS_PKG_GNU_TYPE) \
+         $(if $(filter pkg-config-$(CROSS_PKG_GNU_TYPE), $(packages)),-ppkg-config-$(CROSS_PKG_GNU_TYPE))
+
+       for p in $(filter %-$(CROSS_PKG_GNU_TYPE),$(cross_packages)); do \
+         case "$$p" in \
+           cpp-*|pkg-config-*) continue;; \
+           *-gnu*|*-kfreebsd*) t=cpp-$(CROSS_PKG_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_PKG_GNU_TYPE) \
+         $(if $(filter pkg-config-$(CROSS_PKG_GNU_TYPE), $(packages)),-ppkg-config-$(CROSS_PKG_GNU_TYPE))
+       for i in cpp-$(CROSS_PKG_GNU_TYPE) $(if $(filter pkg-config-$(CROSS_PKG_GNU_TYPE), $(packages)),pkg-config-$(CROSS_PKG_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_PKG_GNU_TYPE),$(cross_packages)),-p$(p)) \
+         -XREADME.Debian
+       $(if $(filter pkg-config-$(CROSS_PKG_GNU_TYPE), $(packages)), \
+         dh_link -ppkg-config-$(CROSS_PKG_GNU_TYPE) \
+         /usr/share/pkg-config-crosswrapper /usr/bin/${CROSS_GNU_TYPE}-pkg-config \
+       )
+
+       for p in $(filter %-$(CROSS_PKG_GNU_TYPE),$(cross_packages)); do \
+         case $$p in \
+           cpp-$(CROSS_PKG_GNU_TYPE)|g++-$(CROSS_PKG_GNU_TYPE)|gcc-$(CROSS_PKG_GNU_TYPE)|gccgo-$(CROSS_PKG_GNU_TYPE)|gcj-$(CROSS_PKG_GNU_TYPE)|gfortran-$(CROSS_PKG_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_PKG_GNU_TYPE),$(cross_packages)),-p$(p))
+       dh_installdeb $(foreach p,$(filter %-$(CROSS_PKG_GNU_TYPE),$(cross_packages)),-p$(p))
+       dh_gencontrol -pcpp-$(CROSS_PKG_GNU_TYPE) '-u-v$(EPOCH):$(CV_CPP_$(CROSS_ARCH))'
+       dh_gencontrol -pgcc-$(CROSS_PKG_GNU_TYPE) \
+           $(if $(filter $(CROSS_ARCH),$(multilib_archs)),-pgcc-multilib-$(CROSS_PKG_GNU_TYPE)) \
+         '-u-v$(EPOCH):$(CV_GCC_$(CROSS_ARCH))'
+
+       $(if $(filter gdc-$(CROSS_PKG_GNU_TYPE), $(packages)), \
+         dh_gencontrol -pgdc-$(CROSS_PKG_GNU_TYPE) \
+           $(if $(filter $(CROSS_ARCH),$(d_multilib_archs)),-pgdc-multilib-$(CROSS_PKG_GNU_TYPE)) \
+           -u-v$(EPOCH):$(CV_GDC_$(CROSS_ARCH)) \
+       )
+
+       $(if $(filter g++-$(CROSS_PKG_GNU_TYPE), $(packages)), \
+         dh_gencontrol -pg++-$(CROSS_PKG_GNU_TYPE) \
+           $(if $(filter $(CROSS_ARCH),$(multilib_archs)),-pg++-multilib-$(CROSS_PKG_GNU_TYPE)) \
+           -u-v$(EPOCH):$(CV_GPP_$(CROSS_ARCH)) \
+       )
+
+       $(if $(filter gobjc++-$(CROSS_PKG_GNU_TYPE), $(packages)), \
+         dh_gencontrol -pgobjc-$(CROSS_PKG_GNU_TYPE) \
+           $(if $(filter $(CROSS_ARCH),$(multilib_archs)),-pgobjc-multilib-$(CROSS_PKG_GNU_TYPE)) \
+           -u-v$(EPOCH):$(CV_GOBJC_$(CROSS_ARCH)) \
+       )
+
+       $(if $(filter gobjc++-$(CROSS_PKG_GNU_TYPE), $(packages)), \
+         dh_gencontrol -pgobjc++-$(CROSS_PKG_GNU_TYPE) \
+           $(if $(filter $(CROSS_ARCH),$(multilib_archs)),-pgobjc++-multilib-$(CROSS_PKG_GNU_TYPE)) \
+           -u-v$(EPOCH):$(CV_GOBJCXX_$(CROSS_ARCH)) \
+       )
+
+       $(if $(filter gfortran-$(CROSS_PKG_GNU_TYPE), $(packages)), \
+         dh_gencontrol -pgfortran-$(CROSS_PKG_GNU_TYPE) \
+           $(if $(filter $(CROSS_ARCH),$(multilib_archs)),-pgfortran-multilib-$(CROSS_PKG_GNU_TYPE)) \
+           -u-v$(EPOCH):$(CV_GFORT_$(CROSS_ARCH)) \
+       )
+
+       $(if $(filter gccgo-$(CROSS_PKG_GNU_TYPE), $(packages)), \
+         dh_gencontrol -pgccgo-$(CROSS_PKG_GNU_TYPE) \
+           $(if $(filter $(CROSS_ARCH),$(go_multilib_archs)),-pgccgo-multilib-$(CROSS_PKG_GNU_TYPE)) \
+           -u-v$(EPOCH):$(CV_GGO_$(CROSS_ARCH)) \
+       )
+
+       $(if $(filter gcj-$(CROSS_PKG_GNU_TYPE), $(packages)), \
+         dh_gencontrol -pgcj-$(CROSS_PKG_GNU_TYPE) \
+               -u-v$(EPOCH):$(CV_GCJ_$(CROSS_ARCH)) \
+       )
+
+       $(if $(filter gnat-$(CROSS_PKG_GNU_TYPE), $(packages)), \
+         dh_gencontrol -pgnat-$(CROSS_PKG_GNU_TYPE) -pgnat-sjlj-$(CROSS_PKG_GNU_TYPE) \
+               -u-v$(EPOCH):$(CV_GNAT_$(CROSS_ARCH)) \
+       )
+
+       $(if $(filter pkg-config-$(CROSS_PKG_GNU_TYPE), $(packages)), \
+         dh_gencontrol -ppkg-config-$(CROSS_PKG_GNU_TYPE) \
+               -u-v$(EPOCH):$(CV_GCC_$(CROSS_ARCH)) \
+       )
+
+       dh_md5sums $(foreach p,$(filter %-$(CROSS_PKG_GNU_TYPE),$(cross_packages)),-p$(p))
+       dh_builddeb $(foreach p,$(filter %-$(CROSS_PKG_GNU_TYPE),$(cross_packages)),-p$(p))
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install substvars
diff --git a/gfdl.7 b/gfdl.7
new file mode 100644 (file)
index 0000000..4734239
--- /dev/null
+++ b/gfdl.7
@@ -0,0 +1,561 @@
+.\" Automatically generated by Pod::Man v1.34, Pod::Parser v1.13
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings.  \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote.  | will give a
+.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
+.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
+.\" expand to `' in nroff, nothing in troff, for use with C<>.
+.tr \(*W-|\(bv\*(Tr
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+.    ds -- \(*W-
+.    ds PI pi
+.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
+.    ds L" ""
+.    ds R" ""
+.    ds C` ""
+.    ds C' ""
+'br\}
+.el\{\
+.    ds -- \|\(em\|
+.    ds PI \(*p
+.    ds L" ``
+.    ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD.  Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.if \nF \{\
+.    de IX
+.    tm Index:\\$1\t\\n%\t"\\$2"
+..
+.    nr % 0
+.    rr F
+.\}
+.\"
+.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
+.    \" fudge factors for nroff and troff
+.if n \{\
+.    ds #H 0
+.    ds #V .8m
+.    ds #F .3m
+.    ds #[ \f1
+.    ds #] \fP
+.\}
+.if t \{\
+.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.    ds #V .6m
+.    ds #F 0
+.    ds #[ \&
+.    ds #] \&
+.\}
+.    \" simple accents for nroff and troff
+.if n \{\
+.    ds ' \&
+.    ds ` \&
+.    ds ^ \&
+.    ds , \&
+.    ds ~ ~
+.    ds /
+.\}
+.if t \{\
+.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+.    \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.    \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.    \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.    ds : e
+.    ds 8 ss
+.    ds o a
+.    ds d- d\h'-1'\(ga
+.    ds D- D\h'-1'\(hy
+.    ds th \o'bp'
+.    ds Th \o'LP'
+.    ds ae ae
+.    ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "GFDL 7"
+.TH GFDL 7 "2003-03-01" "gcc-3.3" "GNU"
+.SH "NAME"
+gfdl \- GNU Free Documentation License
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+.Sh "\s-1GNU\s0 Free Documentation License"
+.IX Subsection "GNU Free Documentation License"
+.Sh "Version 1.2, November 2002"
+.IX Subsection "Version 1.2, November 2002"
+.Vb 2
+\&        Copyright (c) 2000,2001,2002 Free Software Foundation, Inc.
+\&        59 Temple Place, Suite 330, Boston, MA  02111-1307, USA
+.Ve
+.PP
+.Vb 2
+\&        Everyone is permitted to copy and distribute verbatim copies
+\&        of this license document, but changing it is not allowed.
+.Ve
+.IP "0." 4
+\&\s-1PREAMBLE\s0
+.Sp
+The purpose of this License is to make a manual, textbook, or other
+functional and useful document \fIfree\fR in the sense of freedom: to
+assure everyone the effective freedom to copy and redistribute it,
+with or without modifying it, either commercially or noncommercially.
+Secondarily, this License preserves for the author and publisher a way
+to get credit for their work, while not being considered responsible
+for modifications made by others.
+.Sp
+This License is a kind of ``copyleft'', which means that derivative
+works of the document must themselves be free in the same sense.  It
+complements the \s-1GNU\s0 General Public License, which is a copyleft
+license designed for free software.
+.Sp
+We have designed this License in order to use it for manuals for free
+software, because free software needs free documentation: a free
+program should come with manuals providing the same freedoms that the
+software does.  But this License is not limited to software manuals;
+it can be used for any textual work, regardless of subject matter or
+whether it is published as a printed book.  We recommend this License
+principally for works whose purpose is instruction or reference.
+.IP "1." 4
+\&\s-1APPLICABILITY\s0 \s-1AND\s0 \s-1DEFINITIONS\s0
+.Sp
+This License applies to any manual or other work, in any medium, that
+contains a notice placed by the copyright holder saying it can be
+distributed under the terms of this License.  Such a notice grants a
+world\-wide, royalty-free license, unlimited in duration, to use that
+work under the conditions stated herein.  The ``Document'', below,
+refers to any such manual or work.  Any member of the public is a
+licensee, and is addressed as ``you''.  You accept the license if you
+copy, modify or distribute the work in a way requiring permission
+under copyright law.
+.Sp
+A ``Modified Version'' of the Document means any work containing the
+Document or a portion of it, either copied verbatim, or with
+modifications and/or translated into another language.
+.Sp
+A ``Secondary Section'' is a named appendix or a front-matter section
+of the Document that deals exclusively with the relationship of the
+publishers or authors of the Document to the Document's overall
+subject (or to related matters) and contains nothing that could fall
+directly within that overall subject.  (Thus, if the Document is in
+part a textbook of mathematics, a Secondary Section may not explain
+any mathematics.)  The relationship could be a matter of historical
+connection with the subject or with related matters, or of legal,
+commercial, philosophical, ethical or political position regarding
+them.
+.Sp
+The ``Invariant Sections'' are certain Secondary Sections whose titles
+are designated, as being those of Invariant Sections, in the notice
+that says that the Document is released under this License.  If a
+section does not fit the above definition of Secondary then it is not
+allowed to be designated as Invariant.  The Document may contain zero
+Invariant Sections.  If the Document does not identify any Invariant
+Sections then there are none.
+.Sp
+The ``Cover Texts'' are certain short passages of text that are listed,
+as Front-Cover Texts or Back-Cover Texts, in the notice that says that
+the Document is released under this License.  A Front-Cover Text may
+be at most 5 words, and a Back-Cover Text may be at most 25 words.
+.Sp
+A ``Transparent'' copy of the Document means a machine-readable copy,
+represented in a format whose specification is available to the
+general public, that is suitable for revising the document
+straightforwardly with generic text editors or (for images composed of
+pixels) generic paint programs or (for drawings) some widely available
+drawing editor, and that is suitable for input to text formatters or
+for automatic translation to a variety of formats suitable for input
+to text formatters.  A copy made in an otherwise Transparent file
+format whose markup, or absence of markup, has been arranged to thwart
+or discourage subsequent modification by readers is not Transparent.
+An image format is not Transparent if used for any substantial amount
+of text.  A copy that is not ``Transparent'' is called ``Opaque''.
+.Sp
+Examples of suitable formats for Transparent copies include plain
+\&\s-1ASCII\s0 without markup, Texinfo input format, LaTeX input
+format, \f(CW@acronym\fR{\s-1SGML\s0} or \f(CW@acronym\fR{\s-1XML\s0} using a publicly available
+\&\f(CW@acronym\fR{\s-1DTD\s0}, and standard-conforming simple \f(CW@acronym\fR{\s-1HTML\s0},
+PostScript or \f(CW@acronym\fR{\s-1PDF\s0} designed for human modification.  Examples
+of transparent image formats include \f(CW@acronym\fR{\s-1PNG\s0}, \f(CW@acronym\fR{\s-1XCF\s0} and
+\&\f(CW@acronym\fR{\s-1JPG\s0}.  Opaque formats include proprietary formats that can be
+read and edited only by proprietary word processors, \f(CW@acronym\fR{\s-1SGML\s0} or
+\&\f(CW@acronym\fR{\s-1XML\s0} for which the \f(CW@acronym\fR{\s-1DTD\s0} and/or processing tools are
+not generally available, and the machine-generated \f(CW@acronym\fR{\s-1HTML\s0},
+PostScript or \f(CW@acronym\fR{\s-1PDF\s0} produced by some word processors for
+output purposes only.
+.Sp
+The ``Title Page'' means, for a printed book, the title page itself,
+plus such following pages as are needed to hold, legibly, the material
+this License requires to appear in the title page.  For works in
+formats which do not have any title page as such, ``Title Page'' means
+the text near the most prominent appearance of the work's title,
+preceding the beginning of the body of the text.
+.Sp
+A section ``Entitled \s-1XYZ\s0'' means a named subunit of the Document whose
+title either is precisely \s-1XYZ\s0 or contains \s-1XYZ\s0 in parentheses following
+text that translates \s-1XYZ\s0 in another language.  (Here \s-1XYZ\s0 stands for a
+specific section name mentioned below, such as ``Acknowledgements'',
+``Dedications'', ``Endorsements'', or ``History''.)  To ``Preserve the Title''
+of such a section when you modify the Document means that it remains a
+section ``Entitled \s-1XYZ\s0'' according to this definition.
+.Sp
+The Document may include Warranty Disclaimers next to the notice which
+states that this License applies to the Document.  These Warranty
+Disclaimers are considered to be included by reference in this
+License, but only as regards disclaiming warranties: any other
+implication that these Warranty Disclaimers may have is void and has
+no effect on the meaning of this License.
+.IP "2." 4
+\&\s-1VERBATIM\s0 \s-1COPYING\s0
+.Sp
+You may copy and distribute the Document in any medium, either
+commercially or noncommercially, provided that this License, the
+copyright notices, and the license notice saying this License applies
+to the Document are reproduced in all copies, and that you add no other
+conditions whatsoever to those of this License.  You may not use
+technical measures to obstruct or control the reading or further
+copying of the copies you make or distribute.  However, you may accept
+compensation in exchange for copies.  If you distribute a large enough
+number of copies you must also follow the conditions in section 3.
+.Sp
+You may also lend copies, under the same conditions stated above, and
+you may publicly display copies.
+.IP "3." 4
+\&\s-1COPYING\s0 \s-1IN\s0 \s-1QUANTITY\s0
+.Sp
+If you publish printed copies (or copies in media that commonly have
+printed covers) of the Document, numbering more than 100, and the
+Document's license notice requires Cover Texts, you must enclose the
+copies in covers that carry, clearly and legibly, all these Cover
+Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
+the back cover.  Both covers must also clearly and legibly identify
+you as the publisher of these copies.  The front cover must present
+the full title with all words of the title equally prominent and
+visible.  You may add other material on the covers in addition.
+Copying with changes limited to the covers, as long as they preserve
+the title of the Document and satisfy these conditions, can be treated
+as verbatim copying in other respects.
+.Sp
+If the required texts for either cover are too voluminous to fit
+legibly, you should put the first ones listed (as many as fit
+reasonably) on the actual cover, and continue the rest onto adjacent
+pages.
+.Sp
+If you publish or distribute Opaque copies of the Document numbering
+more than 100, you must either include a machine-readable Transparent
+copy along with each Opaque copy, or state in or with each Opaque copy
+a computer-network location from which the general network-using
+public has access to download using public-standard network protocols
+a complete Transparent copy of the Document, free of added material.
+If you use the latter option, you must take reasonably prudent steps,
+when you begin distribution of Opaque copies in quantity, to ensure
+that this Transparent copy will remain thus accessible at the stated
+location until at least one year after the last time you distribute an
+Opaque copy (directly or through your agents or retailers) of that
+edition to the public.
+.Sp
+It is requested, but not required, that you contact the authors of the
+Document well before redistributing any large number of copies, to give
+them a chance to provide you with an updated version of the Document.
+.IP "4." 4
+\&\s-1MODIFICATIONS\s0
+.Sp
+You may copy and distribute a Modified Version of the Document under
+the conditions of sections 2 and 3 above, provided that you release
+the Modified Version under precisely this License, with the Modified
+Version filling the role of the Document, thus licensing distribution
+and modification of the Modified Version to whoever possesses a copy
+of it.  In addition, you must do these things in the Modified Version:
+.RS 4
+.IP "A." 4
+Use in the Title Page (and on the covers, if any) a title distinct
+from that of the Document, and from those of previous versions
+(which should, if there were any, be listed in the History section
+of the Document).  You may use the same title as a previous version
+if the original publisher of that version gives permission.
+.IP "B." 4
+List on the Title Page, as authors, one or more persons or entities
+responsible for authorship of the modifications in the Modified
+Version, together with at least five of the principal authors of the
+Document (all of its principal authors, if it has fewer than five),
+unless they release you from this requirement.
+.IP "C." 4
+State on the Title page the name of the publisher of the
+Modified Version, as the publisher.
+.IP "D." 4
+Preserve all the copyright notices of the Document.
+.IP "E." 4
+Add an appropriate copyright notice for your modifications
+adjacent to the other copyright notices.
+.IP "F." 4
+Include, immediately after the copyright notices, a license notice
+giving the public permission to use the Modified Version under the
+terms of this License, in the form shown in the Addendum below.
+.IP "G." 4
+Preserve in that license notice the full lists of Invariant Sections
+and required Cover Texts given in the Document's license notice.
+.IP "H." 4
+Include an unaltered copy of this License.
+.IP "I." 4
+Preserve the section Entitled ``History'', Preserve its Title, and add
+to it an item stating at least the title, year, new authors, and
+publisher of the Modified Version as given on the Title Page.  If
+there is no section Entitled ``History'' in the Document, create one
+stating the title, year, authors, and publisher of the Document as
+given on its Title Page, then add an item describing the Modified
+Version as stated in the previous sentence.
+.IP "J." 4
+Preserve the network location, if any, given in the Document for
+public access to a Transparent copy of the Document, and likewise
+the network locations given in the Document for previous versions
+it was based on.  These may be placed in the ``History'' section.
+You may omit a network location for a work that was published at
+least four years before the Document itself, or if the original
+publisher of the version it refers to gives permission.
+.IP "K." 4
+For any section Entitled ``Acknowledgements'' or ``Dedications'', Preserve
+the Title of the section, and preserve in the section all the
+substance and tone of each of the contributor acknowledgements and/or
+dedications given therein.
+.IP "L." 4
+Preserve all the Invariant Sections of the Document,
+unaltered in their text and in their titles.  Section numbers
+or the equivalent are not considered part of the section titles.
+.IP "M." 4
+Delete any section Entitled ``Endorsements''.  Such a section
+may not be included in the Modified Version.
+.IP "N." 4
+Do not retitle any existing section to be Entitled ``Endorsements'' or
+to conflict in title with any Invariant Section.
+.IP "O." 4
+Preserve any Warranty Disclaimers.
+.RE
+.RS 4
+.Sp
+If the Modified Version includes new front-matter sections or
+appendices that qualify as Secondary Sections and contain no material
+copied from the Document, you may at your option designate some or all
+of these sections as invariant.  To do this, add their titles to the
+list of Invariant Sections in the Modified Version's license notice.
+These titles must be distinct from any other section titles.
+.Sp
+You may add a section Entitled ``Endorsements'', provided it contains
+nothing but endorsements of your Modified Version by various
+parties\-\-\-for example, statements of peer review or that the text has
+been approved by an organization as the authoritative definition of a
+standard.
+.Sp
+You may add a passage of up to five words as a Front-Cover Text, and a
+passage of up to 25 words as a Back-Cover Text, to the end of the list
+of Cover Texts in the Modified Version.  Only one passage of
+Front-Cover Text and one of Back-Cover Text may be added by (or
+through arrangements made by) any one entity.  If the Document already
+includes a cover text for the same cover, previously added by you or
+by arrangement made by the same entity you are acting on behalf of,
+you may not add another; but you may replace the old one, on explicit
+permission from the previous publisher that added the old one.
+.Sp
+The author(s) and publisher(s) of the Document do not by this License
+give permission to use their names for publicity for or to assert or
+imply endorsement of any Modified Version.
+.RE
+.IP "5." 4
+\&\s-1COMBINING\s0 \s-1DOCUMENTS\s0
+.Sp
+You may combine the Document with other documents released under this
+License, under the terms defined in section 4 above for modified
+versions, provided that you include in the combination all of the
+Invariant Sections of all of the original documents, unmodified, and
+list them all as Invariant Sections of your combined work in its
+license notice, and that you preserve all their Warranty Disclaimers.
+.Sp
+The combined work need only contain one copy of this License, and
+multiple identical Invariant Sections may be replaced with a single
+copy.  If there are multiple Invariant Sections with the same name but
+different contents, make the title of each such section unique by
+adding at the end of it, in parentheses, the name of the original
+author or publisher of that section if known, or else a unique number.
+Make the same adjustment to the section titles in the list of
+Invariant Sections in the license notice of the combined work.
+.Sp
+In the combination, you must combine any sections Entitled ``History''
+in the various original documents, forming one section Entitled
+``History''; likewise combine any sections Entitled ``Acknowledgements'',
+and any sections Entitled ``Dedications''.  You must delete all
+sections Entitled ``Endorsements.''
+.IP "6." 4
+\&\s-1COLLECTIONS\s0 \s-1OF\s0 \s-1DOCUMENTS\s0
+.Sp
+You may make a collection consisting of the Document and other documents
+released under this License, and replace the individual copies of this
+License in the various documents with a single copy that is included in
+the collection, provided that you follow the rules of this License for
+verbatim copying of each of the documents in all other respects.
+.Sp
+You may extract a single document from such a collection, and distribute
+it individually under this License, provided you insert a copy of this
+License into the extracted document, and follow this License in all
+other respects regarding verbatim copying of that document.
+.IP "7." 4
+\&\s-1AGGREGATION\s0 \s-1WITH\s0 \s-1INDEPENDENT\s0 \s-1WORKS\s0
+.Sp
+A compilation of the Document or its derivatives with other separate
+and independent documents or works, in or on a volume of a storage or
+distribution medium, is called an ``aggregate'' if the copyright
+resulting from the compilation is not used to limit the legal rights
+of the compilation's users beyond what the individual works permit.
+When the Document is included an aggregate, this License does not
+apply to the other works in the aggregate which are not themselves
+derivative works of the Document.
+.Sp
+If the Cover Text requirement of section 3 is applicable to these
+copies of the Document, then if the Document is less than one half of
+the entire aggregate, the Document's Cover Texts may be placed on
+covers that bracket the Document within the aggregate, or the
+electronic equivalent of covers if the Document is in electronic form.
+Otherwise they must appear on printed covers that bracket the whole
+aggregate.
+.IP "8." 4
+\&\s-1TRANSLATION\s0
+.Sp
+Translation is considered a kind of modification, so you may
+distribute translations of the Document under the terms of section 4.
+Replacing Invariant Sections with translations requires special
+permission from their copyright holders, but you may include
+translations of some or all Invariant Sections in addition to the
+original versions of these Invariant Sections.  You may include a
+translation of this License, and all the license notices in the
+Document, and any Warrany Disclaimers, provided that you also include
+the original English version of this License and the original versions
+of those notices and disclaimers.  In case of a disagreement between
+the translation and the original version of this License or a notice
+or disclaimer, the original version will prevail.
+.Sp
+If a section in the Document is Entitled ``Acknowledgements'',
+``Dedications'', or ``History'', the requirement (section 4) to Preserve
+its Title (section 1) will typically require changing the actual
+title.
+.IP "9." 4
+\&\s-1TERMINATION\s0
+.Sp
+You may not copy, modify, sublicense, or distribute the Document except
+as expressly provided for under this License.  Any other attempt to
+copy, modify, sublicense or distribute the Document is void, and will
+automatically terminate your rights under this License.  However,
+parties who have received copies, or rights, from you under this
+License will not have their licenses terminated so long as such
+parties remain in full compliance.
+.IP "10." 4
+.IX Item "10."
+\&\s-1FUTURE\s0 \s-1REVISIONS\s0 \s-1OF\s0 \s-1THIS\s0 \s-1LICENSE\s0
+.Sp
+The Free Software Foundation may publish new, revised versions
+of the \s-1GNU\s0 Free Documentation License from time to time.  Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.  See
+<\fBhttp://www.gnu.org/copyleft/\fR>.
+.Sp
+Each version of the License is given a distinguishing version number.
+If the Document specifies that a particular numbered version of this
+License ``or any later version'' applies to it, you have the option of
+following the terms and conditions either of that specified version or
+of any later version that has been published (not as a draft) by the
+Free Software Foundation.  If the Document does not specify a version
+number of this License, you may choose any version ever published (not
+as a draft) by the Free Software Foundation.
+.Sh "\s-1ADDENDUM:\s0 How to use this License for your documents"
+.IX Subsection "ADDENDUM: How to use this License for your documents"
+To use this License in a document you have written, include a copy of
+the License in the document and put the following copyright and
+license notices just after the title page:
+.PP
+.Vb 7
+\&          Copyright (C)  <year>  <your name>.
+\&          Permission is granted to copy, distribute and/or modify this document
+\&          under the terms of the GNU Free Documentation License, Version 1.2
+\&          or any later version published by the Free Software Foundation;
+\&          with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+\&          A copy of the license is included in the section entitled ``GNU
+\&          Free Documentation License''.
+.Ve
+.PP
+If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
+replace the ``with...Texts.'' line with this:
+.PP
+.Vb 3
+\&            with the Invariant Sections being <list their titles>, with
+\&            the Front-Cover Texts being <list>, and with the Back-Cover Texts
+\&            being <list>.
+.Ve
+.PP
+If you have Invariant Sections without Cover Texts, or some other
+combination of the three, merge those two alternatives to suit the
+situation.
+.PP
+If your document contains nontrivial examples of program code, we
+recommend releasing these examples in parallel under your choice of
+free software license, such as the \s-1GNU\s0 General Public License,
+to permit their use in free software.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIgpl\fR\|(7), \fIfsf\-funding\fR\|(7).
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright (c) 2000 Free Software Foundation, Inc.
+59 Temple Place, Suite 330, Boston, \s-1MA\s0  02111\-1307, \s-1USA\s0
+.PP
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.
diff --git a/gpl.7 b/gpl.7
new file mode 100644 (file)
index 0000000..1bbc825
--- /dev/null
+++ b/gpl.7
@@ -0,0 +1,536 @@
+.\" Automatically generated by Pod::Man v1.34, Pod::Parser v1.13
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings.  \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote.  | will give a
+.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
+.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
+.\" expand to `' in nroff, nothing in troff, for use with C<>.
+.tr \(*W-|\(bv\*(Tr
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+.    ds -- \(*W-
+.    ds PI pi
+.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
+.    ds L" ""
+.    ds R" ""
+.    ds C` ""
+.    ds C' ""
+'br\}
+.el\{\
+.    ds -- \|\(em\|
+.    ds PI \(*p
+.    ds L" ``
+.    ds R" ''
+'br\}
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD.  Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.if \nF \{\
+.    de IX
+.    tm Index:\\$1\t\\n%\t"\\$2"
+..
+.    nr % 0
+.    rr F
+.\}
+.\"
+.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
+.    \" fudge factors for nroff and troff
+.if n \{\
+.    ds #H 0
+.    ds #V .8m
+.    ds #F .3m
+.    ds #[ \f1
+.    ds #] \fP
+.\}
+.if t \{\
+.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.    ds #V .6m
+.    ds #F 0
+.    ds #[ \&
+.    ds #] \&
+.\}
+.    \" simple accents for nroff and troff
+.if n \{\
+.    ds ' \&
+.    ds ` \&
+.    ds ^ \&
+.    ds , \&
+.    ds ~ ~
+.    ds /
+.\}
+.if t \{\
+.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+.    \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.    \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.    \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.    ds : e
+.    ds 8 ss
+.    ds o a
+.    ds d- d\h'-1'\(ga
+.    ds D- D\h'-1'\(hy
+.    ds th \o'bp'
+.    ds Th \o'LP'
+.    ds ae ae
+.    ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "GPL 7"
+.TH GPL 7 "2003-03-01" "gcc-3.3" "GNU"
+.SH "NAME"
+gpl \- GNU General Public License
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+.Sh "\s-1GNU\s0 \s-1GENERAL\s0 \s-1PUBLIC\s0 \s-1LICENSE\s0"
+.IX Subsection "GNU GENERAL PUBLIC LICENSE"
+.Sh "Version 2, June 1991"
+.IX Subsection "Version 2, June 1991"
+.Vb 2
+\&        Copyright (c) 1989, 1991 Free Software Foundation, Inc.
+\&        59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+.Ve
+.PP
+.Vb 2
+\&        Everyone is permitted to copy and distribute verbatim copies
+\&        of this license document, but changing it is not allowed.
+.Ve
+.Sh "Preamble"
+.IX Subsection "Preamble"
+.Vb 9
+\&  The licenses for most software are designed to take away your
+\&freedom to share and change it.  By contrast, the GNU General Public
+\&License is intended to guarantee your freedom to share and change free
+\&software---to make sure the software is free for all its users.  This
+\&General Public License applies to most of the Free Software
+\&Foundation's software and to any other program whose authors commit to
+\&using it.  (Some other Free Software Foundation software is covered by
+\&the GNU Library General Public License instead.)  You can apply it to
+\&your programs, too.
+.Ve
+.PP
+.Vb 6
+\&  When we speak of free software, we are referring to freedom, not
+\&price.  Our General Public Licenses are designed to make sure that you
+\&have the freedom to distribute copies of free software (and charge for
+\&this service if you wish), that you receive source code or can get it
+\&if you want it, that you can change the software or use pieces of it
+\&in new free programs; and that you know you can do these things.
+.Ve
+.PP
+.Vb 4
+\&  To protect your rights, we need to make restrictions that forbid
+\&anyone to deny you these rights or to ask you to surrender the rights.
+\&These restrictions translate to certain responsibilities for you if you
+\&distribute copies of the software, or if you modify it.
+.Ve
+.PP
+.Vb 5
+\&  For example, if you distribute copies of such a program, whether
+\&gratis or for a fee, you must give the recipients all the rights that
+\&you have.  You must make sure that they, too, receive or can get the
+\&source code.  And you must show them these terms so they know their
+\&rights.
+.Ve
+.PP
+.Vb 3
+\&  We protect your rights with two steps: (1) copyright the software, and
+\&(2) offer you this license which gives you legal permission to copy,
+\&distribute and/or modify the software.
+.Ve
+.PP
+.Vb 6
+\&  Also, for each author's protection and ours, we want to make certain
+\&that everyone understands that there is no warranty for this free
+\&software.  If the software is modified by someone else and passed on, we
+\&want its recipients to know that what they have is not the original, so
+\&that any problems introduced by others will not reflect on the original
+\&authors' reputations.
+.Ve
+.PP
+.Vb 5
+\&  Finally, any free program is threatened constantly by software
+\&patents.  We wish to avoid the danger that redistributors of a free
+\&program will individually obtain patent licenses, in effect making the
+\&program proprietary.  To prevent this, we have made it clear that any
+\&patent must be licensed for everyone's free use or not licensed at all.
+.Ve
+.PP
+.Vb 2
+\&  The precise terms and conditions for copying, distribution and
+\&modification follow.
+.Ve
+.Sh "\s-1TERMS\s0 \s-1AND\s0 \s-1CONDITIONS\s0 \s-1FOR\s0 \s-1COPYING\s0, \s-1DISTRIBUTION\s0 \s-1AND\s0 \s-1MODIFICATION\s0"
+.IX Subsection "TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION"
+.IP "0." 4
+This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The ``Program'', below,
+refers to any such program or work, and a ``work based on the Program''
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term ``modification''.)  Each licensee is addressed as ``you''.
+.Sp
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+.IP "1." 4
+You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+.Sp
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+.IP "2." 4
+You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+.RS 4
+.IP "a." 4
+You must cause the modified files to carry prominent notices
+stating that you changed the files and the date of any change.
+.IP "b." 4
+You must cause any work that you distribute or publish, that in
+whole or in part contains or is derived from the Program or any
+part thereof, to be licensed as a whole at no charge to all third
+parties under the terms of this License.
+.IP "c." 4
+If the modified program normally reads commands interactively
+when run, you must cause it, when started running for such
+interactive use in the most ordinary way, to print or display an
+announcement including an appropriate copyright notice and a
+notice that there is no warranty (or else, saying that you provide
+a warranty) and that users may redistribute the program under
+these conditions, and telling the user how to view a copy of this
+License.  (Exception: if the Program itself is interactive but
+does not normally print such an announcement, your work based on
+the Program is not required to print an announcement.)
+.RE
+.RS 4
+.Sp
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+.Sp
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+.Sp
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+.RE
+.IP "3." 4
+You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+.RS 4
+.IP "a." 4
+Accompany it with the complete corresponding machine-readable
+source code, which must be distributed under the terms of Sections
+1 and 2 above on a medium customarily used for software interchange; or,
+.IP "b." 4
+Accompany it with a written offer, valid for at least three
+years, to give any third party, for a charge no more than your
+cost of physically performing source distribution, a complete
+machine-readable copy of the corresponding source code, to be
+distributed under the terms of Sections 1 and 2 above on a medium
+customarily used for software interchange; or,
+.IP "c." 4
+Accompany it with the information you received as to the offer
+to distribute corresponding source code.  (This alternative is
+allowed only for noncommercial distribution and only if you
+received the program in object code or executable form with such
+an offer, in accord with Subsection b above.)
+.RE
+.RS 4
+.Sp
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+.Sp
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+.RE
+.IP "4." 4
+You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+.IP "5." 4
+You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+.IP "6." 4
+Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+.IP "7." 4
+If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+.Sp
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+.Sp
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+.Sp
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+.IP "8." 4
+If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+.IP "9." 4
+The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+.Sp
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and ``any
+later version'', you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+.IP "10." 4
+.IX Item "10."
+If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+.Sh "\s-1NO\s0 \s-1WARRANTY\s0"
+.IX Subsection "NO WARRANTY"
+.IP "11." 4
+.IX Item "11."
+\&\s-1BECAUSE\s0 \s-1THE\s0 \s-1PROGRAM\s0 \s-1IS\s0 \s-1LICENSED\s0 \s-1FREE\s0 \s-1OF\s0 \s-1CHARGE\s0, \s-1THERE\s0 \s-1IS\s0 \s-1NO\s0 \s-1WARRANTY\s0
+\&\s-1FOR\s0 \s-1THE\s0 \s-1PROGRAM\s0, \s-1TO\s0 \s-1THE\s0 \s-1EXTENT\s0 \s-1PERMITTED\s0 \s-1BY\s0 \s-1APPLICABLE\s0 \s-1LAW\s0.  \s-1EXCEPT\s0 \s-1WHEN\s0
+\&\s-1OTHERWISE\s0 \s-1STATED\s0 \s-1IN\s0 \s-1WRITING\s0 \s-1THE\s0 \s-1COPYRIGHT\s0 \s-1HOLDERS\s0 \s-1AND/OR\s0 \s-1OTHER\s0 \s-1PARTIES\s0
+\&\s-1PROVIDE\s0 \s-1THE\s0 \s-1PROGRAM\s0 ``\s-1AS\s0 \s-1IS\s0'' \s-1WITHOUT\s0 \s-1WARRANTY\s0 \s-1OF\s0 \s-1ANY\s0 \s-1KIND\s0, \s-1EITHER\s0 \s-1EXPRESSED\s0
+\&\s-1OR\s0 \s-1IMPLIED\s0, \s-1INCLUDING\s0, \s-1BUT\s0 \s-1NOT\s0 \s-1LIMITED\s0 \s-1TO\s0, \s-1THE\s0 \s-1IMPLIED\s0 \s-1WARRANTIES\s0 \s-1OF\s0
+\&\s-1MERCHANTABILITY\s0 \s-1AND\s0 \s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0.  \s-1THE\s0 \s-1ENTIRE\s0 \s-1RISK\s0 \s-1AS\s0
+\&\s-1TO\s0 \s-1THE\s0 \s-1QUALITY\s0 \s-1AND\s0 \s-1PERFORMANCE\s0 \s-1OF\s0 \s-1THE\s0 \s-1PROGRAM\s0 \s-1IS\s0 \s-1WITH\s0 \s-1YOU\s0.  \s-1SHOULD\s0 \s-1THE\s0
+\&\s-1PROGRAM\s0 \s-1PROVE\s0 \s-1DEFECTIVE\s0, \s-1YOU\s0 \s-1ASSUME\s0 \s-1THE\s0 \s-1COST\s0 \s-1OF\s0 \s-1ALL\s0 \s-1NECESSARY\s0 \s-1SERVICING\s0,
+\&\s-1REPAIR\s0 \s-1OR\s0 \s-1CORRECTION\s0.
+.IP "12." 4
+.IX Item "12."
+\&\s-1IN\s0 \s-1NO\s0 \s-1EVENT\s0 \s-1UNLESS\s0 \s-1REQUIRED\s0 \s-1BY\s0 \s-1APPLICABLE\s0 \s-1LAW\s0 \s-1OR\s0 \s-1AGREED\s0 \s-1TO\s0 \s-1IN\s0 \s-1WRITING\s0
+\&\s-1WILL\s0 \s-1ANY\s0 \s-1COPYRIGHT\s0 \s-1HOLDER\s0, \s-1OR\s0 \s-1ANY\s0 \s-1OTHER\s0 \s-1PARTY\s0 \s-1WHO\s0 \s-1MAY\s0 \s-1MODIFY\s0 \s-1AND/OR\s0
+\&\s-1REDISTRIBUTE\s0 \s-1THE\s0 \s-1PROGRAM\s0 \s-1AS\s0 \s-1PERMITTED\s0 \s-1ABOVE\s0, \s-1BE\s0 \s-1LIABLE\s0 \s-1TO\s0 \s-1YOU\s0 \s-1FOR\s0 \s-1DAMAGES\s0,
+\&\s-1INCLUDING\s0 \s-1ANY\s0 \s-1GENERAL\s0, \s-1SPECIAL\s0, \s-1INCIDENTAL\s0 \s-1OR\s0 \s-1CONSEQUENTIAL\s0 \s-1DAMAGES\s0 \s-1ARISING\s0
+\&\s-1OUT\s0 \s-1OF\s0 \s-1THE\s0 \s-1USE\s0 \s-1OR\s0 \s-1INABILITY\s0 \s-1TO\s0 \s-1USE\s0 \s-1THE\s0 \s-1PROGRAM\s0 (\s-1INCLUDING\s0 \s-1BUT\s0 \s-1NOT\s0 \s-1LIMITED\s0
+\&\s-1TO\s0 \s-1LOSS\s0 \s-1OF\s0 \s-1DATA\s0 \s-1OR\s0 \s-1DATA\s0 \s-1BEING\s0 \s-1RENDERED\s0 \s-1INACCURATE\s0 \s-1OR\s0 \s-1LOSSES\s0 \s-1SUSTAINED\s0 \s-1BY\s0
+\&\s-1YOU\s0 \s-1OR\s0 \s-1THIRD\s0 \s-1PARTIES\s0 \s-1OR\s0 A \s-1FAILURE\s0 \s-1OF\s0 \s-1THE\s0 \s-1PROGRAM\s0 \s-1TO\s0 \s-1OPERATE\s0 \s-1WITH\s0 \s-1ANY\s0 \s-1OTHER\s0
+\&\s-1PROGRAMS\s0), \s-1EVEN\s0 \s-1IF\s0 \s-1SUCH\s0 \s-1HOLDER\s0 \s-1OR\s0 \s-1OTHER\s0 \s-1PARTY\s0 \s-1HAS\s0 \s-1BEEN\s0 \s-1ADVISED\s0 \s-1OF\s0 \s-1THE\s0
+\&\s-1POSSIBILITY\s0 \s-1OF\s0 \s-1SUCH\s0 \s-1DAMAGES\s0.
+.Sh "\s-1END\s0 \s-1OF\s0 \s-1TERMS\s0 \s-1AND\s0 \s-1CONDITIONS\s0"
+.IX Subsection "END OF TERMS AND CONDITIONS"
+.Sh "How to Apply These Terms to Your New Programs"
+.IX Subsection "How to Apply These Terms to Your New Programs"
+.Vb 3
+\&  If you develop a new program, and you want it to be of the greatest
+\&possible use to the public, the best way to achieve this is to make it
+\&free software which everyone can redistribute and change under these terms.
+.Ve
+.PP
+.Vb 4
+\&  To do so, attach the following notices to the program.  It is safest
+\&to attach them to the start of each source file to most effectively
+\&convey the exclusion of warranty; and each file should have at least
+\&the ``copyright'' line and a pointer to where the full notice is found.
+.Ve
+.PP
+.Vb 2
+\&        <one line to give the program's name and a brief idea of what it does.>
+\&        Copyright (C) <year>  <name of author>
+.Ve
+.PP
+.Vb 4
+\&        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.
+.Ve
+.PP
+.Vb 4
+\&        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.
+.Ve
+.PP
+.Vb 4
+\&        You should have received a copy of the GNU General Public License
+\&        along with this program; if not, write to the Free Software
+\&        Foundation, Inc., 59 Temple Place - Suite 330,
+\&        Boston, MA 02111-1307, USA.
+.Ve
+.PP
+Also add information on how to contact you by electronic and paper mail.
+.PP
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+.PP
+.Vb 5
+\&        Gnomovision version 69, Copyright (C) <year> <name of author>
+\&        Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
+\&        type `show w'.
+\&        This is free software, and you are welcome to redistribute it
+\&        under certain conditions; type `show c' for details.
+.Ve
+.PP
+The hypothetical commands \fBshow w\fR and \fBshow c\fR should show
+the appropriate parts of the General Public License.  Of course, the
+commands you use may be called something other than \fBshow w\fR and
+\&\fBshow c\fR; they could even be mouse-clicks or menu items\-\-\-whatever
+suits your program.
+.PP
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a ``copyright disclaimer'' for the program, if
+necessary.  Here is a sample; alter the names:
+.PP
+.Vb 2
+\&        Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+\&        `Gnomovision' (which makes passes at compilers) written by James Hacker.
+.Ve
+.PP
+.Vb 2
+\&        <signature of Ty Coon>, 1 April 1989
+\&        Ty Coon, President of Vice
+.Ve
+.PP
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the \s-1GNU\s0 Library General
+Public License instead of this License.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIgfdl\fR\|(7), \fIfsf\-funding\fR\|(7).
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright (c) 1989, 1991 Free Software Foundation, Inc.
+59 Temple Place \- Suite 330, Boston, \s-1MA\s0 02111\-1307, \s-1USA\s0
+.PP
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.