Skip to content

Commit

Permalink
ghc.mk: Use the same conditional install logic from unlit
Browse files Browse the repository at this point in the history
Summary:
This removes the make concurrency bug from the CrossCompilation
fix, and uses the same appraoch `utils/unlit` already uses. See:
https://git.haskell.org/ghc.git/commitdiff/ff84d052850b637b03bbb98cf05202e44886257d

Reviewers: bgamari, O25 HSC2HS, hvr

Differential Revision: https://phabricator.haskell.org/D4243
  • Loading branch information
angerman authored and bgamari committed Nov 30, 2017
1 parent 9483ad1 commit 738f366
Showing 1 changed file with 8 additions and 13 deletions.
21 changes: 8 additions & 13 deletions ghc.mk
Original file line number Diff line number Diff line change
Expand Up @@ -5,27 +5,22 @@ utils/hsc2hs_dist_PROGNAME = hsc2hs
utils/hsc2hs_dist-install_PROGNAME = hsc2hs

utils/hsc2hs_dist_SHELL_WRAPPER = YES
utils/hsc2hs_dist_INSTALL = NO
utils/hsc2hs_dist_INSTALL_INPLACE = YES

utils/hsc2hs_dist-install_SHELL_WRAPPER = YES
utils/hsc2hs_dist-install_INSTALL = YES
utils/hsc2hs_dist-install_INSTALL_INPLACE = NO

$(eval $(call build-prog,utils/hsc2hs,dist,0))

# When CrossCompiling, we want to ship the binary for the
# host, not for the target. As such we need to compile
# with the Bootstrap compiler rather than with the in-tree
# stage1 compiler, which would result in a binary that
# won't run on the host.
ifeq "$(CrossCompiling)" "YES"
# compile with stage 0 (bootstrap compiler)
$(eval $(call build-prog,utils/hsc2hs,dist-install,0))
ifeq "$(Stage1Only)" "YES"
utils/hsc2hs_dist_INSTALL = YES
utils/hsc2hs_dist-install_INSTALL = NO
else
$(eval $(call build-prog,utils/hsc2hs,dist-install,1))
utils/hsc2hs_dist_INSTALL = NO
utils/hsc2hs_dist-install_INSTALL = YES
endif

$(eval $(call build-prog,utils/hsc2hs,dist,0))
$(eval $(call build-prog,utils/hsc2hs,dist-install,1))

# After build-prog above
utils/hsc2hs_dist-install_MODULES = $(utils/hsc2hs_dist_MODULES)

Expand Down

0 comments on commit 738f366

Please sign in to comment.