<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/git.git/Makefile, branch v1.7.9.3</title>
<subtitle>Git
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=v1.7.9.3</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=v1.7.9.3'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/'/>
<updated>2012-02-27T00:42:35Z</updated>
<entry>
<title>Sync with 1.7.8.5</title>
<updated>2012-02-27T00:42:35Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-02-27T00:42:35Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=4d06691eeca5712319a7e8cf2085d081dca9ea47'/>
<id>urn:sha1:4d06691eeca5712319a7e8cf2085d081dca9ea47</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Makefile: add thread-utils.h to LIB_H</title>
<updated>2012-02-26T22:31:26Z</updated>
<author>
<name>Dmitry V. Levin</name>
<email>ldv@altlinux.org</email>
</author>
<published>2012-02-24T23:42:42Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=39cb6445d9bf5794723bb656499168c3d1b31774'/>
<id>urn:sha1:39cb6445d9bf5794723bb656499168c3d1b31774</id>
<content type='text'>
Starting with commit v1.7.8-165-g0579f91, grep.h includes
thread-utils.h, so the latter has to be added to LIB_H.

Signed-off-by: Dmitry V. Levin &lt;ldv@altlinux.org&gt;
Acked-by: Thomas Rast &lt;trast@student.ethz.ch&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'dp/i18n-libcharset' into maint</title>
<updated>2012-02-21T22:57:14Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-02-21T22:57:14Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=ef55bd78e7a524e8fd7513ffa5fb6253667369cf'/>
<id>urn:sha1:ef55bd78e7a524e8fd7513ffa5fb6253667369cf</id>
<content type='text'>
* dp/i18n-libcharset:
  Makefile: introduce CHARSET_LIB to link with -lcharset
</content>
</entry>
<entry>
<title>Merge branch 'tt/profile-build-fix' into maint</title>
<updated>2012-02-21T22:56:06Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-02-21T22:56:06Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=655c3ed58bb60f825be52f8a513e8a2027568af4'/>
<id>urn:sha1:655c3ed58bb60f825be52f8a513e8a2027568af4</id>
<content type='text'>
* tt/profile-build-fix:
  Makefile: fix syntax for older make
  Fix build problems related to profile-directed optimization
</content>
</entry>
<entry>
<title>Merge branch 'mp/make-cleanse-x-for-exe' into maint</title>
<updated>2012-02-14T07:26:25Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2012-02-14T07:26:25Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=1dcfa8de7c2f630081c9d39ce46f150bbb0af5cb'/>
<id>urn:sha1:1dcfa8de7c2f630081c9d39ce46f150bbb0af5cb</id>
<content type='text'>
* mp/make-cleanse-x-for-exe:
  Explicitly set X to avoid potential build breakage
</content>
</entry>
<entry>
<title>Makefile: Change the default compiler from "gcc" to "cc"</title>
<updated>2012-02-13T10:28:54Z</updated>
<author>
<name>Ævar Arnfjörð Bjarmason</name>
<email>avarab@gmail.com</email>
</author>
<published>2011-12-20T23:40:47Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=6d62c983f7d91565a15e49955b3ed94ae7c73434'/>
<id>urn:sha1:6d62c983f7d91565a15e49955b3ed94ae7c73434</id>
<content type='text'>
Ever since the very first commit to git.git we've been setting CC to
"gcc". Presumably this is behavior that Linus copied from the Linux
Makefile.

However unlike Linux Git is written in ANSI C and supports a multitude
of compilers, including Clang, Sun Studio, xlc etc. On my Linux box
"cc" is a symlink to clang, and on a Solaris box I have access to "cc"
is Sun Studio's CC.

Both of these are perfectly capable of compiling Git, and it's
annoying to have to specify CC=cc on the command-line when compiling
Git when that's the default behavior of most other portable programs.

So change the default to "cc". Users who want to compile with GCC can
still add "CC=gcc" to the make(1) command-line, but those users who
don't have GCC as their "cc" will see expected behavior, and as a
bonus we'll be more likely to smoke out new compilation warnings from
our distributors since they'll me using a more varied set of compilers
by default.

