On Fri, Apr 25, 2025 at 10:33:39AM -0700, Perry Hutchison wrote:
> Nick Bowler <nbow...@draconx.ca> wrote:
> > Cross compiliation mode is entered if the build triplet (which designates
> > the machine you are using to build the program) is different from the
> > host triple (which designates the machine the program will ultimately
> > run on).
> >
> > You have specified both as x86_64-apple-macos10.10, so configure will
> > treat this as a native compilation as you have told it you are building
> > and running on the same system.
> 
> Why does configure even recognize --build on the command line?
> Shouldn't it directly probe the type of system it is running on?

Yes and configure can determine the build system automatically (this
is the purpose of config.guess), but for largely historical reasons
heuristics are used to determine cross compilation if only --host
(and not --build) is specified.

There was an attempt after 2.69 to remove these heuristics and select
cross-compilation whenever the specified host is different from the
build system.  But as is usually the case with longstanding historical
behaviour, people come to rely on the heuristics working the way they
do so it can't really be changed at this point.

Cheers,
  Nick

Reply via email to