summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/meson
diff options
context:
space:
mode:
authorAlexander Kanavin <alex.kanavin@gmail.com>2019-12-19 14:22:49 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-12-30 08:47:12 +0000
commit20728c706967d8ae6f184557e7bda96378a1396c (patch)
tree12f7a7432e6693d207d1727930a92021cef3aa52 /meta/recipes-devtools/meson
parent442aff1beacd6a7d068427e0691fb2141274c2bc (diff)
downloadpoky-20728c706967d8ae6f184557e7bda96378a1396c.tar.gz
meson: update 0.52.0 -> 0.52.1
(From OE-Core rev: e589fc6d758689f7889b3ae50e800e51204a02c1) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/meson')
-rw-r--r--meta/recipes-devtools/meson/meson.inc5
-rw-r--r--meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch10
-rw-r--r--meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch4
-rw-r--r--meta/recipes-devtools/meson/meson/0003-native_bindir.patch26
-rw-r--r--meta/recipes-devtools/meson/meson/dbc9e971bd320f3df15c1ee74f54858e6792b183.patch95
-rw-r--r--meta/recipes-devtools/meson/meson_0.52.1.bb (renamed from meta/recipes-devtools/meson/meson_0.52.0.bb)1
-rw-r--r--meta/recipes-devtools/meson/nativesdk-meson_0.52.1.bb (renamed from meta/recipes-devtools/meson/nativesdk-meson_0.52.0.bb)0
7 files changed, 23 insertions, 118 deletions
diff --git a/meta/recipes-devtools/meson/meson.inc b/meta/recipes-devtools/meson/meson.inc
index 84bcc8409d..881a14c7f0 100644
--- a/meta/recipes-devtools/meson/meson.inc
+++ b/meta/recipes-devtools/meson/meson.inc
@@ -16,10 +16,9 @@ SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${P
16 file://cross-prop-default.patch \ 16 file://cross-prop-default.patch \
17 file://0001-mesonbuild-environment.py-check-environment-for-vari.patch \ 17 file://0001-mesonbuild-environment.py-check-environment-for-vari.patch \
18 file://0001-modules-python.py-do-not-substitute-python-s-install.patch \ 18 file://0001-modules-python.py-do-not-substitute-python-s-install.patch \
19 file://dbc9e971bd320f3df15c1ee74f54858e6792b183.patch \
20 " 19 "
21SRC_URI[sha256sum] = "d60f75f0dedcc4fd249dbc7519d6f3ce6df490033d276ef1cf27453ef4938d32" 20SRC_URI[sha256sum] = "0c277472e49950a5537e3de3e60c57b80dbf425788470a1a8ed27446128fc035"
22SRC_URI[md5sum] = "7ea7772414dda8ae11072244bf7ba991" 21SRC_URI[md5sum] = "a5f0c99567d772508f649a28ded7f8ad"
23 22
24SRC_URI_append_class-native = " \ 23SRC_URI_append_class-native = " \
25 file://0001-Make-CPU-family-warnings-fatal.patch \ 24 file://0001-Make-CPU-family-warnings-fatal.patch \
diff --git a/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch b/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
index fc55dcacf6..d4264cee52 100644
--- a/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
+++ b/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch
@@ -1,4 +1,4 @@
1From c07d29b715209cd5d75b142a00a540d45b00c36d Mon Sep 17 00:00:00 2001 1From cd980c763f11cfd928255346cc7e86f24add985e Mon Sep 17 00:00:00 2001
2From: Ross Burton <ross.burton@intel.com> 2From: Ross Burton <ross.burton@intel.com>
3Date: Tue, 3 Jul 2018 13:59:09 +0100 3Date: Tue, 3 Jul 2018 13:59:09 +0100
4Subject: [PATCH] Make CPU family warnings fatal 4Subject: [PATCH] Make CPU family warnings fatal
@@ -12,10 +12,10 @@ Signed-off-by: Ross Burton <ross.burton@intel.com>
12 2 files changed, 2 insertions(+), 4 deletions(-) 12 2 files changed, 2 insertions(+), 4 deletions(-)
13 13
14diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py 14diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py
15index a59cd89..17de654 100644 15index 29d7422..5fb00a4 100644
16--- a/mesonbuild/envconfig.py 16--- a/mesonbuild/envconfig.py
17+++ b/mesonbuild/envconfig.py 17+++ b/mesonbuild/envconfig.py
18@@ -186,7 +186,7 @@ class MachineInfo: 18@@ -190,7 +190,7 @@ class MachineInfo:
19 19
20 cpu_family = literal['cpu_family'] 20 cpu_family = literal['cpu_family']
21 if cpu_family not in known_cpu_families: 21 if cpu_family not in known_cpu_families:
@@ -25,10 +25,10 @@ index a59cd89..17de654 100644
25 endian = literal['endian'] 25 endian = literal['endian']
26 if endian not in ('little', 'big'): 26 if endian not in ('little', 'big'):
27diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py 27diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
28index 3704921..f1988f2 100644 28index a9bc2b8..b91c8da 100644
29--- a/mesonbuild/environment.py 29--- a/mesonbuild/environment.py
30+++ b/mesonbuild/environment.py 30+++ b/mesonbuild/environment.py
31@@ -251,9 +251,7 @@ def detect_cpu_family(compilers: CompilersDict) -> str: 31@@ -348,9 +348,7 @@ def detect_cpu_family(compilers: CompilersDict) -> str:
32 trial = 'parisc' 32 trial = 'parisc'
33 33
34 if trial not in known_cpu_families: 34 if trial not in known_cpu_families:
diff --git a/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch b/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
index b8837d77b6..c8c7b298de 100644
--- a/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
+++ b/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch
@@ -1,4 +1,4 @@
1From 263fc0e26e1fd92e25fa3ef93f4a549dcebc5887 Mon Sep 17 00:00:00 2001 1From 4d223562c3e510e0dd62b608d184604e2cab6198 Mon Sep 17 00:00:00 2001
2From: Peter Kjellerstedt <pkj@axis.com> 2From: Peter Kjellerstedt <pkj@axis.com>
3Date: Thu, 26 Jul 2018 16:32:49 +0200 3Date: Thu, 26 Jul 2018 16:32:49 +0200
4Subject: [PATCH] Support building allarch recipes again 4Subject: [PATCH] Support building allarch recipes again
@@ -13,7 +13,7 @@ Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
13 1 file changed, 1 insertion(+) 13 1 file changed, 1 insertion(+)
14 14
15diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py 15diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py
16index 17de654..2d2deef 100644 16index 5fb00a4..f5702ba 100644
17--- a/mesonbuild/envconfig.py 17--- a/mesonbuild/envconfig.py
18+++ b/mesonbuild/envconfig.py 18+++ b/mesonbuild/envconfig.py
19@@ -36,6 +36,7 @@ _T = typing.TypeVar('_T') 19@@ -36,6 +36,7 @@ _T = typing.TypeVar('_T')
diff --git a/meta/recipes-devtools/meson/meson/0003-native_bindir.patch b/meta/recipes-devtools/meson/meson/0003-native_bindir.patch
index 76cc4931d6..14a9a13666 100644
--- a/meta/recipes-devtools/meson/meson/0003-native_bindir.patch
+++ b/meta/recipes-devtools/meson/meson/0003-native_bindir.patch
@@ -1,4 +1,4 @@
1From 4a1d676522d6b56cbe9a45c3b040afaa27d37f78 Mon Sep 17 00:00:00 2001 1From baf7b94fec5a31b2d0cb162e43dbd28cc019f38e Mon Sep 17 00:00:00 2001
2From: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> 2From: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
3Date: Wed, 15 Nov 2017 15:05:01 +0100 3Date: Wed, 15 Nov 2017 15:05:01 +0100
4Subject: [PATCH] native_bindir 4Subject: [PATCH] native_bindir
@@ -22,10 +22,10 @@ Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
22 2 files changed, 14 insertions(+), 11 deletions(-) 22 2 files changed, 14 insertions(+), 11 deletions(-)
23 23
24diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py 24diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py
25index 3c55a56..eb52fd1 100644 25index 35f0175..b39cba6 100644
26--- a/mesonbuild/dependencies/base.py 26--- a/mesonbuild/dependencies/base.py
27+++ b/mesonbuild/dependencies/base.py 27+++ b/mesonbuild/dependencies/base.py
28@@ -185,7 +185,7 @@ class Dependency: 28@@ -184,7 +184,7 @@ class Dependency:
29 def get_exe_args(self, compiler): 29 def get_exe_args(self, compiler):
30 return [] 30 return []
31 31
@@ -34,7 +34,7 @@ index 3c55a56..eb52fd1 100644
34 raise DependencyException('{!r} is not a pkgconfig dependency'.format(self.name)) 34 raise DependencyException('{!r} is not a pkgconfig dependency'.format(self.name))
35 35
36 def get_configtool_variable(self, variable_name): 36 def get_configtool_variable(self, variable_name):
37@@ -248,7 +248,7 @@ class InternalDependency(Dependency): 37@@ -247,7 +247,7 @@ class InternalDependency(Dependency):
38 self.sources = sources 38 self.sources = sources
39 self.ext_deps = ext_deps 39 self.ext_deps = ext_deps
40 40
@@ -54,11 +54,11 @@ index 3c55a56..eb52fd1 100644
54+ cmd = [self.pkgbin.get_command()[0] + "-native"] + args 54+ cmd = [self.pkgbin.get_command()[0] + "-native"] + args
55+ else: 55+ else:
56+ cmd = self.pkgbin.get_command() + args 56+ cmd = self.pkgbin.get_command() + args
57 p, out = Popen_safe(cmd, env=env)[0:2] 57 p, out, err = Popen_safe(cmd, env=env)
58 rc, out = p.returncode, out.strip() 58 rc, out, err = p.returncode, out.strip(), err.strip()
59 call = ' '.join(cmd) 59 call = ' '.join(cmd)
60 mlog.debug("Called `{}` -> {}\n{}".format(call, rc, out)) 60 mlog.debug("Called `{}` -> {}\n{}".format(call, rc, out))
61 return rc, out 61 return rc, out, err
62 62
63- def _call_pkgbin(self, args, env=None): 63- def _call_pkgbin(self, args, env=None):
64+ def _call_pkgbin(self, args, env=None, use_native=False): 64+ def _call_pkgbin(self, args, env=None, use_native=False):
@@ -74,21 +74,21 @@ index 3c55a56..eb52fd1 100644
74 return cache[(self.pkgbin, targs, fenv)] 74 return cache[(self.pkgbin, targs, fenv)]
75 75
76 def _convert_mingw_paths(self, args): 76 def _convert_mingw_paths(self, args):
77@@ -926,7 +929,7 @@ class PkgConfigDependency(ExternalDependency): 77@@ -885,7 +888,7 @@ class PkgConfigDependency(ExternalDependency):
78 mlog.warning('Could not determine complete list of dependencies for %s' % self.name) 78 (self.name, out_raw))
79 self.link_args, self.raw_link_args = self._search_libs(out, out_raw, out_all) 79 self.link_args, self.raw_link_args = self._search_libs(out, out_raw)
80 80
81- def get_pkgconfig_variable(self, variable_name, kwargs): 81- def get_pkgconfig_variable(self, variable_name, kwargs):
82+ def get_pkgconfig_variable(self, variable_name, kwargs, use_native=False): 82+ def get_pkgconfig_variable(self, variable_name, kwargs, use_native=False):
83 options = ['--variable=' + variable_name, self.name] 83 options = ['--variable=' + variable_name, self.name]
84 84
85 if 'define_variable' in kwargs: 85 if 'define_variable' in kwargs:
86@@ -939,7 +942,7 @@ class PkgConfigDependency(ExternalDependency): 86@@ -898,7 +901,7 @@ class PkgConfigDependency(ExternalDependency):
87 87
88 options = ['--define-variable=' + '='.join(definition)] + options 88 options = ['--define-variable=' + '='.join(definition)] + options
89 89
90- ret, out = self._call_pkgbin(options) 90- ret, out, err = self._call_pkgbin(options)
91+ ret, out = self._call_pkgbin(options, use_native=use_native) 91+ ret, out, err = self._call_pkgbin(options, use_native=use_native)
92 variable = '' 92 variable = ''
93 if ret != 0: 93 if ret != 0:
94 if self.required: 94 if self.required:
diff --git a/meta/recipes-devtools/meson/meson/dbc9e971bd320f3df15c1ee74f54858e6792b183.patch b/meta/recipes-devtools/meson/meson/dbc9e971bd320f3df15c1ee74f54858e6792b183.patch
deleted file mode 100644
index 7ea8a133e6..0000000000
--- a/meta/recipes-devtools/meson/meson/dbc9e971bd320f3df15c1ee74f54858e6792b183.patch
+++ /dev/null
@@ -1,95 +0,0 @@
1From dbc9e971bd320f3df15c1ee74f54858e6792b183 Mon Sep 17 00:00:00 2001
2From: Xavier Claessens <xavier.claessens@collabora.com>
3Date: Fri, 11 Oct 2019 11:01:22 -0400
4Subject: [PATCH] Remove duplicated object files in static libraries
5
6When a static library link_whole to a bunch of other static libraries,
7we have to extract all their objects recursively. But that could
8introduce duplicated objects. ar is dumb enough to allow this without
9error, but once the resulting static library is linked into an
10executable or shared library, the linker will complain about duplicated
11symbols.
12
13Upstream-Status: Backport
14Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
15
16---
17 mesonbuild/backend/backends.py | 3 ++-
18 test cases/unit/69 static link/lib/func17.c | 4 ++++
19 test cases/unit/69 static link/lib/func18.c | 6 ++++++
20 test cases/unit/69 static link/lib/func19.c | 7 +++++++
21 test cases/unit/69 static link/lib/meson.build | 12 ++++++++++++
22 5 files changed, 31 insertions(+), 1 deletion(-)
23 create mode 100644 test cases/unit/69 static link/lib/func17.c
24 create mode 100644 test cases/unit/69 static link/lib/func18.c
25 create mode 100644 test cases/unit/69 static link/lib/func19.c
26
27diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py
28index 947be1cbef..e54809657f 100644
29--- a/mesonbuild/backend/backends.py
30+++ b/mesonbuild/backend/backends.py
31@@ -281,7 +281,8 @@ def relpath(self, todir, fromdir):
32 os.path.join('dummyprefixdir', fromdir))
33
34 def flatten_object_list(self, target, proj_dir_to_build_root=''):
35- return self._flatten_object_list(target, target.get_objects(), proj_dir_to_build_root)
36+ obj_list = self._flatten_object_list(target, target.get_objects(), proj_dir_to_build_root)
37+ return list(dict.fromkeys(obj_list))
38
39 def _flatten_object_list(self, target, objects, proj_dir_to_build_root):
40 obj_list = []
41diff --git a/test cases/unit/69 static link/lib/func17.c b/test cases/unit/69 static link/lib/func17.c
42new file mode 100644
43index 0000000000..d1d8ec498c
44--- /dev/null
45+++ b/test cases/unit/69 static link/lib/func17.c
46@@ -0,0 +1,4 @@
47+int func17()
48+{
49+ return 1;
50+}
51diff --git a/test cases/unit/69 static link/lib/func18.c b/test cases/unit/69 static link/lib/func18.c
52new file mode 100644
53index 0000000000..c149085ba4
54--- /dev/null
55+++ b/test cases/unit/69 static link/lib/func18.c
56@@ -0,0 +1,6 @@
57+int func17();
58+
59+int func18()
60+{
61+ return func17() + 1;
62+}
63diff --git a/test cases/unit/69 static link/lib/func19.c b/test cases/unit/69 static link/lib/func19.c
64new file mode 100644
65index 0000000000..69120e4bf8
66--- /dev/null
67+++ b/test cases/unit/69 static link/lib/func19.c
68@@ -0,0 +1,7 @@
69+int func17();
70+int func18();
71+
72+int func19()
73+{
74+ return func17() + func18();
75+}
76diff --git a/test cases/unit/69 static link/lib/meson.build b/test cases/unit/69 static link/lib/meson.build
77index 5f04aab6a1..8f95fc4546 100644
78--- a/test cases/unit/69 static link/lib/meson.build
79+++ b/test cases/unit/69 static link/lib/meson.build
80@@ -66,3 +66,15 @@ libfunc15 = static_library('func15', 'func15.c',
81 libfunc16 = static_library('func16', 'func16.c',
82 link_with : libfunc15,
83 install : true)
84+
85+# Verify func17.c.o gets included only once into libfunc19, otherwise
86+# func19-shared would failed with duplicated symbol.
87+libfunc17 = static_library('func17', 'func17.c',
88+ install : false)
89+libfunc18 = static_library('func18', 'func18.c',
90+ link_with : libfunc17,
91+ install : false)
92+libfunc19 = static_library('func19', 'func19.c',
93+ link_whole : [libfunc17, libfunc18],
94+ install : false)
95+shared_library('func19-shared', link_whole : [libfunc19])
diff --git a/meta/recipes-devtools/meson/meson_0.52.0.bb b/meta/recipes-devtools/meson/meson_0.52.1.bb
index 897fa148d9..de9b905c12 100644
--- a/meta/recipes-devtools/meson/meson_0.52.0.bb
+++ b/meta/recipes-devtools/meson/meson_0.52.1.bb
@@ -1,3 +1,4 @@
1include meson.inc 1include meson.inc
2 2
3BBCLASSEXTEND = "native" 3BBCLASSEXTEND = "native"
4
diff --git a/meta/recipes-devtools/meson/nativesdk-meson_0.52.0.bb b/meta/recipes-devtools/meson/nativesdk-meson_0.52.1.bb
index 1756f342ce..1756f342ce 100644
--- a/meta/recipes-devtools/meson/nativesdk-meson_0.52.0.bb
+++ b/meta/recipes-devtools/meson/nativesdk-meson_0.52.1.bb