Signed-off-by: Ævar Arnfjörð Bjarmason &lt;avarab@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Makefile: introduce CHARSET_LIB to link with -lcharset</title>
<updated>2012-02-13T08:11:01Z</updated>
<author>
<name>Дилян Палаузов</name>
<email>dilyan.palauzov@aegee.org</email>
</author>
<published>2012-02-12T16:23:36Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=b5225286b226759262c0637058528af03226fba6'/>
<id>urn:sha1:b5225286b226759262c0637058528af03226fba6</id>
<content type='text'>
On some systems, the function locale_charset() may not be exported from
libiconv but is available from libcharset, and we need -lcharset when
linking.

Introduce a make variable CHARSET_LIB that can be set to -lcharsetlib
on such systems.  Also autodetect this in the configure script by first
looking for the symbol in libiconv, and then libcharset.

Signed-off-by: Дилян Палаузов &lt;dilyan.palauzov@aegee.org&gt;
</content>
</entry>
<entry>
<title>Explicitly set X to avoid potential build breakage</title>
<updated>2012-02-09T22:31:48Z</updated>
<author>
<name>Michael Palimaka</name>
<email>kensington@astralcloak.net</email>
</author>
<published>2012-02-08T10:59:04Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=ace5e97ecdf6a6ad8fd4ba443486fbe0058eb37a'/>
<id>urn:sha1:ace5e97ecdf6a6ad8fd4ba443486fbe0058eb37a</id>
<content type='text'>
$X is appended to binary names for Windows builds (ie. git.exe).
Pollution from the environment can inadvertently trigger this behaviour,
resulting in 'git' turning into 'gitwhatever' without warning.

Signed-off-by: Michael Palimaka &lt;kensington@astralcloak.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Makefile: fix syntax for older make</title>
<updated>2012-02-09T19:47:54Z</updated>
<author>
<name>Johannes Sixt</name>
<email>j6t@kdbg.org</email>
</author>
<published>2012-02-09T08:22:26Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=e60ec75948f197b82f867e31b74bb89323e6581f'/>
<id>urn:sha1:e60ec75948f197b82f867e31b74bb89323e6581f</id>
<content type='text'>
It is necessary to write the else branch as a nested conditional. Also,
write the conditions with parentheses because we use them throughout the
Makefile.

Signed-off-by: Johannes Sixt &lt;j6t@kdbg.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Fix build problems related to profile-directed optimization</title>
<updated>2012-02-06T08:15:12Z</updated>
<author>
<name>Theodore Ts'o</name>
<email>tytso@mit.edu</email>
</author>
<published>2012-02-06T06:00:17Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=f2d713fc3e8e0b7be89584f04b421808aa99c403'/>
<id>urn:sha1:f2d713fc3e8e0b7be89584f04b421808aa99c403</id>
<content type='text'>
There was a number of problems I ran into when trying the
profile-directed optimizations added by Andi Kleen in git commit
7ddc2710b9.  (This was using gcc 4.4 found on many enterprise
distros.)

1) The -fprofile-generate and -fprofile-use commands are incompatible
with ccache; the code ends up looking in the wrong place for the gcda
files based on the ccache object names.

2) If the makefile notices that CFLAGS are different, it will rebuild
all of the binaries.  Hence the recipe originally specified by the
INSTALL file ("make profile-all" followed by "make install") doesn't
work.  It will appear to work, but the binaries will end up getting
built with no optimization.

This patch fixes this by using an explicit set of options passed via
the PROFILE variable then using this to directly manipulate CFLAGS and
EXTLIBS.

The developer can run "make PROFILE=BUILD all ; sudo make
PROFILE=BUILD install" automatically run a two-pass build with the
test suite run in between as the sample workload for the purpose of
recording profiling information to do the profile-directed
optimization.

Alternatively, the profiling version of binaries can be built using:

	make PROFILE=GEN PROFILE_DIR=/var/cache/profile all
	make PROFILE=GEN install

and then after git has been used for a while, the optimized version of
the binary can be built as follows:

	make PROFILE=USE PROFILE_DIR=/var/cache/profile all
	make PROFILE=USE install

Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
Cc: Andi Kleen &lt;ak@linux.intel.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
