summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorItai Seggev <is+apple@cs.hmc.edu>2020-11-24 06:52:27 +0100
committerPhilipp Stephani <phst@google.com>2020-12-23 17:32:19 +0100
commit6bf22c933df642f20969b17036f8da784276f588 (patch)
treecd39dcf1e074a1a31bae3eff5bb4243fcee71d81
parent5d46593568073b43fb0a901cbd7e019a1797cf93 (diff)
downloademacs-6bf22c933df642f20969b17036f8da784276f588.tar.gz
Codesign the executable on recene MacOS systems
* src/Makefile.in (temacs$(EXEEXT)): Codesign the executable on recent (ARM) MacOS systems (bug#43878). Without this, building Emacs fails. Copyright-paperwork-exempt: yes
-rw-r--r--src/Makefile.in7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/Makefile.in b/src/Makefile.in
index ab63b926272..cfd322a41fa 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -337,6 +337,10 @@ DUMPING=@DUMPING@
CHECK_STRUCTS = @CHECK_STRUCTS@
HAVE_PDUMPER = @HAVE_PDUMPER@
+## ARM Macs require that all code have a valid signature. Since pump
+## invalidates the signature, we must re-sign to fix it.
+DO_CODESIGN=$(patsubst aarch64-apple-darwin%,yes,@configuration@)
+
# 'make' verbosity.
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
@@ -653,6 +657,9 @@ temacs$(EXEEXT): $(LIBXMENU) $(ALLOBJS) $(LIBEGNU_ARCHIVE) $(EMACSRES) \
$(ALLOBJS) $(LIBEGNU_ARCHIVE) $(W32_RES_LINK) $(LIBES)
ifeq ($(HAVE_PDUMPER),yes)
$(AM_V_at)$(MAKE_PDUMPER_FINGERPRINT) $@.tmp
+ifeq ($(DO_CODESIGN),yes)
+ codesign -s - -f $@.tmp
+endif
endif
$(AM_V_at)mv $@.tmp $@
$(MKDIR_P) $(etc)