Skip to content
  • John Ericson's avatar
    Remove all target-specific portions of Config.hs · e529c65e
    John Ericson authored and Ben Gamari's avatar Ben Gamari committed
    1. If GHC is to be multi-target, these cannot be baked in at compile
       time.
    
    2. Compile-time flags have a higher maintenance than run-time flags.
    
    3. The old way makes build system implementation (various bootstrapping
       details) with the thing being built. E.g. GHC doesn't need to care
       about which integer library *will* be used---this is purely a crutch
       so the build system doesn't need to pass flags later when using that
       library.
    
    4. Experience with cross compilation in Nixpkgs has shown things work
       nicer when compiler's can *optionally* delegate the bootstrapping the
       package manager. The package manager knows the entire end-goal build
       plan, and thus can make top-down decisions on bootstrapping. GHC can
       just worry about GHC, not even core library like base and ghc-prim!
    e529c65e