.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .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 .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "CROSS-GCC-GENSOURCE 1" .TH CROSS-GCC-GENSOURCE 1 2024-02-19 cross-gcc-dev=249 "cross-gcc-dev documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME cross\-gcc\-gensource \- generates sources to build a Debian cross toolchain .SH SYNOPSIS .IX Header "SYNOPSIS" .Vb 1 \& [TARGET_LIST=] [HOST_LIST=] [SUFFIX=.1] cross\-gcc\-gensource \& \& 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 .... .Ve .SH DESCRIPTION .IX Header "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 \&\f(CW\*(C`gcc\-version\-source\*(C'\fR package and the necessary patches and extra build stuff comes from the \f(CW\*(C`cross\-gcc\-dev\*(C'\fR package. .SH ARGUMENTS .IX Header "ARGUMENTS" Normal usage is .PP .Vb 1 \& cross\-gcc\-gensource gcc_version .Ve .PP Where \f(CW\*(C`gcc_version\*(C'\fR is the base version of the toolchain we're building. At the time of this writing we know about versions \f(CW4.9\fR, \f(CW5\fR, \f(CW6\fR, \f(CW7\fR, \f(CW8\fR. This commandline argument is required. .SS "Specifying the target architectures" .IX Subsection "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: .IP arm64 4 .IX Item "arm64" .PD 0 .IP armel 4 .IX Item "armel" .IP armhf 4 .IX Item "armhf" .IP mips 4 .IX Item "mips" .IP mipsel 4 .IX Item "mipsel" .IP powerpc 4 .IX Item "powerpc" .IP ppc64el 4 .IX Item "ppc64el" .PD .PP If a different set of target architectures is required, set the \f(CW\*(C`TARGET_LIST\*(C'\fR environment variable. For instance, to build for \f(CW\*(C`armel\*(C'\fR and \f(CW\*(C`armhf\*(C'\fR: .PP .Vb 1 \& TARGET_LIST="armel armhf" cross\-gcc\-gensource 5 .Ve .SS "Specifying the host architectures" .IX Subsection "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: .IP amd64 4 .IX Item "amd64" .PD 0 .IP i386 4 .IX Item "i386" .PD .PP If a different set of host architectures is required, set the \f(CW\*(C`HOST_LIST\*(C'\fR environment variable. For instance, to build just for \f(CW\*(C`amd64\*(C'\fR: .PP .Vb 1 \& HOST_LIST="amd64" cross\-gcc\-gensource 5 .Ve .SS "Specifying a verison suffix" .IX Subsection "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. .PP .Vb 1 \& TARGET_LIST="armel armhf" SUFFIX=.1 cross\-gcc\-gensource 5 .Ve