Re: Partial autoconf transition thoughts

Maciej W. Rozycki
2003-06-11T11:32:53Z

On 10 Jun 2003, Alexandre Oliva wrote:

> > Well, if I specify --host, I mean I want to use a different alias than
> > the one that is expanded by config.sub.
>
> --host has absolutely nothing to do with config.sub. --host defaults

Has it? AFAIR, whatever you specify as --host gets passed through
config.sub before it gets assigned to $host (I'm prepending that "$" now
to disambiguate variable references).

> to --build, that defaults to the output of config.guess. If you want
> to override --build, just do it, and it will be propagated to host as

But it will be substituted by config.sub first and the original value
won't be propagated to $host_alias, will it?

> well. If you mean to specify different --build and --hosts, that's a
> cross. If you specify --build and --host and they're identical,
> that's a native for now, but it'll eventually be a cross because
> there's no point in specifying --host if you don't want a cross.

Agreed, as long as there is a way to have $host_alias and $target_alias
set up as desired.

> > The change is not purely internal
> > to the compilation process -- there are examples, binutils and gcc
> > inclusive, where this alias gets propagated to file names, e.g. as a
> > prefix to executables or as a name of the tooldir.
>
> That's --target, something entirely different.

Hmm:

$ locate libbfd-2.13.2.1.so
/usr/i386-linux/mips64el-linux/lib/libbfd-2.13.2.1.so
/usr/i386-linux/mipsel-linux/lib/libbfd-2.13.2.1.so
/usr/lib/libbfd-2.13.2.1.so
$

Where does that "i386-linux" above come from, then? That's nitpicking
anyway -- the same comment applies to $target_alias equally well.

> > I'd like to see this capability preserved, not necessarily exactly the
> > way it's being done now. One possibility for host_alias and also
> > target_alias is to default to build_alias and host_alias instead of host
> > and target, respectively, as it happens now.
>
> Huh? Where is it that host_alias defaults to build or build_alias?
> In autoconf, it defaults to neither. If --host is not specified,
> host_alias remains blank, not the same as build_alias, not the same as

That's an internal implementation detail -- I simplified to avoid
complicated dissertations. AFAIK, if $host_alias is non-empty it is its
value that gets propagated to file names, otherwise the value of $host is
used (ditto about $target_alias and $target). This is what I mean by
stating "$host_alias defaults to $host" (i.e. I am not really interested
in how autoconf handles ${build,host,target}_alias" internally, but in the
end result visible to a user). And that's probably the source of
confusion. And I am not sure why it needs to be done in such a
complicated way.

> nonopt, not the same as the output of config.guess. Nathan was kind
> enough to write macros that do exactly what you want, AFAICT, setting
> {build,host,target}_noncanonical, which is what we'd now use for what
> we used to use {build,host,target}_alias, whose meaning is slightly
> different in autoconf 2.5x. I.e., it does what you already.

Well, this is probably an option, but I don't know why such a
complication necessary. Have you seen the dependency graphs I sent
yesterday? I believe my proposal is the simplest solution.

--
+ Maciej W. Rozycki, Technical University of Gdansk, Poland +
+--------------------------------------------------------------+
+ e-mail: macro@ds2.pg.gda.pl, PGP key available +