git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 3/4] Makefile: reintroduce REFTABLE_OBJS

From
Junio C Hamano <gitster@pobox.com>
Date
Sep 9, 2026, 21:07 UTC
Message-ID
<xmqqmrtqp20n.fsf@gitster.g>
In-Reply-To
<20260909195006.2179119-4-szeder.dev@gmail.com>
SZEDER Gábor <szeder.dev@gmail.com> writes:
Show 13 quoted lines
> Object files under "reftable/" used to be listed in the REFTABLE_OBJS
> Makefile variable so we could build a static library from them.  This
> static library was removed in f3b4c89d59 (make: delete REFTABLE_LIB,
> add reftable to LIB_OBJS, 2025-10-02), along with filling
> REFTALBE_OBJS with object files.
>
> However, the reftable source files are kind of special, because the
> reftable implementation is supposed to be easily includable in other
> projects.  Therefore, the reftable source files don't include
> "git-compat-util.h", with the sole exception of the purposefully
> project-specific "reftable/system.c".  Consequently, they shouldn't be
> compiled with our precompiled header, as it does include
> "git-compat-util.h".

This is the first mention of "our precompiled header" in this series, and the first hint that "our precompiled header" would include "git-compat-util.h". It may probably give us a better organization to state it upfront at the beginning of the proposed log message of this commit. It is of secondary importance that once in the past we used to have REFTABLE_OBJS Makefile variable that listed some files (but for completely different purposes). How about explaining it along this line...

    The ultimate endgame of this series is to use the precompiled
    header facility to speed up compilation, and the plan is to have
    Git specific headers including git-compat-util.h precompiled.
    The reftable sources are largely designed to be independent from
    the Git source proper, and except for reftable/system.c they do
    not include <git-compat-util.h>.
    Move the object files in the subsystem from the LIB_OBJS to the
    REFTABLE_OBJS Makefile variable, so that we can use LIB_OBJS as
    list of files compiled with precompiled header files and others
    without
... or something like that, perhaps?
Previous: SZEDER GáborNext: SZEDER Gábor
Message 5 of 15 in “make: precompile "git-compat-util.h"”
  1. 0/4 make: precompile "git-compat-util.h"SZEDER Gábor, Sep 9, 2026
  2. 1/4 Makefile: remove XDIFF_OBJS initializationSZEDER Gábor, Sep 9, 2026
  3. 2/4 cmake: remove any "$(*_OBJS)" variables when parsing Makefile for sourcesSZEDER Gábor, Sep 9, 2026
  4. 3/4 Makefile: reintroduce REFTABLE_OBJSSZEDER Gábor, Sep 9, 2026
  5. Junio C HamanoSep 9, 2026
  6. 4/4 Makefile: precompile "git-compat-util.h"SZEDER Gábor, Sep 9, 2026
  7. SZEDER GáborSep 9, 2026
  8. 0/4 make: precompile "git-compat-util.h"SZEDER Gábor, Sep 15, 2026
  9. 1/4 Makefile: remove XDIFF_OBJS initializationSZEDER Gábor, Sep 15, 2026
  10. 2/4 cmake: remove any "$(*_OBJS)" variables when parsing Makefile for sourcesSZEDER Gábor, Sep 15, 2026
  11. 3/4 Makefile: reintroduce REFTABLE_OBJSSZEDER Gábor, Sep 15, 2026
  12. 4/4 Makefile: precompile "git-compat-util.h"SZEDER Gábor, Sep 15, 2026
  13. Jeff KingSep 24, 2026
  14. SZEDER GáborSep 25, 2026
  15. SZEDER GáborOct 3, 2026

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.