summarylogtreecommitdiffstats
path: root/02.lto.patch
blob: f32711b58c1759c786b1e66616bcac2c9bbf86f5 (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"
 }