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

Re: What's cooking in git.git (Aug 2020, #01; Mon, 3)

From
SSSibi Siddharthan <sibisiv.siddharthan@gmail.com>
Date
Aug 12, 2020, 15:56 UTC
Message-ID
<CAKw82xxOZFcsMw47TSrD7-pXpqO7O0_m84o96iH6+ZVeN9j1uw@mail.gmail.com>
In-Reply-To
<20200812141958.GA32453@coredump.intra.peff.net>
On Wed, Aug 12, 2020 at 7:50 PM Jeff King <peff@peff.net> wrote:
Show 22 quoted lines
>
> On Wed, Aug 12, 2020 at 03:35:06PM +0200, Johannes Schindelin wrote:
>
> > > That was my philosophy, too, but it's annoying in the meantime as I get
> > > a notification for "your build is broken" every time I run CI. So it
> > > becomes a game of chicken over who gets annoyed first. ;)
> >
> > I am a bit sad to read all this, as I thought that we had reached
> > consensus that the `Makefile` _is_ the source of truth.
> >
> > But then, most of the source files that need to be compiled _are_ parsed
> > from the Makefile.
> >
> > So I wonder what problems you ran into; Maybe we can come up with a
> > strategy how to preempt future instances of the same nature?
>
> There are definitely a lot of lists that are copied from the Makefile
> into CMakeLists. For some concrete data, here are the patches I needed
> for two of my topics.
>
> This first one is for a topic that remotes git-remote-testsvn and
> associated code.

The reason for verbosely specifying the test programs (test-tool, test-fake-ssh,etc) was that test-tool required all the objects specified by TEST_BUILTIN_OBJS, whereas test-fake-ssh requires only test-fake-ssh.o.

Show 9 quoted lines
> This second one is for a topic which moved some credential programs into
> builtins (since they link libgit.a and nothing else, there's no reason
> for them to take up extra space on disk). Even if we read more lists
> from the Makefile, I think these hunks still would have needed to be
> modified in CMakeLists because I changed the way they interact with
> NO_UNIX_SOCKETS (instead of not building credential-cache in that case,
> we get a builtin that says "sorry, this was built with
> NO_UNIX_SOCKETS").
>

For git programs like git-bugreport, git-imap-send which are specified with PROGRAM_OBJS, we don't know which of them require to be linked with libcurl or libexpat. That was the reason these programs were specified verbosely in the CMakeLists. In the future if a new program would be added we need to add them to the PROGRAMS_BUILT list in CMakeLists as well and link it with its library dependencies.

Changing the interaction with NO_UNIX_SOCKETS variable will require a change in the CMakeLists file as well.

The CMake script was not intended to be a write once and forget situation, it tries to pull from the Makefile as much as possible. A few changes are needed, which I intend to do.

Thank You, Sibi Siddharthan

Previous: Jeff KingNext: Jeff King
Message 7 of 15 in “What's cooking in git.git (Aug 2020, #01; Mon, 3)”
  1. Junio C HamanoAug 4, 2020
  2. Jeff KingAug 4, 2020
  3. Junio C HamanoAug 4, 2020
  4. Jeff KingAug 4, 2020
  5. Johannes SchindelinAug 12, 2020
  6. Jeff KingAug 12, 2020
  7. Sibi SiddharthanAug 12, 2020
  8. Jeff KingAug 12, 2020
  9. Junio C HamanoAug 12, 2020
  10. Jeff KingAug 12, 2020
  11. Johannes SchindelinAug 14, 2020
  12. Jeff KingAug 14, 2020
  13. Johannes SchindelinAug 17, 2020
  14. Junio C HamanoAug 17, 2020
  15. Jiang XinAug 6, 2020

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.