summaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics/cairo
diff options
context:
space:
mode:
authorTudor Florea <tudor.florea@enea.com>2015-10-09 22:59:03 +0200
committerTudor Florea <tudor.florea@enea.com>2015-10-09 22:59:03 +0200
commit972dcfcdbfe75dcfeb777150c136576cf1a71e99 (patch)
tree97a61cd7e293d7ae9d56ef7ed0f81253365bb026 /meta/recipes-graphics/cairo
downloadpoky-972dcfcdbfe75dcfeb777150c136576cf1a71e99.tar.gz
initial commit for Enea Linux 5.0 arm
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Diffstat (limited to 'meta/recipes-graphics/cairo')
-rw-r--r--meta/recipes-graphics/cairo/cairo-fpu.inc6
-rw-r--r--meta/recipes-graphics/cairo/cairo.inc39
-rw-r--r--meta/recipes-graphics/cairo/cairo/0001-Remove-LTO-support.patch60
-rw-r--r--meta/recipes-graphics/cairo/cairo_1.12.16.bb47
4 files changed, 152 insertions, 0 deletions
diff --git a/meta/recipes-graphics/cairo/cairo-fpu.inc b/meta/recipes-graphics/cairo/cairo-fpu.inc
new file mode 100644
index 0000000000..ef72e8904b
--- /dev/null
+++ b/meta/recipes-graphics/cairo/cairo-fpu.inc
@@ -0,0 +1,6 @@
1
2def get_cairo_fpu_setting(bb, d):
3 if d.getVar('TARGET_FPU', True) in [ 'soft' ]:
4 return "--disable-some-floating-point"
5 return ""
6
diff --git a/meta/recipes-graphics/cairo/cairo.inc b/meta/recipes-graphics/cairo/cairo.inc
new file mode 100644
index 0000000000..cd375597f0
--- /dev/null
+++ b/meta/recipes-graphics/cairo/cairo.inc
@@ -0,0 +1,39 @@
1SUMMARY = "The Cairo 2D vector graphics library"
2DESCRIPTION = "Cairo is a multi-platform library providing anti-aliased \
3vector-based rendering for multiple target backends. Paths consist \
4of line segments and cubic splines and can be rendered at any width \
5with various join and cap styles. All colors may be specified with \
6optional translucence (opacity/alpha) and combined using the \
7extended Porter/Duff compositing algebra as found in the X Render \
8Extension."
9HOMEPAGE = "http://cairographics.org"
10BUGTRACKER = "http://bugs.freedesktop.org"
11SECTION = "libs"
12LICENSE = "MPL-1 & LGPLv2.1"
13X11DEPENDS = "virtual/libx11 libsm libxrender libxext"
14DEPENDS = "libpng fontconfig pixman glib-2.0 zlib"
15
16PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
17 ${@bb.utils.contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)}"
18PACKAGECONFIG[x11] = "--with-x=yes,--without-x,${X11DEPENDS}"
19PACKAGECONFIG[directfb] = "--enable-directfb=yes,,directfb"
20PACKAGECONFIG[valgrind] = "--enable-valgrind=yes,--disable-valgrind,valgrind"
21PACKAGECONFIG[egl] = "--enable-egl=yes,--disable-egl,virtual/egl"
22PACKAGECONFIG[glesv2] = "--enable-glesv2,--disable-glesv2,virtual/libgles2"
23
24#check for TARGET_FPU=soft and inform configure of the result so it can disable some floating points
25require cairo-fpu.inc
26EXTRA_OECONF += "${@get_cairo_fpu_setting(bb, d)} \
27 --enable-tee \
28 "
29
30inherit autotools pkgconfig
31
32# We don't depend on binutils so we need to disable this
33export ac_cv_lib_bfd_bfd_openr="no"
34# Ensure we don't depend on LZO
35export ac_cv_lib_lzo2_lzo2a_decompress="no"
36
37BBCLASSEXTEND = "native"
38
39CFLAGS += "-ffat-lto-objects"
diff --git a/meta/recipes-graphics/cairo/cairo/0001-Remove-LTO-support.patch b/meta/recipes-graphics/cairo/cairo/0001-Remove-LTO-support.patch
new file mode 100644
index 0000000000..87297b25b4
--- /dev/null
+++ b/meta/recipes-graphics/cairo/cairo/0001-Remove-LTO-support.patch
@@ -0,0 +1,60 @@
1From bdf15c249130568093676ed3b6c91f6f5e06f089 Mon Sep 17 00:00:00 2001
2From: Uli Schlachter <psychon@znc.in>
3Date: Mon, 21 Jul 2014 17:10:16 +0200
4Subject: [PATCH] Remove LTO support
5
6This just never worked too well and caused too many issues. I don't think anyone
7will miss this.
8
9As mentioned in the below bug report, proper LTO support also requires using
10special versions of ranlib, nm and ar which support the LTO object files.
11Otherwise, calling the normal ranlib on an .a library breaks the list of
12exported symbols and thus completely breaks the static library.
13
14This (partly) reverts the following commits:
15
16c3645d97ebd24c6f7ad850785d585aebc706a11c configure.ac: Add a --disable-lto configure option
17d486ea30f1a58640a1178de74f705a73845b1cda configure: Conditionally include -flto
180870c6fb5b39dcc04fa376123848adde2d06d2ce gcc-4.5 warnings and optimisation flags.
19
20(The last commit is the one which brought us -flto in the first place even
21though it doesn't talk about this. It's also the one which is only reverted
22partly.)
23
24Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=77060
25CC: Chris Wilson <chris@chris-wilson.co.uk>
26Signed-off-by: Uli Schlachter <psychon@znc.in>
27Reviewed-by: Bryce Harrington <b.harrington@samsung.com>
28Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
29
30Upstream-Status: Backport (will be in 1.14*)
31Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
32---
33 build/configure.ac.warnings | 11 -----------
34 1 file changed, 11 deletions(-)
35
36diff --git a/build/configure.ac.warnings b/build/configure.ac.warnings
37index f984eb2..2c4e34d 100644
38--- a/build/configure.ac.warnings
39+++ b/build/configure.ac.warnings
40@@ -35,17 +35,6 @@ MAYBE_WARN="$MAYBE_WARN -erroff=E_ENUM_TYPE_MISMATCH_ARG \
41
42 dnl We also abuse the warning-flag facility to enable other compiler
43 dnl options. Namely, the following:
44-
45-dnl -flto working really needs a test link, not just a compile
46-
47-safe_MAYBE_WARN="$MAYBE_WARN"
48-MAYBE_WARN="$MAYBE_WARN -flto"
49-AC_TRY_LINK([],[
50- int main(int argc, char **argv) { return 0; }
51-],[],[
52- MAYBE_WARN="$safe_MAYBE_WARN"
53-])
54-
55 MAYBE_WARN="$MAYBE_WARN -fno-strict-aliasing -fno-common"
56
57 dnl Also to turn various gcc/glibc-specific preprocessor checks
58--
592.0.2
60
diff --git a/meta/recipes-graphics/cairo/cairo_1.12.16.bb b/meta/recipes-graphics/cairo/cairo_1.12.16.bb
new file mode 100644
index 0000000000..42f7682607
--- /dev/null
+++ b/meta/recipes-graphics/cairo/cairo_1.12.16.bb
@@ -0,0 +1,47 @@
1require cairo.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=e73e999e0c72b5ac9012424fa157ad77"
4
5SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.xz \
6 file://0001-Remove-LTO-support.patch \
7"
8
9SRC_URI[md5sum] = "a1304edcdc99282f478b995ee5f8f854"
10SRC_URI[sha256sum] = "2505959eb3f1de3e1841023b61585bfd35684b9733c7b6a3643f4f4cbde6d846"
11
12PACKAGES =+ "cairo-gobject cairo-script-interpreter cairo-perf-utils"
13
14SUMMARY_${PN} = "The Cairo 2D vector graphics library"
15DESCRIPTION_${PN} = "Cairo is a multi-platform library providing anti-aliased \
16vector-based rendering for multiple target backends. Paths consist \
17of line segments and cubic splines and can be rendered at any width \
18with various join and cap styles. All colors may be specified with \
19optional translucence (opacity/alpha) and combined using the \
20extended Porter/Duff compositing algebra as found in the X Render \
21Extension."
22
23SUMMARY_cairo-gobject = "The Cairo library GObject wrapper library"
24DESCRIPTION_cairo-gobject = "A GObject wrapper library for the Cairo API."
25
26SUMMARY_cairo-script-interpreter = "The Cairo library script interpreter"
27DESCRIPTION_cairo-script-interpreter = "The Cairo script interpreter implements \
28CairoScript. CairoScript is used by tracing utilities to enable the ability \
29to replay rendering."
30
31DESCRIPTION_cairo-perf-utils = "The Cairo library performance utilities"
32
33FILES_${PN} = "${libdir}/libcairo.so.*"
34FILES_${PN}-dev += "${libdir}/cairo/*.la ${libdir}/cairo/*.so"
35#FILES_${PN}-dbg += "${libdir}/cairo/.debug"
36#FILES_${PN}-staticdev += "${libdir}/cairo/*.a"
37FILES_cairo-gobject = "${libdir}/libcairo-gobject.so.*"
38FILES_cairo-script-interpreter = "${libdir}/libcairo-script-interpreter.so.*"
39FILES_cairo-perf-utils = "${bindir}/cairo-trace ${libdir}/cairo/libcairo-trace.so.*"
40
41do_install_append () {
42 rm -rf ${D}${bindir}/cairo-sphinx
43 rm -rf ${D}${libdir}/cairo/cairo-fdr*
44 rm -rf ${D}${libdir}/cairo/cairo-sphinx*
45 rm -rf ${D}${libdir}/cairo/.debug/cairo-fdr*
46 rm -rf ${D}${libdir}/cairo/.debug/cairo-sphinx*
47}