summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2016-12-14 16:06:08 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-12-17 09:57:03 +0000
commit0c263ea07f3922bd91f183b0088593e5180c0720 (patch)
tree5ed20dfd3612a304df77edb7619a3b404e2da08c
parent76eb1c715e4b5515480e313d7517f0b814123cfa (diff)
downloadpoky-0c263ea07f3922bd91f183b0088593e5180c0720.tar.gz
fontconfig: Fix namespace conflicts with glibc
glibc 2.25 will come with TS 18661-1 macro definitions in limits.h which ends with following errors | ../../fontconfig-2.12.1/src/fcmatch.c:324:63: error: 'PRI_CHAR_WIDTH_STRONG' undeclared here (not in a function) | #define FC_OBJECT(NAME, Type, Cmp) { FC_##NAME##_OBJECT, Cmp, PRI_##NAME##_STRONG, PRI_##NAME##_WEAK }, | ^ | ../../fontconfig-2.12.1/src/fcobjs.h:54:1: note: in expansion of macro 'FC_OBJECT' | FC_OBJECT (CHAR_WIDTH, FcTypeInteger, NULL) | ^~~~~~~~~ | ../../fontconfig-2.12.1/src/fcmatch.c:324:84: error: 'PRI_CHAR_WIDTH_WEAK' undeclared here (not in a function) | #define FC_OBJECT(NAME, Type, Cmp) { FC_##NAME##_OBJECT, Cmp, PRI_##NAME##_STRONG, PRI_##NAME##_WEAK }, | ^ | ../../fontconfig-2.12.1/src/fcobjs.h:54:1: note: in expansion of macro 'FC_OBJECT' | FC_OBJECT (CHAR_WIDTH, FcTypeInteger, NULL) | ^~~~~~~~~ | make[3]: *** [Makefile:632: fcmatch.lo] Error 1 (From OE-Core rev: 3575826752e7140da493c7f560fb5fcf483fc9b4) (From OE-Core rev: 7687234ff0f36ae943ca17624da9cdd8da0da83b) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-graphics/fontconfig/fontconfig/0001-Avoid-conflicts-with-integer-width-macros-from-TS-18.patch72
-rw-r--r--meta/recipes-graphics/fontconfig/fontconfig_2.12.1.bb1
2 files changed, 73 insertions, 0 deletions
diff --git a/meta/recipes-graphics/fontconfig/fontconfig/0001-Avoid-conflicts-with-integer-width-macros-from-TS-18.patch b/meta/recipes-graphics/fontconfig/fontconfig/0001-Avoid-conflicts-with-integer-width-macros-from-TS-18.patch
new file mode 100644
index 0000000000..cad71707ad
--- /dev/null
+++ b/meta/recipes-graphics/fontconfig/fontconfig/0001-Avoid-conflicts-with-integer-width-macros-from-TS-18.patch
@@ -0,0 +1,72 @@
1From 20cddc824c6501c2082cac41b162c34cd5fcc530 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 11 Dec 2016 14:32:00 -0800
4Subject: [PATCH] Avoid conflicts with integer width macros from TS
5 18661-1:2014
6
7glibc 2.25+ has now defined these macros in <limits.h>
8https://sourceware.org/git/?p=glibc.git;a=commit;h=5b17fd0da62bf923cb61d1bb7b08cf2e1f1f9c1a
9
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11---
12Upstream-Status: Submitted
13
14 fontconfig/fontconfig.h | 2 +-
15 src/fcobjs.h | 2 +-
16 src/fcobjshash.gperf | 2 +-
17 src/fcobjshash.h | 2 +-
18 4 files changed, 4 insertions(+), 4 deletions(-)
19
20Index: fontconfig-2.12.1/fontconfig/fontconfig.h
21===================================================================
22--- fontconfig-2.12.1.orig/fontconfig/fontconfig.h
23+++ fontconfig-2.12.1/fontconfig/fontconfig.h
24@@ -128,7 +128,8 @@ typedef int FcBool;
25 #define FC_USER_CACHE_FILE ".fonts.cache-" FC_CACHE_VERSION
26
27 /* Adjust outline rasterizer */
28-#define FC_CHAR_WIDTH "charwidth" /* Int */
29+#define FC_CHARWIDTH "charwidth" /* Int */
30+#define FC_CHAR_WIDTH FC_CHARWIDTH
31 #define FC_CHAR_HEIGHT "charheight"/* Int */
32 #define FC_MATRIX "matrix" /* FcMatrix */
33
34Index: fontconfig-2.12.1/src/fcobjs.h
35===================================================================
36--- fontconfig-2.12.1.orig/src/fcobjs.h
37+++ fontconfig-2.12.1/src/fcobjs.h
38@@ -51,7 +51,7 @@ FC_OBJECT (DPI, FcTypeDouble, NULL)
39 FC_OBJECT (RGBA, FcTypeInteger, NULL)
40 FC_OBJECT (SCALE, FcTypeDouble, NULL)
41 FC_OBJECT (MINSPACE, FcTypeBool, NULL)
42-FC_OBJECT (CHAR_WIDTH, FcTypeInteger, NULL)
43+FC_OBJECT (CHARWIDTH, FcTypeInteger, NULL)
44 FC_OBJECT (CHAR_HEIGHT, FcTypeInteger, NULL)
45 FC_OBJECT (MATRIX, FcTypeMatrix, NULL)
46 FC_OBJECT (CHARSET, FcTypeCharSet, FcCompareCharSet)
47Index: fontconfig-2.12.1/src/fcobjshash.gperf
48===================================================================
49--- fontconfig-2.12.1.orig/src/fcobjshash.gperf
50+++ fontconfig-2.12.1/src/fcobjshash.gperf
51@@ -44,7 +44,7 @@ int id;
52 "rgba",FC_RGBA_OBJECT
53 "scale",FC_SCALE_OBJECT
54 "minspace",FC_MINSPACE_OBJECT
55-"charwidth",FC_CHAR_WIDTH_OBJECT
56+"charwidth",FC_CHARWIDTH_OBJECT
57 "charheight",FC_CHAR_HEIGHT_OBJECT
58 "matrix",FC_MATRIX_OBJECT
59 "charset",FC_CHARSET_OBJECT
60Index: fontconfig-2.12.1/src/fcobjshash.h
61===================================================================
62--- fontconfig-2.12.1.orig/src/fcobjshash.h
63+++ fontconfig-2.12.1/src/fcobjshash.h
64@@ -284,7 +284,7 @@ FcObjectTypeLookup (register const char
65 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str43,FC_CHARSET_OBJECT},
66 {-1},
67 #line 47 "fcobjshash.gperf"
68- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str45,FC_CHAR_WIDTH_OBJECT},
69+ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str45,FC_CHARWIDTH_OBJECT},
70 #line 48 "fcobjshash.gperf"
71 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str46,FC_CHAR_HEIGHT_OBJECT},
72 #line 55 "fcobjshash.gperf"
diff --git a/meta/recipes-graphics/fontconfig/fontconfig_2.12.1.bb b/meta/recipes-graphics/fontconfig/fontconfig_2.12.1.bb
index 115f558eef..8616154c61 100644
--- a/meta/recipes-graphics/fontconfig/fontconfig_2.12.1.bb
+++ b/meta/recipes-graphics/fontconfig/fontconfig_2.12.1.bb
@@ -22,6 +22,7 @@ DEPENDS = "expat freetype zlib"
22 22
23SRC_URI = "http://fontconfig.org/release/fontconfig-${PV}.tar.gz \ 23SRC_URI = "http://fontconfig.org/release/fontconfig-${PV}.tar.gz \
24 file://revert-static-pkgconfig.patch \ 24 file://revert-static-pkgconfig.patch \
25 file://0001-Avoid-conflicts-with-integer-width-macros-from-TS-18.patch \
25 " 26 "
26SRC_URI[md5sum] = "ce55e525c37147eee14cc2de6cc09f6c" 27SRC_URI[md5sum] = "ce55e525c37147eee14cc2de6cc09f6c"
27SRC_URI[sha256sum] = "a9f42d03949f948a3a4f762287dbc16e53a927c91a07ee64207ebd90a9e5e292" 28SRC_URI[sha256sum] = "a9f42d03949f948a3a4f762287dbc16e53a927c91a07ee64207ebd90a9e5e292"