Re: [PATCH 1/1] Windows: force-recompile git.res for differing architectures
- From
Johannes Sixt <j6t@kdbg.org>
- Date
- Nov 6, 2018, 21:44 UTC
- Message-ID
- <c4e3790e-4c41-0d15-38d9-79fa288fb9b3@kdbg.org>
- In-Reply-To
- <87794514ef3a83f95d81f89287b81aeed5c92296.1541516148.git.gitgitgadget@gmail.com>
Am 06.11.18 um 15:55 schrieb Johannes Schindelin via GitGitGadget:
Show 11 quoted lines
> From: Johannes Schindelin <johannes.schindelin@gmx.de> > > When git.rc is compiled into git.res, the result is actually dependent > on the architecture. That is, you cannot simply link a 32-bit git.res > into a 64-bit git.exe. > > Therefore, to allow 32-bit and 64-bit builds in the same directory, we > let git.res depend on GIT-PREFIX so that it gets recompiled when > compiling for a different architecture (this works because the exec path > changes based on the architecture: /mingw32/libexec/git-core for 32-bit > and /mingw64/libexec/git-core for 64-bit).
On Linux, when I recompile for a different architecture, CFLAGS would change, so I would have thought that GIT-CFLAGS were the natural choice for a dependency. Don't they change in this case on Windows, too?
Show 20 quoted lines
> > Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> > --- > Makefile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/Makefile b/Makefile > index bbfbb4292d..8375736c32 100644 > --- a/Makefile > +++ b/Makefile > @@ -2110,7 +2110,7 @@ $(SCRIPT_LIB) : % : %.sh GIT-SCRIPT-DEFINES > $(QUIET_GEN)$(cmd_munge_script) && \ > mv $@+ $@ > > -git.res: git.rc GIT-VERSION-FILE > +git.res: git.rc GIT-VERSION-FILE GIT-PREFIX > $(QUIET_RC)$(RC) \ > $(join -DMAJOR= -DMINOR= -DMICRO= -DPATCHLEVEL=, $(wordlist 1, 4, \ > $(shell echo $(GIT_VERSION) 0 0 0 0 | tr '.a-zA-Z-' ' '))) \ >