summaryrefslogtreecommitdiff
path: root/cairo
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@suse.cz>2013-06-26 15:13:54 +0200
committerLuboš Luňák <l.lunak@suse.cz>2013-06-26 15:47:10 +0200
commit8a1cc1449c26b7b5a46f258aabf13c28a9dbebb8 (patch)
treeaefaeae546c1bbbbdd0ba691a8a58bb711f14aaa /cairo
parent898119906a915700a6bc313c3579c78b2fce55fe (diff)
prevent cairo from using -flto with clang, cairo uses it incorrectly
The option should be used also at link time (as e.g. the gcc man page says), but cairo doesn't do so, and since -flto makes clang generate .o with LLVM bytecode, plain ld chokes on it. Change-Id: Ia5ce9a98afa4f88b8d0943a5971450d7009af913 Signed-off-by: Michael Stahl <mstahl@redhat.com>
Diffstat (limited to 'cairo')
-rw-r--r--cairo/UnpackedTarball_cairo.mk6
-rw-r--r--cairo/cairo/no-flto-clang.patch11
2 files changed, 17 insertions, 0 deletions
diff --git a/cairo/UnpackedTarball_cairo.mk b/cairo/UnpackedTarball_cairo.mk
index fd14ffe4c7dd..93cd015bca8e 100644
--- a/cairo/UnpackedTarball_cairo.mk
+++ b/cairo/UnpackedTarball_cairo.mk
@@ -41,4 +41,10 @@ ifneq (,$(filter ANDROID IOS,$(OS)))
$(eval $(call gb_UnpackedTarball_add_file,cairo,.,cairo/cairo/dummy_pkg_config))
endif
+ifeq ($(COM_GCC_IS_CLANG),TRUE)
+$(eval $(call gb_UnpackedTarball_add_patches,cairo,\
+ cairo/cairo/no-flto-clang.patch \
+))
+endif
+
# vim: set noet sw=4 ts=4:
diff --git a/cairo/cairo/no-flto-clang.patch b/cairo/cairo/no-flto-clang.patch
new file mode 100644
index 000000000000..725f4843eda9
--- /dev/null
+++ b/cairo/cairo/no-flto-clang.patch
@@ -0,0 +1,11 @@
+--- misc/cairo-1.10.2/configure.sav 2013-06-26 15:00:42.000000000 +0200
++++ misc/cairo-1.10.2/configure 2013-06-26 15:03:36.995117032 +0200
+@@ -17236,7 +17236,7 @@ MAYBE_WARN="-Wall -Wextra \
+ MAYBE_WARN="$MAYBE_WARN -erroff=E_ENUM_TYPE_MISMATCH_ARG \
+ -erroff=E_ENUM_TYPE_MISMATCH_OP"
+
+-MAYBE_WARN="$MAYBE_WARN -fno-strict-aliasing -fno-common -flto"
++MAYBE_WARN="$MAYBE_WARN -fno-strict-aliasing -fno-common"
+
+ MAYBE_WARN="$MAYBE_WARN -Wp,-D_FORTIFY_SOURCE=2"
+