Provide a Windows version resource for the git executables.

Embeds the git version and description into the git executable thus
implementing the request in issue #5.

Acked-by: Heiko Voigt <hvoigt@hvoigt.net>
Acked-by: Sebastian Schuberth <sschuberth@gmail.com>
Acked-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
This commit is contained in:
Pat Thoyts 2012-05-24 00:56:24 +01:00
parent fb99070303
commit ce39c2e04c
4 changed files with 32 additions and 1 deletions

1
.gitignore vendored
View File

@ -229,6 +229,7 @@
/cscope* /cscope*
*.obj *.obj
*.lib *.lib
*.res
*.sln *.sln
*.suo *.suo
*.ncb *.ncb

View File

@ -1529,6 +1529,7 @@ ifndef V
QUIET_MSGFMT = @echo ' ' MSGFMT $@; QUIET_MSGFMT = @echo ' ' MSGFMT $@;
QUIET_GCOV = @echo ' ' GCOV $@; QUIET_GCOV = @echo ' ' GCOV $@;
QUIET_SP = @echo ' ' SP $<; QUIET_SP = @echo ' ' SP $<;
QUIET_RC = @echo ' ' RC $@;
QUIET_SUBDIR0 = +@subdir= QUIET_SUBDIR0 = +@subdir=
QUIET_SUBDIR1 = ;$(NO_SUBDIR) echo ' ' SUBDIR $$subdir; \ QUIET_SUBDIR1 = ;$(NO_SUBDIR) echo ' ' SUBDIR $$subdir; \
$(MAKE) $(PRINT_DIR) -C $$subdir $(MAKE) $(PRINT_DIR) -C $$subdir
@ -1774,6 +1775,11 @@ $(SCRIPT_LIB) : % : %.sh GIT-SCRIPT-DEFINES
$(QUIET_GEN)$(cmd_munge_script) && \ $(QUIET_GEN)$(cmd_munge_script) && \
mv $@+ $@ mv $@+ $@
git.res: git.rc
$(QUIET_RC)$(RC) \
$(join -DMAJOR= -DMINOR= -DPATCH=, $(wordlist 1,3,$(subst ., ,$(GIT_VERSION)))) \
-DGIT_VERSION="\\\"$(GIT_VERSION)\\\"" $< -o $@
ifndef NO_PERL ifndef NO_PERL
$(patsubst %.perl,%,$(SCRIPT_PERL)): perl/perl.mak $(patsubst %.perl,%,$(SCRIPT_PERL)): perl/perl.mak
@ -2474,7 +2480,7 @@ profile-clean:
$(RM) $(addsuffix *.gcno,$(addprefix $(PROFILE_DIR)/, $(object_dirs))) $(RM) $(addsuffix *.gcno,$(addprefix $(PROFILE_DIR)/, $(object_dirs)))
clean: profile-clean coverage-clean clean: profile-clean coverage-clean
$(RM) *.o block-sha1/*.o ppc/*.o compat/*.o compat/*/*.o xdiff/*.o vcs-svn/*.o \ $(RM) *.o *.res block-sha1/*.o ppc/*.o compat/*.o compat/*/*.o xdiff/*.o vcs-svn/*.o \
builtin/*.o $(LIB_FILE) $(XDIFF_LIB) $(VCSSVN_LIB) builtin/*.o $(LIB_FILE) $(XDIFF_LIB) $(VCSSVN_LIB)
$(RM) $(ALL_PROGRAMS) $(SCRIPT_LIB) $(BUILT_INS) git$X $(RM) $(ALL_PROGRAMS) $(SCRIPT_LIB) $(BUILT_INS) git$X
$(RM) $(TEST_PROGRAMS) $(RM) $(TEST_PROGRAMS)

View File

@ -507,7 +507,9 @@ ifneq (,$(findstring MINGW,$(uname_S)))
compat/win32/dirent.o compat/win32/dirent.o
BASIC_LDFLAGS += -Wl,--large-address-aware BASIC_LDFLAGS += -Wl,--large-address-aware
EXTLIBS += -lws2_32 EXTLIBS += -lws2_32
GITLIBS += git.res
PTHREAD_LIBS = PTHREAD_LIBS =
RC = windres -O coff
NATIVE_CRLF = YesPlease NATIVE_CRLF = YesPlease
X = .exe X = .exe
SPARSE_FLAGS = -Wno-one-bit-signed-bitfield SPARSE_FLAGS = -Wno-one-bit-signed-bitfield

22
git.rc Normal file
View File

@ -0,0 +1,22 @@
1 VERSIONINFO
FILEVERSION MAJOR,MINOR,PATCH,0
PRODUCTVERSION MAJOR,MINOR,PATCH,0
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0" /* LANG_ENGLISH/SUBLANG_ENGLISH_US, Unicode CP */
BEGIN
VALUE "CompanyName", "The Git Development Community\0"
VALUE "FileDescription", "Git for Windows\0"
VALUE "InternalName", "git\0"
VALUE "OriginalFilename", "git.exe\0"
VALUE "ProductName", "Git\0"
VALUE "ProductVersion", GIT_VERSION "\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END