Ensure that MAIN_FIRST have finished compilation before doing the rest
* lisp/Makefile.in (main-first): Ensure that we're done with the main bits before starting on the rest. (GREP_OPTIONS): Depend on main-first. (MAIN_FIRST): Compile cconv.el before c-by.el (bug#8764).
This commit is contained in:
parent
1e2bc1bbf4
commit
352c737dce
1 changed files with 15 additions and 3 deletions
|
@ -98,7 +98,7 @@ 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 \
|
||||
./cedet/semantic/db.el
|
||||
./cedet/semantic/db.el ./emacs-lisp/cconv.el
|
||||
|
||||
# Prevent any settings in the user environment causing problems.
|
||||
unexport EMACSDATA EMACSDOC EMACSPATH
|
||||
|
@ -338,10 +338,10 @@ endif
|
|||
|
||||
# Compile all the Elisp files that need it. Beware: it approximates
|
||||
# 'no-byte-compile', so watch out for false-positives!
|
||||
compile-main: gen-lisp compile-clean
|
||||
compile-main: gen-lisp compile-clean main-first
|
||||
@(cd $(lisp) && \
|
||||
els=`echo "${SUBDIRS_REL} " | sed -e 's|/\./|/|g' -e 's|/\. | |g' -e 's| |/*.el |g'`; \
|
||||
for el in ${MAIN_FIRST} $$els; do \
|
||||
for el in $$els; do \
|
||||
test -f $$el || continue; \
|
||||
test ! -f $${el}c && \
|
||||
GREP_OPTIONS= grep '^;.*[^a-zA-Z]no-byte-compile: *t' $$el > /dev/null && \
|
||||
|
@ -354,6 +354,18 @@ compile-main: gen-lisp compile-clean
|
|||
TARGETS="$$chunk"; \
|
||||
done
|
||||
|
||||
# Compile some important files first.
|
||||
main-first:
|
||||
@(cd $(lisp) && \
|
||||
for el in ${MAIN_FIRST}; do \
|
||||
echo "$${el}c"; \
|
||||
done | xargs $(XARGS_LIMIT) echo) | \
|
||||
while read chunk; do \
|
||||
$(MAKE) compile-targets \
|
||||
NATIVE_DISABLED=$(NATIVE_SKIP_NONDUMP) \
|
||||
TARGETS="$$chunk"; \
|
||||
done
|
||||
|
||||
.PHONY: compile-clean
|
||||
# Erase left-over .elc files that do not have a corresponding .el file.
|
||||
compile-clean:
|
||||
|
|
Loading…
Add table
Reference in a new issue