Cairo always uses LTO, when it detects compiler support.
LTO is buggy in many/all versions of GCC and shouldn't be enabled by default.
Cairo 1.12.16 is out, gcc 4.8.2 and 4.9. Is this still issue?
It seems to work fine. Compilation would probably fail if Cairo would be affected by GCC bug.
A number of distros ship cairo with patches to disable lto, so presumably this issue is still relevant.
Gentoo includes a patch that adds a --disable-lto option. We should pull that upstream to give everyone a consistent way to work around this.
Author: Bryce Harrington <email@example.com>
Date: Tue Jul 8 13:14:20 2014 -0700
configure.ac: Add a --disable-lto configure option
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 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). Patch appears to have been authored by
Signed-off-by: Bryce Harrington <firstname.lastname@example.org>
Reviewed-by: Uli Schlachter <email@example.com>