On Jun 26, 2000, DEMAILLE Akim <[EMAIL PROTECTED]> wrote:
> (Cygnus') Configure (I think its name is exactly Configure, and I
> will keep this capitalization to distinguish it from Autoconf's
> product, configure).
Nope, the real name is `configure', and, to the best of my knowledge,
it pre-dates autoconf, and was an inspiration for it.
> Today, my favorite solution is still an option
> --with-old-host-semantics or whatever the name.
Assuming the user would know when to use this flag. As I've written
before, any solution that requires new flags just won't cut it.
> What I don't understand is just why should the users be aware of the
> existence of this option.
Because the intent is to move to the new semantics as it becomes
well-established. We don't want to have Cygnus' configure to keep
running sub-configures with this extraneous option. Moreover, the
very fact that a new option is required may cause things to break in
case an old top-level `configure' is used with new sub-configures: it
won't pass down the option to enable backward compatibility, so the
user loses.
> My basic assumption is that Cygnus' customers are only interacting
> with Configure, and never with configure. Am I wrong?
They should be free to interact with configure too. Let's stop
talking about Cygnus' customers: we're talking about people building
GCC, GDB, binutils, etc. Those will *usually* be interacting with the
top-level configure, but they shouldn't have to.
> If I'm right, I still don't understand why --with-old-host-semantics
> is not a good way out, since it's invisible.
It is not, because it requires a top-level `configure' that generates
it. The user is no longer free to mix-and-match releases of the
programs cited above.
> Also, I guess something important for such a tree is to have
> homogeneous generations of configures. Can't autoreconf handle this
> properly?
The user has never been required to have autoreconf. Of course, you
could tell people to re-generate all `configure' scripts with a new
autoconf, but, again, this would break their expectations. We need a
transitioning solution, not a backward-compatibility option.
Please tell me what is the problem you see with the solution I
proposed, bearing in mind that it is temporary. I won't accept
arguments that it is too complicated: you've seen the patch, it
introduces just 4 lines of code.
BTW, I've realized that we may need some additional kludge to detect
cross-compilation in case only --host is specified. In the past,
autoconf would notice the compiler is a cross compiler and proceed
under that assumption. With the transitioning kludge I suggested, it
would assume a non-cross-compilation environment, and fail. When
only --host is specified, we should probably set cross_compile=maybe,
and the test of whether the compiler is a cross-compiler should take
this into account, and determine whether cross_compile should be yes
or no. Not a big deal, but it seems important to me.
--
Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist *Please* write to mailing lists, not to me