* Makefile.in (install-eln): Add "umask 022" to ensure the *.eln
files are accessible from the user's Emacs session. Suggested by
Wilhelm Kirschbaum <wkirschbaum@gmail.com>. (Bug#49864)
* 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.
* 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.
In hindsight, it's hard to see why not including it was ever an option.
* make-dist: Always include the test/ directory.
(with_tests): Remove.
(--tests, --no-tests): Make these options no-ops.
* Makefile.in (mostlyclean_dirs, maintainer_clean_dirs): Add "test".
(mostlyclean, clean, distclean, maintainer-clean):
Remove special-casing for "test".
($(CHECK_TARGETS)): Simplify.
* Makefile.in (clean_dirs, distclean_dirs, maintainer_clean_dirs):
Add admin directories.
(clean, distclean, bootstrap-clean, maintainer-clean): Simplify.
(maybeclean_dirs): Remove - this dates to when admin/ was not
included in tar files.
* configure.ac: Set up CFLAGS and LDFLAGS to find a Homebrew
installation of libgccjit.
* Makefile.in (ELN_DESTDIR): Set to the app bundle resource dir when
required.
(install-eln): macOS install doesn't support the -D flag, so make the
directories separately.
These are generated files that were once kept in the repository.
When they were removed from the repository, as a half-way measure
they were only deleted by "extraclean", but this was never
necessary and was not a proper use of that rule.
* admin/charsets/Makefile.in (gen-clean): New phony target.
(maintainer-clean): Delete generated files.
* admin/grammars/Makefile.in (gen-clean): New phony target.
(maintainer-clean): Delete generated files.
* admin/unidata/Makefile.in (gen-clean): New phony target.
(maintainer-clean): Delete generated files.
* leim/Makefile.in (gen-clean): New phony target.
(maintainer-clean): Delete generated files.
* GNUmakefile: Doc fix.
* doc/misc/modus-themes.texi, doc/misc/org.texi:
Remove generated files from repository.
* doc/misc/Makefile.in: Add rules for building .texi from .org.
(ORG_SRC, abs_top_builddir, EMACS, emacs):
New variables.
(org_template): New template.
(orgclean): New phony target.
* Makefile.in (info): Depend on lisp.
* lisp/org/ox-texinfo.el (org-texinfo-export-to-texinfo-batch):
New function.
* doc/misc/org.org, doc/misc/org-setup.org: New files.
Import from https://code.orgmode.org d8e8a97a14.
* Makefile.in (lispdirrel): Add replace template.
(epaths-force): Form correctly 'PATH_REL_LOADSEARCH' into epath.h
* configure.ac (lispdirrel): Define variable (relative path of the
lisp files from the installation directory).
* src/comp.c (Fcomp_el_to_eln_filename): Update algorithm not to
rely on 'PATH_DUMPLOADSEARCH' but on 'PATH_REL_LOADSEARCH'.
* src/epaths.in (PATH_REL_LOADSEARCH): Add macro template.
Rename eln sys directory into 'native-lisp' and move it from
"$(DESTDIR)${libexecdir}/emacs/${version}/${configuration}/" to
"$(DESTDIR)${libdir}/emacs/".
Add to the directory name used to disambiguate the eln compatibility
the Emacs version to have it more user friendly.
* Makefile.in (clean, install-eln): Rename eln-cache into
native-lisp.
(ELN_DESTDIR): Move from
'$(DESTDIR)${libexecdir}/emacs/${version}/${configuration}/' to
'$(DESTDIR)${libdir}/emacs/'.
* lisp/loadup.el: Update for comp-native-path-postfix ->
comp-native-version-dir rename.
* src/comp.c (syms_of_comp): Rename eln-cache -> native-lisp.
(syms_of_comp, Fcomp_el_to_eln_filename): Rename
comp-native-path-postfix -> comp-native-version-dir.
(hash_native_abi): Rework and add emacs-version to
comp-native-version-dir.
* src/comp.h (fixup_eln_load_path): New extern.
* src/comp.c (fixup_eln_load_path): New function.
* src/pdumper.c (dump_do_dump_relocation): Update to make use of
'fixup_eln_load_path'.
* lisp/loadup.el: Update to store in the compilation unit the
correct eln-cache installed path. Rename --lisp-dest -> --eln-dest
and.
* Makefile.in: Pass the eln destination directory to
src/Makefile. Rename LISP_DESTDIR -> ELN_DESTDIR.
(ELN_DESTDIR): Define.
(install-eln): New target.
(install): Add install-eln as prerequisite.
* src/Makefile.in: Rename --lisp-dest -> --eln-dest and
LISP_DESTDIR -> ELN_DESTDIR.
* Makefile.in: Add emacsclient.desktop generation.
* etc/emacsclient.desktop: Add file, use emacsd as StartupWMClass.
* etc/emacs.service: Run with name emacsd (bug#37847).
* Makefile.in (extraclean):
* lib/Makefile.in (extraclean): Use rmdir but suppress any
error indication. That way, ‘make extraclean’ will remove the
directory if it’s empty, and successfully do nothing otherwise.