Fix NS self contained eln location (bug#49271)
* Makefile.in: * configure.ac: Change eln file install location to Contents/Frameworks. * src/comp.c (hash_native_abi): Replace dots with underscores in the eln install location as the macOS code-signing tool won't sign the files if the parent directories have dots.
This commit is contained in:
parent
995ab9d0a9
commit
1b88404acc
3 changed files with 30 additions and 4 deletions
|
@ -333,7 +333,7 @@ BIN_DESTDIR='$(DESTDIR)${bindir}/'
|
|||
ELN_DESTDIR = $(DESTDIR)${libdir}/emacs/${version}/
|
||||
else
|
||||
BIN_DESTDIR='${ns_appbindir}/'
|
||||
ELN_DESTDIR = ${ns_applibdir}/emacs/${version}/
|
||||
ELN_DESTDIR = ${ns_applibdir}/
|
||||
endif
|
||||
|
||||
all: ${SUBDIR} info
|
||||
|
|
|
@ -1895,7 +1895,7 @@ if test "${with_ns}" != no; then
|
|||
ns_appdir=`pwd`/nextstep/Emacs.app
|
||||
ns_appbindir=${ns_appdir}/Contents/MacOS
|
||||
ns_applibexecdir=${ns_appdir}/Contents/MacOS/libexec
|
||||
ns_applibdir=${ns_appdir}/Contents/MacOS/lib
|
||||
ns_applibdir=${ns_appdir}/Contents/Frameworks
|
||||
ns_appresdir=${ns_appdir}/Contents/Resources
|
||||
ns_appsrc=Cocoa/Emacs.base
|
||||
ns_fontfile=macfont.o
|
||||
|
@ -1954,7 +1954,7 @@ fail;
|
|||
ns_appdir=`pwd`/nextstep/Emacs.app
|
||||
ns_appbindir=${ns_appdir}
|
||||
ns_applibexecdir=${ns_appdir}/libexec
|
||||
ns_applibdir=${ns_appdir}/lib
|
||||
ns_applibdir=${ns_appdir}/Frameworks
|
||||
ns_appresdir=${ns_appdir}/Resources
|
||||
ns_appsrc=GNUstep/Emacs.base
|
||||
ns_fontfile=nsfont.o
|
||||
|
|
28
src/comp.c
28
src/comp.c
|
@ -744,8 +744,34 @@ hash_native_abi (void)
|
|||
Vsystem_configuration_options),
|
||||
Fmapconcat (intern_c_string ("comp--subr-signature"),
|
||||
Vcomp_subr_list, build_string (""))));
|
||||
|
||||
Lisp_Object version = Vemacs_version;
|
||||
|
||||
#ifdef NS_SELF_CONTAINED
|
||||
/* MacOS self contained app bundles do not like having dots in the
|
||||
directory names under the Contents/Frameworks directory, so
|
||||
convert them to underscores. */
|
||||
version = STRING_MULTIBYTE (Vemacs_version)
|
||||
? make_uninit_multibyte_string (SCHARS (Vemacs_version),
|
||||
SBYTES (Vemacs_version))
|
||||
: make_uninit_string (SBYTES (Vemacs_version));
|
||||
|
||||
const unsigned char *from = SDATA (Vemacs_version);
|
||||
unsigned char *to = SDATA (version);
|
||||
|
||||
while (from < SDATA (Vemacs_version) + SBYTES (Vemacs_version))
|
||||
{
|
||||
unsigned char c = *from++;
|
||||
|
||||
if (c == '.')
|
||||
c = '_';
|
||||
|
||||
*to++ = c;
|
||||
}
|
||||
#endif
|
||||
|
||||
Vcomp_native_version_dir =
|
||||
concat3 (Vemacs_version, build_string ("-"), Vcomp_abi_hash);
|
||||
concat3 (version, build_string ("-"), Vcomp_abi_hash);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
Loading…
Add table
Reference in a new issue