Fix GCC 4.9 plugin needed to handle lto object

This commit is contained in:
lighta
2014-12-19 16:22:58 -05:00
parent 78bcd82039
commit 629af3be48
5 changed files with 111 additions and 22 deletions

View File

@@ -523,14 +523,16 @@ AC_RUN_IFELSE(
# LTO Support test
#
if test "$enable_lto" != "no" ; then
OPT_LTO_AR=""
OPT_LTO=""
OLD_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -flto"
CFLAGS="$CFLAGS -flto -fuse-linker-plugin -ffat-lto-objects"
OLD_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS -flto"
LDFLAGS="$LDFLAGS -flto -fuse-linker-plugin -ffat-lto-objects"
AC_MSG_CHECKING([whether $CC supports -flto])
AC_MSG_CHECKING([whether $CC supports -ffat-lto-objects])
AC_RUN_IFELSE(
[AC_LANG_SOURCE([
int main(int argc, char **argv){
@@ -539,16 +541,42 @@ if test "$enable_lto" != "no" ; then
])],
[
AC_MSG_RESULT([yes])
OPT_LTO_AR="-ffat-lto-objects"
],
[
AC_MSG_RESULT([no])
CFLAGS="$OLD_CFLAGS"
LDFLAGS="$OLD_LDFLAGS"
],
[
AC_MSG_RESULT([guessing no])
]
)
CFLAGS="$OLD_CFLAGS"
LDFLAGS="$OLD_LDFLAGS"
CFLAGS="$CFLAGS -flto -fuse-linker-plugin"
LDFLAGS="$LDFLAGS -flto -fuse-linker-plugin"
AC_MSG_CHECKING([whether $CC supports -flto -fuse-linker-plugin])
AC_RUN_IFELSE(
[AC_LANG_SOURCE([
int main(int argc, char **argv){
return 0;
}
])],
[
AC_MSG_RESULT([yes])
OPT_LTO_AR="-flto -fuse-linker-plugin $OPT_LTO_AR"
OPT_LTO="-flto -fuse-linker-plugin"
],
[
AC_MSG_RESULT([no])
],
[
AC_MSG_RESULT([guessing no])
]
)
CFLAGS="$OLD_CFLAGS"
LDFLAGS="$OLD_LDFLAGS"
fi
@@ -1234,8 +1262,15 @@ else
AC_MSG_RESULT([no])
fi
AC_MSG_NOTICE([Configure finish, CPPFLAGS= $CPPFLAGS])
AC_MSG_NOTICE([LDFLAGS=$LDFLAGS])
CFLAGS="$OPT_LTO $CFLAGS"
CFLAGS_AR="$OPT_LTO_AR $CFLAGS"
AC_SUBST([CFLAGS_AR])
AC_MSG_NOTICE([Configure finish])
AC_MSG_NOTICE([CPPFLAGS= $CPPFLAGS])
AC_MSG_NOTICE([CFLAGS= $CFLAGS])
AC_MSG_NOTICE([CFLAGS_AR= $CFLAGS_AR])
AC_MSG_NOTICE([LDFLAGS= $LDFLAGS])
#AC_MSG_NOTICE([PROD_WARN= $PROD_WARN])
#AC_MSG_NOTICE([EXTRA_WARN= $EXTRA_WARN])
AC_MSG_NOTICE([output name = $output_login, $output_char, $output_map])