#!/usr/bin/bash # # lto.sh - Compile with link-time optimization # [[ -n "$LIBMAKEPKG_BUILDENV_LTO_SH" ]] && return LIBMAKEPKG_BUILDENV_LTO_SH=1 LIBRARY=${LIBRARY:-'@libmakepkgdir@'} source "$LIBRARY/util/option.sh" build_options+=('lto') buildenv_functionss+=('buildenv_lto') buildenv_lto() { 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 }