Skip to content
  • Johannes Sixt's avatar
    Makefile: Fix compilation of Windows resource file · b594c975
    Johannes Sixt authored and Junio C Hamano's avatar Junio C Hamano committed
    
    
    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.
    
    The values passed via -DMAJOR=, -DMINOR=, and -DPATCH= are used in
    FILEVERSION and PRODUCTVERSION statements, which expect up to four numeric
    values. These version numbers are intended for machine consumption. They
    are typically inspected by installers to decide whether a file to be
    installed is newer than one that exists on the system, but are not used
    for much else.
    
    We can be pretty certain that there are no tools that look at these
    version numbers, not even the installer of Git for Windows does.
    Therefore, to fix the syntax error, fill in only the first two numbers,
    which we are guaranteed to find in Git version numbers.
    
    Signed-off-by: default avatarJohannes Sixt <j6t@kdbg.org>
    Acked-by: default avatarPat Thoyts <patthoyts@users.sourceforge.net>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    b594c975