repairs to build and run on AArch64 Mac OS
This commit is contained in:
parent
6201055c7a
commit
908156b92f
|
@ -561,6 +561,8 @@ static ptr bv_fasl_entry(ptr tc, ptr bv, int ty, uptr offset, uptr len, unbufFas
|
|||
ptr x; ptr strbuf = S_G.null_string;
|
||||
struct faslFileObj ffo;
|
||||
|
||||
S_thread_start_code_write();
|
||||
|
||||
if (ty == fasl_type_vfasl) {
|
||||
x = S_vfasl(bv, NULL, offset, len);
|
||||
} else if (ty == fasl_type_fasl) {
|
||||
|
@ -575,6 +577,8 @@ static ptr bv_fasl_entry(ptr tc, ptr bv, int ty, uptr offset, uptr len, unbufFas
|
|||
}
|
||||
|
||||
S_flush_instruction_cache(tc);
|
||||
S_thread_end_code_write();
|
||||
|
||||
return x;
|
||||
}
|
||||
|
||||
|
@ -606,6 +610,25 @@ static void bytesin(octet *s, iptr n, faslFile f) {
|
|||
}
|
||||
}
|
||||
|
||||
static void code_bytesin(octet *s, iptr n, faslFile f) {
|
||||
#ifdef CANNOT_READ_DIRECTLY_INTO_CODE
|
||||
while (1) {
|
||||
iptr avail = f->end - f->next;
|
||||
if (avail < n) {
|
||||
bytesin(s, avail, f);
|
||||
n -= avail;
|
||||
s += avail;
|
||||
fillFaslFile(f);
|
||||
} else {
|
||||
bytesin(s, n, f);
|
||||
break;
|
||||
}
|
||||
}
|
||||
#else
|
||||
bytesin(s, n, f);
|
||||
#endif
|
||||
}
|
||||
|
||||
static void toolarge(ptr path) {
|
||||
S_error1("", "fasl value too large for this machine type in ~a", path);
|
||||
}
|
||||
|
@ -1039,7 +1062,7 @@ static void faslin(ptr tc, ptr *x, ptr t, ptr *pstrbuf, faslFile f) {
|
|||
if (pinfos != Snil) {
|
||||
S_G.profile_counters = Scons(S_weak_cons(co, pinfos), S_G.profile_counters);
|
||||
}
|
||||
bytesin((octet *)&CODEIT(co, 0), n, f);
|
||||
code_bytesin((octet *)&CODEIT(co, 0), n, f);
|
||||
#ifdef PORTABLE_BYTECODE_BIGENDIAN
|
||||
swap_code_endian((octet *)&CODEIT(co, 0), n);
|
||||
#endif
|
||||
|
|
|
@ -288,6 +288,7 @@ static void s_instantiate_code_object() {
|
|||
static void s_link_code_object(co, objs) ptr co, objs; {
|
||||
ptr t; uptr a, m, n;
|
||||
|
||||
S_thread_start_code_write();
|
||||
t = CODERELOC(co);
|
||||
m = RELOCSIZE(t);
|
||||
a = 0;
|
||||
|
@ -306,6 +307,7 @@ static void s_link_code_object(co, objs) ptr co, objs; {
|
|||
S_set_code_obj("gc", RELOC_TYPE(entry), co, a, Scar(objs), item_off);
|
||||
objs = Scdr(objs);
|
||||
}
|
||||
S_thread_end_code_write();
|
||||
}
|
||||
|
||||
static INT s_check_heap_enabledp(void) {
|
||||
|
|
|
@ -878,47 +878,64 @@ static char *s_getwd() {
|
|||
static ptr s_set_code_byte(p, n, x) ptr p, n, x; {
|
||||
I8 *a;
|
||||
|
||||
S_thread_start_code_write();
|
||||
a = (I8 *)TO_VOIDP((uptr)p + UNFIX(n));
|
||||
*a = (I8)UNFIX(x);
|
||||
S_thread_end_code_write();
|
||||
|
||||
return Svoid;
|
||||
}
|
||||
|
||||
static ptr s_set_code_word(p, n, x) ptr p, n, x; {
|
||||
I16 *a;
|
||||
|
||||
S_thread_start_code_write();
|
||||
a = (I16 *)TO_VOIDP((uptr)p + UNFIX(n));
|
||||
*a = (I16)UNFIX(x);
|
||||
S_thread_end_code_write();
|
||||
|
||||
return Svoid;
|
||||
}
|
||||
|
||||
static ptr s_set_code_long(p, n, x) ptr p, n, x; {
|
||||
I32 *a;
|
||||
|
||||
S_thread_start_code_write();
|
||||
a = (I32 *)TO_VOIDP((uptr)p + UNFIX(n));
|
||||
*a = (I32)(Sfixnump(x) ? UNFIX(x) : Sinteger_value(x));
|
||||
S_thread_end_code_write();
|
||||
|
||||
return Svoid;
|
||||
}
|
||||
|
||||
static void s_set_code_long2(p, n, h, l) ptr p, n, h, l; {
|
||||
I32 *a;
|
||||
|
||||
S_thread_start_code_write();
|
||||
a = (I32 *)TO_VOIDP((uptr)p + UNFIX(n));
|
||||
*a = (I32)((UNFIX(h) << 16) + UNFIX(l));
|
||||
S_thread_end_code_write();
|
||||
}
|
||||
|
||||
static ptr s_set_code_quad(p, n, x) ptr p, n, x; {
|
||||
I64 *a;
|
||||
|
||||
S_thread_start_code_write();
|
||||
a = (I64 *)TO_VOIDP((uptr)p + UNFIX(n));
|
||||
*a = Sfixnump(x) ? UNFIX(x) : S_int64_value("\\#set-code-quad!", x);
|
||||
S_thread_end_code_write();
|
||||
|
||||
return Svoid;
|
||||
}
|
||||
|
||||
static ptr s_set_reloc(p, n, e) ptr p, n, e; {
|
||||
iptr *a;
|
||||
|
||||
S_thread_start_code_write();
|
||||
a = (iptr *)(&RELOCIT(CODERELOC(p), UNFIX(n)));
|
||||
*a = Sfixnump(e) ? UNFIX(e) : Sinteger_value(e);
|
||||
S_thread_end_code_write();
|
||||
|
||||
return e;
|
||||
}
|
||||
|
||||
|
@ -931,6 +948,8 @@ static ptr s_make_code(flags, free, name, arity_mark, n, info, pinfos)
|
|||
iptr flags, free, n; ptr name, arity_mark, info, pinfos; {
|
||||
ptr co;
|
||||
|
||||
S_thread_start_code_write();
|
||||
|
||||
co = S_code(get_thread_context(), type_code | (flags << code_flags_offset), n);
|
||||
CODEFREE(co) = free;
|
||||
CODENAME(co) = name;
|
||||
|
@ -940,12 +959,17 @@ static ptr s_make_code(flags, free, name, arity_mark, n, info, pinfos)
|
|||
if (pinfos != Snil) {
|
||||
S_G.profile_counters = Scons(S_weak_cons(co, pinfos), S_G.profile_counters);
|
||||
}
|
||||
|
||||
S_thread_end_code_write();
|
||||
|
||||
return co;
|
||||
}
|
||||
|
||||
static ptr s_make_reloc_table(codeobj, n) ptr codeobj, n; {
|
||||
S_thread_start_code_write();
|
||||
CODERELOC(codeobj) = S_relocation_table(UNFIX(n));
|
||||
RELOCCODE(CODERELOC(codeobj)) = codeobj;
|
||||
S_thread_end_code_write();
|
||||
return Svoid;
|
||||
}
|
||||
|
||||
|
|
|
@ -109,6 +109,7 @@ static void main_init() {
|
|||
VIRTREG(tc, i) = FIX(0);
|
||||
}
|
||||
|
||||
S_thread_start_code_write();
|
||||
p = S_code(tc, type_code, size_rp_header);
|
||||
CODERELOC(p) = S_relocation_table(0);
|
||||
CODENAME(p) = Sfalse;
|
||||
|
@ -122,6 +123,7 @@ static void main_init() {
|
|||
(uptr)TO_PTR(&RPHEADERTOPLINK(TO_PTR(&CODEIT(p, 0)))) - (uptr)p;
|
||||
S_protect(&S_G.dummy_code_object);
|
||||
S_G.dummy_code_object = p;
|
||||
S_thread_end_code_write();
|
||||
|
||||
S_protect(&S_G.error_invoke_code_object);
|
||||
S_G.error_invoke_code_object = Snil;
|
||||
|
|
|
@ -783,6 +783,7 @@ void S_schsig_init() {
|
|||
S_protect(&S_G.collect_request_pending_id);
|
||||
S_G.collect_request_pending_id = S_intern((const unsigned char *)"$collect-request-pending");
|
||||
|
||||
S_thread_start_code_write();
|
||||
p = S_code(get_thread_context(), type_code | (code_flag_continuation << code_flags_offset), 0);
|
||||
CODERELOC(p) = S_relocation_table(0);
|
||||
CODENAME(p) = Sfalse;
|
||||
|
@ -790,6 +791,7 @@ void S_schsig_init() {
|
|||
CODEFREE(p) = 0;
|
||||
CODEINFO(p) = Sfalse;
|
||||
CODEPINFOS(p) = Snil;
|
||||
S_thread_end_code_write();
|
||||
|
||||
S_set_symbol_value(S_G.null_continuation_id,
|
||||
S_mkcontinuation(space_new,
|
||||
|
|
|
@ -252,6 +252,7 @@ static IBOOL destroy_thread(tc) ptr tc; {
|
|||
S_scan_dirty((ptr *)EAP(tc), (ptr *)REAL_EAP(tc));
|
||||
|
||||
/* close off thread-local allocation */
|
||||
S_thread_start_code_write();
|
||||
{
|
||||
ISPC s; IGEN g;
|
||||
thread_gc *tgc = THREAD_GC(tc);
|
||||
|
@ -260,6 +261,7 @@ static IBOOL destroy_thread(tc) ptr tc; {
|
|||
if (tgc->next_loc[g][s])
|
||||
S_close_off_thread_local_segment(tc, s, g);
|
||||
}
|
||||
S_thread_end_code_write();
|
||||
|
||||
alloc_mutex_release();
|
||||
|
||||
|
|
|
@ -83,8 +83,7 @@
|
|||
# if (machine_type == machine_type_tarm64osx)
|
||||
# define PTHREADS
|
||||
# endif
|
||||
# define S_MAP_CODE MAP_JIT
|
||||
# define S_ENABLE_CODE_WRITE(on) pthread_jit_write_protect_np(!(on))
|
||||
# define FLUSHCACHE
|
||||
#endif
|
||||
|
||||
#if (machine_type == machine_type_ppc32osx || machine_type == machine_type_tppc32osx)
|
||||
|
@ -325,6 +324,12 @@ typedef int tputsputcchar;
|
|||
#if !defined(__POWERPC__)
|
||||
# define LITTLE_ENDIAN_IEEE_DOUBLE
|
||||
#endif
|
||||
#if defined(__arm64__)
|
||||
# define S_MAP_CODE MAP_JIT
|
||||
# define S_ENABLE_CODE_WRITE(on) pthread_jit_write_protect_np(!(on))
|
||||
# define CANNOT_READ_DIRECTLY_INTO_CODE
|
||||
# include <pthread.h>
|
||||
#endif
|
||||
#define LDEXP
|
||||
#define ARCHYPERBOLIC
|
||||
#define GETPAGESIZE() getpagesize()
|
||||
|
|
|
@ -258,8 +258,21 @@ ptr S_vfasl(ptr bv, void *stream, iptr offset, iptr input_len)
|
|||
memcpy(TO_VOIDP(vspaces[s]), bv_addr, sz);
|
||||
bv_addr = TO_VOIDP(ptr_add(TO_PTR(bv_addr), sz));
|
||||
} else {
|
||||
if (S_fasl_stream_read(stream, TO_VOIDP(vspaces[s]), sz) < 0)
|
||||
ptr dest;
|
||||
#ifdef CANNOT_READ_DIRECTLY_INTO_CODE
|
||||
if (s == vspace_code)
|
||||
newspace_find_room(tc, typemod, sz, dest);
|
||||
else
|
||||
dest = vspaces[s];
|
||||
#else
|
||||
dest = vspaces[s];
|
||||
#endif
|
||||
if (S_fasl_stream_read(stream, TO_VOIDP(dest), sz) < 0)
|
||||
S_error("fasl-read", "input truncated");
|
||||
#ifdef CANNOT_READ_DIRECTLY_INTO_CODE
|
||||
if (dest != vspaces[s])
|
||||
memcpy(TO_VOIDP(vspaces[s]), TO_VOIDP(dest), sz);
|
||||
#endif
|
||||
}
|
||||
} else
|
||||
vspaces[s] = (ptr)0;
|
||||
|
|
6
racket/src/ChezScheme/configure
vendored
6
racket/src/ChezScheme/configure
vendored
|
@ -159,7 +159,7 @@ case "${CONFIG_UNAME}" in
|
|||
tm64=ta6osx
|
||||
elif uname -a | egrep 'arm|aarch' > /dev/null 2>&1 ; then
|
||||
m64=arm64osx
|
||||
tm64=tarm6osx
|
||||
tm64=tarm64osx
|
||||
elif uname -a | egrep 'Power' > /dev/null 2>&1 ; then
|
||||
m64=ppc32osx
|
||||
tm64=tppc32osx
|
||||
|
@ -356,7 +356,7 @@ if [ "$m" = "pb" ] ; then
|
|||
fi
|
||||
|
||||
if [ "$bits" = "" ] ; then
|
||||
if uname -a | egrep 'amd64|x86_64|aarch64' > /dev/null 2>&1 ; then
|
||||
if uname -a | egrep 'amd64|x86_64|aarch64|arm64' > /dev/null 2>&1 ; then
|
||||
bits=64
|
||||
else
|
||||
bits=32
|
||||
|
@ -522,7 +522,7 @@ if [ "$cflagsset" = "no" ] ; then
|
|||
CFLAGS="-m64 ${optFlags}"
|
||||
;;
|
||||
arm64osx|tarm64osx)
|
||||
CFLAGS="-arch arm ${optFlags}"
|
||||
CFLAGS="-arch arm64 ${optFlags}"
|
||||
;;
|
||||
a6nt|ta6nt)
|
||||
CFLAGS="${optFlags}"
|
||||
|
|
14
racket/src/ChezScheme/mats/Mf-arm64osx
Normal file
14
racket/src/ChezScheme/mats/Mf-arm64osx
Normal file
|
@ -0,0 +1,14 @@
|
|||
# Mf-arm64osx
|
||||
|
||||
m ?= arm64osx
|
||||
|
||||
fsrc = foreign1.c foreign2.c foreign3.c foreign4.c
|
||||
fobj = foreign1.so
|
||||
|
||||
include Mf-base
|
||||
|
||||
foreign1.so: ${fsrc} ../boot/$m/scheme.h
|
||||
cc -dynamiclib -undefined dynamic_lookup -I${Include} -o foreign1.so ${fsrc}
|
||||
|
||||
cat_flush: cat_flush.c
|
||||
cc -o cat_flush cat_flush.c
|
5
racket/src/ChezScheme/mats/Mf-tarm64osx
Normal file
5
racket/src/ChezScheme/mats/Mf-tarm64osx
Normal file
|
@ -0,0 +1,5 @@
|
|||
# Mf-tarm64osx
|
||||
|
||||
m = tarm64osx
|
||||
|
||||
include Mf-arm64osx
|
|
@ -66,6 +66,8 @@ case "$Mhost" in
|
|||
i3s2) ;;
|
||||
ppc32le) ;;
|
||||
ppc32osx) ;;
|
||||
ppc32osx) ;;
|
||||
arm64osx) ;;
|
||||
ta6fb) Muni=a6fb ;;
|
||||
ta6le) Muni=a6le ;;
|
||||
ta6nb) Muni=a6nb ;;
|
||||
|
@ -86,6 +88,7 @@ case "$Mhost" in
|
|||
ti3s2) Muni=i3s2 ;;
|
||||
tppc32le) Muni=ppc32le ;;
|
||||
tppc32osx) Muni=ppc32osx ;;
|
||||
tarm64osx) Muni=arm64osx ;;
|
||||
*) echo "Unrecognized machine name $Mhost"; exit 1 ;;
|
||||
esac
|
||||
|
||||
|
|
|
@ -37,3 +37,21 @@ if test "${enable_strip}" = "yes" ; then
|
|||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
case "$host_os" in
|
||||
darwin*)
|
||||
case "$host_cpu" in
|
||||
aarch64)
|
||||
STRIP_SIGNATURE="codesign --remove-signature"
|
||||
RESTORE_SIGNATURE="codesign -s - --entitlements"
|
||||
;;
|
||||
*)
|
||||
# Check whether `codesign` can remove signatures
|
||||
touch sig-test-file
|
||||
if `codesign --remove-signature sig-test-file > /dev/null 2>&1` ; then
|
||||
STRIP_SIGNATURE="codesign --remove-signature"
|
||||
fi
|
||||
rm sig-test-file
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
|
|
|
@ -5,3 +5,6 @@ STRIP_LIB_DEBUG=":"
|
|||
strip_debug_flags=""
|
||||
enable_strip_by_default=yes
|
||||
strip_needs_dash_s=no
|
||||
|
||||
STRIP_SIGNATURE=":"
|
||||
RESTORE_SIGNATURE=":"
|
||||
|
|
|
@ -40,6 +40,9 @@ RANLIB = @RANLIB@
|
|||
STRIP_DEBUG = @STRIP_DEBUG@
|
||||
STRIP_LIB_DEBUG = @STRIP_LIB_DEBUG@
|
||||
|
||||
STRIP_SIGNATURE = @STRIP_SIGNATURE@
|
||||
RESTORE_SIGNATURE = @RESTORE_SIGNATURE@ "${srcdir}/../mac/entitlements.plist"
|
||||
|
||||
ARLIBFLAGS = @LDFLAGS@ @LIBS@
|
||||
|
||||
RACKET = racket
|
||||
|
@ -50,7 +53,7 @@ RUN_THIS_RACKET_CGC = ./racket@CGC@
|
|||
RUN_THIS_RACKET_MMM = ./racket@MMM@
|
||||
|
||||
SETUP_BOOT = -O "info@compiler/cm" -l- setup @BOOT_MODE@ $(srcdir)/../setup-go.rkt ../compiled
|
||||
SETUP_BOOT_COLLECTS_PATH = $(SETUP_BOOT) collpath.inc collpath.d "$(srcdir)/../start/collects-path.rkt"
|
||||
SETUP_BOOT_COLLECTS_PATH = $(SETUP_BOOT) collpath.inc collpath.d "$(srcdir)/../start/collects-path.rkt" "${srcdir}/.."
|
||||
|
||||
MZSRC = $(srcdir)/src
|
||||
|
||||
|
@ -479,6 +482,7 @@ unix-install:
|
|||
cd ..; cp bc/starter@EXE_SUFFIX@ "$(DESTDIR)$(libpltdir)/starter@EXE_SUFFIX@"
|
||||
cp $(srcdir)/../start/starter-sh .
|
||||
cd ..; cp bc/starter-sh "$(DESTDIR)$(libpltdir)/starter-sh"
|
||||
cd ..; $(STRIP_SIGNATURE) "$(DESTDIR)$(libpltdir)/starter@EXE_SUFFIX@"
|
||||
cd ..; $(STRIP_DEBUG) "$(DESTDIR)$(libpltdir)/starter@EXE_SUFFIX@"
|
||||
@RUN_RACKET_CGC@ $(SETUP_BOOT_COLLECTS_PATH) "$(DESTDIR)$(libpltdir)/starter@EXE_SUFFIX@" $(DESTDIR)@COLLECTS_PATH@ $(DESTDIR)@CONFIG_PATH@
|
||||
cd ..; echo 'CC=@CC@' > "$(BUILDINFO)"
|
||||
|
@ -491,6 +495,7 @@ unix-install:
|
|||
unix-install-cgc:
|
||||
$(MAKE) unix-@INSTALL_LIBS_ENABLE@-libs-cgc
|
||||
cd ..; $(ICP) bc/racket@CGC@ "$(DESTDIR)$(bindir)/racket@CGC_INSTALLED@"
|
||||
cd ..; $(STRIP_SIGNATURE) "$(DESTDIR)$(bindir)/racket@CGC_INSTALLED@"
|
||||
cd ..; $(STRIP_DEBUG) "$(DESTDIR)$(bindir)/racket@CGC_INSTALLED@"
|
||||
cd ..; cp bc/mzdyn.o "$(DESTDIR)$(libpltdir)/mzdyn.o"
|
||||
@RUN_RACKET_CGC@ $(SETUP_BOOT_COLLECTS_PATH) "$(DESTDIR)$(bindir)/racket@CGC_INSTALLED@@EXE_SUFFIX@" $(DESTDIR)@COLLECTS_PATH@ $(DESTDIR)@CONFIG_PATH@
|
||||
|
@ -510,6 +515,7 @@ unix-install-cgc-final:
|
|||
|
||||
unix-install-3m:
|
||||
cd ..; $(ICP) bc/racket@MMM@ "$(DESTDIR)$(bindir)/racket@MMM_INSTALLED@"
|
||||
cd ..; $(STRIP_SIGNATURE) "$(DESTDIR)$(bindir)/racket@MMM_INSTALLED@"
|
||||
cd ..; $(STRIP_DEBUG) "$(DESTDIR)$(bindir)/racket@MMM_INSTALLED@"
|
||||
$(MAKE) unix-@INSTALL_LIBS_ENABLE@-libs-3m
|
||||
cd ..; $(ICP) bc/mzdyn3m.o "$(DESTDIR)$(libpltdir)/mzdyn3m.o"
|
||||
|
@ -599,7 +605,7 @@ osx-install-cgc:
|
|||
mkdir -p $(DESTDIR)$(MZFWDIR)/Versions/$(FWVERSION)
|
||||
cp $(MZFW) $(DESTDIR)$(MZFWDIR)/Versions/$(FWVERSION)/
|
||||
/usr/bin/install_name_tool -change "@executable_path/Racket.framework/Versions/$(FWVERSION)/Racket" "@FRAMEWORK_PREFIX@Racket.framework/Versions/$(FWVERSION)/Racket" $(DESTDIR)"$(bindir)/racket@CGC_INSTALLED@"
|
||||
$(STRIP_DEBUG) $(DESTDIR)"$(bindir)/racket@CGC_INSTALLED@"
|
||||
$(RESTORE_SIGNATURE) $(DESTDIR)"$(bindir)/racket@CGC_INSTALLED@"
|
||||
|
||||
osx-install-cgc-final:
|
||||
$(MAKE) unix-install-cgc-final
|
||||
|
@ -610,7 +616,7 @@ osx-install-3m:
|
|||
mkdir -p $(DESTDIR)"$(MZFWDIR)/Versions/$(FWVERSION)_3m"
|
||||
cp $(MZFWMMM) $(DESTDIR)$(MZFWDIR)/Versions/$(FWVERSION)_3m/
|
||||
/usr/bin/install_name_tool -change "@executable_path/Racket.framework/Versions/$(FWVERSION)_3m/Racket" "@FRAMEWORK_PREFIX@Racket.framework/Versions/$(FWVERSION)_3m/Racket" $(DESTDIR)"$(bindir)/racket@MMM_INSTALLED@"
|
||||
$(STRIP_DEBUG) $(DESTDIR)"$(bindir)/racket@MMM_INSTALLED@"
|
||||
$(RESTORE_SIGNATURE) $(DESTDIR)"$(bindir)/racket@MMM_INSTALLED@"
|
||||
|
||||
osx-install-3m-final:
|
||||
$(MAKE) unix-install-3m-final
|
||||
|
|
25
racket/src/bc/configure
vendored
25
racket/src/bc/configure
vendored
|
@ -695,6 +695,8 @@ PLAIN_CC
|
|||
POST_LINKER
|
||||
MZLINKER
|
||||
REZ
|
||||
RESTORE_SIGNATURE
|
||||
STRIP_SIGNATURE
|
||||
STRIP_LIB_DEBUG
|
||||
STRIP_DEBUG
|
||||
ARFLAGS
|
||||
|
@ -2907,6 +2909,9 @@ strip_debug_flags=""
|
|||
enable_strip_by_default=yes
|
||||
strip_needs_dash_s=no
|
||||
|
||||
STRIP_SIGNATURE=":"
|
||||
RESTORE_SIGNATURE=":"
|
||||
|
||||
# Check whether --enable-noopt was given.
|
||||
if test "${enable_noopt+set}" = set; then :
|
||||
enableval=$enable_noopt;
|
||||
|
@ -5379,6 +5384,24 @@ $as_echo "$set_strip_lib" >&6; }
|
|||
fi
|
||||
fi
|
||||
|
||||
case "$host_os" in
|
||||
darwin*)
|
||||
case "$host_cpu" in
|
||||
aarch64)
|
||||
STRIP_SIGNATURE="codesign --remove-signature"
|
||||
RESTORE_SIGNATURE="codesign -s - --entitlements"
|
||||
;;
|
||||
*)
|
||||
# Check whether `codesign` can remove signatures
|
||||
touch sig-test-file
|
||||
if `codesign --remove-signature sig-test-file > /dev/null 2>&1` ; then
|
||||
STRIP_SIGNATURE="codesign --remove-signature"
|
||||
fi
|
||||
rm sig-test-file
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
|
||||
|
||||
############## C flags ################
|
||||
|
||||
|
@ -7164,6 +7187,8 @@ LIBS="$LIBS $EXTRALIBS"
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1409,6 +1409,8 @@ AC_SUBST(STATIC_AR)
|
|||
AC_SUBST(ARFLAGS)
|
||||
AC_SUBST(STRIP_DEBUG)
|
||||
AC_SUBST(STRIP_LIB_DEBUG)
|
||||
AC_SUBST(STRIP_SIGNATURE)
|
||||
AC_SUBST(RESTORE_SIGNATURE)
|
||||
AC_SUBST(REZ)
|
||||
AC_SUBST(MZLINKER)
|
||||
AC_SUBST(POST_LINKER)
|
||||
|
|
|
@ -9,3 +9,5 @@ Changes to the source in this copy:
|
|||
* Added $CPPFLAGS to use of $CC in "configure.host"
|
||||
|
||||
* Added preprocessor conditionals for Go closures in "ffi_darwin.c"
|
||||
|
||||
* Adjusted "config.guess" to detect Mac OS AArch64
|
||||
|
|
4
racket/src/bc/foreign/libffi/config.guess
vendored
4
racket/src/bc/foreign/libffi/config.guess
vendored
|
@ -2,7 +2,7 @@
|
|||
# Attempt to guess a canonical system name.
|
||||
# Copyright 1992-2017 Free Software Foundation, Inc.
|
||||
|
||||
timestamp='2017-05-11'
|
||||
timestamp='2020-12-03'
|
||||
|
||||
# This file is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
|
@ -1321,6 +1321,8 @@ EOF
|
|||
# processor. This is not true of the ARM version of Darwin
|
||||
# that Apple uses in portable devices.
|
||||
UNAME_PROCESSOR=x86_64
|
||||
elif test "$UNAME_PROCESSOR" = arm ; then
|
||||
UNAME_PROCESSOR=aarch64
|
||||
fi
|
||||
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
|
||||
exit ;;
|
||||
|
|
|
@ -611,7 +611,7 @@ $(MZFWMMM): ../libracket3m.@LIBSFX@ $(LIBRKTIO)
|
|||
rm -f Racket.framework/Racket
|
||||
ln -s Versions/$(FWVERSION)_3m/Racket Racket.framework/Racket
|
||||
mkdir -p "../Racket.framework/Versions/$(FWVERSION)_3m"
|
||||
cp "Racket.framework/Versions/$(FWVERSION)_3m/Racket" "../Racket.framework/Versions/$(FWVERSION)_3m/Racket"
|
||||
cp "Racket.framework/Racket" "../Racket.framework/Versions/$(FWVERSION)_3m/Racket"
|
||||
|
||||
# Depending on MACLIBRKT_LINK_MODE, use Framework or statically link the framework's code:
|
||||
MACLIBRKT_LINK_fw = -F. -framework Racket
|
||||
|
@ -619,7 +619,9 @@ MACLIBRKT_LINK_static = $(MACLIBRKT_LIBS)
|
|||
|
||||
../racket@MMM@@OSX@: $(MZFWMMM) main.@LTO@
|
||||
@MZLINKER@ -o ../racket@MMM@ @PROFFLAGS@ @LDFLAGS@ main.@LTO@ -Wl,-headerpad_max_install_names $(MACLIBRKT_LINK_@MACLIBRKT_LINK_MODE@) @LIBS@
|
||||
@STRIP_SIGNATURE@ "../racket@MMM@"
|
||||
/usr/bin/install_name_tool -change "Racket.framework/Versions/$(FWVERSION)_3m/Racket" "@executable_path/Racket.framework/Versions/$(FWVERSION)_3m/Racket" "../racket@MMM@"
|
||||
@RESTORE_SIGNATURE@ "${srcdir}/../../mac/entitlements.plist" "../racket@MMM@"
|
||||
|
||||
../lib/libracket3mxxxxxxx.dll: ../libracket3m.@LIBSFX@ ../mzsj86g.o $(LIBRKTIO)
|
||||
mkdir -p ../lib
|
||||
|
|
|
@ -90,7 +90,7 @@ LINKRESULT_wx_mac = GRacket@CGC@.app/Contents/MacOS/GRacket@CGC@
|
|||
LINKRESULT = $(LINKRESULT_@WXVARIANT@)
|
||||
|
||||
SETUP_BOOT = -O "info@compiler/cm" -l- setup @BOOT_MODE@ $(srcdir)/../../setup-go.rkt ../../compiled
|
||||
SETUP_BOOT_COLLECTS_PATH = $(SETUP_BOOT) collpath.inc collpath.d "$(srcdir)/../../start/collects-path.rkt"
|
||||
SETUP_BOOT_COLLECTS_PATH = $(SETUP_BOOT) collpath.inc collpath.d "$(srcdir)/../../start/collects-path.rkt" "${srcdir}/../.."
|
||||
|
||||
# Incremented each time the binaries change:
|
||||
DOWNLOAD_BIN_VERSION = 1
|
||||
|
|
|
@ -30,6 +30,9 @@ WINDRES = @WINDRES@
|
|||
STRIP_DEBUG = @STRIP_DEBUG@
|
||||
STRIP_LIB_DEBUG = @STRIP_LIB_DEBUG@
|
||||
|
||||
STRIP_SIGNATURE = @STRIP_SIGNATURE@
|
||||
RESTORE_SIGNATURE = @RESTORE_SIGNATURE@ "${srcdir}/../../mac/entitlements.plist"
|
||||
|
||||
ICP=@ICP@
|
||||
ICP_LIB=@ICP_LIB@
|
||||
|
||||
|
@ -68,6 +71,8 @@ ALLDIRINFO = "$(DESTDIR)$(bindir)" \
|
|||
"$(DESTDIR)$(libpltdir)" \
|
||||
"$(DESTDIR)$(includepltdir)"
|
||||
|
||||
START_COLLECTS_PATH = "$(srcdir)/../../start/collects-path.rkt" "${srcdir}/../.."
|
||||
|
||||
# Defines FWVERSION:
|
||||
mainsrcdir = @srcdir@/../..
|
||||
@INCLUDEDEP@ @srcdir@/../../version/version.mak
|
||||
|
@ -240,7 +245,9 @@ racketcs@OSX@: main.o $(RKTFW)
|
|||
$(MAKE) raw_racketcs
|
||||
$(MAKE) adjust-framework-boot-compress
|
||||
$(MAKE) mac-embed-boot-@MACLIBRKT_LINK_MODE@ EMBED_DEST=racketcs
|
||||
$(STRIP_SIGNATURE) racketcs
|
||||
/usr/bin/install_name_tool -change "Racket.framework/Versions/$(FWVERSION)_CS/Racket" "@executable_path/Racket.framework/Versions/$(FWVERSION)_CS/Racket" racketcs
|
||||
$(RESTORE_SIGNATURE) racketcs
|
||||
|
||||
raw_racketcs@OSX@:
|
||||
ln -s racketcs raw_racketcs
|
||||
|
@ -253,7 +260,9 @@ gracketcs@OSX@:
|
|||
$(GRACKET_BIN): grmain.o $(RKTFW) $(GRAPPSKEL)
|
||||
$(CC) $(CFLAGS) -o $(GRACKET_BIN) grmain.o $(MACLIBRKT_LINK_@MACLIBRKT_LINK_MODE@)
|
||||
$(MAKE) mac-embed-boot-@MACLIBRKT_LINK_MODE@ EMBED_DEST=$(GRACKET_BIN)
|
||||
$(STRIP_SIGNATURE) $(GRACKET_BIN)
|
||||
/usr/bin/install_name_tool -change "Racket.framework/Versions/$(FWVERSION)_CS/Racket" "@executable_path/../../../Racket.framework/Versions/$(FWVERSION)_CS/Racket" $(GRACKET_BIN)
|
||||
$(RESTORE_SIGNATURE) $(GRACKET_BIN)
|
||||
|
||||
$(GRAPPSKEL): $(srcdir)/../../mac/osx_appl.rkt $(srcdir)/../../version/racket_version.h $(srcdir)/../../mac/icon/GRacket.icns
|
||||
$(BOOTSTRAP_RACKET) $(srcdir)/../../mac/osx_appl.rkt $(srcdir)/../.. "CS"
|
||||
|
@ -468,11 +477,15 @@ common-install:
|
|||
rm -f "$(DESTDIR)$(libpltdir)/starter"
|
||||
rm -f "$(DESTDIR)$(libpltdir)/starter-sh"
|
||||
$(ICP) racketcs "$(DESTDIR)$(bindir)/racket$(CS_INSTALLED)"
|
||||
$(STRIP_SIGNATURE) "$(DESTDIR)$(bindir)/racket$(CS_INSTALLED)"
|
||||
$(STRIP_DEBUG) "$(DESTDIR)$(bindir)/racket$(CS_INSTALLED)"
|
||||
$(ICP) starter "$(DESTDIR)$(libpltdir)/starter"
|
||||
$(STRIP_DEBUG) "$(DESTDIR)$(libpltdir)/starter"
|
||||
$(RESTORE_SIGNATURE) "$(DESTDIR)$(bindir)/racket$(CS_INSTALLED)"
|
||||
$(ICP) $(srcdir)/../../start/starter-sh "$(DESTDIR)$(libpltdir)/starter-sh"
|
||||
$(BOOTSTRAP_RACKET) "$(srcdir)/../../start/collects-path.rkt" "$(DESTDIR)$(libpltdir)/starter" $(DESTDIR)@COLLECTS_PATH@ $(DESTDIR)@CONFIG_PATH@
|
||||
$(ICP) starter "$(DESTDIR)$(libpltdir)/starter"
|
||||
$(STRIP_SIGNATURE) "$(DESTDIR)$(libpltdir)/starter"
|
||||
$(STRIP_DEBUG) "$(DESTDIR)$(libpltdir)/starter"
|
||||
$(BOOTSTRAP_RACKET) $(START_COLLECTS_PATH) "$(DESTDIR)$(libpltdir)/starter" $(DESTDIR)@COLLECTS_PATH@ $(DESTDIR)@CONFIG_PATH@
|
||||
$(RESTORE_SIGNATURE) "$(DESTDIR)$(libpltdir)/starter"
|
||||
$(MAKE) system-install
|
||||
$(MAKE) include-install
|
||||
$(MAKE) common-@INSTALL_LIBS_ENABLE@-libs
|
||||
|
@ -498,8 +511,12 @@ unix-install:
|
|||
$(MAKE) common-install
|
||||
rm -f "$(DESTDIR)$(libpltdir)/gracket$(CS_INSTALLED)"
|
||||
$(ICP) gracketcs "$(DESTDIR)$(libpltdir)/gracket$(CS_INSTALLED)"
|
||||
$(BOOTSTRAP_RACKET) "$(srcdir)/../../start/collects-path.rkt" "$(DESTDIR)$(bindir)/racket$(CS_INSTALLED)" $(DESTDIR)@COLLECTS_PATH@ $(DESTDIR)@CONFIG_PATH@
|
||||
$(BOOTSTRAP_RACKET) "$(srcdir)/../../start/collects-path.rkt" "$(DESTDIR)$(libpltdir)/gracket$(CS_INSTALLED)" $(DESTDIR)@COLLECTS_PATH@ $(DESTDIR)@CONFIG_PATH@
|
||||
$(STRIP_SIGNATURE) "$(DESTDIR)$(bindir)/racket$(CS_INSTALLED)"
|
||||
$(STRIP_SIGNATURE) "$(DESTDIR)$(libpltdir)/gracket$(CS_INSTALLED)"
|
||||
$(BOOTSTRAP_RACKET) $(START_COLLECTS_PATH) "$(DESTDIR)$(bindir)/racket$(CS_INSTALLED)" $(DESTDIR)@COLLECTS_PATH@ $(DESTDIR)@CONFIG_PATH@
|
||||
$(BOOTSTRAP_RACKET) $(START_COLLECTS_PATH) "$(DESTDIR)$(libpltdir)/gracket$(CS_INSTALLED)" $(DESTDIR)@COLLECTS_PATH@ $(DESTDIR)@CONFIG_PATH@
|
||||
$(RESTORE_SIGNATURE) "$(DESTDIR)$(bindir)/racket$(CS_INSTALLED)"
|
||||
$(RESTORE_SIGNATURE) "$(DESTDIR)$(libpltdir)/gracket$(CS_INSTALLED)"
|
||||
$(MAKE) unix-@INSTALL_LIBS_ENABLE@-libs
|
||||
|
||||
unix-install-cross:
|
||||
|
@ -535,18 +552,24 @@ macos-install:
|
|||
cp $(RKTFWDIR)/boot/petite.boot $(DESTDIR)$(RKTFWDEST)/Versions/$(FWVERSION)_CS/boot/
|
||||
cp $(RKTFWDIR)/boot/scheme.boot $(DESTDIR)$(RKTFWDEST)/Versions/$(FWVERSION)_CS/boot/
|
||||
cp $(RKTFWDIR)/boot/racket.boot $(DESTDIR)$(RKTFWDEST)/Versions/$(FWVERSION)_CS/boot/
|
||||
$(BOOTSTRAP_RACKET) "$(srcdir)/../../start/collects-path.rkt" "$(DESTDIR)$(bindir)/racket$(CS_INSTALLED)" $(DESTDIR)@COLLECTS_PATH@ $(DESTDIR)@CONFIG_PATH@
|
||||
$(STRIP_SIGNATURE) "$(DESTDIR)$(bindir)/racket$(CS_INSTALLED)"
|
||||
$(BOOTSTRAP_RACKET) $(START_COLLECTS_PATH) "$(DESTDIR)$(bindir)/racket$(CS_INSTALLED)" $(DESTDIR)@COLLECTS_PATH@ $(DESTDIR)@CONFIG_PATH@
|
||||
/usr/bin/install_name_tool -change "@executable_path/Racket.framework/Versions/$(FWVERSION)_CS/Racket" "@FRAMEWORK_PREFIX@Racket.framework/Versions/$(FWVERSION)_CS/Racket" $(DESTDIR)"$(bindir)/racket$(CS_INSTALLED)"
|
||||
$(RESTORE_SIGNATURE) "$(DESTDIR)$(bindir)/racket$(CS_INSTALLED)"
|
||||
$(MAKE) macos-install-gracket CS_GR_INSTALLED="`echo $(CS_INSTALLED) | tr a-z A-Z`"
|
||||
$(MAKE) macos-@INSTALL_LIBS_ENABLE@-libs
|
||||
|
||||
GRACKET_INSTALLED = $(DESTDIR)"$(libpltdir)/GRacket$(CS_GR_INSTALLED).app/Contents/MacOS/GRacket$(CS_GR_INSTALLED)"
|
||||
|
||||
macos-install-gracket:
|
||||
/usr/bin/install_name_tool -change "@executable_path/Racket.framework/Versions/$(FWVERSION)_CS/Racket" "@FRAMEWORK_PREFIX@Racket.framework/Versions/$(FWVERSION)_CS/Racket" $(DESTDIR)"$(bindir)/racket$(CS_INSTALLED)"
|
||||
rm -rf $(DESTDIR)"$(libpltdir)/GRacket$(CS_GR_INSTALLED).app"
|
||||
$(ICP) -r "GRacketCS.app" $(DESTDIR)"$(libpltdir)/GRacket$(CS_GR_INSTALLED).app"
|
||||
$(BOOTSTRAP_RACKET) "$(srcdir)/../../mac/rename-app.rkt" $(DESTDIR)"$(libpltdir)/GRacket$(CS_GR_INSTALLED).app" "GRacketCS" "GRacket$(CS_GR_INSTALLED)" no-up
|
||||
/usr/bin/install_name_tool -change "@executable_path/../../../../bc/Racket.framework/Versions/$(FWVERSION)_CS/Racket" "@FRAMEWORK_PREFIX@Racket.framework/Versions/$(FWVERSION)_CS/Racket" $(DESTDIR)"$(libpltdir)/GRacket$(CS_GR_INSTALLED).app/Contents/MacOS/GRacket$(CS_GR_INSTALLED)"
|
||||
$(BOOTSTRAP_RACKET) "$(srcdir)/../../start/collects-path.rkt" $(DESTDIR)"$(libpltdir)/GRacket$(CS_GR_INSTALLED).app/Contents/MacOS/GRacket$(CS_GR_INSTALLED)" ../../../../collects ../../../../etc
|
||||
$(STRIP_DEBUG) $(DESTDIR)"$(libpltdir)/GRacket$(CS_GR_INSTALLED).app/Contents/MacOS/GRacket$(CS_GR_INSTALLED)"
|
||||
/usr/bin/install_name_tool -change "@executable_path/../../../../bc/Racket.framework/Versions/$(FWVERSION)_CS/Racket" "@FRAMEWORK_PREFIX@Racket.framework/Versions/$(FWVERSION)_CS/Racket" $(GRACKET_INSTALLED)
|
||||
$(STRIP_SIGNATURE) $(GRACKET_INSTALLED)
|
||||
$(BOOTSTRAP_RACKET) $(START_COLLECTS_PATH) $(GRACKET_INSTALLED) ../../../../collects ../../../../etc
|
||||
$(STRIP_DEBUG) $(GRACKET_INSTALLED)
|
||||
$(RESTORE_SIGNATURE) $(GRACKET_INSTALLED)
|
||||
rm -rf $(DESTDIR)"$(libpltdir)/Starter.app"
|
||||
$(ICP) -r Starter.app $(DESTDIR)"$(libpltdir)/."
|
||||
|
||||
|
|
25
racket/src/cs/c/configure
vendored
25
racket/src/cs/c/configure
vendored
|
@ -668,6 +668,8 @@ RKTL_PRE
|
|||
INCLUDEDEP
|
||||
POST_LINKER
|
||||
RKTLINKER
|
||||
RESTORE_SIGNATURE
|
||||
STRIP_SIGNATURE
|
||||
STRIP_LIB_DEBUG
|
||||
STRIP_DEBUG
|
||||
ICP_LIB
|
||||
|
@ -2685,6 +2687,9 @@ strip_debug_flags=""
|
|||
enable_strip_by_default=yes
|
||||
strip_needs_dash_s=no
|
||||
|
||||
STRIP_SIGNATURE=":"
|
||||
RESTORE_SIGNATURE=":"
|
||||
|
||||
# Check whether --enable-ubsan was given.
|
||||
if test "${enable_ubsan+set}" = set; then :
|
||||
enableval=$enable_ubsan;
|
||||
|
@ -4762,6 +4767,24 @@ $as_echo "$set_strip_lib" >&6; }
|
|||
fi
|
||||
fi
|
||||
|
||||
case "$host_os" in
|
||||
darwin*)
|
||||
case "$host_cpu" in
|
||||
aarch64)
|
||||
STRIP_SIGNATURE="codesign --remove-signature"
|
||||
RESTORE_SIGNATURE="codesign -s - --entitlements"
|
||||
;;
|
||||
*)
|
||||
# Check whether `codesign` can remove signatures
|
||||
touch sig-test-file
|
||||
if `codesign --remove-signature sig-test-file > /dev/null 2>&1` ; then
|
||||
STRIP_SIGNATURE="codesign --remove-signature"
|
||||
fi
|
||||
rm sig-test-file
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
|
||||
|
||||
############## natipkg ################
|
||||
|
||||
|
@ -5652,6 +5675,8 @@ SCHEME_CROSS_CONFIG_ARGS="--machine=${TARGET_MACH} --disable-x11 ${cs_auto_flags
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -731,6 +731,8 @@ AC_SUBST(ICP)
|
|||
AC_SUBST(ICP_LIB)
|
||||
AC_SUBST(STRIP_DEBUG)
|
||||
AC_SUBST(STRIP_LIB_DEBUG)
|
||||
AC_SUBST(STRIP_SIGNATURE)
|
||||
AC_SUBST(RESTORE_SIGNATURE)
|
||||
AC_SUBST(RKTLINKER)
|
||||
AC_SUBST(POST_LINKER)
|
||||
AC_SUBST(INCLUDEDEP)
|
||||
|
|
4
racket/src/lt/config.guess
vendored
4
racket/src/lt/config.guess
vendored
|
@ -2,7 +2,7 @@
|
|||
# Attempt to guess a canonical system name.
|
||||
# Copyright 1992-2014 Free Software Foundation, Inc.
|
||||
|
||||
timestamp='2014-11-04'
|
||||
timestamp='2020-12-03'
|
||||
|
||||
# This file is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
|
@ -1281,6 +1281,8 @@ EOF
|
|||
# processor. This is not true of the ARM version of Darwin
|
||||
# that Apple uses in portable devices.
|
||||
UNAME_PROCESSOR=x86_64
|
||||
elif test "$UNAME_PROCESSOR" = arm ; then
|
||||
UNAME_PROCESSOR=aarch64
|
||||
fi
|
||||
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
|
||||
exit ;;
|
||||
|
|
4
racket/src/lt/config.sub
vendored
4
racket/src/lt/config.sub
vendored
|
@ -2,7 +2,7 @@
|
|||
# Configuration validation subroutine script.
|
||||
# Copyright 1992-2014 Free Software Foundation, Inc.
|
||||
|
||||
timestamp='2014-12-03'
|
||||
timestamp='2020-12-03'
|
||||
|
||||
# This file is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
|
@ -253,7 +253,7 @@ case $basic_machine in
|
|||
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
|
||||
| am33_2.0 \
|
||||
| arc | arceb \
|
||||
| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
|
||||
| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] | arm64 \
|
||||
| avr | avr32 \
|
||||
| be32 | be64 \
|
||||
| bfin \
|
||||
|
|
16
racket/src/mac/entitlements.plist
Normal file
16
racket/src/mac/entitlements.plist
Normal file
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>com.apple.security.cs.allow-jit</key>
|
||||
<true/>
|
||||
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
|
||||
<true/>
|
||||
<key>com.apple.security.inherit</key>
|
||||
<true/>
|
||||
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
|
||||
<true/>
|
||||
<key>com.apple.security.cs.disable-library-validation</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
|
@ -6,20 +6,7 @@
|
|||
;; the embedded path to "collects" and "lib" in an executable.
|
||||
|
||||
(command-line
|
||||
#:args (dest dir-path config-path)
|
||||
|
||||
;; For a Mac OS executable, first strip any signature that the
|
||||
;; compiler may have added
|
||||
(when (call-with-input-file*
|
||||
dest
|
||||
(lambda (i)
|
||||
(define bstr (read-bytes 4 i))
|
||||
(and (= 4 (bytes-length bstr))
|
||||
(member (integer-bytes->integer bstr #f)
|
||||
'(#xFeedFace #xFeedFacf)))))
|
||||
(define codesign (find-executable-path "codesign"))
|
||||
(when codesign
|
||||
(system* codesign "--remove-signature" dest)))
|
||||
#:args (srcdir dest dir-path config-path)
|
||||
|
||||
(define (fix-one label path-in)
|
||||
(define-values (i o) (open-input-output-file dest #:exists 'update))
|
||||
|
|
Loading…
Reference in New Issue
Block a user