https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91879

--- Comment #35 from joseph at codesourcery dot com <joseph at codesourcery dot 
com> ---
On Tue, 8 Oct 2019, stsp at users dot sourceforge.net wrote:

> As well as AS, LD and all the rest?
> But that defeats the entire purpose of configure.
> I need it to work on my PC, on launchpad build-farm,
> and who knows where else. So I would need to write
> a supplementary configure script to just fill in these
> variables.

Practically, building cross toolchains is complicated, with lots of 
separate parts (GCC, binutils, GDB, libc, etc.) that have to be built in 
the right order and with the right options, so you end up with some kind 
of script to automate the particular builds you want to do, and that adds 
all the required options automatically.  There are several such build 
systems out there (e.g. crosstool-ng) that deal with this orchestration of 
the build of different pieces of the toolchain with appropriate options.

Building an individual piece on its own (i.e., writing your own build 
system that deals with the different toolchain components and how to build 
them) requires much more understanding of the fine details of how the 
different configure options are specified and how to get them to achieve 
what you want.  I'm familiar with many of the details through having 
written multiple such build systems myself.

The non-sysroot form of configuring cross toolchains is to a large extent 
considered a *legacy* way to configure such a toolchain and so has 
received less attention to making it feature-complete in its interactions 
with other features (e.g. building with installed libc at a different 
path) because most people prefer to use sysroots.

Reply via email to