Skip to content
  • Herbert Valerio Riedel's avatar
    Rework CC/CC_STAGE0 handling in `configure.ac` · 865602e0
    Herbert Valerio Riedel authored and Ben Gamari's avatar Ben Gamari committed
    Rather than using the non-standard/idiomatic `--with-{gcc,clang}=...`
    scheme use the `CC=...` style scheme.
    
    The basic idea is to have Autoconf's CC/CFLAG/CPPFLAG apply to
    stage{1,2,3}, while having a separate _STAGE0 set of env-vars
    denote the bootstrap-toolchain flags/programs.
    
    This should be simpler, less confusing, and somewhat more in line with
    Autoconf's idioms (allowing us to reuse more of Autoconf rather than
    (re)inventing our own confusing non-standard m4 macros to do stuff that
    Autoconf could almost do already for us)
    
    Morever, expose CC_STAGE0 as a so-called "precious" variable.
    
    So now we can better control which bootstrapping gcc is used
    (by default the one used by the stage0 ghc, unless CC_STAGE0 is
    overriden)
    
    ```
    Some influential environment variables:
      CC_STAGE0   C compiler command (bootstrap)
      CC          C compiler command
      CFLAGS      C compiler flags
      ...
    
    Use these variables to override the choices made by `configure' or to
    help it...
    865602e0