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

Re: [PATCH v2 3/3] Makefile: replace most hardcoded object lists with $(wildcard)

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Nov 10, 2021, 15:58 UTC
Message-ID
<211110.86mtmcgeyt.gmgdl@evledraar.gmail.com>
In-Reply-To
<nycvar.QRO.7.76.6.2111101547120.21127@tvgsbejvaqbjf.bet>
On Wed, Nov 10 2021, Johannes Schindelin wrote:
Show 16 quoted lines
> Hi Ævar,
>
> On Wed, 10 Nov 2021, Ævar Arnfjörð Bjarmason wrote:
>
>> If we're not OK with $(wildcard) as a pattern that would mean changing
>> all of these to hardcoded (in some cases quite big) lists somewhere:
>>
>>     [...]
>
> No, it would only mean changing these instances if we have a concrete
> need. I fail to see a concrete need.
>
> That does not mean that we should make the situation even worse by
> converting currently hard-coded lists to wildcards. There is, once again,
> no concrete need for that, and there is the good reason Junio brought up
> against such a churn: it is too sloppy.

I don't it's sloppy. It's just a different approach. It's also an approach we use now. Add a new build in and your addition in t/*.sh and Documentation/*.txt will be picked up & built. We just won't pick up the *.h or builtin/*.c implicitly.

So whether we need to do this now is one thing, but saying it's a big change in workflow seems to be rather exaggerated.

>> [...] I think we should remove that LIB_H thing entirely.
>
> I think we should take a break from refactoring code where it is unclear
> what purpose the refactoring serves.

I'm not advocating ripping LIB_H out right now, and have not submitted any patches to do so.

I'm asking you a follow-up question about your claim that LIB_H is needed for building from a tarball. I don't think it is, but perhaps I'm missing something.

It would be useful to get an answer to that for the list records, so that while it's fresh in your mind we can get an answer one way or the other.

I agree there's no a strong reason to change it now, but being able to do so in the future might be useful.

At that point someone will probably dig up this thread. Whether "do we need LIB_H for what Johannes suggested?" is a dead end or not I'll leave to you.

Show 11 quoted lines
>> > And to be honest, even `LIB_H` and `FIND_SOURCE_FILE` would quite
>> > potentially better be hard-coded (with a CI check to ensure that
>> > they're up to date).
>>
>> That would be a bug, just because I don't build on Windows doesn't mean
>> that I wouldn't like "make TAGS coccicheck" to find compat/win32/ at
>> all.
>
> Talking about `coccicheck` in the context of the discussion whether we
> should make sweeping changes in our Makefiles, all while we're supposedly
> in the -rc phase, strikes me as a distant tangent of a distant tangent.

For the past few releases I think I've probably submitted more last-minute rc fixes than most. In my case it's mostly a matter of starting some builds and waiting for them to complete: https://xkcd.com/303/

So yeah, I think we should focus around release time, but saying that any other ongoing discussion is a needless distraction seems like a bridge too far.

That being said the reason I'm submitting these sorts of fixes now is directly related to making rc testing easier.

I test on some obnoxiously slow VMs or otherwise limited computers on the GCC farm. When something breaks between releases having each step of a bisect take 30m or 60m makes a big difference.

So having a Makefile that doesn't over-build stuff is important to release testing.

But getting that across has been frustrating at times. I've pretty much stopped testing on AIX because my few-lines of patches to the Makefile to make that drastically easier were categorically rejected. The response to some other things like over-building <xyz> has been somewhere between "I don't see why you care, my computer is fast enough" and "why don't you port ccache to <90s era *nix OS that barely compiles Hello World without issues".

Previous: Johannes SchindelinNext: Ævar Arnfjörð Bjarmason
Message 24 of 28 in “Makefile: replace most hardcoded object lists with $(wildcard)”
  1. Makefile: replace most hardcoded object lists with $(wildcard)Ævar Arnfjörð Bjarmason, Oct 30, 2021
  2. Paul SmithOct 30, 2021
  3. Ævar Arnfjörð BjarmasonNov 1, 2021
  4. Jeff KingOct 31, 2021
  5. Ævar Arnfjörð BjarmasonOct 31, 2021
  6. Jeff KingNov 3, 2021
  7. Ævar Arnfjörð BjarmasonNov 3, 2021
  8. Johannes SchindelinNov 4, 2021
  9. Ævar Arnfjörð BjarmasonNov 4, 2021
  10. Philip OakleyNov 4, 2021
  11. Junio C HamanoNov 4, 2021
  12. 0/3 Makefile: replace most hardcoded object lists with $(wildcard)Ævar Arnfjörð Bjarmason, Nov 1, 2021
  13. 1/3 Makefile: rename $(SCRIPT_LIB) to $(SCRIPT_LIB_GEN)Ævar Arnfjörð Bjarmason, Nov 1, 2021
  14. 2/3 Makefile: add a utility to dump variablesÆvar Arnfjörð Bjarmason, Nov 1, 2021
  15. 3/3 Makefile: replace most hardcoded object lists with $(wildcard)Ævar Arnfjörð Bjarmason, Nov 1, 2021
  16. Phillip WoodNov 6, 2021
  17. Ævar Arnfjörð BjarmasonNov 6, 2021
  18. Phillip WoodNov 6, 2021
  19. Ævar Arnfjörð BjarmasonNov 6, 2021
  20. Junio C HamanoNov 9, 2021
  21. Johannes SchindelinNov 10, 2021
  22. Ævar Arnfjörð BjarmasonNov 10, 2021
  23. Johannes SchindelinNov 10, 2021
  24. Ævar Arnfjörð BjarmasonNov 10, 2021
  25. Ævar Arnfjörð BjarmasonJan 21, 2022
  26. Phillip WoodJan 21, 2022
  27. Ævar Arnfjörð BjarmasonJan 21, 2022
  28. Junio C HamanoJan 22, 2022

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.