mirror of
https://git.yoctoproject.org/poky
synced 2026-03-29 05:02:22 +02:00
Drop backported patches, refresh the rest. (From OE-Core rev: 6c09949663a02015dc8a7b80f581e4867afdd7e3) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
126 lines
5.5 KiB
Diff
126 lines
5.5 KiB
Diff
From e762d85c823adfefc27ba6128c7b997aa50166ce 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 +++++++++++--------
|
|
mesonbuild/dependencies/ui.py | 6 +++---
|
|
2 files changed, 14 insertions(+), 11 deletions(-)
|
|
|
|
diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py
|
|
index 6d3678f..90fdb80 100644
|
|
--- a/mesonbuild/dependencies/base.py
|
|
+++ b/mesonbuild/dependencies/base.py
|
|
@@ -146,7 +146,7 @@ class Dependency:
|
|
def need_threads(self):
|
|
return False
|
|
|
|
- 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):
|
|
self.sources = sources
|
|
self.ext_deps = ext_deps
|
|
|
|
- def get_pkgconfig_variable(self, variable_name, kwargs):
|
|
+ def get_pkgconfig_variable(self, variable_name, kwargs, use_native=False):
|
|
raise DependencyException('Method "get_pkgconfig_variable()" is '
|
|
'invalid for an internal dependency')
|
|
|
|
@@ -523,15 +523,18 @@ 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() + "-native" + args
|
|
+ else:
|
|
+ cmd = self.pkgbin.get_command() + args
|
|
p, out = Popen_safe(cmd, env=env)[0:2]
|
|
rc, out = p.returncode, out.strip()
|
|
call = ' '.join(cmd)
|
|
mlog.debug("Called `{}` -> {}\n{}".format(call, rc, out))
|
|
return rc, out
|
|
|
|
- def _call_pkgbin(self, args, env=None):
|
|
+ def _call_pkgbin(self, args, env=None, use_native=False):
|
|
if env is None:
|
|
fenv = env
|
|
env = os.environ
|
|
@@ -540,7 +543,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):
|
|
@@ -718,7 +721,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, kwargs):
|
|
+ def get_pkgconfig_variable(self, variable_name, kwargs, use_native=False):
|
|
options = ['--variable=' + variable_name, self.name]
|
|
|
|
if 'define_variable' in kwargs:
|
|
@@ -731,7 +734,7 @@ class PkgConfigDependency(ExternalDependency):
|
|
|
|
options = ['--define-variable=' + '='.join(definition)] + options
|
|
|
|
- ret, out = self._call_pkgbin(options)
|
|
+ ret, out = self._call_pkgbin(options, use_native=use_native)
|
|
variable = ''
|
|
if ret != 0:
|
|
if self.required:
|
|
diff --git a/mesonbuild/dependencies/ui.py b/mesonbuild/dependencies/ui.py
|
|
index 197d22c..c683d21 100644
|
|
--- a/mesonbuild/dependencies/ui.py
|
|
+++ b/mesonbuild/dependencies/ui.py
|
|
@@ -285,7 +285,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
|
|
- prefix = core.get_pkgconfig_variable('exec_prefix', {})
|
|
+ prefix = core.get_pkgconfig_variable('exec_prefix', {}, use_native=True)
|
|
if prefix:
|
|
self.bindir = os.path.join(prefix, 'bin')
|
|
|
|
@@ -427,7 +427,7 @@ class Qt4Dependency(QtBaseDependency):
|
|
applications = ['moc', 'uic', 'rcc', 'lupdate', 'lrelease']
|
|
for application in applications:
|
|
try:
|
|
- return os.path.dirname(core.get_pkgconfig_variable('%s_location' % application, {}))
|
|
+ return os.path.dirname(core.get_pkgconfig_variable('%s_location' % application, {}, use_native=True))
|
|
except MesonException:
|
|
pass
|
|
|
|
@@ -437,7 +437,7 @@ class Qt5Dependency(QtBaseDependency):
|
|
QtBaseDependency.__init__(self, 'qt5', env, kwargs)
|
|
|
|
def get_pkgconfig_host_bins(self, core):
|
|
- return core.get_pkgconfig_variable('host_bins', {})
|
|
+ return core.get_pkgconfig_variable('host_bins', {}, use_native=True)
|
|
|
|
def get_private_includes(self, mod_inc_dir, module):
|
|
return _qt_get_private_includes(mod_inc_dir, module, self.version)
|