@@ -277,7 +277,7 @@ in let configured-src = stdenv.mkDerivation (rec {
277277 enableParallelBuilding = true;
278278 postPatch = "patchShebangs .";
279279
280− outputs = [ "out" "doc" ];
280+ outputs = [ "out" "doc" "generated" ];
281281
282282 # Make sure we never relax`$PATH` and hooks support for compatability.
283283 strictDeps = true;
@@ -330,6 +330,32 @@ in let configured-src = stdenv.mkDerivation (rec {
330330 -e 's/ghcprog="ghc-/ghcprog="${targetPrefix}ghc-/' \
331331 $i
332332 done
333+
334+ # Save generated files for needed when building ghcjs
335+ mkdir -p $generated/includes/dist-derivedconstants/header
336+ cp includes/dist-derivedconstants/header/GHCConstantsHaskellExports.hs \
337+ includes/dist-derivedconstants/header/GHCConstantsHaskellType.hs \
338+ includes/dist-derivedconstants/header/GHCConstantsHaskellWrappers.hs \
339+ $generated/includes/dist-derivedconstants/header
340+ if [[ -f includes/ghcplatform.h ]]; then
341+ cp includes/ghcplatform.h $generated/includes
342+ elif [[ -f includes/dist-install/build/ghcplatform.h ]]; then
343+ cp includes/dist-install/build/ghcplatform.h $generated/includes
344+ fi
345+ mkdir -p $generated/compiler/stage2/build
346+ cp compiler/stage2/build/Config.hs $generated/compiler/stage2/build || true
347+ mkdir -p $generated/rts/build
348+ cp rts/build/config.hs-incl $generated/rts/build || true
349+
350+ # Save generated files for needed when building ghc-boot
351+ mkdir -p $generated/libraries/ghc-boot/dist-install/build/GHC/Platform
352+ if [[ -f libraries/ghc-boot/dist-install/build/GHC/Version.hs ]]; then
353+ cp libraries/ghc-boot/dist-install/build/GHC/Version.hs $generated/libraries/ghc-boot/dist-install/build/GHC/Version.hs
354+ fi
355+ if [[ -f libraries/ghc-boot/dist-install/build/GHC/Platform/Host.hs ]]; then
356+ cp libraries/ghc-boot/dist-install/build/GHC/Platform/Host.hs $generated/libraries/ghc-boot/dist-install/build/GHC/Platform/Host.hs
357+ fi
358+
333359 ${installDeps targetPrefix}
334360
335361 # Sanity checks for https://github.com/input-output-hk/haskell.nix/issues/660