summaryrefslogtreecommitdiff
path: root/Makefile.in
diff options
context:
space:
mode:
authorAlan Third <alan@idiocy.org>2021-06-16 21:28:10 +0100
committerAlan Third <alan@idiocy.org>2021-06-26 10:34:59 +0100
commit5dd2d50f3d5e65b85c87da86e2e8a6d087fe5767 (patch)
treef8add442c328e37e5b8519415ed60d0c54523e65 /Makefile.in
parent4d63a033a726a8da33bda8d18a503e88bfb794fb (diff)
downloademacs-5dd2d50f3d5e65b85c87da86e2e8a6d087fe5767.tar.gz
Fix NS native compilation builds
* Makefile.in (ns_applibexecdir): (ns_applibdir): (ns_appdir): New variables. (.PHONY): Include new rule. (epaths-force-ns-self-contained): Remove the app bundle directory from all paths. * configure.ac (NS_SELF_CONTAINED): Set the default site-lisp directory instead of hard-coding it in the ObjC code, and use the new epaths generating make rule. * src/callproc.c (init_callproc_1): (init_callproc): Remove all the NS specific code as the special cases are now handled by decode_env_path. * src/emacs.c (load_pdump): (decode_env_path): Use ns_relocate to find the correct directory after relocation. * src/lread.c (load_path_default): Remove all the NS specific code as the special cases are now handled by decode_env_path. * src/nsterm.h: Update function definitions. * src/nsterm.m (ns_etc_directory): (ns_exec_path): (ns_load_path): Remove functions that are no longer needed. (ns_relocate): New function to calculate paths within the NS app bundle. * nextstep/Makefile.in (ns_applibexecdir): New variable, and update anything relying on the libexec location.
Diffstat (limited to 'Makefile.in')
-rw-r--r--Makefile.in18
1 files changed, 16 insertions, 2 deletions
diff --git a/Makefile.in b/Makefile.in
index b7502880230..420cb544a4d 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -106,8 +106,11 @@ USE_STARTUP_NOTIFICATION = @USE_STARTUP_NOTIFICATION@
# Location to install Emacs.app under GNUstep / macOS.
# Later values may use these.
+ns_appdir=@ns_appdir@
ns_appbindir=@ns_appbindir@
+ns_applibexecdir=@ns_applibexecdir@
ns_appresdir=@ns_appresdir@
+ns_applibdir=@ns_applibdir@
# Either yes or no depending on whether this is a relocatable Emacs.app.
ns_self_contained=@ns_self_contained@
@@ -330,12 +333,12 @@ BIN_DESTDIR='$(DESTDIR)${bindir}/'
ELN_DESTDIR = $(DESTDIR)${libdir}/emacs/${version}/
else
BIN_DESTDIR='${ns_appbindir}/'
-ELN_DESTDIR = ${ns_appresdir}/
+ELN_DESTDIR = ${ns_applibdir}/emacs/${version}/
endif
all: ${SUBDIR} info
-.PHONY: all ${SUBDIR} blessmail epaths-force epaths-force-w32 etc-emacsver
+.PHONY: all ${SUBDIR} blessmail epaths-force epaths-force-w32 epaths-force-ns-self-contained etc-emacsver
# If configure were to just generate emacsver.tex from emacsver.tex.in
# in the normal way, the timestamp of emacsver.tex would always be
@@ -404,6 +407,17 @@ epaths-force-w32:
-e "/^.*#/s|@SRC@|$${w32srcdir}|g") && \
${srcdir}/build-aux/move-if-change epaths.h.$$$$ src/epaths.h
+# A NextStep style app bundle is relocatable, so instead of
+# hard-coding paths try to generate them at run-time.
+#
+# The paths are mostly the same, and the bundle paths are different
+# between macOS and GNUstep, so just replace any references to the app
+# bundle root itself with the relative path.
+epaths-force-ns-self-contained: epaths-force
+ @(sed < ${srcdir}/src/epaths.h > epaths.h.$$$$ \
+ -e 's;${ns_appdir}/;;') && \
+ ${srcdir}/build-aux/move-if-change epaths.h.$$$$ src/epaths.h
+
lib-src src: $(NTDIR) lib
src: lib-src