autoconf-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Suggestion for the GCS


From: Paul Eggert
Subject: Re: Suggestion for the GCS
Date: Wed, 20 Nov 2002 15:49:42 -0800

> From: Akim Demaille <address@hidden>
> Date: Tue, 19 Nov 2002 10:40:41 +0100

> | This is the normal recommended way to invoke configure.
> | We will not desupport that, or even discourage it.
> | It should simply be equivalent to ./configure --build=MACHTYPE.
> 
> I'm fine with keeping it as a synonym of --build, but be aware that
> keeping an interface with a different meaning is probably not as
> sane as completely deprecating the interface.

I don't think the old interface has changed.  We're simply delineating
more precisely what the old interface actually means, and we're
describing a new, upward-compatible option --host=HOSTTYPE that is
already supported by many GNU packages.

How about the following patch instead?  It uses a simpler change in
wording to achieve the effect you desire.  Also, this patch modernizes
the examples, as many current readers won't know what Ultrix or SunOS
4 are, whereas they are much more likely to be familiar with
GNU/Linux.  This patch also adds URLs for config.sub and config.guess,
so that readers know where to get them.

*** standards0.texi     Mon Oct 14 14:58:58 2002
--- standards.texi      Wed Nov 20 15:43:35 2002
***************
*** 3508,3526 ****
  @address@hidden@var{system}
  @end example
  
! For example, a Sun 3 might be @samp{m68k-sun-sunos4.1}.
  
  The @code{configure} script needs to be able to decode all plausible
! alternatives for how to describe a machine.  Thus, @samp{sun3-sunos4.1}
! would be a valid alias.  For many programs, @samp{vax-dec-ultrix} would
! be an alias for @samp{vax-dec-bsd}, simply because the differences
! between Ultrix and @sc{bsd} are rarely noticeable, but a few programs
! might need to distinguish them.
! @c Real 4.4BSD now runs on some Suns.
! 
! There is a shell script called @file{config.sub} that you can use
  as a subroutine to validate system types and canonicalize aliases.
  
  @cindex optional features, configure-time
  Other options are permitted to specify in more detail the software
  or hardware present on the machine, and include or exclude optional
--- 3508,3533 ----
  @address@hidden@var{system}
  @end example
  
! For example, an Athlon-based GNU/Linux system might be
! @samp{i686-pc-linux-gnu}.
  
  The @code{configure} script needs to be able to decode all plausible
! alternatives for how to describe a machine.  Thus,
! @samp{athlon-pc-gnu/linux} would be a valid alias.
! There is a shell script called
! @uref{ftp://ftp.gnu.org/gnu/config/config.sub, @file{config.sub}}
! that you can use
  as a subroutine to validate system types and canonicalize aliases.
  
+ The @code{configure} script should also take the option
+ @address@hidden, which should be equivalent to a
+ plain @var{buildtype} argument.  For example, @samp{configure
+ --build=i686-pc-linux-gnu} is equivalent to @option{configure
+ i686-pc-linux-gnu}.  When the build type is not specified by an option
+ or argument, the @code{configure} script should normally guess it
+ using the shell script
+ @uref{ftp://ftp.gnu.org/gnu/config/config.guess, @file{config.guess}}.
+ 
  @cindex optional features, configure-time
  Other options are permitted to specify in more detail the software
  or hardware present on the machine, and include or exclude optional
***************
*** 3580,3585 ****
--- 3587,3597 ----
  system as both the host and the target, thus producing a program which
  works for the same type of machine that it runs on.
  
+ To compile a program to run on a host type that differs from the build
+ type, use the configure option @address@hidden, where
+ @var{hosttype} uses the same syntax as @var{buildtype}.  The host type
+ normally defaults to the build type.
+ 
  To configure a cross-compiler, cross-assembler, or what have you, you
  should specify a target different from the host, using the configure
  option @address@hidden  The syntax for
***************
*** 3587,3608 ****
  look like this:
  
  @example
! ./configure @var{hosttype} address@hidden
  @end example
  
  Programs for which cross-operation is not meaningful need not accept the
  @samp{--target} option, because configuring an entire operating system for
  cross-operation is not a meaningful operation.
  
- Bootstrapping a cross-compiler requires compiling it on a machine other
- than the host it will run on.  Compilation packages accept a
- configuration option @address@hidden for specifying the
- configuration on which you will compile them, but the configure script
- should normally guess the build machine type (using
- @file{config.guess}), so this option is probably not necessary.  The
- host and target types normally default from the build type, so in
- bootstrapping a cross-compiler you must specify them both explicitly.
- 
  Some programs have ways of configuring themselves automatically.  If
  your program is set up to do this, your @code{configure} script can simply
  ignore most of its arguments.
--- 3599,3612 ----
  look like this:
  
  @example
! ./configure address@hidden address@hidden
  @end example
  
+ The target type normally defaults to the host type.
  Programs for which cross-operation is not meaningful need not accept the
  @samp{--target} option, because configuring an entire operating system for
  cross-operation is not a meaningful operation.
  
  Some programs have ways of configuring themselves automatically.  If
  your program is set up to do this, your @code{configure} script can simply
  ignore most of its arguments.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]