]> 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)
committerPhilipp Stephani <phst@google.com>
Wed, 23 Dec 2020 16:32:19 +0000 (17:32 +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 ab63b92627224dda558b5b1044a713db43fa69a4..cfd322a41fa27e931845a3ca66b7d3c78bc8d388 100644 (file)
@@ -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)