=head1 NAME

cross-gcc-gensource - generates sources to build a Debian cross toolchain

=head1 SYNOPSIS

 [TARGET_LIST=<arches to target>] [HOST_LIST=<build arches>] [SUFFIX=.1] cross-gcc-gensource <gcc-version>

 example:
 /tmp$ TARGET_LIST="armel armhf" HOST_LIST="amd64" cross-gcc-gensource 5

 .... lots of verbose output ....


 /tmp$ cd cross-gcc-packages-amd64/cross-gcc-5-armel


 /tmp/cross-gcc-packages-amd64/cross-gcc-5-armel$ ls

 debian


 /tmp/cross-gcc-packages-amd64/cross-gcc-5-armel$ dpkg-buildpackage

 .... building cross-toolchain ....

=head1 DESCRIPTION

This is a utility that prepares a directory with debianized sources
which build cross toolchain packages. The sources produced by this
tool are very small; the code itself comes from the
C<gcc-version-source> package and the necessary patches and extra
build stuff comes from the C<cross-gcc-dev> package.

=head1 ARGUMENTS

Normal usage is

 cross-gcc-gensource gcc_version

Where C<gcc_version> is the base version of the toolchain we're building. At the
time of this writing we know about versions C<4.9>, C<5>, C<6>, C<7>, C<8>. This
commandline argument is required.

=head2 Specifying the target architectures

This tool generates a separate source package for each target architecture (the
architecture targetted by the cross-compiler being built). By default these
architectures are targetted:

=over

=item arm64

=item armel

=item armhf

=item mips

=item mipsel

=item powerpc

=item ppc64el

=back

If a different set of target architectures is required, set the C<TARGET_LIST>
environment variable. For instance, to build for C<armel> and C<armhf>:

 TARGET_LIST="armel armhf" cross-gcc-gensource 5

=head2 Specifying the host architectures

Similarly, this tool generates a separate source tree for each host architecture
(the architecture the cross-compiler being built runs on). By default these
architectures are targetted:

=over

=item amd64

=item i386

=back

If a different set of host architectures is required, set the C<HOST_LIST>
environment variable. For instance, to build just for C<amd64>:

 HOST_LIST="amd64" cross-gcc-gensource 5

=head2 Specifying a verison suffix

If you need to upload a new source package when the version of
gcc-source built-against hasn't changed, then you need to add a
version suffix to avoid binary-version clashes. An optional SUFFIX
env var allows this.  

 TARGET_LIST="armel armhf" SUFFIX=.1 cross-gcc-gensource 5

=cut
