Skip to content

`.hs-boot` make rules: add missing order-only dependency on target directory

Sergei Trofimovich requested to merge trofi/ghc:add-missing-hs-boot-deps into master

.hs-boot make rules: add missing order-only dependency on target directory

Noticed missing target directory dependency as a build failure in make --shuffle mode (added in https://savannah.gnu.org/bugs/index.php?62100):

"cp" libraries/base/./GHC/Stack/CCS.hs-boot libraries/base/dist-install/build/GHC/Stack/CCS.hs-boot
cp: cannot create regular file 'libraries/base/dist-install/build/GHC/Stack/CCS.hs-boot': No such file or directory
libraries/haskeline/ghc.mk:4: libraries/haskeline/dist-install/build/.depend-v-p-dyn.haskell: No such file or directory
make[1]: *** [libraries/base/ghc.mk:4: libraries/base/dist-install/build/GHC/Stack/CCS.hs-boot] Error 1 shuffle=1656129254
make: *** [Makefile:128: all] Error 2 shuffle=1656129254

Note that cp complains about inability to create target file.

The change adds order-only dependency on a target directory (similar to the rest of rules in that file).

The bug is lurking there since 2009 commit 34cc75e1 (GHC new build system megapatch.) where upfront directory creation was never added to .hs-boot files.

Merge request reports