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

Re: [git-for-windows] [PATCH] exec_cmd.c, sideband.c, Makefile: avoid multiple PREFIX definitions

From
Philip Oakley <philipoakley@iee.org>
Date
May 6, 2016, 07:31 UTC
Message-ID
<1F2FA999624B417EB2EC2FF7F2EA3828@PhilipOakley>
In-Reply-To
<572C3723.8010508@kdbg.org>
From: "Johannes Sixt" <j6t@kdbg.org>
Show 12 quoted lines
> Am 05.05.2016 um 23:28 schrieb Philip Oakley:
>> The short and sweet PREFIX can be confused when used in many places.
>>
>> Rename both usages to better describe their purpose.
>>
>> Noticed when compiling Git for Windows using MSVC/Visual Studio which
>> reports the conflict beteeen the command line definition and the
>> definition in sideband.c
>
> You should describe the circumstances better under which you notice a 
> conflict, because there is no conflict when Git is built with the Makefile 
> and 'make':

I haven't dug deep into the G4W make results so I can't say either way regarding the make on G4W, but it does show when creating the Git.sln project via the contrib process. It is specific to the Windows OS and how it generates the path to the exe (You will know far more than me).

see below regarding commit message
Show 14 quoted lines
>
>> diff --git a/Makefile b/Makefile
>> index 33b0f76..bcdd3ec 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -1973,7 +1973,7 @@ exec_cmd.sp exec_cmd.s exec_cmd.o: GIT-PREFIX
>>   exec_cmd.sp exec_cmd.s exec_cmd.o: EXTRA_CPPFLAGS = \
>>   '-DGIT_EXEC_PATH="$(gitexecdir_SQ)"' \
>>   '-DBINDIR="$(bindir_relative_SQ)"' \
>> - '-DPREFIX="$(prefix_SQ)"'
>> + '-DEXEC_PREFIX="$(prefix_SQ)"'
>
> Notice that PREFIX is set only for a small subset of .c files. sideband.c 
> is not among them.

The issue is in the libgit sub-project, where both reside side by side, and when sideband.c is being compiled, the PREFIX has also been declared on the command line, thus giving the unexpected conflict.

I'll bring more of the explanation into the commit message.

-- Philip

Previous: Johannes Sixt
Message 7 of 7 in “Conflicting PREFIX usage”
  1. Conflicting PREFIX usagePhilip Oakley, May 5, 2016
  2. exec_cmd.c, sideband.c, Makefile: avoid multiple PREFIX definitionsPhilip Oakley, May 5, 2016
  3. Junio C HamanoMay 5, 2016
  4. Philip OakleyMay 6, 2016
  5. Junio C HamanoMay 6, 2016
  6. Johannes SixtMay 6, 2016
  7. Philip OakleyMay 6, 2016

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.