diff options
Diffstat (limited to 'meta/recipes-devtools/pkgconfig')
3 files changed, 214 insertions, 0 deletions
diff --git a/meta/recipes-devtools/pkgconfig/pkgconfig/0001-autotools-remove-support-for-the-__int64-type.-See-1.patch b/meta/recipes-devtools/pkgconfig/pkgconfig/0001-autotools-remove-support-for-the-__int64-type.-See-1.patch new file mode 100644 index 0000000000..bee4585724 --- /dev/null +++ b/meta/recipes-devtools/pkgconfig/pkgconfig/0001-autotools-remove-support-for-the-__int64-type.-See-1.patch | |||
@@ -0,0 +1,144 @@ | |||
1 | From 7e821441c482917e54435a07893272d87d3ad9e5 Mon Sep 17 00:00:00 2001 | ||
2 | From: Christoph Reiter <reiter.christoph@gmail.com> | ||
3 | Date: Fri, 24 Aug 2018 19:43:04 +0200 | ||
4 | Subject: [PATCH] autotools: remove support for the __int64 type. See #1313 | ||
5 | |||
6 | __int64 was the 64bit type for Visual Studio before it added support for | ||
7 | "long long" with VS2013. I think this was used to build glib with mingw and | ||
8 | make the result usable for VS 6.0 which didn't support "long long" (??) | ||
9 | |||
10 | Given that newer MSVC links against a different crt and mixing is not supported | ||
11 | and everything supports "long long" nowadays just remove it. | ||
12 | |||
13 | This is also a cleanup for printf format changes needed for #1497 | ||
14 | |||
15 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
16 | Upstream-Status: Backport [https://github.com/GNOME/glib/commit/7e821441c4] | ||
17 | --- | ||
18 | configure.ac | 43 ++++--------------------------------------- | ||
19 | 1 file changed, 4 insertions(+), 39 deletions(-) | ||
20 | |||
21 | --- a/glib/configure.ac | ||
22 | +++ b/glib/configure.ac | ||
23 | @@ -550,7 +550,6 @@ AC_CHECK_SIZEOF(long) | ||
24 | AC_CHECK_SIZEOF(int) | ||
25 | AC_CHECK_SIZEOF(void *) | ||
26 | AC_CHECK_SIZEOF(long long) | ||
27 | -AC_CHECK_SIZEOF(__int64) | ||
28 | |||
29 | AC_CACHE_CHECK([for sig_atomic_t], ac_cv_type_sig_atomic_t, | ||
30 | [AC_TRY_LINK([#include <signal.h> | ||
31 | @@ -564,7 +563,7 @@ if test x$ac_cv_type_sig_atomic_t = xyes | ||
32 | [Define if you have the 'sig_atomic_t' type.]) | ||
33 | fi | ||
34 | |||
35 | -if test x$ac_cv_sizeof_long = x8 || test x$ac_cv_sizeof_long_long = x8 || test x$ac_cv_sizeof___int64 = x8 ; then | ||
36 | +if test x$ac_cv_sizeof_long = x8 || test x$ac_cv_sizeof_long_long = x8 ; then | ||
37 | : | ||
38 | else | ||
39 | AC_MSG_ERROR([ | ||
40 | @@ -573,7 +572,7 @@ else | ||
41 | ]) | ||
42 | fi | ||
43 | |||
44 | -AS_IF([test x$glib_native_win32 != xyes && test x$ac_cv_sizeof_long_long = x8], [ | ||
45 | +AS_IF([test x$ac_cv_sizeof_long_long = x8], [ | ||
46 | # long long is a 64 bit integer. | ||
47 | AC_MSG_CHECKING(for format to printf and scanf a guint64) | ||
48 | AC_CACHE_VAL(glib_cv_long_long_format,[ | ||
49 | @@ -599,14 +598,6 @@ AS_IF([test x$glib_native_win32 != xyes | ||
50 | AC_DEFINE(HAVE_INT64_AND_I64,1,[define to support printing 64-bit integers with format I64]) | ||
51 | fi | ||
52 | ], [AC_MSG_RESULT(none)]) | ||
53 | -],[ test x$ac_cv_sizeof___int64 = x8], [ | ||
54 | - # __int64 is a 64 bit integer. | ||
55 | - AC_MSG_CHECKING(for format to printf and scanf a guint64) | ||
56 | - # We know this is MSVCRT.DLL, and what the formats are | ||
57 | - glib_cv_long_long_format=I64 | ||
58 | - AC_MSG_RESULT(%${glib_cv_long_long_format}u) | ||
59 | - AC_DEFINE(HAVE_LONG_LONG_FORMAT,1,[define if system printf can print long long]) | ||
60 | - AC_DEFINE(HAVE_INT64_AND_I64,1,[define to support printing 64-bit integers with format I64]) | ||
61 | ]) | ||
62 | |||
63 | AC_C_CONST | ||
64 | @@ -872,9 +863,6 @@ case $ac_cv_sizeof_size_t in | ||
65 | $ac_cv_sizeof_long_long) | ||
66 | glib_size_type='long long' | ||
67 | ;; | ||
68 | - $ac_cv_sizeof__int64) | ||
69 | - glib_size_type='__int64' | ||
70 | - ;; | ||
71 | *) AC_MSG_ERROR([No type matching size_t in size]) | ||
72 | ;; | ||
73 | esac | ||
74 | @@ -931,9 +919,6 @@ case $ac_cv_sizeof_ssize_t in | ||
75 | $ac_cv_sizeof_long_long) | ||
76 | glib_ssize_type='long long' | ||
77 | ;; | ||
78 | - $ac_cv_sizeof__int64) | ||
79 | - glib_ssize_type='__int64' | ||
80 | - ;; | ||
81 | *) AC_MSG_ERROR([No type matching ssize_t in size]) | ||
82 | ;; | ||
83 | esac | ||
84 | @@ -2985,17 +2970,6 @@ $ac_cv_sizeof_long_long) | ||
85 | gint64_constant='(G_GNUC_EXTENSION (val##LL))' | ||
86 | guint64_constant='(G_GNUC_EXTENSION (val##ULL))' | ||
87 | ;; | ||
88 | -$ac_cv_sizeof___int64) | ||
89 | - gint64='__int64' | ||
90 | - if test -n "$glib_cv_long_long_format"; then | ||
91 | - gint64_modifier='"'$glib_cv_long_long_format'"' | ||
92 | - gint64_format='"'$glib_cv_long_long_format'i"' | ||
93 | - guint64_format='"'$glib_cv_long_long_format'u"' | ||
94 | - fi | ||
95 | - glib_extension= | ||
96 | - gint64_constant='(val##i64)' | ||
97 | - guint64_constant='(val##ui64)' | ||
98 | - ;; | ||
99 | esac | ||
100 | glib_size_t=$ac_cv_sizeof_size_t | ||
101 | glib_ssize_t=$ac_cv_sizeof_ssize_t | ||
102 | @@ -3020,7 +2994,7 @@ long) | ||
103 | gsize_format='"lu"' | ||
104 | glib_msize_type='LONG' | ||
105 | ;; | ||
106 | -"long long"|__int64) | ||
107 | +"long long") | ||
108 | gsize_modifier='"I64"' | ||
109 | gsize_format='"I64u"' | ||
110 | glib_msize_type='INT64' | ||
111 | @@ -3043,7 +3017,7 @@ long) | ||
112 | gssize_format='"li"' | ||
113 | glib_mssize_type='LONG' | ||
114 | ;; | ||
115 | -"long long"|__int64) | ||
116 | +"long long") | ||
117 | gssize_modifier='"I64"' | ||
118 | gssize_format='"I64i"' | ||
119 | glib_mssize_type='INT64' | ||
120 | @@ -3080,14 +3054,6 @@ $ac_cv_sizeof_long_long) | ||
121 | glib_gpi_cast='(gint64)' | ||
122 | glib_gpui_cast='(guint64)' | ||
123 | ;; | ||
124 | -$ac_cv_sizeof___int64) | ||
125 | - glib_intptr_type_define=__int64 | ||
126 | - gintptr_modifier='"I64"' | ||
127 | - gintptr_format='"I64i"' | ||
128 | - guintptr_format='"I64u"' | ||
129 | - glib_gpi_cast='(gint64)' | ||
130 | - glib_gpui_cast='(guint64)' | ||
131 | - ;; | ||
132 | *) | ||
133 | glib_unknown_void_p=yes | ||
134 | ;; | ||
135 | @@ -3258,9 +3224,6 @@ $ac_cv_sizeof_long) | ||
136 | $ac_cv_sizeof_long_long) | ||
137 | gint64='long long' | ||
138 | ;; | ||
139 | -$ac_cv_sizeof___int64) | ||
140 | - gint64='__int64' | ||
141 | - ;; | ||
142 | esac | ||
143 | |||
144 | AC_CHECK_TYPE([guint32],,,[typedef unsigned $gint32 guint32;]) | ||
diff --git a/meta/recipes-devtools/pkgconfig/pkgconfig/0001-autotools-use-C99-printf-format-specifiers-on-Window.patch b/meta/recipes-devtools/pkgconfig/pkgconfig/0001-autotools-use-C99-printf-format-specifiers-on-Window.patch new file mode 100644 index 0000000000..a4e92da34b --- /dev/null +++ b/meta/recipes-devtools/pkgconfig/pkgconfig/0001-autotools-use-C99-printf-format-specifiers-on-Window.patch | |||
@@ -0,0 +1,68 @@ | |||
1 | From 3d7cde654c4c6f3bdad32f5521f28f5802a7c377 Mon Sep 17 00:00:00 2001 | ||
2 | From: Christoph Reiter <reiter.christoph@gmail.com> | ||
3 | Date: Fri, 24 Aug 2018 21:46:47 +0200 | ||
4 | Subject: [PATCH] autotools: use C99 printf format specifiers on Windows. Fixes | ||
5 | #1497 | ||
6 | |||
7 | Since we now require a C99 compatible printf and use gnulib on Windows, | ||
8 | we also mark our printf functions as gnu_printf. GCC complains about the | ||
9 | Windows specific I64 specifiers we still write to glibconfig.h with the | ||
10 | autotools build. | ||
11 | |||
12 | To fix this switch all I64(x) to ll(x). | ||
13 | |||
14 | This also makes the glibconfig.h output for those macros match the ones | ||
15 | we get when using meson. | ||
16 | |||
17 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
18 | Upstream-Status: Backport [https://github.com/GNOME/glib/commit/3d7cde654c] | ||
19 | --- | ||
20 | configure.ac | 18 +++++++++--------- | ||
21 | 1 file changed, 9 insertions(+), 9 deletions(-) | ||
22 | |||
23 | --- a/glib/configure.ac | ||
24 | +++ b/glib/configure.ac | ||
25 | @@ -576,7 +576,7 @@ AS_IF([test x$ac_cv_sizeof_long_long = x | ||
26 | # long long is a 64 bit integer. | ||
27 | AC_MSG_CHECKING(for format to printf and scanf a guint64) | ||
28 | AC_CACHE_VAL(glib_cv_long_long_format,[ | ||
29 | - for format in ll q I64; do | ||
30 | + for format in ll q; do | ||
31 | AC_TRY_RUN([#include <stdio.h> | ||
32 | int main() | ||
33 | { | ||
34 | @@ -2995,8 +2995,8 @@ long) | ||
35 | glib_msize_type='LONG' | ||
36 | ;; | ||
37 | "long long") | ||
38 | - gsize_modifier='"I64"' | ||
39 | - gsize_format='"I64u"' | ||
40 | + gsize_modifier='"ll"' | ||
41 | + gsize_format='"llu"' | ||
42 | glib_msize_type='INT64' | ||
43 | ;; | ||
44 | esac | ||
45 | @@ -3018,8 +3018,8 @@ long) | ||
46 | glib_mssize_type='LONG' | ||
47 | ;; | ||
48 | "long long") | ||
49 | - gssize_modifier='"I64"' | ||
50 | - gssize_format='"I64i"' | ||
51 | + gssize_modifier='"ll"' | ||
52 | + gssize_format='"lli"' | ||
53 | glib_mssize_type='INT64' | ||
54 | ;; | ||
55 | esac | ||
56 | @@ -3048,9 +3048,9 @@ $ac_cv_sizeof_long) | ||
57 | ;; | ||
58 | $ac_cv_sizeof_long_long) | ||
59 | glib_intptr_type_define='long long' | ||
60 | - gintptr_modifier='"I64"' | ||
61 | - gintptr_format='"I64i"' | ||
62 | - guintptr_format='"I64u"' | ||
63 | + gintptr_modifier='"ll"' | ||
64 | + gintptr_format='"lli"' | ||
65 | + guintptr_format='"llu"' | ||
66 | glib_gpi_cast='(gint64)' | ||
67 | glib_gpui_cast='(guint64)' | ||
68 | ;; | ||
diff --git a/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb b/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb index 52ef2a9779..72db876ad0 100644 --- a/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb +++ b/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb | |||
@@ -16,6 +16,8 @@ SRC_URI = "git://anongit.freedesktop.org/pkg-config \ | |||
16 | file://pkg-config-native.in \ | 16 | file://pkg-config-native.in \ |
17 | file://fix-glib-configure-libtool-usage.patch \ | 17 | file://fix-glib-configure-libtool-usage.patch \ |
18 | file://0001-glib-gettext.m4-Update-AM_GLIB_GNU_GETTEXT-to-match-.patch \ | 18 | file://0001-glib-gettext.m4-Update-AM_GLIB_GNU_GETTEXT-to-match-.patch \ |
19 | file://0001-autotools-remove-support-for-the-__int64-type.-See-1.patch \ | ||
20 | file://0001-autotools-use-C99-printf-format-specifiers-on-Window.patch \ | ||
19 | " | 21 | " |
20 | 22 | ||
21 | S = "${WORKDIR}/git" | 23 | S = "${WORKDIR}/git" |