[commit: ghc] master: Rework CC/CC_STAGE0 handling in `configure.ac` (865602e)

git at git.haskell.org git at git.haskell.org
Sat Apr 16 16:20:42 UTC 2016


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/865602e0beb8e30ea1e1edf7db90f24088badb9e/ghc

>---------------------------------------------------------------

commit 865602e0beb8e30ea1e1edf7db90f24088badb9e
Author: Herbert Valerio Riedel <hvr at gnu.org>
Date:   Sat Apr 16 18:12:09 2016 +0200

    Rework CC/CC_STAGE0 handling in `configure.ac`
    
    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 to find libraries and programs with nonstandard names/locations.
    ```
    
    Test Plan: I've tested that cross-compiling with
    `--target=powerpc-linux-gnu` still works, and tried a few variants of
    settting `CC=` and `CC_STAGE0=`; `./validate` passed as well
    
    Reviewers: erikd, austin, bgamari, simonmar
    
    Reviewed By: simonmar
    
    Subscribers: Phyx, thomie
    
    Differential Revision: https://phabricator.haskell.org/D2078


>---------------------------------------------------------------

865602e0beb8e30ea1e1edf7db90f24088badb9e
 aclocal.m4              | 38 +++-----------------------------------
 bindisttest/ghc.mk      |  2 +-
 configure.ac            | 37 +++++++++++++++++++++++++++++--------
 distrib/configure.ac.in |  4 +---
 includes/ghc.mk         |  2 +-
 mk/config.mk.in         | 10 +++++-----
 rts/ghc.mk              |  2 +-
 rules/shell-wrapper.mk  |  2 +-
 8 files changed, 42 insertions(+), 55 deletions(-)

Diff suppressed because of size. To see it, use:

    git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 865602e0beb8e30ea1e1edf7db90f24088badb9e


More information about the ghc-commits mailing list