Re: 1.7.3.4 build regression
From: Jonathan Nieder <hidden>
Date: 2016-06-15 22:50:16
Jeremy Huddleston wrote:
On Dec 16, 2010, at 19:41, Jonathan Nieder wrote:quoted
Jeremy Huddleston wrote:
quoted
quoted
make (strip the built executables) make install During 'make install', the executables get remade even though they shouldn't be.Just a wild guess: do you pass CC on the "make" and not the "make install" command line?Yes. Good guess. Why would that be affecting it?
See v1.7.3.3~28^2 (Makefile: add CC to TRACK_CFLAGS, 2010-09-12), found with "git log --no-merges v1.7.3.2..v1.7.3.4 -- Makefile". That is, now CC is tracked like $prefix and $CFLAGS are. The idea of that change was presumably that if you switch CC from, say, "gcc -m32" to "gcc -m64", then the build result will not be correct unless you remake things. I have mixed feelings about it, since from time to time I might want to switch between gcc-4.4 and gcc-4.5 without rebuilding everything.
"make" line is: /Developer/usr/bin/make -C /tmp/Git-16.roots/Git-16~obj/i386/ \ -j`sysctl -n hw.activecpu` \ prefix=/usr NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease \ RUNTIME_PREFIX=YesPlease \ GITGUI_VERSION=0.12.0 V=1 \ CFLAGS='-ggdb3 -Os -pipe -Wall -Wformat-security -D_FORTIFY_SOURCE=2' \ 'CC=cc -arch i386' 'uname_M=i386' 'uname_P=i386'
Interesting. It might be convenient to save these variables in /tmp/Git-16.roots/Git-16~obj/i386/config.mak. Thanks for reporting. Some thinking to do.