[OE-core] [PATCH 1/8] meson: update 0.50.1 -> 0.51.1
Khem Raj
raj.khem at gmail.com
Thu Aug 1 14:32:56 UTC 2019
Alexander
Either this or the next patch in this series seems to be causing
https://errors.yoctoproject.org/Errors/Details/256700/
On Tue, Jul 30, 2019 at 8:55 AM Alexander Kanavin
<alex.kanavin at gmail.com> wrote:
>
> Drop backports.
>
> Rebase other patches.
>
> Signed-off-by: Alexander Kanavin <alex.kanavin at gmail.com>
> ---
> meta/recipes-devtools/meson/meson.inc | 6 +-
> .../0001-Make-CPU-family-warnings-fatal.patch | 10 +-
> ...etect-windows-also-if-the-system-str.patch | 14 +-
> ...onment.py-check-environment-for-vari.patch | 20 +-
> ...onment.py-do-not-determine-whether-a.patch | 10 +-
> ...pport-building-allarch-recipes-again.patch | 6 +-
> .../meson/meson/0003-native_bindir.patch | 32 +--
> ...ld-allow-multiple-cross-file-options.patch | 185 ------------------
> .../load-configs-generalise-search-path.patch | 53 -----
> .../{meson_0.50.1.bb => meson_0.51.1.bb} | 0
> ...on_0.50.1.bb => nativesdk-meson_0.51.1.bb} | 0
> 11 files changed, 49 insertions(+), 287 deletions(-)
> delete mode 100644 meta/recipes-devtools/meson/meson/0007-mesonbuild-allow-multiple-cross-file-options.patch
> delete mode 100644 meta/recipes-devtools/meson/meson/load-configs-generalise-search-path.patch
> rename meta/recipes-devtools/meson/{meson_0.50.1.bb => meson_0.51.1.bb} (100%)
> rename meta/recipes-devtools/meson/{nativesdk-meson_0.50.1.bb => nativesdk-meson_0.51.1.bb} (100%)
>
> diff --git a/meta/recipes-devtools/meson/meson.inc b/meta/recipes-devtools/meson/meson.inc
> index 6a723683cc0..b9a05967f46 100644
> --- a/meta/recipes-devtools/meson/meson.inc
> +++ b/meta/recipes-devtools/meson/meson.inc
> @@ -11,15 +11,13 @@ SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${P
> file://0001-python-module-do-not-manipulate-the-environment-when.patch \
> file://disable-rpath-handling.patch \
> file://cross-prop-default.patch \
> - file://load-configs-generalise-search-path.patch \
> - file://0007-mesonbuild-allow-multiple-cross-file-options.patch \
> file://0001-environment.py-detect-windows-also-if-the-system-str.patch \
> file://0001-mesonbuild-environment.py-do-not-determine-whether-a.patch \
> file://0001-mesonbuild-environment.py-check-environment-for-vari.patch \
> file://0001-modules-python.py-do-not-substitute-python-s-install.patch \
> "
> -SRC_URI[sha256sum] = "f68f56d60c80a77df8fc08fa1016bc5831605d4717b622c96212573271e14ecc"
> -SRC_URI[md5sum] = "24a6527796115828d2ebc75880e18d62"
> +SRC_URI[sha256sum] = "f27b7a60f339ba66fe4b8f81f0d1072e090a08eabbd6aa287683b2c2b9dd2d82"
> +SRC_URI[md5sum] = "48787e391ec5c052799a3dd491f73909"
>
> SRC_URI_append_class-native = " \
> 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 adde1e271f1..444fc081686 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 @@
> -From 4b4b3d4932d928f05dbd74d730a3c8a5ac371e1d Mon Sep 17 00:00:00 2001
> +From f70fee13e4dbc757cd8153cd42d92fa9394fb542 Mon Sep 17 00:00:00 2001
> From: Ross Burton <ross.burton at intel.com>
> Date: Tue, 3 Jul 2018 13:59:09 +0100
> Subject: [PATCH] Make CPU family warnings fatal
> @@ -12,10 +12,10 @@ Signed-off-by: Ross Burton <ross.burton at intel.com>
> 2 files changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py
> -index 5309ef4..3f0a399 100644
> +index 03c6346..86b350b 100644
> --- a/mesonbuild/envconfig.py
> +++ b/mesonbuild/envconfig.py
> -@@ -178,7 +178,7 @@ class MachineInfo:
> +@@ -186,7 +186,7 @@ class MachineInfo:
>
> cpu_family = literal['cpu_family']
> if cpu_family not in known_cpu_families:
> @@ -25,10 +25,10 @@ index 5309ef4..3f0a399 100644
> endian = literal['endian']
> if endian not in ('little', 'big'):
> diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
> -index 3031a82..ecd18d0 100644
> +index 0cfdf9c..40aa189 100644
> --- a/mesonbuild/environment.py
> +++ b/mesonbuild/environment.py
> -@@ -242,9 +242,7 @@ def detect_cpu_family(compilers):
> +@@ -262,9 +262,7 @@ def detect_cpu_family(compilers: CompilersDict) -> str:
> trial = 'parisc'
>
> if trial not in known_cpu_families:
> diff --git a/meta/recipes-devtools/meson/meson/0001-environment.py-detect-windows-also-if-the-system-str.patch b/meta/recipes-devtools/meson/meson/0001-environment.py-detect-windows-also-if-the-system-str.patch
> index f6043190af0..37b5356d77a 100644
> --- a/meta/recipes-devtools/meson/meson/0001-environment.py-detect-windows-also-if-the-system-str.patch
> +++ b/meta/recipes-devtools/meson/meson/0001-environment.py-detect-windows-also-if-the-system-str.patch
> @@ -1,4 +1,4 @@
> -From 63b78b7990c5d60f7bc674a26f655caa0bec3c49 Mon Sep 17 00:00:00 2001
> +From b52e47c9d61dc4c930cfc7236fbeb70338c3b953 Mon Sep 17 00:00:00 2001
> From: Alexander Kanavin <alex.kanavin at gmail.com>
> Date: Mon, 25 Mar 2019 17:17:06 +0100
> Subject: [PATCH] environment.py: detect windows also if the system string
> @@ -6,20 +6,24 @@ Subject: [PATCH] environment.py: detect windows also if the system string
>
> Upstream-Status: Pending
> Signed-off-by: Alexander Kanavin <alex.kanavin at gmail.com>
> +
> ---
> mesonbuild/envconfig.py | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py
> -index f2510c1..5309ef4 100644
> +index 03c6346..a59cd89 100644
> --- a/mesonbuild/envconfig.py
> +++ b/mesonbuild/envconfig.py
> -@@ -194,7 +194,7 @@ class MachineInfo:
> +@@ -198,7 +198,7 @@ class MachineInfo:
> """
> Machine is windows?
> """
> -- return self.system == 'windows'
> +- return self.system in {'windows', 'mingw'}
> + return self.system == 'windows' or 'mingw' in self.system
>
> - def is_cygwin(self):
> + def is_cygwin(self) -> bool:
> """
> +--
> +2.17.1
> +
> diff --git a/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-check-environment-for-vari.patch b/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-check-environment-for-vari.patch
> index fadb2734f4b..f4456235fe7 100644
> --- a/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-check-environment-for-vari.patch
> +++ b/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-check-environment-for-vari.patch
> @@ -1,4 +1,4 @@
> -From 63e79329b5dd00882f0cea56a6d907a831b94171 Mon Sep 17 00:00:00 2001
> +From a72dc2b1cddcf180ce782860896deae0b12d5000 Mon Sep 17 00:00:00 2001
> From: Alexander Kanavin <alex.kanavin at gmail.com>
> Date: Mon, 25 Mar 2019 18:52:48 +0100
> Subject: [PATCH] mesonbuild/environment.py: check environment for various
> @@ -6,23 +6,21 @@ Subject: [PATCH] mesonbuild/environment.py: check environment for various
>
> Upstream-Status: Inappropriate [oe-core specific]
> Signed-off-by: Alexander Kanavin <alex.kanavin at gmail.com>
> +
> ---
> mesonbuild/environment.py | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
> -index 6e5d689..bbfd87d 100644
> +index 9a029f4..0cfdf9c 100644
> --- a/mesonbuild/environment.py
> +++ b/mesonbuild/environment.py
> -@@ -398,7 +398,7 @@ class Environment:
> +@@ -448,7 +448,7 @@ class Environment:
> config = MesonConfigFile.from_config_parser(
> - coredata.load_configs(self.coredata.cross_files, 'cross'))
> - self.properties.host = Properties(config.get('properties', {}), False)
> -- self.binaries.host = BinaryTable(config.get('binaries', {}), False)
> -+ self.binaries.host = BinaryTable(config.get('binaries', {}), True)
> + coredata.load_configs(self.coredata.cross_files))
> + properties.host = Properties(config.get('properties', {}), False)
> +- binaries.host = BinaryTable(config.get('binaries', {}), False)
> ++ binaries.host = BinaryTable(config.get('binaries', {}), True)
> if 'host_machine' in config:
> - self.machines.host = MachineInfo.from_literal(config['host_machine'])
> + machines.host = MachineInfo.from_literal(config['host_machine'])
> if 'target_machine' in config:
> ---
> -2.17.1
> -
> diff --git a/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-do-not-determine-whether-a.patch b/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-do-not-determine-whether-a.patch
> index 83347145417..8cb11879f4d 100644
> --- a/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-do-not-determine-whether-a.patch
> +++ b/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-do-not-determine-whether-a.patch
> @@ -1,4 +1,4 @@
> -From d9da5e7a16a9397e22a8900fac4b60b40d7f00de Mon Sep 17 00:00:00 2001
> +From ec9c4a22424a5d55fcf213a55d03f096ec24bcae Mon Sep 17 00:00:00 2001
> From: Alexander Kanavin <alex.kanavin at gmail.com>
> Date: Mon, 25 Mar 2019 18:18:33 +0100
> Subject: [PATCH] mesonbuild/environment.py: do not determine whether a build
> @@ -14,14 +14,14 @@ Signed-off-by: Alexander Kanavin <alex.kanavin at gmail.com>
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
> -index d4f0630..c584fa4 100644
> +index 84a7596..9a029f4 100644
> --- a/mesonbuild/environment.py
> +++ b/mesonbuild/environment.py
> -@@ -483,7 +483,7 @@ class Environment:
> +@@ -520,7 +520,7 @@ class Environment:
> self.first_invocation = True
>
> - def is_cross_build(self):
> -- return self.coredata.cross_file is not None
> + def is_cross_build(self) -> bool:
> +- return not self.machines.matches_build_machine(MachineChoice.HOST)
> + return self.need_exe_wrapper()
>
> def dump_coredata(self):
> 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 e47e555324f..8ad86a46e99 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 @@
> -From 2164655328ec4e47335fc9033813274365491ad8 Mon Sep 17 00:00:00 2001
> +From 3009a1c2f1b736b836a057d84dc11f379cba99cf Mon Sep 17 00:00:00 2001
> From: Peter Kjellerstedt <pkj at axis.com>
> Date: Thu, 26 Jul 2018 16:32:49 +0200
> Subject: [PATCH] Support building allarch recipes again
> @@ -13,10 +13,10 @@ Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt at axis.com>
> 1 file changed, 1 insertion(+)
>
> diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py
> -index 3f0a399..4509e09 100644
> +index 86b350b..aa426ca 100644
> --- a/mesonbuild/envconfig.py
> +++ b/mesonbuild/envconfig.py
> -@@ -34,6 +34,7 @@ from . import mlog
> +@@ -36,6 +36,7 @@ _T = typing.TypeVar('_T')
>
>
> known_cpu_families = (
> diff --git a/meta/recipes-devtools/meson/meson/0003-native_bindir.patch b/meta/recipes-devtools/meson/meson/0003-native_bindir.patch
> index 2b22531dd0c..57de598d2f1 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 @@
> -From e762d85c823adfefc27ba6128c7b997aa50166ce Mon Sep 17 00:00:00 2001
> +From ac38495de38a1ea42e2bc09a2f23c2e945fbc22d Mon Sep 17 00:00:00 2001
> From: Ricardo Ribalda Delgado <ricardo.ribalda at gmail.com>
> Date: Wed, 15 Nov 2017 15:05:01 +0100
> Subject: [PATCH] native_bindir
> @@ -22,19 +22,19 @@ Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda at gmail.com>
> 2 files changed, 14 insertions(+), 11 deletions(-)
>
> diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py
> -index 6d3678f..90fdb80 100644
> +index 21da8e2..7d1ef85 100644
> --- a/mesonbuild/dependencies/base.py
> +++ b/mesonbuild/dependencies/base.py
> -@@ -146,7 +146,7 @@ class Dependency:
> - def need_threads(self):
> - return False
> +@@ -155,7 +155,7 @@ class Dependency:
> + def get_exe_args(self, compiler):
> + return []
>
> - def get_pkgconfig_variable(self, variable_name, kwargs):
> + def get_pkgconfig_variable(self, variable_name, kwargs, use_native=False):
> raise DependencyException('{!r} is not a pkgconfig dependency'.format(self.name))
>
> def get_configtool_variable(self, variable_name):
> -@@ -183,7 +183,7 @@ class InternalDependency(Dependency):
> +@@ -214,7 +214,7 @@ class InternalDependency(Dependency):
> self.sources = sources
> self.ext_deps = ext_deps
>
> @@ -43,7 +43,7 @@ index 6d3678f..90fdb80 100644
> raise DependencyException('Method "get_pkgconfig_variable()" is '
> 'invalid for an internal dependency')
>
> -@@ -523,15 +523,18 @@ class PkgConfigDependency(ExternalDependency):
> +@@ -639,15 +639,18 @@ class PkgConfigDependency(ExternalDependency):
> return s.format(self.__class__.__name__, self.name, self.is_found,
> self.version_reqs)
>
> @@ -62,10 +62,10 @@ index 6d3678f..90fdb80 100644
>
> - def _call_pkgbin(self, args, env=None):
> + def _call_pkgbin(self, args, env=None, use_native=False):
> + # Always copy the environment since we're going to modify it
> + # with pkg-config variables
> if env is None:
> - fenv = env
> - env = os.environ
> -@@ -540,7 +543,7 @@ class PkgConfigDependency(ExternalDependency):
> +@@ -663,7 +666,7 @@ class PkgConfigDependency(ExternalDependency):
> targs = tuple(args)
> cache = PkgConfigDependency.pkgbin_cache
> if (self.pkgbin, targs, fenv) not in cache:
> @@ -74,7 +74,7 @@ index 6d3678f..90fdb80 100644
> return cache[(self.pkgbin, targs, fenv)]
>
> def _convert_mingw_paths(self, args):
> -@@ -718,7 +721,7 @@ class PkgConfigDependency(ExternalDependency):
> +@@ -845,7 +848,7 @@ class PkgConfigDependency(ExternalDependency):
> (self.name, out_raw))
> self.link_args, self.raw_link_args = self._search_libs(out, out_raw)
>
> @@ -83,7 +83,7 @@ index 6d3678f..90fdb80 100644
> options = ['--variable=' + variable_name, self.name]
>
> if 'define_variable' in kwargs:
> -@@ -731,7 +734,7 @@ class PkgConfigDependency(ExternalDependency):
> +@@ -858,7 +861,7 @@ class PkgConfigDependency(ExternalDependency):
>
> options = ['--define-variable=' + '='.join(definition)] + options
>
> @@ -93,10 +93,10 @@ index 6d3678f..90fdb80 100644
> if ret != 0:
> if self.required:
> diff --git a/mesonbuild/dependencies/ui.py b/mesonbuild/dependencies/ui.py
> -index 197d22c..c683d21 100644
> +index 6d784e6..73a9e13 100644
> --- a/mesonbuild/dependencies/ui.py
> +++ b/mesonbuild/dependencies/ui.py
> -@@ -285,7 +285,7 @@ class QtBaseDependency(ExternalDependency):
> +@@ -330,7 +330,7 @@ class QtBaseDependency(ExternalDependency):
> self.bindir = self.get_pkgconfig_host_bins(core)
> if not self.bindir:
> # If exec_prefix is not defined, the pkg-config file is broken
> @@ -105,7 +105,7 @@ index 197d22c..c683d21 100644
> if prefix:
> self.bindir = os.path.join(prefix, 'bin')
>
> -@@ -427,7 +427,7 @@ class Qt4Dependency(QtBaseDependency):
> +@@ -507,7 +507,7 @@ class Qt4Dependency(QtBaseDependency):
> applications = ['moc', 'uic', 'rcc', 'lupdate', 'lrelease']
> for application in applications:
> try:
> @@ -114,7 +114,7 @@ index 197d22c..c683d21 100644
> except MesonException:
> pass
>
> -@@ -437,7 +437,7 @@ class Qt5Dependency(QtBaseDependency):
> +@@ -517,7 +517,7 @@ class Qt5Dependency(QtBaseDependency):
> QtBaseDependency.__init__(self, 'qt5', env, kwargs)
>
> def get_pkgconfig_host_bins(self, core):
> diff --git a/meta/recipes-devtools/meson/meson/0007-mesonbuild-allow-multiple-cross-file-options.patch b/meta/recipes-devtools/meson/meson/0007-mesonbuild-allow-multiple-cross-file-options.patch
> deleted file mode 100644
> index 6c2949c0e8b..00000000000
> --- a/meta/recipes-devtools/meson/meson/0007-mesonbuild-allow-multiple-cross-file-options.patch
> +++ /dev/null
> @@ -1,185 +0,0 @@
> -From 07ae4f949b8402cff178dd12c210d9a726ffe2da Mon Sep 17 00:00:00 2001
> -From: Ross Burton <ross.burton at intel.com>
> -Date: Mon, 18 Mar 2019 17:27:57 +0000
> -Subject: [PATCH] mesonbuild: allow multiple --cross-file options
> -
> -Just like --native-file, allow multiple --cross-file options. This is mostly
> -unifying the logic between cross_files and config_files.
> -
> -Upstream-Status: Backport [will be in 0.50.1]
> -Signed-off-by: Ross Burton <ross.burton at intel.com>
> -
> ----
> - .../markdown/snippets/multiple-cross-files.md | 3 ++
> - mesonbuild/backend/backends.py | 3 +-
> - mesonbuild/coredata.py | 52 +++----------------
> - mesonbuild/environment.py | 5 +-
> - mesonbuild/msetup.py | 4 +-
> - mesonbuild/munstable_coredata.py | 5 +-
> - 6 files changed, 20 insertions(+), 52 deletions(-)
> - create mode 100644 docs/markdown/snippets/multiple-cross-files.md
> -
> -diff --git a/docs/markdown/snippets/multiple-cross-files.md b/docs/markdown/snippets/multiple-cross-files.md
> -new file mode 100644
> -index 0000000..de229be
> ---- /dev/null
> -+++ b/docs/markdown/snippets/multiple-cross-files.md
> -@@ -0,0 +1,3 @@
> -+## Multipe cross files can be specified
> -+
> -+`--cross-file` can be passed multiple times, with the configuration files overlaying the same way as `--native-file`.
> -diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py
> -index 4d35d22..5b270d3 100644
> ---- a/mesonbuild/backend/backends.py
> -+++ b/mesonbuild/backend/backends.py
> -@@ -788,8 +788,7 @@ class Backend:
> - deps = [os.path.join(self.build_to_src, df)
> - for df in self.interpreter.get_build_def_files()]
> - if self.environment.is_cross_build():
> -- deps.append(os.path.join(self.build_to_src,
> -- self.environment.coredata.cross_file))
> -+ deps.extend(self.environment.coredata.cross_files)
> - deps.append('meson-private/coredata.dat')
> - if os.path.exists(os.path.join(self.environment.get_source_dir(), 'meson_options.txt')):
> - deps.append(os.path.join(self.build_to_src, 'meson_options.txt'))
> -diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py
> -index 066ad30..d80e9a0 100644
> ---- a/mesonbuild/coredata.py
> -+++ b/mesonbuild/coredata.py
> -@@ -265,7 +265,7 @@ class CoreData:
> - self.compiler_options = PerMachine({}, {}, {})
> - self.base_options = {}
> - self.external_preprocess_args = PerMachine({}, {}, {}) # CPPFLAGS only
> -- self.cross_file = self.__load_cross_file(options.cross_file)
> -+ self.cross_files = self.__load_config_files(options.cross_file)
> - self.compilers = OrderedDict()
> - self.cross_compilers = OrderedDict()
> - self.deps = OrderedDict()
> -@@ -276,57 +276,19 @@ class CoreData:
> -
> - @staticmethod
> - def __load_config_files(filenames):
> -+ # Need to try and make the passed filenames absolute because when the
> -+ # files are parsed later we'll have chdir()d.
> - if not filenames:
> - return []
> - filenames = [os.path.abspath(os.path.expanduser(os.path.expanduser(f)))
> - for f in filenames]
> - return filenames
> -
> -- @staticmethod
> -- def __load_cross_file(filename):
> -- """Try to load the cross file.
> --
> -- If the filename is None return None. If the filename is an absolute
> -- (after resolving variables and ~), return that absolute path. Next,
> -- check if the file is relative to the current source dir. If the path
> -- still isn't resolved do the following:
> -- Windows:
> -- - Error
> -- *:
> -- - $XDG_DATA_HOME/meson/cross (or ~/.local/share/meson/cross if
> -- undefined)
> -- - $XDG_DATA_DIRS/meson/cross (or
> -- /usr/local/share/meson/cross:/usr/share/meson/cross if undefined)
> -- - Error
> --
> -- Non-Windows follows the Linux path and will honor XDG_* if set. This
> -- simplifies the implementation somewhat.
> -- """
> -- if filename is None:
> -- return None
> -- filename = os.path.expanduser(os.path.expandvars(filename))
> -- if os.path.isabs(filename):
> -- return filename
> -- path_to_try = os.path.abspath(filename)
> -- if os.path.isfile(path_to_try):
> -- return path_to_try
> -- if sys.platform != 'win32':
> -- paths = [
> -- os.environ.get('XDG_DATA_HOME', os.path.expanduser('~/.local/share')),
> -- ] + os.environ.get('XDG_DATA_DIRS', '/usr/local/share:/usr/share').split(':')
> -- for path in paths:
> -- path_to_try = os.path.join(path, 'meson', 'cross', filename)
> -- if os.path.isfile(path_to_try):
> -- return path_to_try
> -- raise MesonException('Cannot find specified cross file: ' + filename)
> --
> -- raise MesonException('Cannot find specified cross file: ' + filename)
> --
> - def libdir_cross_fixup(self):
> - # By default set libdir to "lib" when cross compiling since
> - # getting the "system default" is always wrong on multiarch
> - # platforms as it gets a value like lib/x86_64-linux-gnu.
> -- if self.cross_file is not None:
> -+ if self.cross_files:
> - self.builtins['libdir'].value = 'lib'
> -
> - def sanitize_prefix(self, prefix):
> -@@ -642,8 +604,8 @@ def read_cmd_line_file(build_dir, options):
> - options.cmd_line_options = d
> -
> - properties = config['properties']
> -- if options.cross_file is None:
> -- options.cross_file = properties.get('cross_file', None)
> -+ if not options.cross_file:
> -+ options.cross_file = ast.literal_eval(properties.get('cross_file', '[]'))
> - if not options.native_file:
> - # This will be a string in the form: "['first', 'second', ...]", use
> - # literal_eval to get it into the list of strings.
> -@@ -654,7 +616,7 @@ def write_cmd_line_file(build_dir, options):
> - config = CmdLineFileParser()
> -
> - properties = {}
> -- if options.cross_file is not None:
> -+ if options.cross_file:
> - properties['cross_file'] = options.cross_file
> - if options.native_file:
> - properties['native_file'] = options.native_file
> -diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
> -index c25ef33..4c1c5ac 100644
> ---- a/mesonbuild/environment.py
> -+++ b/mesonbuild/environment.py
> -@@ -394,8 +394,9 @@ class Environment:
> - self.binaries.build = BinaryTable(config.get('binaries', {}))
> - self.paths.build = Directories(**config.get('paths', {}))
> -
> -- if self.coredata.cross_file is not None:
> -- config = MesonConfigFile.parse_datafile(self.coredata.cross_file)
> -+ if self.coredata.cross_files:
> -+ config = MesonConfigFile.from_config_parser(
> -+ coredata.load_configs(self.coredata.cross_files, 'cross'))
> - self.properties.host = Properties(config.get('properties', {}), False)
> - self.binaries.host = BinaryTable(config.get('binaries', {}), False)
> - if 'host_machine' in config:
> -diff --git a/mesonbuild/msetup.py b/mesonbuild/msetup.py
> -index 023afdb..6e8ca83 100644
> ---- a/mesonbuild/msetup.py
> -+++ b/mesonbuild/msetup.py
> -@@ -29,7 +29,9 @@ from .mesonlib import MesonException
> -
> - def add_arguments(parser):
> - coredata.register_builtin_arguments(parser)
> -- parser.add_argument('--cross-file', default=None,
> -+ parser.add_argument('--cross-file',
> -+ default=[],
> -+ action='append',
> - help='File describing cross compilation environment.')
> - parser.add_argument('--native-file',
> - default=[],
> -diff --git a/mesonbuild/munstable_coredata.py b/mesonbuild/munstable_coredata.py
> -index 78f3f34..913f942 100644
> ---- a/mesonbuild/munstable_coredata.py
> -+++ b/mesonbuild/munstable_coredata.py
> -@@ -81,8 +81,9 @@ def run(options):
> - print('Last seen PKGCONFIG enviroment variable value: ' + v)
> - elif k == 'version':
> - print('Meson version: ' + v)
> -- elif k == 'cross_file':
> -- print('Cross File: ' + (v or 'None'))
> -+ elif k == 'cross_files':
> -+ if v:
> -+ print('Cross File: ' + ' '.join(v))
> - elif k == 'config_files':
> - if v:
> - print('Native File: ' + ' '.join(v))
> diff --git a/meta/recipes-devtools/meson/meson/load-configs-generalise-search-path.patch b/meta/recipes-devtools/meson/meson/load-configs-generalise-search-path.patch
> deleted file mode 100644
> index 2056763db5d..00000000000
> --- a/meta/recipes-devtools/meson/meson/load-configs-generalise-search-path.patch
> +++ /dev/null
> @@ -1,53 +0,0 @@
> -From d57dd1092e84e08ee15d7063b6c56bd6d864f2e1 Mon Sep 17 00:00:00 2001
> -From: Ross Burton <ross.burton at intel.com>
> -Date: Mon, 18 Mar 2019 16:16:56 +0000
> -Subject: [PATCH] load_configs: generalise the search path
> -
> -Instead of hard-coding the fact that load_configs() searches for files under
> -meson/native, pass in the subdirectory allowing the cross-file code to use the
> -same logic.
> -
> -Upstream-Status: Backport
> -Signed-off-by: Alexander Kanavin <alex.kanavin at gmail.com>
> ----
> - mesonbuild/coredata.py | 6 +++---
> - mesonbuild/environment.py | 2 +-
> - 2 files changed, 4 insertions(+), 4 deletions(-)
> -
> -diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py
> -index fba90fa369..6e60917d10 100644
> ---- a/mesonbuild/coredata.py
> -+++ b/mesonbuild/coredata.py
> -@@ -211,8 +211,8 @@ def is_auto(self):
> - return self.value == 'auto'
> -
> -
> --def load_configs(filenames):
> -- """Load native files."""
> -+def load_configs(filenames, subdir):
> -+ """Load configuration files from a named subdirectory."""
> - def gen():
> - for f in filenames:
> - f = os.path.expanduser(os.path.expandvars(f))
> -@@ -225,7 +225,7 @@ def gen():
> - os.environ.get('XDG_DATA_HOME', os.path.expanduser('~/.local/share')),
> - ] + os.environ.get('XDG_DATA_DIRS', '/usr/local/share:/usr/share').split(':')
> - for path in paths:
> -- path_to_try = os.path.join(path, 'meson', 'native', f)
> -+ path_to_try = os.path.join(path, 'meson', subdir, f)
> - if os.path.isfile(path_to_try):
> - yield path_to_try
> - break
> -diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
> -index 58adb06960..92a00dd7bf 100644
> ---- a/mesonbuild/environment.py
> -+++ b/mesonbuild/environment.py
> -@@ -408,7 +408,7 @@ def __init__(self, source_dir, build_dir, options):
> -
> - if self.coredata.config_files is not None:
> - config = MesonConfigFile.from_config_parser(
> -- coredata.load_configs(self.coredata.config_files))
> -+ coredata.load_configs(self.coredata.config_files, 'native'))
> - self.binaries.build = BinaryTable(config.get('binaries', {}))
> - self.paths.build = Directories(**config.get('paths', {}))
> -
> diff --git a/meta/recipes-devtools/meson/meson_0.50.1.bb b/meta/recipes-devtools/meson/meson_0.51.1.bb
> similarity index 100%
> rename from meta/recipes-devtools/meson/meson_0.50.1.bb
> rename to meta/recipes-devtools/meson/meson_0.51.1.bb
> diff --git a/meta/recipes-devtools/meson/nativesdk-meson_0.50.1.bb b/meta/recipes-devtools/meson/nativesdk-meson_0.51.1.bb
> similarity index 100%
> rename from meta/recipes-devtools/meson/nativesdk-meson_0.50.1.bb
> rename to meta/recipes-devtools/meson/nativesdk-meson_0.51.1.bb
> --
> 2.17.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
More information about the Openembedded-core
mailing list