Re: 1.7.3.4 build regression
> On Dec 16, 2010, at 19:41, Jonathan Nieder wrote:
>> Jeremy Huddleston wrote:
Show 11 quoted lines
>>> 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.
Show 8 quoted lines
> "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.