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]
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 protected]>
---
Hi Junio,
This patch is marked RFC because, as I was just about to send this
email, I realized it wouldn't always work:
$ touch git.rc
$ make V=1 GIT_VERSION=1.9.dirty git.res
windres -O coff \
-DMAJOR=1 -DMINOR=9 -DPATCH=dirty \
-DGIT_VERSION="\\\"1.9.dirty\\\"" git.rc -o git.res
C:\msysgit\msysgit\mingw\bin\windres.exe: git.rc:2: syntax error
make: *** [git.res] Error 1
$
:-D
I suspect it would be easier to change GIT-VERSION-GEN to also set, say,
GIT_VERSION_MAJOR, GIT_VERSION_MINOR and GIT_VERSION_PATCH ...
ATB,
Ramsay Jones
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index b4af1e2..308baaa 100644
--- a/Makefile
+++ b/Makefile
@@ -1773,7 +1773,7 @@ $(SCRIPT_LIB) : % : %.sh GIT-SCRIPT-DEFINES
git.res: git.rc GIT-VERSION-FILE
$(QUIET_RC)$(RC) \
- $(join -DMAJOR= -DMINOR= -DPATCH=, $(wordlist 1,3,$(subst -, ,$(subst
., ,$(GIT_VERSION))))) \
+ $(join -DMAJOR= -DMINOR= -DPATCH=, $(wordlist 1,3,$(patsubst
rc%,0,$(subst -, ,$(subst ., ,$(GIT_VERSION))) 0 0))) \
-DGIT_VERSION="\\\"$(GIT_VERSION)\\\"" $< -o $@
ifndef NO_PERL
--
1.8.5
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html