Remove all target-specific portions of Config.hs
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!
Showing
- compiler/cmm/CLabel.hs 27 additions, 30 deletionscompiler/cmm/CLabel.hs
- compiler/coreSyn/CorePrep.hs 0 additions, 1 deletioncompiler/coreSyn/CorePrep.hs
- compiler/deSugar/DsForeign.hs 1 addition, 2 deletionscompiler/deSugar/DsForeign.hs
- compiler/ghc.mk 0 additions, 50 deletionscompiler/ghc.mk
- compiler/llvmGen/LlvmCodeGen/Base.hs 3 additions, 6 deletionscompiler/llvmGen/LlvmCodeGen/Base.hs
- compiler/main/CodeOutput.hs 4 additions, 4 deletionscompiler/main/CodeOutput.hs
- compiler/main/DriverPipeline.hs 1 addition, 2 deletionscompiler/main/DriverPipeline.hs
- compiler/main/DynFlags.hs 39 additions, 20 deletionscompiler/main/DynFlags.hs
- compiler/main/GhcMake.hs 1 addition, 1 deletioncompiler/main/GhcMake.hs
- compiler/main/SysTools.hs 42 additions, 5 deletionscompiler/main/SysTools.hs
- compiler/nativeGen/AsmCodeGen.hs 1 addition, 1 deletioncompiler/nativeGen/AsmCodeGen.hs
- compiler/nativeGen/PIC.hs 24 additions, 24 deletionscompiler/nativeGen/PIC.hs
- hadrian/src/Rules/Generate.hs 49 additions, 81 deletionshadrian/src/Rules/Generate.hs
- includes/ghc.mk 16 additions, 1 deletionincludes/ghc.mk
Loading
Please register or sign in to comment