| If this is intended to be an immediate wholesale switch to Shake I | would be very skeptical of merging for 7.12 as three months is, in my | opinion, very little time to test such a sweeping change.
No there is no chance that we switch over to Shake for 7.12. At the moment it's nowhere near ready for prime time. But I do hope that we'll have material progress on a side-by-side build system before 7.12 comes out. It probably won't do everything but it should do some things well. I hope. Simon | | However, a long transition time is also not terribly desirable as | maintaining two largely independent build systems potentially carries | significant cost. | | Can we in principle expect the Shake build system to build all of the | configurations GHC currently supports from day-one (including, for | instance, cross compilation)? The batch files in the repository | suggest that it has been used on Windows but has it been tested on our | other Tier 1 platforms? | | I just attempted to use the current state of the repository and sadly | found that things fell apart pretty quickly [1]. | | I would love to see this happen, but obviously we need to tread | carefully when performing such a major overhaul to code so central to | the project. Moreover, I would really like to minimize the probability | that we increase the maintenance burden of our build infrastructure. | | I think if there is clear communication regarding what remains to be | done and motivation to quickly finish these items then Shakification | is still an possibility for 7.12. | | Otherwise I personally think we may want to be a bit conservative. End | users can always check out the shaking-up-ghc repository into their | GHC trees themselves if they want to try using it. I'm certainly | willing to consider other opinions, however. | | Cheers, | | - Ben | | | [1] After I manually ran ./boot, | | $ _shake/build --lint --directory ".." $@ | ... # various output from ./configure | Reading shake/cfg/system.config... | Reading package dependencies... | Error when running Shake build system: | * OracleQ (PackageDataKey ("libraries/bin-package-db/dist- | boot/package-data.mk","libraries_bin-package-db_dist-boot_LIB_NAME")) | * libraries/bin-package-db/dist-boot/package-data.mk | * libraries/bin-package-db/dist-boot/package-data.mk | libraries/bin-package-db/dist-boot/haddock-prologue.txt libraries/bin- | package-db/dist-boot/inplace-pkg-config libraries/bin-package-db/dist- | boot/setup-config libraries/bin-package-db/dist- | boot/build/autogen/cabal_macros.h | * libraries/binary/dist-boot/package-data.mk | * libraries/binary/dist-boot/package-data.mk | libraries/binary/dist-boot/haddock-prologue.txt libraries/binary/dist- | boot/inplace-pkg-config libraries/binary/dist-boot/setup-config | libraries/binary/dist-boot/build/autogen/cabal_macros.h | * /mnt/work/ghc/ghc-shake/inplace/bin/ghc-cabal | Error, file does not exist and no rule available: | /mnt/work/ghc/ghc-shake/inplace/bin/ghc-cabal _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs