Skip to content

[RFC] Top-level Configure should do nothing but give Hadrian info

@alt-romes and @bgamari, I think this comports with your ghc-toolchain work / is already the plan?

It certainly comports with @hsyl20's work to make Hadrian deal with the *.cabal.in files.

Right now we have

AC_CONFIG_HEADER(mk/config.h)
# This one is manually maintained.
AC_CONFIG_HEADER(compiler/ghc-llvm-version.h)
dnl manually outputted above, for reasons described there.
dnl AC_CONFIG_HEADER(rts/include/ghcversion.h)

...

AC_CONFIG_FILES([mk/system-cxx-std-lib-1.0.conf])

...

AC_CONFIG_FILES(
[ mk/project.mk
  hadrian/cfg/system.config
  hadrian/ghci-cabal
  hadrian/ghci-multi-cabal
  hadrian/ghci-stack
  docs/users_guide/ghc_config.py
  distrib/configure.ac
  hadrian/cfg/default.host.target
  hadrian/cfg/default.target
])

That means we should not have the top-level configure produce these files:

  • Compiler proper
  • RTS; #17191 (closed) will have the RTS configure script produce these directly
  • Docs
    • docs/users_guide/ghc_config.py
  • Misc install platform sensative for bindist; should GHC toolchain take care of any of these?

Note that I do think we should keep the .in files so they don't have to be built with Hadrian --- I don't want to make it harder to get rid of Hadrian later, I just want to break up and get rid of the top-level configure script more than I want to get rid of Hadrian.

Edited by John Ericson
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information