diff options
Diffstat (limited to 'poky/meta/recipes-devtools/meson')
-rw-r--r-- | poky/meta/recipes-devtools/meson/meson.inc | 6 | ||||
-rw-r--r-- | poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch | 20 | ||||
-rw-r--r-- | poky/meta/recipes-devtools/meson/meson/0001-is_debianlike-always-return-False.patch | 26 | ||||
-rw-r--r-- | poky/meta/recipes-devtools/meson/meson/0001-modules-python.py-do-not-substitute-python-s-install.patch | 41 | ||||
-rw-r--r-- | poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch | 94 | ||||
-rw-r--r-- | poky/meta/recipes-devtools/meson/meson/gi-target-dep.patch | 41 | ||||
-rwxr-xr-x | poky/meta/recipes-devtools/meson/meson/meson-setup.py | 8 | ||||
-rwxr-xr-x | poky/meta/recipes-devtools/meson/meson/meson-wrapper | 1 | ||||
-rw-r--r-- | poky/meta/recipes-devtools/meson/meson_0.59.2.bb (renamed from poky/meta/recipes-devtools/meson/meson_0.58.1.bb) | 0 | ||||
-rw-r--r-- | poky/meta/recipes-devtools/meson/nativesdk-meson_0.58.1.bb | 56 | ||||
-rw-r--r-- | poky/meta/recipes-devtools/meson/nativesdk-meson_0.59.2.bb | 104 |
11 files changed, 150 insertions, 247 deletions
diff --git a/poky/meta/recipes-devtools/meson/meson.inc b/poky/meta/recipes-devtools/meson/meson.inc index f1746d2094..174ebd9f31 100644 --- a/poky/meta/recipes-devtools/meson/meson.inc +++ b/poky/meta/recipes-devtools/meson/meson.inc @@ -9,15 +9,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57" SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${PV}.tar.gz \ file://0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch \ - file://0003-native_bindir.patch \ file://0001-python-module-do-not-manipulate-the-environment-when.patch \ file://disable-rpath-handling.patch \ - file://0001-modules-python.py-do-not-substitute-python-s-install.patch \ - file://gi-target-dep.patch \ file://0001-Make-CPU-family-warnings-fatal.patch \ file://0002-Support-building-allarch-recipes-again.patch \ + file://0001-is_debianlike-always-return-False.patch \ " -SRC_URI[sha256sum] = "3144a3da662fcf79f1e5602fa929f2821cba4eba28c2c923fe0a7d3e3db04d5d" +SRC_URI[sha256sum] = "13dee549a7ba758b7e33ce7719f28d1d337a98d10d378a4779ccc996f5a2fc49" UPSTREAM_CHECK_URI = "https://github.com/mesonbuild/meson/releases" UPSTREAM_CHECK_REGEX = "meson-(?P<pver>\d+(\.\d+)+)\.tar" diff --git a/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch b/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch index bcccfabd17..c5be526b10 100644 --- a/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch +++ b/poky/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch @@ -1,20 +1,21 @@ -From b64032a2eb1fb760f4ffd5b4b666e2433cf80d39 Mon Sep 17 00:00:00 2001 +From 6c4eef1d92e9e42fdbc888365cab3c95fb33c605 Mon Sep 17 00:00:00 2001 From: Ross Burton <ross.burton@intel.com> Date: Tue, 3 Jul 2018 13:59:09 +0100 -Subject: [PATCH 1/2] Make CPU family warnings fatal +Subject: [PATCH] Make CPU family warnings fatal Upstream-Status: Inappropriate [OE specific] Signed-off-by: Ross Burton <ross.burton@intel.com> + --- mesonbuild/envconfig.py | 2 +- mesonbuild/environment.py | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py -index c6a4df3..4d58c91 100644 +index 307aac3..66fb7ec 100644 --- a/mesonbuild/envconfig.py +++ b/mesonbuild/envconfig.py -@@ -266,7 +266,7 @@ class MachineInfo: +@@ -267,7 +267,7 @@ class MachineInfo(HoldableObject): cpu_family = literal['cpu_family'] if cpu_family not in known_cpu_families: @@ -24,20 +25,17 @@ index c6a4df3..4d58c91 100644 endian = literal['endian'] if endian not in ('little', 'big'): diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py -index fc9b703..eea8345 100644 +index 71286a5..179917e 100644 --- a/mesonbuild/environment.py +++ b/mesonbuild/environment.py -@@ -436,9 +436,7 @@ def detect_cpu_family(compilers: CompilersDict) -> str: +@@ -352,9 +352,7 @@ def detect_cpu_family(compilers: CompilersDict) -> str: trial = 'ppc64' if trial not in known_cpu_families: -- mlog.warning('Unknown CPU family {!r}, please report this at ' +- mlog.warning(f'Unknown CPU family {trial!r}, please report this at ' - 'https://github.com/mesonbuild/meson/issues/new with the ' -- 'output of `uname -a` and `cat /proc/cpuinfo`'.format(trial)) +- 'output of `uname -a` and `cat /proc/cpuinfo`') + raise EnvironmentException('Unknown CPU family %s, see https://wiki.yoctoproject.org/wiki/Meson/UnknownCPU for directions.' % trial) return trial --- -2.24.0 - diff --git a/poky/meta/recipes-devtools/meson/meson/0001-is_debianlike-always-return-False.patch b/poky/meta/recipes-devtools/meson/meson/0001-is_debianlike-always-return-False.patch new file mode 100644 index 0000000000..83c4782a61 --- /dev/null +++ b/poky/meta/recipes-devtools/meson/meson/0001-is_debianlike-always-return-False.patch @@ -0,0 +1,26 @@ +From 667b9ede638677fb37911306937ea62f05897581 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex@linutronix.de> +Date: Mon, 18 Oct 2021 15:55:59 +0200 +Subject: [PATCH] is_debianlike(): always return False + +Otherwise, host contamination happens. + +Upstream-Status: Inappropriate [oe-core specific] +Signed-off-by: Alexander Kanavin <alex@linutronix.de> +--- + mesonbuild/mesonlib/universal.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/mesonbuild/mesonlib/universal.py b/mesonbuild/mesonlib/universal.py +index d670d04..47d1b52 100644 +--- a/mesonbuild/mesonlib/universal.py ++++ b/mesonbuild/mesonlib/universal.py +@@ -651,7 +651,7 @@ def is_cygwin() -> bool: + + + def is_debianlike() -> bool: +- return os.path.isfile('/etc/debian_version') ++ return False + + + def is_dragonflybsd() -> bool: diff --git a/poky/meta/recipes-devtools/meson/meson/0001-modules-python.py-do-not-substitute-python-s-install.patch b/poky/meta/recipes-devtools/meson/meson/0001-modules-python.py-do-not-substitute-python-s-install.patch deleted file mode 100644 index 231414fcb6..0000000000 --- a/poky/meta/recipes-devtools/meson/meson/0001-modules-python.py-do-not-substitute-python-s-install.patch +++ /dev/null @@ -1,41 +0,0 @@ -From f8f67c8d5c3f374b1e30e2d40cb56a79f0544471 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Thu, 18 Apr 2019 17:36:11 +0200 -Subject: [PATCH] modules/python.py: do not substitute python's install prefix - with meson's - -Not sure why this is being done, but it -a) relies on Python's internal variable substitution which may break in the future -b) shouldn't be necessary as Python's prefix ought to be correct in the first place - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> - ---- - mesonbuild/modules/python.py | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/mesonbuild/modules/python.py b/mesonbuild/modules/python.py -index eda70ce..18edd15 100644 ---- a/mesonbuild/modules/python.py -+++ b/mesonbuild/modules/python.py -@@ -251,7 +251,7 @@ INTROSPECT_COMMAND = '''import sysconfig - import json - import sys - --install_paths = sysconfig.get_paths(scheme='posix_prefix', vars={'base': '', 'platbase': '', 'installed_base': ''}) -+install_paths = sysconfig.get_paths(scheme='posix_prefix') - - def links_against_libpython(): - from distutils.core import Distribution, Extension -@@ -280,8 +280,8 @@ class PythonInstallation(ExternalProgramHolder): - self.variables = info['variables'] - self.paths = info['paths'] - install_paths = info['install_paths'] -- self.platlib_install_path = os.path.join(prefix, install_paths['platlib'][1:]) -- self.purelib_install_path = os.path.join(prefix, install_paths['purelib'][1:]) -+ self.platlib_install_path = install_paths['platlib'] -+ self.purelib_install_path = install_paths['purelib'] - self.version = info['version'] - self.platform = info['platform'] - self.is_pypy = info['is_pypy'] diff --git a/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch b/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch deleted file mode 100644 index 89257b9e05..0000000000 --- a/poky/meta/recipes-devtools/meson/meson/0003-native_bindir.patch +++ /dev/null @@ -1,94 +0,0 @@ -From 30e97d4090a3d3f5b7ddcaf27cfa17f3c8c1d462 Mon Sep 17 00:00:00 2001 -From: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> -Date: Wed, 15 Nov 2017 15:05:01 +0100 -Subject: [PATCH] native_bindir - -Some libraries, like QT, have pre-processors that convert their input -files into something that the cross-compiler can process. We find the -path of those pre-processors via pkg-config-native instead of -pkg-config. - -This path forces the use of pkg-config-native for host_bins arguments. - -There are some discussions upstream to merge this patch, but I presonaly believe -that is is OE only. https://github.com/mesonbuild/meson/issues/1849#issuecomment-303730323 - -Upstream-Status: Inappropriate [OE specific] -Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com> - ---- - mesonbuild/dependencies/base.py | 19 +++++++++++-------- - 1 file changed, 11 insertions(+), 8 deletions(-) - -diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py -index 14380d4..d0c443f 100644 ---- a/mesonbuild/dependencies/base.py -+++ b/mesonbuild/dependencies/base.py -@@ -179,7 +179,7 @@ class Dependency: - def get_exe_args(self, compiler): - return [] - -- def get_pkgconfig_variable(self, variable_name: str, kwargs: T.Dict[str, T.Any]) -> str: -+ def get_pkgconfig_variable(self, variable_name: str, kwargs: T.Dict[str, T.Any], use_native=False) -> str: - raise DependencyException(f'{self.name!r} is not a pkgconfig dependency') - - def get_configtool_variable(self, variable_name): -@@ -267,7 +267,7 @@ class InternalDependency(Dependency): - return True - return any(d.is_built() for d in self.ext_deps) - -- def get_pkgconfig_variable(self, variable_name: str, kwargs: T.Dict[str, T.Any]) -> str: -+ def get_pkgconfig_variable(self, variable_name: str, kwargs: T.Dict[str, T.Any], use_native=False) -> str: - raise DependencyException('Method "get_pkgconfig_variable()" is ' - 'invalid for an internal dependency') - -@@ -645,8 +645,11 @@ class PkgConfigDependency(ExternalDependency): - return s.format(self.__class__.__name__, self.name, self.is_found, - self.version_reqs) - -- def _call_pkgbin_real(self, args, env): -- cmd = self.pkgbin.get_command() + args -+ def _call_pkgbin_real(self, args, env, use_native=False): -+ if use_native: -+ cmd = [self.pkgbin.get_command()[0] + "-native"] + args -+ else: -+ cmd = self.pkgbin.get_command() + args - p, out, err = Popen_safe(cmd, env=env) - rc, out, err = p.returncode, out.strip(), err.strip() - call = ' '.join(cmd) -@@ -674,7 +677,7 @@ class PkgConfigDependency(ExternalDependency): - if key.startswith('PKG_'): - mlog.debug(f'env[{key}]: {value}') - -- 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: -@@ -688,7 +691,7 @@ class PkgConfigDependency(ExternalDependency): - targs = tuple(args) - cache = PkgConfigDependency.pkgbin_cache - if (self.pkgbin, targs, fenv) not in cache: -- cache[(self.pkgbin, targs, fenv)] = self._call_pkgbin_real(args, env) -+ cache[(self.pkgbin, targs, fenv)] = self._call_pkgbin_real(args, env, use_native) - return cache[(self.pkgbin, targs, fenv)] - - def _convert_mingw_paths(self, args: T.List[str]) -> T.List[str]: -@@ -894,7 +897,7 @@ class PkgConfigDependency(ExternalDependency): - (self.name, out_raw)) - self.link_args, self.raw_link_args = self._search_libs(out, out_raw) - -- def get_pkgconfig_variable(self, variable_name: str, kwargs: T.Dict[str, T.Any]) -> str: -+ def get_pkgconfig_variable(self, variable_name: str, kwargs: T.Dict[str, T.Any], use_native=False) -> str: - options = ['--variable=' + variable_name, self.name] - - if 'define_variable' in kwargs: -@@ -907,7 +910,7 @@ class PkgConfigDependency(ExternalDependency): - - options = ['--define-variable=' + '='.join(definition)] + options - -- ret, out, err = self._call_pkgbin(options) -+ ret, out, err = self._call_pkgbin(options, use_native=use_native) - variable = '' - if ret != 0: - if self.required: diff --git a/poky/meta/recipes-devtools/meson/meson/gi-target-dep.patch b/poky/meta/recipes-devtools/meson/meson/gi-target-dep.patch deleted file mode 100644 index 29e164ccc7..0000000000 --- a/poky/meta/recipes-devtools/meson/meson/gi-target-dep.patch +++ /dev/null @@ -1,41 +0,0 @@ -When building gobject-introspection we want the *native* binaries (as they need -to be executed) but *host* gobject-introspection libraries, as otherwise the -native pkg-config can be used and the build will try to link native and host -binaries together. - -Upstream-Status: Backport [589236226856f591c9e8daf0cb7aa1aef8862388] -Signed-off-by: Ross Burton <ross.burton@arm.com> - -diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py -index f9660838e..2eefc3fc7 100644 ---- a/mesonbuild/modules/gnome.py -+++ b/mesonbuild/modules/gnome.py -@@ -84,8 +84,8 @@ class GnomeModule(ExtensionModule): - mlog.bold('https://github.com/mesonbuild/meson/issues/1387'), - once=True) - -- def _get_native_dep(self, state, depname, required=True): -- kwargs = {'native': True, 'required': required} -+ def _get_dep(self, state, depname, native=False, required=True): -+ kwargs = {'native': native, 'required': required} - holder = self.interpreter.func_dependency(state.current_node, [depname], kwargs) - return holder.held_object - -@@ -101,7 +101,7 @@ class GnomeModule(ExtensionModule): - return ExternalProgram.from_entry(name, prog) - - # Check if pkgconfig has a variable -- dep = self._get_native_dep(state, depname, required=False) -+ dep = self._get_dep(state, depname, native=True, required=False) - if dep.found() and dep.type_name == 'pkgconfig': - value = dep.get_pkgconfig_variable(varname, {}) - if value: -@@ -481,7 +481,7 @@ class GnomeModule(ExtensionModule): - - def _get_gir_dep(self, state): - if not self.gir_dep: -- self.gir_dep = self._get_native_dep(state, 'gobject-introspection-1.0') -+ self.gir_dep = self._get_dep(state, 'gobject-introspection-1.0') - self.giscanner = self._get_native_binary(state, 'g-ir-scanner', 'gobject-introspection-1.0', 'g_ir_scanner') - self.gicompiler = self._get_native_binary(state, 'g-ir-compiler', 'gobject-introspection-1.0', 'g_ir_compiler') - return self.gir_dep, self.giscanner, self.gicompiler diff --git a/poky/meta/recipes-devtools/meson/meson/meson-setup.py b/poky/meta/recipes-devtools/meson/meson/meson-setup.py index 7ac4e3ad47..daaa551de2 100755 --- a/poky/meta/recipes-devtools/meson/meson/meson-setup.py +++ b/poky/meta/recipes-devtools/meson/meson/meson-setup.py @@ -27,9 +27,17 @@ except KeyError: template_file = os.path.join(sysroot, 'usr/share/meson/meson.cross.template') cross_file = os.path.join(sysroot, 'usr/share/meson/%smeson.cross' % os.environ["TARGET_PREFIX"]) +native_template_file = os.path.join(sysroot, 'usr/share/meson/meson.native.template') +native_file = os.path.join(sysroot, 'usr/share/meson/meson.native') with open(template_file) as in_file: template = in_file.read() output = Template(template).substitute(Environ()) with open(cross_file, "w") as out_file: out_file.write(output) + +with open(native_template_file) as in_file: + template = in_file.read() + output = Template(template).substitute({'OECORE_NATIVE_SYSROOT': os.environ['OECORE_NATIVE_SYSROOT']}) + with open(native_file, "w") as out_file: + out_file.write(output) diff --git a/poky/meta/recipes-devtools/meson/meson/meson-wrapper b/poky/meta/recipes-devtools/meson/meson/meson-wrapper index d4ffe60f9a..d4b5187f8d 100755 --- a/poky/meta/recipes-devtools/meson/meson/meson-wrapper +++ b/poky/meta/recipes-devtools/meson/meson/meson-wrapper @@ -11,4 +11,5 @@ unset CC CXX CPP LD AR NM STRIP exec "$OECORE_NATIVE_SYSROOT/usr/bin/meson.real" \ --cross-file "${OECORE_NATIVE_SYSROOT}/usr/share/meson/${TARGET_PREFIX}meson.cross" \ + --native-file "${OECORE_NATIVE_SYSROOT}/usr/share/meson/meson.native" \ "$@" diff --git a/poky/meta/recipes-devtools/meson/meson_0.58.1.bb b/poky/meta/recipes-devtools/meson/meson_0.59.2.bb index de9b905c12..de9b905c12 100644 --- a/poky/meta/recipes-devtools/meson/meson_0.58.1.bb +++ b/poky/meta/recipes-devtools/meson/meson_0.59.2.bb diff --git a/poky/meta/recipes-devtools/meson/nativesdk-meson_0.58.1.bb b/poky/meta/recipes-devtools/meson/nativesdk-meson_0.58.1.bb deleted file mode 100644 index 0e76cc78f8..0000000000 --- a/poky/meta/recipes-devtools/meson/nativesdk-meson_0.58.1.bb +++ /dev/null @@ -1,56 +0,0 @@ -include meson.inc - -inherit meson-routines -inherit nativesdk - -SRC_URI += "file://meson-setup.py \ - file://meson-wrapper" - -# The cross file logic is similar but not identical to that in meson.bbclass, -# since it's generating for an SDK rather than a cross-compile. Important -# differences are: -# - We can't set vars like CC, CXX, etc. yet because they will be filled in with -# real paths by meson-setup.sh when the SDK is extracted. -# - Some overrides aren't needed, since the SDK injects paths that take care of -# them. -do_install:append() { - install -d ${D}${datadir}/meson - cat >${D}${datadir}/meson/meson.cross.template <<EOF -[binaries] -c = @CC -cpp = @CXX -ar = @AR -nm = @NM -strip = @STRIP -pkgconfig = 'pkg-config' - -[properties] -needs_exe_wrapper = true -c_args = @CFLAGS -c_link_args = @LDFLAGS -cpp_args = @CPPFLAGS -cpp_link_args = @LDFLAGS -sys_root = @OECORE_TARGET_SYSROOT - -[host_machine] -system = '${SDK_OS}' -cpu_family = '${@meson_cpu_family("SDK_ARCH", d)}' -cpu = '${SDK_ARCH}' -endian = '${@meson_endian("SDK", d)}' -EOF - - install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d - install -m 0755 ${WORKDIR}/meson-setup.py ${D}${SDKPATHNATIVE}/post-relocate-setup.d/ - - # We need to wrap the real meson with a thin env setup wrapper. - mv ${D}${bindir}/meson ${D}${bindir}/meson.real - install -m 0755 ${WORKDIR}/meson-wrapper ${D}${bindir}/meson -} - -RDEPENDS:${PN} += "\ - nativesdk-ninja \ - nativesdk-python3 \ - nativesdk-python3-setuptools \ - " - -FILES:${PN} += "${datadir}/meson ${SDKPATHNATIVE}" diff --git a/poky/meta/recipes-devtools/meson/nativesdk-meson_0.59.2.bb b/poky/meta/recipes-devtools/meson/nativesdk-meson_0.59.2.bb new file mode 100644 index 0000000000..7b77041c7e --- /dev/null +++ b/poky/meta/recipes-devtools/meson/nativesdk-meson_0.59.2.bb @@ -0,0 +1,104 @@ +include meson.inc + +inherit meson-routines +inherit nativesdk + +SRC_URI += "file://meson-setup.py \ + file://meson-wrapper" + +# The cross file logic is similar but not identical to that in meson.bbclass, +# since it's generating for an SDK rather than a cross-compile. Important +# differences are: +# - We can't set vars like CC, CXX, etc. yet because they will be filled in with +# real paths by meson-setup.sh when the SDK is extracted. +# - Some overrides aren't needed, since the SDK injects paths that take care of +# them. +def var_list2str(var, d): + items = d.getVar(var).split() + return items[0] if len(items) == 1 else ', '.join(repr(s) for s in items) + +def generate_native_link_template(d): + val = ['-L@{OECORE_NATIVE_SYSROOT}${libdir_native}', + '-L@{OECORE_NATIVE_SYSROOT}${base_libdir_native}', + '-Wl,-rpath-link,@{OECORE_NATIVE_SYSROOT}${libdir_native}', + '-Wl,-rpath-link,@{OECORE_NATIVE_SYSROOT}${base_libdir_native}', + '-Wl,--allow-shlib-undefined' + ] + build_arch = d.getVar('BUILD_ARCH') + if 'x86_64' in build_arch: + loader = 'ld-linux-x86-64.so.2' + elif 'i686' in build_arch: + loader = 'ld-linux.so.2' + elif 'aarch64' in build_arch: + loader = 'ld-linux-aarch64.so.1' + elif 'ppc64le' in build_arch: + loader = 'ld64.so.2' + + if loader: + val += ['-Wl,--dynamic-linker=@{OECORE_NATIVE_SYSROOT}${base_libdir_native}/' + loader] + + return repr(val) + +do_install:append() { + install -d ${D}${datadir}/meson + + cat >${D}${datadir}/meson/meson.native.template <<EOF +[binaries] +c = ${@meson_array('BUILD_CC', d)} +cpp = ${@meson_array('BUILD_CXX', d)} +ar = ${@meson_array('BUILD_AR', d)} +nm = ${@meson_array('BUILD_NM', d)} +strip = ${@meson_array('BUILD_STRIP', d)} +readelf = ${@meson_array('BUILD_READELF', d)} +pkgconfig = 'pkg-config-native' + +[built-in options] +c_args = ['-isystem@{OECORE_NATIVE_SYSROOT}${includedir_native}' , ${@var_list2str('BUILD_OPTIMIZATION', d)}] +c_link_args = ${@generate_native_link_template(d)} +cpp_args = ['-isystem@{OECORE_NATIVE_SYSROOT}${includedir_native}' , ${@var_list2str('BUILD_OPTIMIZATION', d)}] +cpp_link_args = ${@generate_native_link_template(d)} +[properties] +sys_root = '@OECORE_NATIVE_SYSROOT' +EOF + + cat >${D}${datadir}/meson/meson.cross.template <<EOF +[binaries] +c = @CC +cpp = @CXX +ar = @AR +nm = @NM +strip = @STRIP +pkgconfig = 'pkg-config' + +[built-in options] +c_args = @CFLAGS +c_link_args = @LDFLAGS +cpp_args = @CPPFLAGS +cpp_link_args = @LDFLAGS + +[properties] +needs_exe_wrapper = true +sys_root = @OECORE_TARGET_SYSROOT + +[host_machine] +system = '${SDK_OS}' +cpu_family = '${@meson_cpu_family("SDK_ARCH", d)}' +cpu = '${SDK_ARCH}' +endian = '${@meson_endian("SDK", d)}' +EOF + + install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d + install -m 0755 ${WORKDIR}/meson-setup.py ${D}${SDKPATHNATIVE}/post-relocate-setup.d/ + + # We need to wrap the real meson with a thin env setup wrapper. + mv ${D}${bindir}/meson ${D}${bindir}/meson.real + install -m 0755 ${WORKDIR}/meson-wrapper ${D}${bindir}/meson +} + +RDEPENDS:${PN} += "\ + nativesdk-ninja \ + nativesdk-python3 \ + nativesdk-python3-setuptools \ + " + +FILES:${PN} += "${datadir}/meson ${SDKPATHNATIVE}" |