Re: Partial autoconf transition thoughts

Alexandre Oliva
2003-06-10T00:59:12Z

On Jun 9, 2003, Nathanael Nerode <neroden@twcny.rr.com> wrote:

> Alexandre Oliva said:
>> On Jun 9, 2003, Daniel Jacobowitz <drow@mvista.com> wrote:
>>
>>> 4. Specify the same thing for both
>>> 2.13: Both will be overridden; test $CC for cross mode.
>>> 2.57: Both will be overridden, will build natively.
>>
>> Except that building natively is deprecated, and autoconf people have
>> already pushed for removing this alternative. We probably don't want
> Whaaaat? This seems like a rather dumb idea with no serious benefit.

Be my guest in pushing against this. I tried it, and gave up. The
idea that won was that, if you specify --host, you mean to cross
compile, even if you specify the same triplet that you specify for
--build. I can't really say it's a bad idea, it just looks bad
because it's different from what we've had for a long time. The
current test for $build = $host is there to ease the transition, and
it will go away in autoconf 3.0, whenever that comes out, hopefully
5-10 years from now.

> Let's look at this another way. What are the *differences* between a
> build=host compilation and a build!=host compilation?

You can't run tests in the latter case, you can't assume that the
presence of file or device names in the build machiine reflects what's
going to be in the host machine. I'm probably forgetting other
issues.

> I proceed on the principle that there are no real, fundamental
> differences between a native configuration and a cross configuration,
> and this generally creates the cleanest configury code.

I.e., assume you're always cross compiling? That would be a
reasonable approach too, but there are some tests that you can't
possibly do in the cross case, autoconf lets you actually do them in
the native case as long as you set a safe default or alternate test
for the cross case.

> Absolutely. We're already passing a complete set down to the 'target'
> directories and to the 'build' directories. I think we should also pass
> a complete set down to the 'host' directories, and they should be bright
> enough to understand that if build=host, build=host. (Regardless of
> what some autoconf people may be advocating.)

autoconf is not going to support this, so we have two options: stop
using autoconf, or following their lead. I'm for the latter. As much
as I've disliked the transition path, I do think their goal was a
perfectly reasonable one, and wish it had been like that from the
beginning.

--
Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer aoliva@{redhat.com, gcc.gnu.org}
CS PhD student at IC-Unicamp oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist Professional serial bug killer