From b5ae3868db62228e7a75a9f1f66a9b05a4cf3277 Mon Sep 17 00:00:00 2001 From: Sylvain Henry Date: Thu, 12 Sep 2019 23:05:03 +0200 Subject: Allow validation with Hadrian built with Stack [skip ci] --- validate | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'validate') diff --git a/validate b/validate index 1aa7ddf4fd..36dd02479f 100755 --- a/validate +++ b/validate @@ -26,6 +26,7 @@ Flags: --quiet More pretty build log. See Note [Default build system verbosity]. --hadrian Build the compiler and run the tests through hadrian. + --stack Use Stack to build Hadrian and the Stage 1 compiler. --help shows this usage help. validate runs 'make -j\$THREADS', where by default THREADS is the number of @@ -56,6 +57,7 @@ be_quiet=0 # mk/config.mk.in tar_comp=gzip use_hadrian=NO +use_stack=NO while [ $# -gt 0 ] do @@ -88,6 +90,9 @@ do use_hadrian=YES hadrian_build_root=_validatebuild ;; + --stack) + use_stack=YES + ;; --help) show_help exit 0;; @@ -154,9 +159,19 @@ then $make -C utils/checkUniques else # Just build hadrian. - hadrian/build.sh --help > /dev/null - cd hadrian - hadrian_cmd=$(cabal new-exec -- which hadrian) + if [ "$use_stack" = "NO" ] + then + hadrian/build.sh --help > /dev/null + cd hadrian + hadrian_cmd=$(cabal new-exec -- which hadrian) + else + if [ $no_clean -eq 0 ]; then + rm -rf hadrian/.stack-work + fi + hadrian/build.stack.sh --help > /dev/null + cd hadrian + hadrian_cmd=$(stack exec -- which hadrian) + fi cd .. # TODO: define a hadrian Flavour that mimics # mk/flavours/validate.mk and use it here -- cgit v1.2.1