Subject: Re: [PATCH/RFC] Makefile: Fix compilation of windows resource file

From: Junio C Hamano <[email-masked]>
Date: Tue, 21 Jan 2014 13:04:24 -0800

Ramsay Jones <[email-masked]> writes:

> If the git version number consists of less than three period
> separated numbers, then the windows resource file compilation
> issues a syntax error:
>
>   $ touch git.rc
>   $ make V=1 git.res
>   GIT_VERSION = 1.9.rc0
>   windres -O coff \
>             -DMAJOR=1 -DMINOR=9 -DPATCH=rc0 \
>             -DGIT_VERSION="\\\"1.9.rc0\\\"" git.rc -o git.res
>   C:\msysgit\msysgit\mingw\bin\windres.exe: git.rc:2: syntax error
>   make: *** [git.res] Error 1
>   $
>
> [Note that -DPATCH=rc0]

Thanks for a report.  I've been wondering how many distros and
packagers would have an issue like this when we go to 2-digit
release naming.  Of course we knew everybody can grok 3-or-4 ;-)

> In order to fix the syntax error, we replace any rcX with zero and
> include some additional 'zero' padding to the version number list.
>
> Signed-off-by: Ramsay Jones <[email-masked]>
> ---
>
> Hi Junio,
>
> This patch is marked RFC because, as I was just about to send this
> email, I realized it wouldn't always work:

Yeah, and I suspect that with the use of $(wordlist 1,3,...) it is
not even working for maintenance releases.  Does it differenciate
between 1.8.5.1 and 1.8.5.2, for example?.  Or does "windres" always
assume that a package version is always 3-dewey-decimal (not 2, not
4)?