changeset 16927:2c02697644fd draft

(svn r21662) -Codechange: use -flto=jobserver for GCC 4.6, it makes linking with LTO use number of processes passed to make -j
author smatz <smatz@openttd.org>
date Wed, 29 Dec 2010 20:46:35 +0000
parents 0cd58d0aeb71
children 32a83472793d
files Makefile.src.in config.lib
diffstat 2 files changed, 7 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile.src.in
+++ b/Makefile.src.in
@@ -256,9 +256,9 @@
 	# Because of a bug in the PSP GCC tools, linking via CXX results
 	#  in total chaos and more problems then you can handle. So we need
 	#  CC to link OpenTTD for PSP
-	$(Q)$(CC_HOST) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
+	$(Q)+$(CC_HOST) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
 else
-	$(Q)$(CXX_HOST) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
+	$(Q)+$(CXX_HOST) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
 endif
 ifdef STRIP
 	$(Q)$(STRIP) $@
--- a/config.lib
+++ b/config.lib
@@ -1295,7 +1295,11 @@
 			has_lto=`$1 -dumpspecs | grep '\%{flto'`
 			if [ -n "$has_lto" ]; then
 				# Use LTO only if we see LTO exists and is requested
-				flags="$flags -flto"
+				if [ $cc_version -lt 46 ]; then
+					flags="$flags -flto"
+				else
+					flags="$flags -flto=jobserver"
+				fi
 				ldflags="$ldflags -fwhole-program"
 				features="$features lto"
 			fi