diff options
author | Tudor Florea <tudor.florea@enea.com> | 2015-10-09 22:59:03 +0200 |
---|---|---|
committer | Tudor Florea <tudor.florea@enea.com> | 2015-10-09 22:59:03 +0200 |
commit | 972dcfcdbfe75dcfeb777150c136576cf1a71e99 (patch) | |
tree | 97a61cd7e293d7ae9d56ef7ed0f81253365bb026 /meta/recipes-graphics/cairo | |
download | poky-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.inc | 6 | ||||
-rw-r--r-- | meta/recipes-graphics/cairo/cairo.inc | 39 | ||||
-rw-r--r-- | meta/recipes-graphics/cairo/cairo/0001-Remove-LTO-support.patch | 60 | ||||
-rw-r--r-- | meta/recipes-graphics/cairo/cairo_1.12.16.bb | 47 |
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 | |||
2 | def 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 @@ | |||
1 | SUMMARY = "The Cairo 2D vector graphics library" | ||
2 | DESCRIPTION = "Cairo is a multi-platform library providing anti-aliased \ | ||
3 | vector-based rendering for multiple target backends. Paths consist \ | ||
4 | of line segments and cubic splines and can be rendered at any width \ | ||
5 | with various join and cap styles. All colors may be specified with \ | ||
6 | optional translucence (opacity/alpha) and combined using the \ | ||
7 | extended Porter/Duff compositing algebra as found in the X Render \ | ||
8 | Extension." | ||
9 | HOMEPAGE = "http://cairographics.org" | ||
10 | BUGTRACKER = "http://bugs.freedesktop.org" | ||
11 | SECTION = "libs" | ||
12 | LICENSE = "MPL-1 & LGPLv2.1" | ||
13 | X11DEPENDS = "virtual/libx11 libsm libxrender libxext" | ||
14 | DEPENDS = "libpng fontconfig pixman glib-2.0 zlib" | ||
15 | |||
16 | PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ | ||
17 | ${@bb.utils.contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)}" | ||
18 | PACKAGECONFIG[x11] = "--with-x=yes,--without-x,${X11DEPENDS}" | ||
19 | PACKAGECONFIG[directfb] = "--enable-directfb=yes,,directfb" | ||
20 | PACKAGECONFIG[valgrind] = "--enable-valgrind=yes,--disable-valgrind,valgrind" | ||
21 | PACKAGECONFIG[egl] = "--enable-egl=yes,--disable-egl,virtual/egl" | ||
22 | PACKAGECONFIG[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 | ||
25 | require cairo-fpu.inc | ||
26 | EXTRA_OECONF += "${@get_cairo_fpu_setting(bb, d)} \ | ||
27 | --enable-tee \ | ||
28 | " | ||
29 | |||
30 | inherit autotools pkgconfig | ||
31 | |||
32 | # We don't depend on binutils so we need to disable this | ||
33 | export ac_cv_lib_bfd_bfd_openr="no" | ||
34 | # Ensure we don't depend on LZO | ||
35 | export ac_cv_lib_lzo2_lzo2a_decompress="no" | ||
36 | |||
37 | BBCLASSEXTEND = "native" | ||
38 | |||
39 | CFLAGS += "-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 @@ | |||
1 | From bdf15c249130568093676ed3b6c91f6f5e06f089 Mon Sep 17 00:00:00 2001 | ||
2 | From: Uli Schlachter <psychon@znc.in> | ||
3 | Date: Mon, 21 Jul 2014 17:10:16 +0200 | ||
4 | Subject: [PATCH] Remove LTO support | ||
5 | |||
6 | This just never worked too well and caused too many issues. I don't think anyone | ||
7 | will miss this. | ||
8 | |||
9 | As mentioned in the below bug report, proper LTO support also requires using | ||
10 | special versions of ranlib, nm and ar which support the LTO object files. | ||
11 | Otherwise, calling the normal ranlib on an .a library breaks the list of | ||
12 | exported symbols and thus completely breaks the static library. | ||
13 | |||
14 | This (partly) reverts the following commits: | ||
15 | |||
16 | c3645d97ebd24c6f7ad850785d585aebc706a11c configure.ac: Add a --disable-lto configure option | ||
17 | d486ea30f1a58640a1178de74f705a73845b1cda configure: Conditionally include -flto | ||
18 | 0870c6fb5b39dcc04fa376123848adde2d06d2ce gcc-4.5 warnings and optimisation flags. | ||
19 | |||
20 | (The last commit is the one which brought us -flto in the first place even | ||
21 | though it doesn't talk about this. It's also the one which is only reverted | ||
22 | partly.) | ||
23 | |||
24 | Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=77060 | ||
25 | CC: Chris Wilson <chris@chris-wilson.co.uk> | ||
26 | Signed-off-by: Uli Schlachter <psychon@znc.in> | ||
27 | Reviewed-by: Bryce Harrington <b.harrington@samsung.com> | ||
28 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
29 | |||
30 | Upstream-Status: Backport (will be in 1.14*) | ||
31 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
32 | --- | ||
33 | build/configure.ac.warnings | 11 ----------- | ||
34 | 1 file changed, 11 deletions(-) | ||
35 | |||
36 | diff --git a/build/configure.ac.warnings b/build/configure.ac.warnings | ||
37 | index 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 | -- | ||
59 | 2.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 @@ | |||
1 | require cairo.inc | ||
2 | |||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=e73e999e0c72b5ac9012424fa157ad77" | ||
4 | |||
5 | SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.xz \ | ||
6 | file://0001-Remove-LTO-support.patch \ | ||
7 | " | ||
8 | |||
9 | SRC_URI[md5sum] = "a1304edcdc99282f478b995ee5f8f854" | ||
10 | SRC_URI[sha256sum] = "2505959eb3f1de3e1841023b61585bfd35684b9733c7b6a3643f4f4cbde6d846" | ||
11 | |||
12 | PACKAGES =+ "cairo-gobject cairo-script-interpreter cairo-perf-utils" | ||
13 | |||
14 | SUMMARY_${PN} = "The Cairo 2D vector graphics library" | ||
15 | DESCRIPTION_${PN} = "Cairo is a multi-platform library providing anti-aliased \ | ||
16 | vector-based rendering for multiple target backends. Paths consist \ | ||
17 | of line segments and cubic splines and can be rendered at any width \ | ||
18 | with various join and cap styles. All colors may be specified with \ | ||
19 | optional translucence (opacity/alpha) and combined using the \ | ||
20 | extended Porter/Duff compositing algebra as found in the X Render \ | ||
21 | Extension." | ||
22 | |||
23 | SUMMARY_cairo-gobject = "The Cairo library GObject wrapper library" | ||
24 | DESCRIPTION_cairo-gobject = "A GObject wrapper library for the Cairo API." | ||
25 | |||
26 | SUMMARY_cairo-script-interpreter = "The Cairo library script interpreter" | ||
27 | DESCRIPTION_cairo-script-interpreter = "The Cairo script interpreter implements \ | ||
28 | CairoScript. CairoScript is used by tracing utilities to enable the ability \ | ||
29 | to replay rendering." | ||
30 | |||
31 | DESCRIPTION_cairo-perf-utils = "The Cairo library performance utilities" | ||
32 | |||
33 | FILES_${PN} = "${libdir}/libcairo.so.*" | ||
34 | FILES_${PN}-dev += "${libdir}/cairo/*.la ${libdir}/cairo/*.so" | ||
35 | #FILES_${PN}-dbg += "${libdir}/cairo/.debug" | ||
36 | #FILES_${PN}-staticdev += "${libdir}/cairo/*.a" | ||
37 | FILES_cairo-gobject = "${libdir}/libcairo-gobject.so.*" | ||
38 | FILES_cairo-script-interpreter = "${libdir}/libcairo-script-interpreter.so.*" | ||
39 | FILES_cairo-perf-utils = "${bindir}/cairo-trace ${libdir}/cairo/libcairo-trace.so.*" | ||
40 | |||
41 | do_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 | } | ||