Sven Tennie pushed to branch wip/supersven/hadrian-cross-stage3 at Glasgow Haskell Compiler / GHC

Commits:

3 changed files:

Changes:

  • .gitlab/ci.sh
    ... ... @@ -62,9 +62,9 @@ Common Modes:
    62 62
     Environment variables affecting the build:
    
    63 63
     
    
    64 64
       CROSS_TARGET      Triple of cross-compilation target.
    
    65
    -  CROSS_STAGE       The stage of the cross-compiler to build either
    
    66
    -                      * 2: Build a normal cross-compiler bindist
    
    67
    -                      * 3: Build a target executable bindist (with the stage2 cross-compiler)
    
    65
    +  FINAL_CROSS_STAGE The final stage of the cross-compiler to build either
    
    66
    +                      * 2: Build a cross-compiler bindist
    
    67
    +                      * 3: Build a target executable bindist (implies the cross-compiler bindist of 2)
    
    68 68
       VERBOSE           Set to non-empty for verbose build output
    
    69 69
       RUNTEST_ARGS      Arguments passed to runtest.py
    
    70 70
       TEST_WAYS         Testsuite ways to run
    
    ... ... @@ -573,7 +573,7 @@ function build_hadrian() {
    573 573
         export XZ_OPT="${XZ_OPT:-} -T$cores"
    
    574 574
       fi
    
    575 575
     
    
    576
    -  case "${CROSS_STAGE:-2}" in
    
    576
    +  case "${FINAL_CROSS_STAGE:-2}" in
    
    577 577
         2) BINDIST_TARGET="binary-dist";;
    
    578 578
         # Stage2 cross-compiler bindists are (almost) a byproduct of Stage3
    
    579 579
         # cross-compiled bindists. So, we bundle both of them when the Stage3
    
    ... ... @@ -581,10 +581,10 @@ function build_hadrian() {
    581 581
         3)
    
    582 582
           BINDIST_TARGET="binary-dist binary-dist-stage3"
    
    583 583
           if [[ -z "${BIN_DIST_NAME_STAGE3:-}" ]]; then
    
    584
    -        fail "CROSS_STAGE=3 requires BIN_DIST_NAME_STAGE3 to be set"
    
    584
    +        fail "FINAL_CROSS_STAGE=3 requires BIN_DIST_NAME_STAGE3 to be set"
    
    585 585
           fi
    
    586 586
           ;;
    
    587
    -    *) fail "Unknown CROSS_STAGE, must be 2 or 3";;
    
    587
    +    *) fail "Unknown FINAL_CROSS_STAGE, must be 2 or 3";;
    
    588 588
       esac
    
    589 589
     
    
    590 590
       if [[ -n "${REINSTALL_GHC:-}" ]]; then
    
    ... ... @@ -598,7 +598,7 @@ function build_hadrian() {
    598 598
             *)
    
    599 599
               run_hadrian test:all_deps $BINDIST_TARGET
    
    600 600
               mv _build/bindist/ghc*.tar.xz "$BIN_DIST_NAME.tar.xz"
    
    601
    -          if [[ "${CROSS_STAGE:-2}" == "3" ]]; then
    
    601
    +          if [[ "${FINAL_CROSS_STAGE:-2}" == "3" ]]; then
    
    602 602
                 mv _build/bindist-stage3/ghc*.tar.xz "$BIN_DIST_NAME_STAGE3.tar.xz"
    
    603 603
               fi
    
    604 604
               ;;
    
    ... ... @@ -708,7 +708,7 @@ function test_hadrian() {
    708 708
         # > main = putStrLn "hello world"
    
    709 709
         run diff -w expected actual
    
    710 710
     
    
    711
    -    if [[ "${CROSS_STAGE:-2}" == "3" ]]; then
    
    711
    +    if [[ "${FINAL_CROSS_STAGE:-2}" == "3" ]]; then
    
    712 712
           local stage3_dir
    
    713 713
           stage3_dir="$(echo _build/bindist-stage3/ghc-*/)"
    
    714 714
           local stage3_ghc="$stage3_dir/bin/ghc$exe"
    

  • .gitlab/generate-ci/gen_ci.hs
    ... ... @@ -159,7 +159,7 @@ data BuildConfig
    159 159
                     , withNuma       :: Bool
    
    160 160
                     , withZstd       :: Bool
    
    161 161
                     , crossTarget    :: Maybe String
    
    162
    -                , crossStage     :: Maybe FinalCrossStage
    
    162
    +                , finalCrossStage :: Maybe FinalCrossStage
    
    163 163
                     , crossEmulator  :: CrossEmulator
    
    164 164
                     , configureWrapper :: Maybe String
    
    165 165
                     , fullyStatic    :: Bool
    
    ... ... @@ -229,7 +229,7 @@ vanilla = BuildConfig
    229 229
       , withNuma = False
    
    230 230
       , withZstd = False
    
    231 231
       , crossTarget = Nothing
    
    232
    -  , crossStage  = Nothing
    
    232
    +  , finalCrossStage  = Nothing
    
    233 233
       , crossEmulator = NoEmulator
    
    234 234
       , configureWrapper = Nothing
    
    235 235
       , fullyStatic = False
    
    ... ... @@ -275,7 +275,7 @@ static = vanilla { fullyStatic = True }
    275 275
     staticNativeInt :: BuildConfig
    
    276 276
     staticNativeInt = static { bignumBackend = Native }
    
    277 277
     
    
    278
    --- | The final stage for which binary distrubutions should be built
    
    278
    +-- | The final stage for which binary distributions should be built
    
    279 279
     --
    
    280 280
     -- `Stage2` builds a cross-compiler (build == host, host /= target). `Stage3`
    
    281 281
     -- implies `Stage2` and additionally builds a cross-compiled compiler (build /=
    
    ... ... @@ -294,7 +294,7 @@ crossConfig :: String -- ^ target triple
    294 294
                 -> BuildConfig
    
    295 295
     crossConfig triple emulator configure_wrapper crossStage =
    
    296 296
         vanilla { crossTarget = Just triple
    
    297
    -            , crossStage  = Just crossStage
    
    297
    +            , finalCrossStage  = Just crossStage
    
    298 298
                 , crossEmulator = emulator
    
    299 299
                 , configureWrapper = configure_wrapper
    
    300 300
                 }
    
    ... ... @@ -370,8 +370,7 @@ binDistName :: Arch -> Opsys -> BuildConfig -> String
    370 370
     binDistName arch opsys bc = "ghc-" ++ testEnv arch opsys bc
    
    371 371
     
    
    372 372
     -- | The bindist name for the stage3 (target) artifact produced by a combined
    
    373
    --- cross job (crossStage == Just 3). This preserves the naming convention
    
    374
    --- expected by downstream consumers.
    
    373
    +-- cross job (crossStage == Just 3).
    
    375 374
     binDistNameStage3 :: Arch -> Opsys -> BuildConfig -> String
    
    376 375
     binDistNameStage3 arch opsys bc = "ghc-" ++ intercalate "-" (concat
    
    377 376
         [ [ archName arch, opsysName opsys ]
    
    ... ... @@ -907,7 +906,7 @@ job arch opsys buildConfig = NamedJob { name = jobName, jobInfo = Job {..} }
    907 906
           [ opsysVariables arch opsys
    
    908 907
           , "TEST_ENV" =: testEnv arch opsys buildConfig
    
    909 908
           , "BIN_DIST_NAME" =: binDistName arch opsys buildConfig
    
    910
    -      , if crossStage buildConfig == Just Stage3
    
    909
    +      , if finalCrossStage buildConfig == Just Stage3
    
    911 910
                 then "BIN_DIST_NAME_STAGE3" =: binDistNameStage3 arch opsys buildConfig
    
    912 911
                 else mempty
    
    913 912
           , "BUILD_FLAVOUR" =: flavourString jobFlavour
    
    ... ... @@ -916,7 +915,7 @@ job arch opsys buildConfig = NamedJob { name = jobName, jobInfo = Job {..} }
    916 915
           , "INSTALL_CONFIGURE_ARGS" =: "--enable-strict-ghc-toolchain-check"
    
    917 916
           , maybe mempty ("CONFIGURE_WRAPPER" =:) (configureWrapper buildConfig)
    
    918 917
           , maybe mempty ("CROSS_TARGET" =:) (crossTarget buildConfig)
    
    919
    -      , maybe mempty (("CROSS_STAGE" =:) . show . crossStageToInt) (crossStage buildConfig)
    
    918
    +      , maybe mempty (("FINAL_CROSS_STAGE" =:) . show . crossStageToInt) (finalCrossStage buildConfig)
    
    920 919
           , case crossEmulator buildConfig of
    
    921 920
               NoEmulator
    
    922 921
                 -- we need an emulator but it isn't set. Won't run the testsuite
    
    ... ... @@ -950,7 +949,7 @@ job arch opsys buildConfig = NamedJob { name = jobName, jobInfo = Job {..} }
    950 949
         trim = dropWhileEnd isSpace . dropWhile isSpace
    
    951 950
     
    
    952 951
         stage3Artifacts
    
    953
    -      | crossStage buildConfig == Just Stage3 =
    
    952
    +      | finalCrossStage buildConfig == Just Stage3 =
    
    954 953
               [binDistNameStage3 arch opsys buildConfig ++ ".tar.xz"]
    
    955 954
           | otherwise = []
    
    956 955
     
    
    ... ... @@ -1323,7 +1322,8 @@ cross_jobs = [
    1323 1322
         -- x86 -> aarch64
    
    1324 1323
         validateBuilds Amd64 (Linux Debian13) (crossConfig "aarch64-linux-gnu" (Emulator "qemu-aarch64 -L /usr/aarch64-linux-gnu") Nothing Stage2)
    
    1325 1324
     
    
    1326
    -    -- x86_64 (build) -> riscv64 (host/target)
    
    1325
    +    -- Stage2: x86_64 (build/host) -> riscv64 (target)
    
    1326
    +    -- Stage3: x86_64 (build) -> riscv64 (host/target)
    
    1327 1327
       , addValidateRule RiscV (validateBuilds Amd64 (Linux Debian13Riscv) (crossConfig "riscv64-linux-gnu" (Emulator "qemu-riscv64 -L /usr/riscv64-linux-gnu") Nothing Stage3))
    
    1328 1328
     
    
    1329 1329
         -- x86_64 -> loongarch64
    

  • .gitlab/jobs.yaml
    ... ... @@ -319,9 +319,9 @@
    319 319
           "CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
    
    320 320
           "CONF_CC_OPTS_STAGE2": "-fuse-ld=/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-ld --rtlib=compiler-rt",
    
    321 321
           "CROSS_EMULATOR": "/opt/wine-arm64ec-msys2-deb12/bin/wine",
    
    322
    -      "CROSS_STAGE": "2",
    
    323 322
           "CROSS_TARGET": "aarch64-unknown-mingw32",
    
    324 323
           "CXX": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-clang++",
    
    324
    +      "FINAL_CROSS_STAGE": "2",
    
    325 325
           "HADRIAN_ARGS": "--docs=none",
    
    326 326
           "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
    
    327 327
           "LD": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-ld",
    
    ... ... @@ -403,9 +403,9 @@
    403 403
           "CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
    
    404 404
           "CONF_CC_OPTS_STAGE2": "-fuse-ld=/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-ld --rtlib=compiler-rt",
    
    405 405
           "CROSS_EMULATOR": "/opt/wine-arm64ec-msys2-deb12/bin/wine",
    
    406
    -      "CROSS_STAGE": "2",
    
    407 406
           "CROSS_TARGET": "aarch64-unknown-mingw32",
    
    408 407
           "CXX": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-clang++",
    
    408
    +      "FINAL_CROSS_STAGE": "2",
    
    409 409
           "HADRIAN_ARGS": "--docs=none",
    
    410 410
           "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
    
    411 411
           "LD": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-ld",
    
    ... ... @@ -1127,9 +1127,9 @@
    1127 1127
           "CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
    
    1128 1128
           "CONF_CC_OPTS_STAGE2": "-fuse-ld=/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-ld --rtlib=compiler-rt",
    
    1129 1129
           "CROSS_EMULATOR": "/opt/wine-arm64ec-msys2-deb12/bin/wine",
    
    1130
    -      "CROSS_STAGE": "2",
    
    1131 1130
           "CROSS_TARGET": "aarch64-unknown-mingw32",
    
    1132 1131
           "CXX": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-clang++",
    
    1132
    +      "FINAL_CROSS_STAGE": "2",
    
    1133 1133
           "HADRIAN_ARGS": "--docs=none",
    
    1134 1134
           "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
    
    1135 1135
           "LD": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-ld",
    
    ... ... @@ -1212,9 +1212,9 @@
    1212 1212
           "CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
    
    1213 1213
           "CONF_CC_OPTS_STAGE2": "-fuse-ld=/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-ld --rtlib=compiler-rt",
    
    1214 1214
           "CROSS_EMULATOR": "/opt/wine-arm64ec-msys2-deb12/bin/wine",
    
    1215
    -      "CROSS_STAGE": "2",
    
    1216 1215
           "CROSS_TARGET": "aarch64-unknown-mingw32",
    
    1217 1216
           "CXX": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-clang++",
    
    1217
    +      "FINAL_CROSS_STAGE": "2",
    
    1218 1218
           "HADRIAN_ARGS": "--docs=none",
    
    1219 1219
           "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
    
    1220 1220
           "LD": "/opt/llvm-mingw-linux/bin/aarch64-w64-mingw32-ld",
    
    ... ... @@ -2010,8 +2010,8 @@
    2010 2010
           "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_23-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
    
    2011 2011
           "BUILD_FLAVOUR": "release+host_fully_static+text_simdutf",
    
    2012 2012
           "CONFIGURE_ARGS": "--with-intree-gmp --with-system-libffi --enable-strict-ghc-toolchain-check",
    
    2013
    -      "CROSS_STAGE": "2",
    
    2014 2013
           "CROSS_TARGET": "wasm32-wasi",
    
    2014
    +      "FINAL_CROSS_STAGE": "2",
    
    2015 2015
           "FIREFOX_LAUNCH_OPTS": "{\"browser\":\"firefox\",\"executablePath\":\"/usr/bin/firefox\"}",
    
    2016 2016
           "HADRIAN_ARGS": "--docs=no-sphinx-pdfs --docs=no-sphinx-man",
    
    2017 2017
           "RUNTEST_ARGS": "",
    
    ... ... @@ -2077,8 +2077,8 @@
    2077 2077
           "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_23-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
    
    2078 2078
           "BUILD_FLAVOUR": "release+host_fully_static+text_simdutf",
    
    2079 2079
           "CONFIGURE_ARGS": "--with-intree-gmp --with-system-libffi --enable-strict-ghc-toolchain-check",
    
    2080
    -      "CROSS_STAGE": "2",
    
    2081 2080
           "CROSS_TARGET": "wasm32-wasi",
    
    2081
    +      "FINAL_CROSS_STAGE": "2",
    
    2082 2082
           "FIREFOX_LAUNCH_OPTS": "{\"browser\":\"firefox\",\"executablePath\":\"/usr/bin/firefox\"}",
    
    2083 2083
           "HADRIAN_ARGS": "--docs=no-sphinx-pdfs --docs=no-sphinx-man",
    
    2084 2084
           "RUNTEST_ARGS": "",
    
    ... ... @@ -2144,8 +2144,8 @@
    2144 2144
           "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_23-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
    
    2145 2145
           "BUILD_FLAVOUR": "release+host_fully_static+text_simdutf",
    
    2146 2146
           "CONFIGURE_ARGS": "--enable-unregisterised --with-intree-gmp --with-system-libffi --enable-strict-ghc-toolchain-check",
    
    2147
    -      "CROSS_STAGE": "2",
    
    2148 2147
           "CROSS_TARGET": "wasm32-wasi",
    
    2148
    +      "FINAL_CROSS_STAGE": "2",
    
    2149 2149
           "FIREFOX_LAUNCH_OPTS": "{\"browser\":\"firefox\",\"executablePath\":\"/usr/bin/firefox\"}",
    
    2150 2150
           "HADRIAN_ARGS": "--docs=no-sphinx-pdfs --docs=no-sphinx-man",
    
    2151 2151
           "RUNTEST_ARGS": "",
    
    ... ... @@ -2212,8 +2212,8 @@
    2212 2212
           "BUILD_FLAVOUR": "validate",
    
    2213 2213
           "CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
    
    2214 2214
           "CONFIGURE_WRAPPER": "emconfigure",
    
    2215
    -      "CROSS_STAGE": "2",
    
    2216 2215
           "CROSS_TARGET": "javascript-unknown-ghcjs",
    
    2216
    +      "FINAL_CROSS_STAGE": "2",
    
    2217 2217
           "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
    
    2218 2218
           "RUNTEST_ARGS": "-e config.timeout=900",
    
    2219 2219
           "TEST_ENV": "x86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate",
    
    ... ... @@ -2471,8 +2471,8 @@
    2471 2471
           "BUILD_FLAVOUR": "validate",
    
    2472 2472
           "CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
    
    2473 2473
           "CROSS_EMULATOR": "qemu-aarch64 -L /usr/aarch64-linux-gnu",
    
    2474
    -      "CROSS_STAGE": "2",
    
    2475 2474
           "CROSS_TARGET": "aarch64-linux-gnu",
    
    2475
    +      "FINAL_CROSS_STAGE": "2",
    
    2476 2476
           "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
    
    2477 2477
           "RUNTEST_ARGS": "-e config.timeout=900",
    
    2478 2478
           "TEST_ENV": "x86_64-linux-deb13-cross_aarch64-linux-gnu-validate",
    
    ... ... @@ -2797,8 +2797,8 @@
    2797 2797
           "BUILD_FLAVOUR": "validate",
    
    2798 2798
           "CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
    
    2799 2799
           "CROSS_EMULATOR": "qemu-riscv64 -L /usr/riscv64-linux-gnu",
    
    2800
    -      "CROSS_STAGE": "3",
    
    2801 2800
           "CROSS_TARGET": "riscv64-linux-gnu",
    
    2801
    +      "FINAL_CROSS_STAGE": "3",
    
    2802 2802
           "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
    
    2803 2803
           "RUNTEST_ARGS": "-e config.timeout=900",
    
    2804 2804
           "TEST_ENV": "x86_64-linux-deb13-riscv-cross_riscv64-linux-gnu-validate",
    
    ... ... @@ -3701,8 +3701,8 @@
    3701 3701
           "BUILD_FLAVOUR": "validate",
    
    3702 3702
           "CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
    
    3703 3703
           "CROSS_EMULATOR": "qemu-loongarch64 -L /usr/loongarch64-linux-gnu",
    
    3704
    -      "CROSS_STAGE": "2",
    
    3705 3704
           "CROSS_TARGET": "loongarch64-linux-gnu",
    
    3705
    +      "FINAL_CROSS_STAGE": "2",
    
    3706 3706
           "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
    
    3707 3707
           "RUNTEST_ARGS": "-e config.timeout=900",
    
    3708 3708
           "TEST_ENV": "x86_64-linux-ubuntu24_04-loongarch-cross_loongarch64-linux-gnu-validate",
    
    ... ... @@ -5997,8 +5997,8 @@
    5997 5997
           "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_23-wasm-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
    
    5998 5998
           "BUILD_FLAVOUR": "release+host_fully_static+text_simdutf",
    
    5999 5999
           "CONFIGURE_ARGS": "--with-intree-gmp --with-system-libffi --enable-strict-ghc-toolchain-check",
    
    6000
    -      "CROSS_STAGE": "2",
    
    6001 6000
           "CROSS_TARGET": "wasm32-wasi",
    
    6001
    +      "FINAL_CROSS_STAGE": "2",
    
    6002 6002
           "FIREFOX_LAUNCH_OPTS": "{\"browser\":\"firefox\",\"executablePath\":\"/usr/bin/firefox\"}",
    
    6003 6003
           "HADRIAN_ARGS": "--docs=no-sphinx-pdfs --docs=no-sphinx-man",
    
    6004 6004
           "RUNTEST_ARGS": "",
    
    ... ... @@ -6064,8 +6064,8 @@
    6064 6064
           "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_23-wasm-int_native-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
    
    6065 6065
           "BUILD_FLAVOUR": "release+host_fully_static+text_simdutf",
    
    6066 6066
           "CONFIGURE_ARGS": "--with-intree-gmp --with-system-libffi --enable-strict-ghc-toolchain-check",
    
    6067
    -      "CROSS_STAGE": "2",
    
    6068 6067
           "CROSS_TARGET": "wasm32-wasi",
    
    6068
    +      "FINAL_CROSS_STAGE": "2",
    
    6069 6069
           "FIREFOX_LAUNCH_OPTS": "{\"browser\":\"firefox\",\"executablePath\":\"/usr/bin/firefox\"}",
    
    6070 6070
           "HADRIAN_ARGS": "--docs=no-sphinx-pdfs --docs=no-sphinx-man",
    
    6071 6071
           "RUNTEST_ARGS": "",
    
    ... ... @@ -6131,8 +6131,8 @@
    6131 6131
           "BIN_DIST_NAME": "ghc-x86_64-linux-alpine3_23-wasm-unreg-cross_wasm32-wasi-release+host_fully_static+text_simdutf",
    
    6132 6132
           "BUILD_FLAVOUR": "release+host_fully_static+text_simdutf",
    
    6133 6133
           "CONFIGURE_ARGS": "--enable-unregisterised --with-intree-gmp --with-system-libffi --enable-strict-ghc-toolchain-check",
    
    6134
    -      "CROSS_STAGE": "2",
    
    6135 6134
           "CROSS_TARGET": "wasm32-wasi",
    
    6135
    +      "FINAL_CROSS_STAGE": "2",
    
    6136 6136
           "FIREFOX_LAUNCH_OPTS": "{\"browser\":\"firefox\",\"executablePath\":\"/usr/bin/firefox\"}",
    
    6137 6137
           "HADRIAN_ARGS": "--docs=no-sphinx-pdfs --docs=no-sphinx-man",
    
    6138 6138
           "RUNTEST_ARGS": "",
    
    ... ... @@ -6198,8 +6198,8 @@
    6198 6198
           "BUILD_FLAVOUR": "validate",
    
    6199 6199
           "CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
    
    6200 6200
           "CONFIGURE_WRAPPER": "emconfigure",
    
    6201
    -      "CROSS_STAGE": "2",
    
    6202 6201
           "CROSS_TARGET": "javascript-unknown-ghcjs",
    
    6202
    +      "FINAL_CROSS_STAGE": "2",
    
    6203 6203
           "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
    
    6204 6204
           "RUNTEST_ARGS": "-e config.timeout=900",
    
    6205 6205
           "TEST_ENV": "x86_64-linux-deb11-emsdk-closure-int_native-cross_javascript-unknown-ghcjs-validate",
    
    ... ... @@ -6453,8 +6453,8 @@
    6453 6453
           "BUILD_FLAVOUR": "validate",
    
    6454 6454
           "CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
    
    6455 6455
           "CROSS_EMULATOR": "qemu-aarch64 -L /usr/aarch64-linux-gnu",
    
    6456
    -      "CROSS_STAGE": "2",
    
    6457 6456
           "CROSS_TARGET": "aarch64-linux-gnu",
    
    6457
    +      "FINAL_CROSS_STAGE": "2",
    
    6458 6458
           "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
    
    6459 6459
           "RUNTEST_ARGS": "-e config.timeout=900",
    
    6460 6460
           "TEST_ENV": "x86_64-linux-deb13-cross_aarch64-linux-gnu-validate",
    
    ... ... @@ -6775,8 +6775,8 @@
    6775 6775
           "BUILD_FLAVOUR": "validate",
    
    6776 6776
           "CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
    
    6777 6777
           "CROSS_EMULATOR": "qemu-riscv64 -L /usr/riscv64-linux-gnu",
    
    6778
    -      "CROSS_STAGE": "3",
    
    6779 6778
           "CROSS_TARGET": "riscv64-linux-gnu",
    
    6779
    +      "FINAL_CROSS_STAGE": "3",
    
    6780 6780
           "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
    
    6781 6781
           "RUNTEST_ARGS": "-e config.timeout=900",
    
    6782 6782
           "TEST_ENV": "x86_64-linux-deb13-riscv-cross_riscv64-linux-gnu-validate",
    
    ... ... @@ -7666,8 +7666,8 @@
    7666 7666
           "BUILD_FLAVOUR": "validate",
    
    7667 7667
           "CONFIGURE_ARGS": "--with-intree-gmp --enable-strict-ghc-toolchain-check",
    
    7668 7668
           "CROSS_EMULATOR": "qemu-loongarch64 -L /usr/loongarch64-linux-gnu",
    
    7669
    -      "CROSS_STAGE": "2",
    
    7670 7669
           "CROSS_TARGET": "loongarch64-linux-gnu",
    
    7670
    +      "FINAL_CROSS_STAGE": "2",
    
    7671 7671
           "INSTALL_CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
    
    7672 7672
           "RUNTEST_ARGS": "-e config.timeout=900",
    
    7673 7673
           "TEST_ENV": "x86_64-linux-ubuntu24_04-loongarch-cross_loongarch64-linux-gnu-validate",