diff options
Diffstat (limited to 'community/ghc/0008-build-unlit-twice.patch')
-rw-r--r-- | community/ghc/0008-build-unlit-twice.patch | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/community/ghc/0008-build-unlit-twice.patch b/community/ghc/0008-build-unlit-twice.patch new file mode 100644 index 0000000000..91380a5c26 --- /dev/null +++ b/community/ghc/0008-build-unlit-twice.patch @@ -0,0 +1,58 @@ +From eba93774c3ce2f151e7c72f6d068b753f24dbcfa Mon Sep 17 00:00:00 2001 +From: Thomas Miedema <thomasmiedema@gmail.com> +Date: Wed, 15 Jun 2016 14:56:46 +0200 +Subject: [PATCH] Build system: build unlit twice + +See Note [Why build certain utils twice?] in utils/ghc-pkg/ghc.mk +--- + utils/ghc-pkg/ghc.mk | 7 ++++++- + utils/unlit/ghc.mk | 10 +++++++++- + 2 files changed, 15 insertions(+), 2 deletions(-) + +diff --git a/utils/ghc-pkg/ghc.mk b/utils/ghc-pkg/ghc.mk +index f7d97de..410de72 100644 +--- a/utils/ghc-pkg/ghc.mk ++++ b/utils/ghc-pkg/ghc.mk +@@ -27,7 +27,7 @@ utils/ghc-pkg_PACKAGE = ghc-pkg + # Note [Why build certain utils twice?] + # + # We build certain utils twice: once with stage0, and once with stage1. +-# Examples are ghc-pkg and hsc2hs. ++# Examples are ghc-pkg, hsc2hs and unlit. + # + # These tools are needed during the bootstrapping process, so we have to use + # stage0 to build them at first (stage1 doesn't exist yet). (side note: they're +@@ -38,6 +38,11 @@ utils/ghc-pkg_PACKAGE = ghc-pkg + # dynamically linked. But the stage0 copies are either statically linked, or + # linked against libraries on the build machine. + # ++# Another reason why we can't install the stage0 copies is that they are ++# built to run on the build(=host) platform, but when installing a ++# "cross-compiled stage2 compiler" we need copies that run on the target ++# platform. ++# + # Therefore we build fresh copies, using the stage1 compiler, and install them + # when you run 'make install'. They are not used for any other purpose. + +diff --git a/utils/unlit/ghc.mk b/utils/unlit/ghc.mk +index e947989..6805c4e 100644 +--- a/utils/unlit/ghc.mk ++++ b/utils/unlit/ghc.mk +@@ -13,8 +13,16 @@ + utils/unlit_dist_C_SRCS = unlit.c + utils/unlit_dist_PROGNAME = unlit + utils/unlit_dist_TOPDIR = YES +-utils/unlit_dist_INSTALL = YES ++utils/unlit_dist_INSTALL = NO + utils/unlit_dist_INSTALL_INPLACE = YES + + $(eval $(call build-prog,utils/unlit,dist,0)) + ++utils/unlit_dist-install_C_SRCS = unlit.c ++utils/unlit_dist-install_PROGNAME = unlit ++utils/unlit_dist-install_TOPDIR = YES ++utils/unlit_dist-install_INSTALL = YES ++utils/unlit_dist-install_INSTALL_INPLACE = NO ++ ++# See Note [Why build certain utils twice?]. ++$(eval $(call build-prog,utils/unlit,dist-install,1)) |