emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Speeding up the bootstrap build - a quick hack.


From: Robert Pluim
Subject: Re: Speeding up the bootstrap build - a quick hack.
Date: Tue, 18 Jan 2022 15:13:40 +0100

>>>>> On Tue, 18 Jan 2022 14:04:35 +0000, Alan Mackenzie <acm@muc.de> said:

    Alan> Hello, Robert.
    Alan> On Tue, Jan 18, 2022 at 14:16:33 +0100, Robert Pluim wrote:
    >> >>>>> On Tue, 18 Jan 2022 11:56:38 +0000, Alan Mackenzie <acm@muc.de> 
said:


    >> >> >  # An old-fashioned suffix rule, which, according to the GNU Make 
manual,
    >> >> >  # cannot have prerequisites.
    >> >> >  ifeq ($(HAVE_NATIVE_COMP),yes)
    >> >> > -.el.elc:
    >> >> > +.el.elc0:
    >> >> > +   $(AM_V_ELC)$(emacs) $(BYTE_COMPILE_FLAGS) \
    >> >> > +   --exec "(setq load-suffixes '(\".elc0\" \".el\"))" \
    >> >> > +   -f batch-byte-compile $<
    >> >> > +   mv $<c $@

    >> I think this would be far cleaner and less fragile if you used an
    >> order-only prerequisite instead of inventing new suffixes.

    Alan> Thanks for the reply.

    Alan> I'm not actually that experienced with make files.  What does "an
    Alan> orer-only prerequisite" mean?

It enforces the order in which things are built:

    default: 1.elc 2.elc

    1.elc: | 2.elc

means that 2.elc must be built before 1.elc. You can mix them with
normal prerequisites, so

    1.elc: 3.elc | 2.elc

is valid as well.

    Alan> There was a problem with the current situation where the existence of 
a
    Alan> ..elc file prevented the native compiler from working.  So I renamed
    Alan> these early files to .elc0, to prevent them getting in the way.

So if you ensured that the native compiler files were built before
that problematic .elc, then things would be ok?

Robert
-- 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]