From e404868d0c78abf6a3039446a8b362bd779951b0 Mon Sep 17 00:00:00 2001 From: Pat Thoyts Date: Thu, 24 May 2012 00:56:24 +0100 Subject: [PATCH] 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 Acked-by: Sebastian Schuberth Acked-by: Johannes Schindelin Signed-off-by: Pat Thoyts --- .gitignore | 1 + Makefile | 10 +++++++++- git.rc | 22 ++++++++++++++++++++++ 3 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 git.rc diff --git a/.gitignore b/.gitignore index 756356e19c..a65c82227d 100644 --- a/.gitignore +++ b/.gitignore @@ -222,6 +222,7 @@ /cscope* *.obj *.lib +*.res *.sln *.suo *.ncb diff --git a/Makefile b/Makefile index 71b49ce9c8..6b92c36210 100644 --- a/Makefile +++ b/Makefile @@ -1340,7 +1340,9 @@ ifneq (,$(findstring MINGW,$(uname_S))) compat/win32/pthread.o compat/win32/syslog.o \ compat/win32/poll.o compat/win32/dirent.o EXTLIBS += -lws2_32 + GITLIBS += git.res PTHREAD_LIBS = + RC = windres -O coff X = .exe SPARSE_FLAGS = -Wno-one-bit-signed-bitfield ifneq (,$(wildcard ../THIS_IS_MSYSGIT)) @@ -1831,6 +1833,7 @@ ifndef V QUIET_MSGFMT = @echo ' ' MSGFMT $@; QUIET_GCOV = @echo ' ' GCOV $@; QUIET_SP = @echo ' ' SP $<; + QUIET_RC = @echo ' ' RC $@; QUIET_SUBDIR0 = +@subdir= QUIET_SUBDIR1 = ;$(NO_SUBDIR) echo ' ' SUBDIR $$subdir; \ $(MAKE) $(PRINT_DIR) -C $$subdir @@ -2018,6 +2021,11 @@ $(SCRIPT_LIB) : % : %.sh $(QUIET_GEN)$(cmd_munge_script) && \ 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 $(patsubst %.perl,%,$(SCRIPT_PERL)): perl/perl.mak @@ -2705,7 +2713,7 @@ profile-clean: $(RM) $(addsuffix *.gcno,$(addprefix $(PROFILE_DIR)/, $(object_dirs))) clean: profile-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) $(RM) $(ALL_PROGRAMS) $(SCRIPT_LIB) $(BUILT_INS) git$X $(RM) $(TEST_PROGRAMS) diff --git a/git.rc b/git.rc new file mode 100644 index 0000000000..bce6db96a3 --- /dev/null +++ b/git.rc @@ -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 -- 2.11.4.GIT