diff options
Diffstat (limited to 'lisp/Makefile.in')
-rw-r--r-- | lisp/Makefile.in | 67 |
1 files changed, 39 insertions, 28 deletions
diff --git a/lisp/Makefile.in b/lisp/Makefile.in index 72f7f1676b7..431217a9dac 100644 --- a/lisp/Makefile.in +++ b/lisp/Makefile.in @@ -21,6 +21,7 @@ SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ +top_builddir = @top_builddir@ lisp = $(srcdir) VPATH = $(srcdir) EXEEXT = @EXEEXT@ @@ -29,24 +30,14 @@ EXEEXT = @EXEEXT@ # limitation. XARGS_LIMIT = @XARGS_LIMIT@ -# 'make' verbosity. -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ - -AM_V_ELC = $(am__v_ELC_@AM_V@) -am__v_ELC_ = $(am__v_ELC_@AM_DEFAULT_V@) -am__v_ELC_0 = @echo " ELC " $@; -am__v_ELC_1 = - -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = - -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = +HAVE_NATIVE_COMP = @HAVE_NATIVE_COMP@ +ifeq ($(HAVE_NATIVE_COMP),yes) +ifndef NATIVE_FULL_AOT +NATIVE_SKIP_NONDUMP = 1 +endif +endif +-include ${top_builddir}/src/verbose.mk FIND_DELETE = @FIND_DELETE@ @@ -98,8 +89,12 @@ COMPILE_FIRST = \ $(lisp)/emacs-lisp/macroexp.elc \ $(lisp)/emacs-lisp/cconv.elc \ $(lisp)/emacs-lisp/byte-opt.elc \ - $(lisp)/emacs-lisp/bytecomp.elc \ - $(lisp)/emacs-lisp/autoload.elc + $(lisp)/emacs-lisp/bytecomp.elc +ifeq ($(HAVE_NATIVE_COMP),yes) +COMPILE_FIRST += $(lisp)/emacs-lisp/comp.elc +COMPILE_FIRST += $(lisp)/emacs-lisp/comp-cstr.elc +endif +COMPILE_FIRST += $(lisp)/emacs-lisp/autoload.elc # Files to compile early in compile-main. Works around bug#25556. MAIN_FIRST = ./emacs-lisp/eieio.el ./emacs-lisp/eieio-base.el \ @@ -207,7 +202,7 @@ $(lisp)/loaddefs.el: gen-lisp $(LOADDEFS) # regeneration of all these files. .PHONY: autoloads-force autoloads-force: - rm loaddefs.el + rm -f $(lisp)/loaddefs.el $(MAKE) autoloads # This is required by the bootstrap-emacs target in ../src/Makefile, so @@ -276,9 +271,15 @@ TAGS: ${ETAGS} ${tagsfiles} THEFILE = no-such-file .PHONY: $(THEFILE)c $(THEFILE)c: +ifeq ($(HAVE_NATIVE_COMP),yes) + $(AM_V_ELC)$(emacs) $(BYTE_COMPILE_FLAGS) \ + -l comp -f byte-compile-refresh-preloaded \ + -f batch-byte+native-compile $(THEFILE) +else $(AM_V_ELC)$(emacs) $(BYTE_COMPILE_FLAGS) \ -l bytecomp -f byte-compile-refresh-preloaded \ -f batch-byte-compile $(THEFILE) +endif # Files MUST be compiled one by one. If we compile several files in a # row (i.e., in the same instance of Emacs) we can't make sure that @@ -291,8 +292,14 @@ $(THEFILE)c: # An old-fashioned suffix rule, which, according to the GNU Make manual, # cannot have prerequisites. +ifeq ($(HAVE_NATIVE_COMP),yes) +.el.elc: + $(AM_V_ELC)$(emacs) $(BYTE_COMPILE_FLAGS) \ + -l comp -f batch-byte+native-compile $< +else .el.elc: $(AM_V_ELC)$(emacs) $(BYTE_COMPILE_FLAGS) -f batch-byte-compile $< +endif .PHONY: compile-first compile-main compile compile-always @@ -310,7 +317,13 @@ compile-first: $(COMPILE_FIRST) .PHONY: compile-targets # TARGETS is set dynamically in the recursive call from 'compile-main'. +# Do not build comp.el unless necessary not to exceed max-specpdl-size and +# max-lisp-eval-depth in normal builds. +ifneq ($(HAVE_NATIVE_COMP),yes) +compile-targets: $(filter-out ./emacs-lisp/comp-cstr.elc,$(filter-out ./emacs-lisp/comp.elc,$(TARGETS))) +else compile-targets: $(TARGETS) +endif # Compile all the Elisp files that need it. Beware: it approximates # 'no-byte-compile', so watch out for false-positives! @@ -323,9 +336,11 @@ compile-main: gen-lisp compile-clean GREP_OPTIONS= grep '^;.*[^a-zA-Z]no-byte-compile: *t' $$el > /dev/null && \ continue; \ echo "$${el}c"; \ - done | xargs $(XARGS_LIMIT) echo) | \ - while read chunk; do \ - $(MAKE) compile-targets TARGETS="$$chunk"; \ + done | xargs $(XARGS_LIMIT) echo) | \ + while read chunk; do \ + $(MAKE) compile-targets \ + NATIVE_DISABLED=$(NATIVE_SKIP_NONDUMP) \ + TARGETS="$$chunk"; \ done .PHONY: compile-clean @@ -452,7 +467,7 @@ $(CAL_DIR)/hol-loaddefs.el: $(CAL_SRC) $(CAL_DIR)/diary-loaddefs.el --eval "(setq generated-autoload-file (expand-file-name (unmsys--file-name \"$@\")))" \ -f batch-update-autoloads $(CAL_DIR) -.PHONY: bootstrap-clean distclean maintainer-clean extraclean +.PHONY: bootstrap-clean distclean maintainer-clean bootstrap-clean: find $(lisp) -name '*.elc' $(FIND_DELETE) @@ -464,10 +479,6 @@ distclean: maintainer-clean: distclean bootstrap-clean rm -f TAGS -extraclean: bootstrap-clean distclean - -for file in $(LOADDEFS); do rm -f $${file}~; done - -rm -f $(lisp)/loaddefs.el~ - .PHONY: check-declare check-declare: |