This file is part of MXE. See index.html for further information. Add an option to disable LTO which breaks static linking. diff -Naur cairo-1.12.16/build/configure.ac.warnings cairo-1.12.16.new/build/configure.ac.warnings --- cairo-1.12.16/build/configure.ac.warnings 2013-08-26 08:07:21.000000000 -0700 +++ cairo-1.12.16.new/build/configure.ac.warnings 2014-05-08 20:08:11.296371571 -0700 @@ -36,14 +36,30 @@ dnl We also abuse the warning-flag facility to enable other compiler dnl options. Namely, the following: -dnl -flto working really needs a test link, not just a compile +AC_ARG_ENABLE(lto, + AS_HELP_STRING([--enable-lto], + [Enable link-time optimization.]), [ +if test "x$enableval" = "xyes"; then + dnl -flto working really needs a test link, not just a compile -safe_MAYBE_WARN="$MAYBE_WARN" -MAYBE_WARN="$MAYBE_WARN -flto" -AC_TRY_LINK([],[ - int main(int argc, char **argv) { return 0; } -],[],[ - MAYBE_WARN="$safe_MAYBE_WARN" + safe_MAYBE_WARN="$MAYBE_WARN" + MAYBE_WARN="$MAYBE_WARN -flto" + AC_TRY_LINK([],[ + int main(int argc, char **argv) { return 0; } + ],[],[ + MAYBE_WARN="$safe_MAYBE_WARN" + ]) +fi +], [ + dnl -flto working really needs a test link, not just a compile + + safe_MAYBE_WARN="$MAYBE_WARN" + MAYBE_WARN="$MAYBE_WARN -flto" + AC_TRY_LINK([],[ + int main(int argc, char **argv) { return 0; } + ],[],[ + MAYBE_WARN="$safe_MAYBE_WARN" + ]) ]) MAYBE_WARN="$MAYBE_WARN -fno-strict-aliasing -fno-common"