]> git.eshelyaron.com Git - emacs.git/commitdiff
Codesign the executable on recene MacOS systems
authorItai Seggev <is+apple@cs.hmc.edu>
Tue, 24 Nov 2020 05:52:27 +0000 (06:52 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Tue, 24 Nov 2020 05:52:27 +0000 (06:52 +0100)
* src/Makefile.in (temacs$(EXEEXT)): Codesign the executable on
recent (ARM) MacOS systems (bug#43878).  Without this, building
Emacs fails.

Copyright-paperwork-exempt: yes

src/Makefile.in

index c5fb2ea3ab2b915a33ac0669b682e93382a12212..39c0f12fe6cdd91d7100999dd3b2adb96b857644 100644 (file)
@@ -336,6 +336,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)