Enable LTO switch for configure script and automake 1.14 fix
This commit is contained in:
@@ -60,7 +60,8 @@ src/libtomcrypt/Release-*
|
|||||||
src/libtommath/build-*
|
src/libtommath/build-*
|
||||||
src/libtommath/Release-*
|
src/libtommath/Release-*
|
||||||
src/*.old
|
src/*.old
|
||||||
src/.deps
|
*/.deps
|
||||||
|
*/.dirstamp
|
||||||
src/*.a
|
src/*.a
|
||||||
src/*.so
|
src/*.so
|
||||||
GtkModule.so
|
GtkModule.so
|
||||||
|
|||||||
@@ -48,6 +48,37 @@ case $compile in
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(lto, AS_HELP_STRING([--enable-lto], [Enable LTO]), enable_lto=$enableval, enable_lto=no)
|
||||||
|
if test x$enable_lto = xyes; then
|
||||||
|
if test "$CXX" != "g++"; then
|
||||||
|
AC_MSG_ERROR([g++ compiler is needed to use lto (if you have it installed, pass CXX=g++ to ./configure)])
|
||||||
|
fi
|
||||||
|
gxx_version="`g++ -dumpversion`"
|
||||||
|
gxx_version_major=$(echo $gxx_version | cut -d'.' -f1)
|
||||||
|
gxx_version_minor=$(echo $gxx_version | cut -d'.' -f2)
|
||||||
|
if test [ "$gxx_version_major" -lt "4" ] || test [ "$gxx_version_minor" -lt "5" ]; then
|
||||||
|
AC_MSG_ERROR([Your g++ version is too old and doesn't support lto])
|
||||||
|
fi
|
||||||
|
CFLAGS="$CFLAGS -O0 -flto"
|
||||||
|
CXXFLAGS="$CXXFLAGS -O0 -flto"
|
||||||
|
LDFLAGS="$LDFLAGS -flto"
|
||||||
|
case $compile in
|
||||||
|
release)
|
||||||
|
LDFLAGS="$LDFLAGS -O3"
|
||||||
|
;;
|
||||||
|
debug)
|
||||||
|
LDFLAGS="$LDFLAGS -g"
|
||||||
|
;;
|
||||||
|
fast)
|
||||||
|
LDFLAGS="$LDFLAGS -O2 -fno-inline"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
if test [ "$gxx_version_minor" -ge "8" ]; then
|
||||||
|
CFLAGS="$CFLAGS -fno-fat-lto-objects"
|
||||||
|
CXXFLAGS="$CXXFLAGS -fno-fat-lto-objects"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Some (broken?) versions of gcc treat char as unsigned, check for that.
|
# Some (broken?) versions of gcc treat char as unsigned, check for that.
|
||||||
AC_LANG_PUSH([C])
|
AC_LANG_PUSH([C])
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
AUTOMAKE_OPTIONS = subdir-objects
|
||||||
|
|
||||||
## Do not install stepmania in the traditional way.
|
## Do not install stepmania in the traditional way.
|
||||||
noinst_PROGRAMS = stepmania
|
noinst_PROGRAMS = stepmania
|
||||||
TESTS =
|
TESTS =
|
||||||
|
|||||||
Reference in New Issue
Block a user