diff options
author | Alexander Kanavin <alex.kanavin@gmail.com> | 2019-02-20 21:10:26 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-02-25 12:35:59 +0000 |
commit | a3ebd8a19de79c0dbd83a8430acfcffadbda48e7 (patch) | |
tree | 4cffcb52e5f62c8685938e8d2d8428bb23c04856 | |
parent | ce0d8dbbf01960a13e5883fa036acef346c56c85 (diff) | |
download | poky-a3ebd8a19de79c0dbd83a8430acfcffadbda48e7.tar.gz |
glib-2.0: convert from autotools to meson
PRINTF settings no longer seem necessary (tested with mingw).
Add meson-specific bits to Enable-more-tests-while-cross-compiling.patch and
0001-Install-gio-querymodules-as-libexec_PROGRAM.patch
Add 0001-Set-host_machine-correctly-when-building-with-mingw3.patch
to allow 'mingw32' as target machine in addition to 'windows'.
Add 0001-meson.build-do-not-hardcode-linux-as-the-host-system.patch to
correct ARM build errors.
Drop configure-libtool.patch (autotools-specific).
Fix API docs generation
(From OE-Core rev: e185235dd97510bfdc621cef9c18d8d13b16006d)
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 files changed, 316 insertions, 66 deletions
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch new file mode 100644 index 0000000000..ede29c90ba --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch | |||
@@ -0,0 +1,50 @@ | |||
1 | From 474e59abec88de0c455836c1f53152bf2aa26c34 Mon Sep 17 00:00:00 2001 | ||
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | ||
3 | Date: Fri, 15 Feb 2019 11:17:27 +0100 | ||
4 | Subject: [PATCH] Do not write $bindir into pkg-config files | ||
5 | |||
6 | This would otherwise break when using the files to build other target | ||
7 | components (we need to rely on PATH containing the paths to utilities, | ||
8 | rather than use target paths). | ||
9 | |||
10 | Upstream-Status: Inappropriate [upstream wants the paths in .pc files] | ||
11 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | ||
12 | --- | ||
13 | gio/meson.build | 6 +++--- | ||
14 | glib/meson.build | 6 +++--- | ||
15 | 2 files changed, 6 insertions(+), 6 deletions(-) | ||
16 | |||
17 | diff --git a/gio/meson.build b/gio/meson.build | ||
18 | index 85d8b14..657720a 100644 | ||
19 | --- a/gio/meson.build | ||
20 | +++ b/gio/meson.build | ||
21 | @@ -813,9 +813,9 @@ pkg.generate(libraries : libgio, | ||
22 | 'schemasdir=' + join_paths('${datadir}', schemas_subdir), | ||
23 | 'bindir=' + join_paths('${prefix}', get_option('bindir')), | ||
24 | 'giomoduledir=' + giomodulesdir, | ||
25 | - 'glib_compile_schemas=' + join_paths('${bindir}', 'glib-compile-schemas'), | ||
26 | - 'glib_compile_resources=' + join_paths('${bindir}', 'glib-compile-resources'), | ||
27 | - 'gdbus_codegen=' + join_paths('${bindir}', 'gdbus-codegen')], | ||
28 | + 'glib_compile_schemas=glib-compile-schemas', | ||
29 | + 'glib_compile_resources=glib-compile-resources', | ||
30 | + 'gdbus_codegen=gdbus-codegen'], | ||
31 | version : glib_version, | ||
32 | install_dir : glib_pkgconfigreldir, | ||
33 | filebase : 'gio-2.0', | ||
34 | diff --git a/glib/meson.build b/glib/meson.build | ||
35 | index c05c694..434e8b1 100644 | ||
36 | --- a/glib/meson.build | ||
37 | +++ b/glib/meson.build | ||
38 | @@ -261,9 +261,9 @@ pkg.generate(libraries : [libglib, libintl], | ||
39 | subdirs : ['glib-2.0'], | ||
40 | extra_cflags : ['-I${libdir}/glib-2.0/include'] + win32_cflags, | ||
41 | variables : ['bindir=' + join_paths('${prefix}', get_option('bindir')), | ||
42 | - 'glib_genmarshal=' + join_paths('${bindir}', 'glib-genmarshal'), | ||
43 | - 'gobject_query=' + join_paths('${bindir}', 'gobject-query'), | ||
44 | - 'glib_mkenums=' + join_paths('${bindir}', 'glib-mkenums')], | ||
45 | + 'glib_genmarshal=glib-genmarshal', | ||
46 | + 'gobject_query=gobject-query', | ||
47 | + 'glib_mkenums=glib-mkenums'], | ||
48 | version : glib_version, | ||
49 | install_dir : glib_pkgconfigreldir, | ||
50 | filebase : 'glib-2.0', | ||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch index 97d0aff5d6..f246254942 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch +++ b/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 856045927b9ab391165c0ebabf401835f8439eab Mon Sep 17 00:00:00 2001 | 1 | From 17fc9230fb932432d8faaaabf8c56fdc4845495e Mon Sep 17 00:00:00 2001 |
2 | From: Jussi Kukkonen <jussi.kukkonen@intel.com> | 2 | From: Jussi Kukkonen <jussi.kukkonen@intel.com> |
3 | Date: Tue, 22 Mar 2016 15:14:58 +0200 | 3 | Date: Tue, 22 Mar 2016 15:14:58 +0200 |
4 | Subject: [PATCH] Install gio-querymodules as libexec_PROGRAM | 4 | Subject: [PATCH] Install gio-querymodules as libexec_PROGRAM |
@@ -11,7 +11,8 @@ Upstream-Status: Inappropriate [OE specific] | |||
11 | 11 | ||
12 | --- | 12 | --- |
13 | gio/Makefile.am | 3 ++- | 13 | gio/Makefile.am | 3 ++- |
14 | 1 file changed, 2 insertions(+), 1 deletion(-) | 14 | gio/meson.build | 1 + |
15 | 2 files changed, 3 insertions(+), 1 deletion(-) | ||
15 | 16 | ||
16 | diff --git a/gio/Makefile.am b/gio/Makefile.am | 17 | diff --git a/gio/Makefile.am b/gio/Makefile.am |
17 | index e14cad2..bf2bcc7 100644 | 18 | index e14cad2..bf2bcc7 100644 |
@@ -27,3 +28,15 @@ index e14cad2..bf2bcc7 100644 | |||
27 | 28 | ||
28 | glib_compile_resources_LDADD = libgio-2.0.la \ | 29 | glib_compile_resources_LDADD = libgio-2.0.la \ |
29 | $(top_builddir)/gobject/libgobject-2.0.la \ | 30 | $(top_builddir)/gobject/libgobject-2.0.la \ |
31 | diff --git a/gio/meson.build b/gio/meson.build | ||
32 | index b83d8f5..85d8b14 100644 | ||
33 | --- a/gio/meson.build | ||
34 | +++ b/gio/meson.build | ||
35 | @@ -925,6 +925,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu | ||
36 | c_args : gio_c_args, | ||
37 | # intl.lib is not compatible with SAFESEH | ||
38 | link_args : noseh_link_args, | ||
39 | + install_dir: glib_libexecdir, | ||
40 | dependencies : [libgio_dep, libgobject_dep, libgmodule_dep, libglib_dep]) | ||
41 | |||
42 | glib_compile_schemas = executable('glib-compile-schemas', | ||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch new file mode 100644 index 0000000000..2b7fab7bde --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch | |||
@@ -0,0 +1,104 @@ | |||
1 | From 4169f11beedacfbb8c7934a4c99189d44935a6b9 Mon Sep 17 00:00:00 2001 | ||
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | ||
3 | Date: Wed, 13 Feb 2019 15:32:05 +0100 | ||
4 | Subject: [PATCH] Set host_machine correctly when building with mingw32 | ||
5 | |||
6 | Upstream-Status: Inappropriate [oe-core specific] | ||
7 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | ||
8 | |||
9 | --- | ||
10 | gio/tests/meson.build | 8 ++++---- | ||
11 | glib/tests/meson.build | 4 ++-- | ||
12 | meson.build | 3 +++ | ||
13 | tests/meson.build | 2 +- | ||
14 | 4 files changed, 10 insertions(+), 7 deletions(-) | ||
15 | |||
16 | diff --git a/gio/tests/meson.build b/gio/tests/meson.build | ||
17 | index 181f5c7..11a1f12 100644 | ||
18 | --- a/gio/tests/meson.build | ||
19 | +++ b/gio/tests/meson.build | ||
20 | @@ -12,7 +12,7 @@ test_c_args = [ | ||
21 | '-DGLIB_COMPILE_SCHEMAS="@0@"'.format(glib_compile_schemas.full_path()), | ||
22 | ] | ||
23 | |||
24 | -if host_machine.system() == 'windows' | ||
25 | +if host_system == 'windows' | ||
26 | common_gio_tests_deps += [iphlpapi_dep, winsock2, cc.find_library ('secur32')] | ||
27 | endif | ||
28 | |||
29 | @@ -122,7 +122,7 @@ if dbus1_dep.found() | ||
30 | endif | ||
31 | |||
32 | # Test programs buildable on UNIX only | ||
33 | -if host_machine.system() != 'windows' | ||
34 | +if host_system != 'windows' | ||
35 | gio_tests += [{ | ||
36 | 'file' : {}, | ||
37 | 'gdbus-peer' : { | ||
38 | @@ -314,7 +314,7 @@ if host_machine.system() != 'windows' | ||
39 | endif # unix | ||
40 | |||
41 | # Test programs buildable on Windows only | ||
42 | -if host_machine.system() == 'windows' | ||
43 | +if host_system == 'windows' | ||
44 | gio_tests += [{'win32-streams' : {}}] | ||
45 | endif | ||
46 | |||
47 | @@ -379,7 +379,7 @@ if cc.get_id() != 'msvc' | ||
48 | }] | ||
49 | endif | ||
50 | |||
51 | -if host_machine.system() != 'windows' | ||
52 | +if host_system != 'windows' | ||
53 | test_extra_programs += [{ | ||
54 | 'gdbus-example-unix-fd-client' : { | ||
55 | 'install' : false, | ||
56 | diff --git a/glib/tests/meson.build b/glib/tests/meson.build | ||
57 | index d7b6a7a..6678a08 100644 | ||
58 | --- a/glib/tests/meson.build | ||
59 | +++ b/glib/tests/meson.build | ||
60 | @@ -45,7 +45,7 @@ glib_tests = { | ||
61 | 'hook' : {}, | ||
62 | 'hostutils' : {}, | ||
63 | 'include' : { | ||
64 | - 'skip' : host_machine.system() == 'windows', | ||
65 | + 'skip' : host_system == 'windows', | ||
66 | }, | ||
67 | 'keyfile' : {}, | ||
68 | 'list' : {}, | ||
69 | @@ -112,7 +112,7 @@ glib_tests = { | ||
70 | 'utils' : {}, | ||
71 | 'unicode' : {}, | ||
72 | 'unix' : { | ||
73 | - 'skip' : host_machine.system() == 'windows', | ||
74 | + 'skip' : host_system == 'windows', | ||
75 | }, | ||
76 | 'uri' : {}, | ||
77 | '1bit-mutex' : {}, | ||
78 | diff --git a/meson.build b/meson.build | ||
79 | index f7405a2..4348f20 100644 | ||
80 | --- a/meson.build | ||
81 | +++ b/meson.build | ||
82 | @@ -31,6 +31,9 @@ else | ||
83 | endif | ||
84 | |||
85 | host_system = host_machine.system() | ||
86 | +if host_system == 'mingw32' | ||
87 | + host_system = 'windows' | ||
88 | +endif | ||
89 | |||
90 | glib_version = meson.project_version() | ||
91 | glib_api_version = '2.0' | ||
92 | diff --git a/tests/meson.build b/tests/meson.build | ||
93 | index 80e45d7..9f3869f 100644 | ||
94 | --- a/tests/meson.build | ||
95 | +++ b/tests/meson.build | ||
96 | @@ -67,7 +67,7 @@ test_extra_programs = { | ||
97 | 'unicode-collate' : {}, | ||
98 | } | ||
99 | |||
100 | -if host_machine.system() != 'windows' | ||
101 | +if host_system != 'windows' | ||
102 | tests += [{ | ||
103 | 'timeloop' : {}, | ||
104 | 'spawn-test' : {}, | ||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-meson.build-do-not-hardcode-linux-as-the-host-system.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-meson.build-do-not-hardcode-linux-as-the-host-system.patch new file mode 100644 index 0000000000..5a1a589890 --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0/0001-meson.build-do-not-hardcode-linux-as-the-host-system.patch | |||
@@ -0,0 +1,27 @@ | |||
1 | From 635fe26af51f20194c8b208e7d01303be1086d68 Mon Sep 17 00:00:00 2001 | ||
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | ||
3 | Date: Tue, 19 Feb 2019 10:31:11 +0100 | ||
4 | Subject: [PATCH] meson.build: do not hardcode 'linux' as the host system | ||
5 | |||
6 | OE build system can set this to other values that include 'linux', | ||
7 | e.g. 'linux-gnueabi' | ||
8 | |||
9 | Upstream-Status: Pending | ||
10 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | ||
11 | --- | ||
12 | meson.build | 2 +- | ||
13 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
14 | |||
15 | diff --git a/meson.build b/meson.build | ||
16 | index 4348f20..af5ed63 100644 | ||
17 | --- a/meson.build | ||
18 | +++ b/meson.build | ||
19 | @@ -1574,7 +1574,7 @@ atomicdefine = ''' | ||
20 | # We know that we can always use real ("lock free") atomic operations with MSVC | ||
21 | if cc.get_id() == 'msvc' or cc.links(atomictest, name : 'atomic ops') | ||
22 | have_atomic_lock_free = true | ||
23 | - if (host_system == 'android' or host_system == 'linux') and not cc.compiles(atomicdefine, name : 'atomic ops define') | ||
24 | + if (host_system == 'android' or host_system.contains('linux')) and not cc.compiles(atomicdefine, name : 'atomic ops define') | ||
25 | # When building for armv5 on Linux, gcc provides | ||
26 | # __sync_bool_compare_and_swap but doesn't define | ||
27 | # __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 | ||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch b/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch index 697d63d5fe..872340df96 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch +++ b/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch | |||
@@ -12,7 +12,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | |||
12 | 3 files changed, 3 insertions(+), 3 deletions(-) | 12 | 3 files changed, 3 insertions(+), 3 deletions(-) |
13 | 13 | ||
14 | diff --git a/gio/gdbus-2.0/codegen/gdbus-codegen.in b/gio/gdbus-2.0/codegen/gdbus-codegen.in | 14 | diff --git a/gio/gdbus-2.0/codegen/gdbus-codegen.in b/gio/gdbus-2.0/codegen/gdbus-codegen.in |
15 | index 8050981..e693ef3 100644 | 15 | index 8050981..e693ef3 100755 |
16 | --- a/gio/gdbus-2.0/codegen/gdbus-codegen.in | 16 | --- a/gio/gdbus-2.0/codegen/gdbus-codegen.in |
17 | +++ b/gio/gdbus-2.0/codegen/gdbus-codegen.in | 17 | +++ b/gio/gdbus-2.0/codegen/gdbus-codegen.in |
18 | @@ -1,4 +1,4 @@ | 18 | @@ -1,4 +1,4 @@ |
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch b/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch index 5060880926..5ccd3203fb 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch +++ b/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 70e462e070f8eb20b7660c1cf88271c0449e43cc Mon Sep 17 00:00:00 2001 | 1 | From 1481c6d5f08f9dbbe10abc87b372a1f61db36476 Mon Sep 17 00:00:00 2001 |
2 | From: Jussi Kukkonen <jussi.kukkonen@intel.com> | 2 | From: Jussi Kukkonen <jussi.kukkonen@intel.com> |
3 | Date: Mon, 9 Nov 2015 11:07:27 +0200 | 3 | Date: Mon, 9 Nov 2015 11:07:27 +0200 |
4 | Subject: [PATCH] Enable more tests while cross-compiling | 4 | Subject: [PATCH] Enable more tests while cross-compiling |
@@ -10,8 +10,10 @@ case we can depend on glib-2.0-native. | |||
10 | Upstream-Status: Inappropriate [OE specific] | 10 | Upstream-Status: Inappropriate [OE specific] |
11 | Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> | 11 | Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> |
12 | --- | 12 | --- |
13 | gio/tests/Makefile.am | 10 ++++++---- | 13 | gio/tests/Makefile.am | 10 ++++++---- |
14 | 1 file changed, 6 insertions(+), 4 deletions(-) | 14 | gio/tests/meson.build | 15 ++++++++------- |
15 | tests/gobject/Makefile.am | 6 ++++++ | ||
16 | 3 files changed, 20 insertions(+), 11 deletions(-) | ||
15 | 17 | ||
16 | diff --git a/gio/tests/Makefile.am b/gio/tests/Makefile.am | 18 | diff --git a/gio/tests/Makefile.am b/gio/tests/Makefile.am |
17 | index c4e7a92..633e85c 100644 | 19 | index c4e7a92..633e85c 100644 |
@@ -50,3 +52,86 @@ index c4e7a92..633e85c 100644 | |||
50 | 52 | ||
51 | BUILT_SOURCES += giotypefuncs.inc | 53 | BUILT_SOURCES += giotypefuncs.inc |
52 | 54 | ||
55 | diff --git a/gio/tests/meson.build b/gio/tests/meson.build | ||
56 | index dca33bd..181f5c7 100644 | ||
57 | --- a/gio/tests/meson.build | ||
58 | +++ b/gio/tests/meson.build | ||
59 | @@ -173,7 +173,7 @@ if host_machine.system() != 'windows' | ||
60 | |||
61 | # Test programs that need to bring up a session bus (requires dbus-daemon) | ||
62 | have_dbus_daemon = find_program('dbus-daemon', required : false).found() | ||
63 | - if have_dbus_daemon | ||
64 | + if true | ||
65 | annotate_args = [ | ||
66 | '--annotate', 'org.project.Bar', 'Key1', 'Value1', | ||
67 | '--annotate', 'org.project.Bar', 'org.gtk.GDBus.Internal', 'Value2', | ||
68 | @@ -406,12 +406,13 @@ if installed_tests_enabled | ||
69 | install_subdir('cert-tests', install_dir : installed_tests_execdir) | ||
70 | endif | ||
71 | |||
72 | -if not meson.is_cross_build() or meson.has_exe_wrapper() | ||
73 | +#if not meson.is_cross_build() or meson.has_exe_wrapper() | ||
74 | +if meson.is_cross_build() | ||
75 | |||
76 | plugin_resources_c = custom_target('plugin-resources.c', | ||
77 | input : 'test4.gresource.xml', | ||
78 | output : 'plugin-resources.c', | ||
79 | - command : [glib_compile_resources, | ||
80 | + command : ['glib-compile-resources', | ||
81 | '--target=@OUTPUT@', | ||
82 | '--sourcedir=' + meson.current_source_dir(), | ||
83 | '--generate-source', | ||
84 | @@ -428,7 +429,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper() | ||
85 | test_gresource = custom_target('test.gresource', | ||
86 | input : 'test.gresource.xml', | ||
87 | output : 'test.gresource', | ||
88 | - command : [glib_compile_resources, | ||
89 | + command : ['glib-compile-resources', | ||
90 | '--target=@OUTPUT@', | ||
91 | '--sourcedir=' + meson.current_source_dir(), | ||
92 | '--sourcedir=' + meson.current_build_dir(), | ||
93 | @@ -439,7 +440,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper() | ||
94 | test_resources2_c = custom_target('test_resources2.c', | ||
95 | input : 'test3.gresource.xml', | ||
96 | output : 'test_resources2.c', | ||
97 | - command : [glib_compile_resources, | ||
98 | + command : ['glib-compile-resources', | ||
99 | '--target=@OUTPUT@', | ||
100 | '--sourcedir=' + meson.current_source_dir(), | ||
101 | '--generate', | ||
102 | @@ -450,7 +451,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper() | ||
103 | test_resources2_h = custom_target('test_resources2.h', | ||
104 | input : 'test3.gresource.xml', | ||
105 | output : 'test_resources2.h', | ||
106 | - command : [glib_compile_resources, | ||
107 | + command : ['glib-compile-resources', | ||
108 | '--target=@OUTPUT@', | ||
109 | '--sourcedir=' + meson.current_source_dir(), | ||
110 | '--generate', | ||
111 | @@ -461,7 +462,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper() | ||
112 | test_resources_c = custom_target('test_resources.c', | ||
113 | input : 'test2.gresource.xml', | ||
114 | output : 'test_resources.c', | ||
115 | - command : [glib_compile_resources, | ||
116 | + command : ['glib-compile-resources', | ||
117 | '--target=@OUTPUT@', | ||
118 | '--sourcedir=' + meson.current_source_dir(), | ||
119 | '--generate-source', | ||
120 | diff --git a/tests/gobject/Makefile.am b/tests/gobject/Makefile.am | ||
121 | index 1bcefbe..77e646a 100644 | ||
122 | --- a/tests/gobject/Makefile.am | ||
123 | +++ b/tests/gobject/Makefile.am | ||
124 | @@ -51,7 +51,13 @@ if ENABLE_TIMELOOP | ||
125 | installed_test_programs += timeloop-closure | ||
126 | endif | ||
127 | |||
128 | +# The marshal test requires running a binary, which means we require | ||
129 | +# glib-native when cross-compiling | ||
130 | +if !CROSS_COMPILING | ||
131 | glib_genmarshal=$(top_builddir)/gobject/glib-genmarshal | ||
132 | +else | ||
133 | +glib_genmarshal=$(shell which glib-genmarshal) | ||
134 | +endif | ||
135 | |||
136 | testmarshal.h: stamp-testmarshal.h | ||
137 | @true | ||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch b/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch deleted file mode 100644 index 59b891347d..0000000000 --- a/meta/recipes-core/glib-2.0/glib-2.0/configure-libtool.patch +++ /dev/null | |||
@@ -1,44 +0,0 @@ | |||
1 | From 1dd1e6ddca5deada049bac2e1ee1fe4ecc5342c5 Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Sat, 28 Apr 2012 18:24:50 +0200 | ||
4 | Subject: [PATCH 01/10] configure: use $host_alias-libtool instead of libtool | ||
5 | directly | ||
6 | |||
7 | Poky renames libtool to $host_alias-libtool. | ||
8 | ./$host_alias-libtool isn't created until after configure runs with | ||
9 | libtool >= 2.2.2 | ||
10 | so we can't call # it at this point. We can safely assume a version is | ||
11 | available | ||
12 | from PATH though | ||
13 | |||
14 | Rebased to glib-2.27.3 by Dongxiao Xu <dongxiao.xu@intel.com> | ||
15 | Rebased to glib-2.32.1 by Martin Jansa <Martin.Jansa@gmail.com> | ||
16 | Rebased to glib-2.31.20+ by Andre McCurdy <armccurdy@gmail.com> | ||
17 | |||
18 | Upstream-Status: Inappropriate [configuration] | ||
19 | |||
20 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
21 | |||
22 | --- | ||
23 | configure.ac | 4 ++-- | ||
24 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
25 | |||
26 | diff --git a/configure.ac b/configure.ac | ||
27 | index 6fa6eb0..b6f78a6 100644 | ||
28 | --- a/configure.ac | ||
29 | +++ b/configure.ac | ||
30 | @@ -1428,9 +1428,9 @@ AS_IF([ test "$G_MODULE_IMPL" = "G_MODULE_IMPL_DL" ], [ | ||
31 | LDFLAGS="$LDFLAGS $G_MODULE_LDFLAGS" | ||
32 | dnl *** check for OSF1/5.0 RTLD_GLOBAL brokenness | ||
33 | echo "void glib_plugin_test(void) { }" > plugin.c | ||
34 | - ${SHELL} ./libtool --mode=compile --tag=CC ${CC} ${CFLAGS} \ | ||
35 | + ${SHELL} ./$host_alias-libtool --mode=compile --tag=CC ${CC} ${CFLAGS} \ | ||
36 | ${CPPFLAGS} -c -o plugin.lo plugin.c >/dev/null 2>&1 | ||
37 | - ${SHELL} ./libtool --mode=link --tag=CC ${CC} ${CFLAGS} \ | ||
38 | + ${SHELL} ./$host_alias-libtool --mode=link --tag=CC ${CC} ${CFLAGS} \ | ||
39 | ${LDFLAGS} -module -o plugin.la -export-dynamic \ | ||
40 | -shrext ".o" -avoid-version plugin.lo \ | ||
41 | -rpath /dont/care >/dev/null 2>&1 | ||
42 | -- | ||
43 | 2.14.1 | ||
44 | |||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch b/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch index 9ec011a095..a4e0c9201f 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch +++ b/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 43967e85b7a87f9c2e780504ef30f4c9bf56f8f5 Mon Sep 17 00:00:00 2001 | 1 | From 9d985803c50cfb99253c757934985f937da34822 Mon Sep 17 00:00:00 2001 |
2 | From: Ross Burton <ross.burton@intel.com> | 2 | From: Ross Burton <ross.burton@intel.com> |
3 | Date: Fri, 11 Mar 2016 15:35:55 +0000 | 3 | Date: Fri, 11 Mar 2016 15:35:55 +0000 |
4 | Subject: [PATCH] glib-2.0: relocate the GIO module directory for native builds | 4 | Subject: [PATCH] glib-2.0: relocate the GIO module directory for native builds |
diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb index 8aad570fa9..2de2affa51 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb +++ b/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb | |||
@@ -5,7 +5,6 @@ PE = "1" | |||
5 | SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" | 5 | SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" |
6 | 6 | ||
7 | SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ | 7 | SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ |
8 | file://configure-libtool.patch \ | ||
9 | file://run-ptest \ | 8 | file://run-ptest \ |
10 | file://uclibc_musl_translation.patch \ | 9 | file://uclibc_musl_translation.patch \ |
11 | file://Enable-more-tests-while-cross-compiling.patch \ | 10 | file://Enable-more-tests-while-cross-compiling.patch \ |
@@ -14,6 +13,9 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ | |||
14 | file://0001-Do-not-ignore-return-value-of-write.patch \ | 13 | file://0001-Do-not-ignore-return-value-of-write.patch \ |
15 | file://0010-Do-not-hardcode-python-path-into-various-tools.patch \ | 14 | file://0010-Do-not-hardcode-python-path-into-various-tools.patch \ |
16 | file://0001-Revert-Use-absolute-paths-in-pkg-config-files.patch \ | 15 | file://0001-Revert-Use-absolute-paths-in-pkg-config-files.patch \ |
16 | file://0001-Set-host_machine-correctly-when-building-with-mingw3.patch \ | ||
17 | file://0001-Do-not-write-bindir-into-pkg-config-files.patch \ | ||
18 | file://0001-meson.build-do-not-hardcode-linux-as-the-host-system.patch \ | ||
17 | " | 19 | " |
18 | 20 | ||
19 | SRC_URI_append_class-native = " file://relocate-modules.patch" | 21 | SRC_URI_append_class-native = " file://relocate-modules.patch" |
diff --git a/meta/recipes-core/glib-2.0/glib.inc b/meta/recipes-core/glib-2.0/glib.inc index a186c1d9eb..6305f553b4 100644 --- a/meta/recipes-core/glib-2.0/glib.inc +++ b/meta/recipes-core/glib-2.0/glib.inc | |||
@@ -29,7 +29,17 @@ PACKAGES += "${PN}-codegen ${PN}-utils" | |||
29 | 29 | ||
30 | LEAD_SONAME = "libglib-2.0.*" | 30 | LEAD_SONAME = "libglib-2.0.*" |
31 | 31 | ||
32 | inherit autotools gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages distro_features_check | 32 | inherit meson gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages distro_features_check |
33 | |||
34 | GTKDOC_ENABLE_FLAG = "-Dgtk_doc=true" | ||
35 | GTKDOC_DISABLE_FLAG = "-Dgtk_doc=false" | ||
36 | |||
37 | EXTRA_OEMESON_append_class-target = " ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '${GTKDOC_ENABLE_FLAG}', \ | ||
38 | '${GTKDOC_DISABLE_FLAG}', d)} " | ||
39 | |||
40 | # This avoids the need to depend on target python3, which in case of mingw is not even possible. | ||
41 | # meson's python configuration pokes into python3 configuration, so this provides the native config to it. | ||
42 | unset _PYTHON_SYSCONFIGDATA_NAME | ||
33 | 43 | ||
34 | REQUIRED_DISTRO_FEATURES_libc-glibc = "${@'libc-charsets libc-locale-code libc-locales' if bb.utils.contains('DISTRO_FEATURES', 'ptest', True, False, d) else ''}" | 44 | REQUIRED_DISTRO_FEATURES_libc-glibc = "${@'libc-charsets libc-locale-code libc-locales' if bb.utils.contains('DISTRO_FEATURES', 'ptest', True, False, d) else ''}" |
35 | 45 | ||
@@ -37,21 +47,17 @@ S = "${WORKDIR}/glib-${PV}" | |||
37 | 47 | ||
38 | PACKAGECONFIG ??= "system-pcre libmount" | 48 | PACKAGECONFIG ??= "system-pcre libmount" |
39 | # To use the system pcre it must be configured with --enable-unicode-properties | 49 | # To use the system pcre it must be configured with --enable-unicode-properties |
40 | PACKAGECONFIG[system-pcre] = "--with-pcre=system,--with-pcre=internal,libpcre" | 50 | PACKAGECONFIG[system-pcre] = "-Dinternal_pcre=false,-Dinternal_pcre=true,libpcre" |
41 | PACKAGECONFIG[libmount] = "--enable-libmount,--disable-libmount,util-linux" | 51 | PACKAGECONFIG[libmount] = "-Dlibmount=true,-Dlibmount=false,util-linux" |
42 | PACKAGECONFIG[manpages] = "--enable-man --with-xml-catalog=${STAGING_ETCDIR_NATIVE}/xml/catalog.xml, --disable-man, libxslt-native xmlto-native" | 52 | PACKAGECONFIG[manpages] = "-Dman=true, -Dman=false, libxslt-native xmlto-native" |
43 | PACKAGECONFIG[libelf] = "--enable-libelf,--disable-libelf,elfutils" | 53 | # libelf is auto-detected without a configuration option |
54 | PACKAGECONFIG[libelf] = ",,elfutils" | ||
44 | 55 | ||
45 | CORECONF = "--disable-dtrace --disable-fam --disable-systemtap" | 56 | CORECONF = "-Ddtrace=false -Dfam=false -Dsystemtap=false -Dselinux=false" |
46 | 57 | ||
47 | PRINTF = "--enable-included-printf=no" | 58 | EXTRA_OEMESON = "${CORECONF} ${@bb.utils.contains('PTEST_ENABLED', '1', '-Dinstalled_tests=true', '-Dinstalled_tests=false', d)}" |
48 | PRINTF_darwin = "--enable-included-printf=yes" | 59 | EXTRA_OEMESON_class-native = "${CORECONF} -Dinstalled_tests=false" |
49 | PRINTF_mingw32 = "--enable-included-printf=yes" | 60 | EXTRA_OEMESON_class-nativesdk = "${CORECONF} -Dinstalled_tests=false" |
50 | EXTRA_OECONF = "${PRINTF} ${CORECONF}" | ||
51 | EXTRA_OECONF_class-native = "${CORECONF} --disable-selinux" | ||
52 | |||
53 | # Tell configure that we'll have dbus-daemon on the target for the tests | ||
54 | EXTRA_OECONF_append_class-target = " ${@bb.utils.contains('PTEST_ENABLED', '1', ' ac_cv_prog_DBUS_DAEMON=dbus-daemon', '', d)}" | ||
55 | 61 | ||
56 | do_configure_prepend() { | 62 | do_configure_prepend() { |
57 | sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/gio/gdbus-2.0/codegen/gdbus-codegen.in | 63 | sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/gio/gdbus-2.0/codegen/gdbus-codegen.in |
@@ -117,6 +123,8 @@ do_install_append () { | |||
117 | if test "x${MLPREFIX}" != "x"; then | 123 | if test "x${MLPREFIX}" != "x"; then |
118 | mv ${D}${libexecdir}/gio-querymodules${EXEEXT} ${D}${libexecdir}/${MLPREFIX}gio-querymodules${EXEEXT} | 124 | mv ${D}${libexecdir}/gio-querymodules${EXEEXT} ${D}${libexecdir}/${MLPREFIX}gio-querymodules${EXEEXT} |
119 | fi | 125 | fi |
126 | # Autotools does this, meson does not | ||
127 | mkdir -p ${D}${libdir}/gio/modules | ||
120 | } | 128 | } |
121 | 129 | ||
122 | do_install_append_class-target () { | 130 | do_install_append_class-target () { |
@@ -129,6 +137,11 @@ do_install_append_class-target () { | |||
129 | fi | 137 | fi |
130 | } | 138 | } |
131 | 139 | ||
140 | # As we do not build python3 for windows, makes no sense to ship the script that's using it | ||
141 | do_install_append_mingw32() { | ||
142 | rm -f ${D}${bindir}/gtester-report | ||
143 | } | ||
144 | |||
132 | CODEGEN_PYTHON_RDEPENDS = "python3 python3-distutils python3-xml" | 145 | CODEGEN_PYTHON_RDEPENDS = "python3 python3-distutils python3-xml" |
133 | CODEGEN_PYTHON_RDEPENDS_mingw32 = "" | 146 | CODEGEN_PYTHON_RDEPENDS_mingw32 = "" |
134 | 147 | ||