mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-07-24 03:35:38 +03:00
58 lines
2.2 KiB
Diff
58 lines
2.2 KiB
Diff
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))
|