.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) .\" .\" 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 .. .\" 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. \*(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- .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" '' . 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 .\" .\" 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 "CROSS-GCC-GENSOURCE 1" .TH CROSS-GCC-GENSOURCE 1 "2020-12-23" "cross-gcc-dev=245" "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 \s-1SUFFIX\s0 env var allows this. .PP .Vb 1 \& TARGET_LIST="armel armhf" SUFFIX=.1 cross\-gcc\-gensource 5 .Ve