@@ -203,9 +203,15 @@ UIPL=$(ULROT)/ipl
203203UPLUGINS =$(ULROT ) /plugins/lib
204204INST =$(SHTOOL ) install -c
205205F =*.{u,icn}
206- Tbins =unicon$(EXE ) icont$(EXE ) iconx$(EXE ) iconc$(EXE ) unicont$(EXE ) uniconx$(EXE ) \
207- uniconc$(EXE ) udb$(EXE ) uprof$(EXE ) unidep$(EXE ) unidoc$(EXE ) ui$(EXE ) ivib$(EXE ) \
208- ulsp$(EXE ) patchstr$(EXE ) iyacc$(EXE ) rt.a rt.h
206+
207+ # runtime binaries, variants of iconx, icont, and iconc
208+ RTbins =$(UNICONX )$(EXE ) | $(UNICONWX )$(EXE ) | $(UNICONT )$(EXE ) | $(UNICONWT )$(EXE ) | $(UNICONC )$(EXE )
209+ ADDONbins =udb$(EXE ) uprof$(EXE ) unidep$(EXE ) unidoc$(EXE ) ui$(EXE ) ivib$(EXE ) ulsp$(EXE )
210+ UTILbins =$(PATCHSTR ) iyacc$(EXE )
211+ ALLbins =$(RTbins ) unicon$(EXE ) $(ADDONbins ) $(UTILbins ) rt.a rt.h
212+ # binaries that should be signed after install, only needed on arm macOS for now
213+ SIGNbins =$(RTbins ) $(UTILbins )
214+
209215Tdirs =$(DESTDIR )$(ULB ) $(DESTDIR )$(UIPL ) $(DESTDIR )$(UPLUGINS )
210216Udirs =lib 3d gui unidoc unidep xml parser ulsp
211217IPLdirs =lib incl gincl mincl procs
@@ -218,7 +224,7 @@ uninstall Uninstall:
218224 rm -rf $$d; \
219225 done
220226# delete the binaries we installed from unicon/bin
221- @for f in $(Tbins ); do \
227+ @for f in $(ALLbins ); do \
222228 echo "Uninstalling $(DESTDIR)$(bindir)/$$f ..."; \
223229 rm -f $(DESTDIR)$(bindir)/$$f; \
224230 done
@@ -241,7 +247,7 @@ install Install:
241247 (echo "Creating dir $(DESTDIR)$(ULB)/$$d") && (mkdir -p $(DESTDIR)$(ULB)/$$d); \
242248 done
243249# install unicon/bin
244- @for f in $(Tbins ); do \
250+ @for f in $(ALLbins ); do \
245251 if test -f "bin/$$f"; then \
246252 (echo "Installing bin/$$f") && ($(INST) bin/$$f $(DESTDIR)$(bindir)); \
247253 if test "$$f" = $(UNICONT)$(EXE) ; then \
@@ -281,6 +287,13 @@ install Install:
281287 @$(INST) -m 644 README.md $(DESTDIR)$(docdir)
282288 @echo "Installing $(DESTDIR)$(docdir) ..."
283289 @$(INST) -m 644 doc/unicon/*.* $(DESTDIR)$(docdir)
290+ # Sign code if we are running MacOS on Apple's processors
291+ if test "$(UNICONHOST)" = "arm_64_macos"; then \
292+ for f in $(SIGNbins); do \
293+ echo signing $(DESTDIR)$(bindir)/$$f ; \
294+ codesign -s - $(DESTDIR)$(bindir)/$$f ;\
295+ done;; \
296+ fi
284297
285298# Bundle up for binary distribution.
286299PKGDIR =$(PKG_TARNAME ) .$(PKG_VERSION )
0 commit comments