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-05-31 11:54:50 -0400
commit11e1dcde0d3137a8ee5cd32697b2925ea4e84b95 (patch)
tree8aae4d70a7d04495fea2e25cf70991328d22a1d1
parent6731f9234d59a0b566f1a9ce4ee343b0582f805d (diff)
downloadhaskell-11e1dcde0d3137a8ee5cd32697b2925ea4e84b95.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 f096851467..fbb2befc97 100644
--- a/ghc.mk
+++ b/ghc.mk
@@ -821,6 +821,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 bb05baae21..68075c88c5 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 targetting a Windows platform
ifneq "$(findstring $(TargetOS_CPP), mingw32)" ""
Windows_Target=YES