refactor: remove HADRIAN_SETTINGS environment variable #124
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
HADRIAN_SETTINGSenvironment variable mechanism./configureinto template filesChanges
configure.acuname), added--with-target-arch,--with-target-os,--with-project-git-commit-idargumentslibraries/ghc-boot/GHC/Version.hs.inlibraries/ghc-boot/GHC/Platform/Host.hs.inMakefileHADRIAN_SETTINGSdefinition and all usages, updatedCONFIGURED_FILESlistlibraries/ghc-boot/Setup.hsdefaultMain(130 → 11 lines)libraries/ghc-boot/ghc-boot.cabal.inbuild-type: Custom→Simple, removedcustom-setupandautogen-modulesHow It Works Now
Configure auto-detects platform using
uname -manduname -s, with override options:Configure generates the modules directly from templates:
libraries/ghc-boot/GHC/Version.hs- version strings, git commitlibraries/ghc-boot/GHC/Platform/Host.hs- platform arch/OS typesNo more environment variable passing between Makefile and Cabal
Benefits
configure.ac) for version/platform infoghcversion.h.in)Test plan
./configureand verify generated files have correct contentmake CABAL=$PWD/_build/stage0/bin/cabal stage1_build/stage1/bin/ghc --versionshows correct version