[cairo] [PATCH 3/4] configure.ac: Add a --disable-lto configure option

Bryce W. Harrington b.harrington at samsung.com
Tue Jul 8 18:13:37 PDT 2014


Link-Time Optimization seems to be stable enough with gcc 4.8 and 4.9,
but has proven to be an issue in the past for many cairo users (webkit,
efl, ubuntu, opensuse, gentoo, arch...) who carry patches to disable it.

Gentoo's patch[1] adds a --disable-lto option to leave it enabled by
default but give users the ability to work around lto related build
problems (c.f. fdo #77060).

1: sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-libs/cairo/files/cairo-1.12.16-lto-optional.patch

Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=60852
Signed-off-by: Bryce Harrington <b.harrington at samsung.com>
---
 build/configure.ac.warnings |   15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/build/configure.ac.warnings b/build/configure.ac.warnings
index f984eb2..a72d948 100644
--- a/build/configure.ac.warnings
+++ b/build/configure.ac.warnings
@@ -38,13 +38,18 @@ dnl options.  Namely, the following:
 
 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([],[
+AC_ARG_ENABLE(lto,
+  AS_HELP_STRING([--disable-lto],
+                 [Do not try to use Link-Time Optimization]))
+if test "x$enable_lto" != "xno"; then
+   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
 
 MAYBE_WARN="$MAYBE_WARN -fno-strict-aliasing -fno-common"
 
-- 
1.7.9.5


More information about the cairo mailing list