summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMoritz Angermann <moritz.angermann@gmail.com>2021-04-27 11:10:05 +0800
committerBen Gamari <ben@smart-cactus.org>2021-12-20 15:21:48 -0500
commita4f0a7309b32bc2a878ae0ce04996e673b86c33e (patch)
tree34f28f9f865caed5c20a77043da796c98aa16f37
parent2e213ff79c88aabb5692a1e4d90413e8d774a64b (diff)
downloadhaskell-a4f0a7309b32bc2a878ae0ce04996e673b86c33e.tar.gz
[bindist] inject xattr -c -r . into the darwin install phase
This is so awful, but at least it might get the job done. (cherry picked from commit 973044fa64c900b6ca73e57712271f966f0e0ef4)
-rw-r--r--ghc.mk10
-rw-r--r--mk/project.mk.in7
2 files changed, 17 insertions, 0 deletions
diff --git a/ghc.mk b/ghc.mk
index cef5ad6c19..3cb4c46eac 100644
--- a/ghc.mk
+++ b/ghc.mk
@@ -820,6 +820,16 @@ install_mingw : $(INPLACE_MINGW)
endif # Windows_Host
+# the following is the work around suggested by @carter in #17418 during install
+# time. This should help us with code signing issues by removing extended
+# attribuets from all files.
+ifeq "$(Darwin_Host)" "YES"
+install : install_darwin
+.PHONY: install_darwin
+install_darwin:
+ xattr -c -r .
+endif # Darwin_Host
+
ifneq "$(BINDIST)" "YES"
$(ghc-prim-$(libraries/ghc-prim_dist-install_VERSION)_HADDOCK_FILE): \
libraries/ghc-prim/dist-install/build/autogen/GHC/Prim.hs
diff --git a/mk/project.mk.in b/mk/project.mk.in
index e40a73bf13..4f82b1607a 100644
--- a/mk/project.mk.in
+++ b/mk/project.mk.in
@@ -143,6 +143,13 @@ else
Windows_Host=NO
endif
+# Darwin_Host=YES if on a Darwin platform
+ifneq "$(findstring $(HostOS_CPP), darwin)" ""
+Darwin_Host=YES
+else
+Darwin_Host=NO
+endif
+
# Windows_Target=YES if we are targeting a Windows platform
ifneq "$(findstring $(TargetOS_CPP), mingw32)" ""
Windows_Target=YES