summarylogtreecommitdiffstats
path: root/02.lto.patch
blob: 056cad498c127c828a59080baa607f81b7097cea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
--- makepkg-optimize
+++ makepkg-optimize
@@ -866,6 +866,17 @@ run_build() {
 		export DISTCC_HOSTS
 	fi
 
+	# Use lto if it is requested (check buildenv and PKGBUILD opts)
+	if check_buildoption "lto" "y" && [[ -f "$(gcc -print-search-dirs | grep install | awk '{print $2 "liblto_plugin.so"}')" ]]; then
+		CFLAGS+=" -flto=$(getconf _NPROCESSORS_ONLN)"
+		CXXFLAGS+=" -flto=$(getconf _NPROCESSORS_ONLN)"
+		LDFLAGS+=" -fuse-linker-plugin"
+		LTOPLUGIN="$(gcc -print-search-dirs | grep install | awk '{print $2 "liblto_plugin.so"}')"
+		ARFLAGS+=" --plugin $LTOPLUGIN"
+		RANLIBFLAGS+=" --plugin $LTOPLUGIN"
+		NMFLAGS+=" --plugin $LTOPLUGIN"
+	fi
+
 	run_function_safe "build"
 }