diff --git a/configure.ac b/configure.ac --- a/configure.ac +++ b/configure.ac @@ -711,6 +711,18 @@ AC_SUBST(NO_AS_NEEDED) +AC_MSG_CHECKING([for link time optimization -flto]) +save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS -flto" +AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])], + [LTO="-flto" + AC_MSG_RESULT([yes])], + [LTO="" + AC_MSG_RESULT([no])]) +CFLAGS="$save_CFLAGS" +AC_SUBST(LTO) + + # checks for UNIX variants that set C preprocessor variables AC_USE_SYSTEM_EXTENSIONS @@ -1099,11 +1111,11 @@ # debug builds. OPT="-g -O0 -Wall $STRICT_PROTO" else - OPT="-g $WRAP -O3 -Wall $STRICT_PROTO" + OPT="-g $WRAP -O3 -Wall $STRICT_PROTO $LTO" fi ;; *) - OPT="-O3 -Wall $STRICT_PROTO" + OPT="-O3 -Wall $STRICT_PROTO $LTO" ;; esac case $ac_sys_system in