mirror of
https://git.yoctoproject.org/poky
synced 2026-05-09 17:39:31 +00:00
meson: respect target/native flag distinction in G-I and gtk-doc
Remove the previous attempt at this from 0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch as it wasn't quite right, and the rest of the patch is adding the currently not upstreamable runner option. Add two new patches to fix both gobject-introspection and gtk-doc using native flags for target compiles. (From OE-Core rev: bf41247f52ffd40d91d94d1fc983f8a831b80e48) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
feb5e7ed50
commit
bfeeefa597
@@ -11,6 +11,8 @@ SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${P
|
|||||||
file://0003-native_bindir.patch \
|
file://0003-native_bindir.patch \
|
||||||
file://0002-Make-CPU-family-warnings-fatal.patch \
|
file://0002-Make-CPU-family-warnings-fatal.patch \
|
||||||
file://0001-Support-building-allarch-recipes-again.patch \
|
file://0001-Support-building-allarch-recipes-again.patch \
|
||||||
|
file://gi-flags.patch \
|
||||||
|
file://gtkdoc-flags.patch \
|
||||||
"
|
"
|
||||||
SRC_URI[sha256sum] = "92d8afd921751261e36151643464efd3394162f69efbe8cd53e0a66b1cf395eb"
|
SRC_URI[sha256sum] = "92d8afd921751261e36151643464efd3394162f69efbe8cd53e0a66b1cf395eb"
|
||||||
SRC_URI[md5sum] = "31bda3519d8c0eb3438267268a78085e"
|
SRC_URI[md5sum] = "31bda3519d8c0eb3438267268a78085e"
|
||||||
|
|||||||
-26
@@ -35,32 +35,6 @@ index cb69641..727eb6a 100644
|
|||||||
args += self._unpack_args('--htmlargs=', 'html_args', kwargs)
|
args += self._unpack_args('--htmlargs=', 'html_args', kwargs)
|
||||||
args += self._unpack_args('--scanargs=', 'scan_args', kwargs)
|
args += self._unpack_args('--scanargs=', 'scan_args', kwargs)
|
||||||
args += self._unpack_args('--scanobjsargs=', 'scanobjs_args', kwargs)
|
args += self._unpack_args('--scanobjsargs=', 'scanobjs_args', kwargs)
|
||||||
@@ -854,14 +858,22 @@ This will become a hard error in the future.''')
|
|
||||||
ldflags.update(internal_ldflags)
|
|
||||||
ldflags.update(state.environment.coredata.get_external_link_args('c'))
|
|
||||||
ldflags.update(external_ldflags)
|
|
||||||
+
|
|
||||||
+ cross_c_args = " ".join(state.environment.cross_info.config["properties"].get('c_args', ""))
|
|
||||||
+ cross_link_args = " ".join(state.environment.cross_info.config["properties"].get('c_link_args', ""))
|
|
||||||
+
|
|
||||||
if cflags:
|
|
||||||
- args += ['--cflags=%s' % ' '.join(cflags)]
|
|
||||||
+ args += ['--cflags=%s %s' % (cross_c_args,' '.join(cflags))]
|
|
||||||
if ldflags:
|
|
||||||
- args += ['--ldflags=%s' % ' '.join(ldflags)]
|
|
||||||
+ args += ['--ldflags=%s %s' % (cross_link_args, ' '.join(ldflags))]
|
|
||||||
compiler = state.environment.coredata.compilers.get('c')
|
|
||||||
- if compiler:
|
|
||||||
+ cross_compiler = state.environment.coredata.cross_compilers.get('c')
|
|
||||||
+ if compiler and not state.environment.is_cross_build():
|
|
||||||
args += ['--cc=%s' % ' '.join(compiler.get_exelist())]
|
|
||||||
args += ['--ld=%s' % ' '.join(compiler.get_linker_exelist())]
|
|
||||||
+ elif cross_compiler and state.environment.is_cross_build():
|
|
||||||
+ args += ['--cc=%s' % ' '.join(cross_compiler.get_exelist())]
|
|
||||||
+ args += ['--ld=%s' % ' '.join(cross_compiler.get_linker_exelist())]
|
|
||||||
|
|
||||||
return args
|
|
||||||
|
|
||||||
diff --git a/mesonbuild/scripts/gtkdochelper.py b/mesonbuild/scripts/gtkdochelper.py
|
diff --git a/mesonbuild/scripts/gtkdochelper.py b/mesonbuild/scripts/gtkdochelper.py
|
||||||
index 948dc5a..9c5bd19 100644
|
index 948dc5a..9c5bd19 100644
|
||||||
--- a/mesonbuild/scripts/gtkdochelper.py
|
--- a/mesonbuild/scripts/gtkdochelper.py
|
||||||
|
|||||||
@@ -0,0 +1,35 @@
|
|||||||
|
Pass the correct cflags/ldflags to the gobject-introspection tools.
|
||||||
|
|
||||||
|
Upstream-Status: Submitted [https://github.com/mesonbuild/meson/pull/4261]
|
||||||
|
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
||||||
|
|
||||||
|
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
|
||||||
|
index cb69641e..bb4449a0 100644
|
||||||
|
--- a/mesonbuild/modules/gnome.py
|
||||||
|
+++ b/mesonbuild/modules/gnome.py
|
||||||
|
@@ -579,7 +579,10 @@ class GnomeModule(ExtensionModule):
|
||||||
|
external_ldflags += list(dep_external_ldflags)
|
||||||
|
scan_command += ['--cflags-begin']
|
||||||
|
scan_command += cflags
|
||||||
|
- scan_command += state.environment.coredata.get_external_args(lang)
|
||||||
|
+ if state.environment.is_cross_build():
|
||||||
|
+ scan_command += state.environment.cross_info.config["properties"].get(lang + '_args', "")
|
||||||
|
+ else:
|
||||||
|
+ scan_command += state.environment.coredata.get_external_args(lang)
|
||||||
|
scan_command += ['--cflags-end']
|
||||||
|
# need to put our output directory first as we need to use the
|
||||||
|
# generated libraries instead of any possibly installed system/prefix
|
||||||
|
@@ -614,7 +614,12 @@ class GnomeModule(ExtensionModule):
|
||||||
|
scan_command.append('-L' + d)
|
||||||
|
scan_command += ['--library', libname]
|
||||||
|
|
||||||
|
- for link_arg in state.environment.coredata.get_external_link_args(lang):
|
||||||
|
+ if state.environment.is_cross_build():
|
||||||
|
+ link_args = state.environment.cross_info.config["properties"].get(lang + '_link_args', "")
|
||||||
|
+ else:
|
||||||
|
+ link_args = state.environment.coredata.get_external_link_args(lang)
|
||||||
|
+
|
||||||
|
+ for link_arg in link_args:
|
||||||
|
if link_arg.startswith('-L'):
|
||||||
|
scan_command.append(link_arg)
|
||||||
|
scan_command += list(external_ldflags)
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
Ensure that in a cross compile only the target flags are passed to gtk-doc, and
|
||||||
|
not the native flags.
|
||||||
|
|
||||||
|
Upstream-Status: Submitted [https://github.com/mesonbuild/meson/pull/4261]
|
||||||
|
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
||||||
|
|
||||||
|
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
|
||||||
|
index 4af33304..8751f53c 100644
|
||||||
|
--- a/mesonbuild/modules/gnome.py
|
||||||
|
+++ b/mesonbuild/modules/gnome.py
|
||||||
|
@@ -851,17 +851,30 @@ This will become a hard error in the future.''')
|
||||||
|
if not isinstance(incd.held_object, (str, build.IncludeDirs)):
|
||||||
|
raise MesonException(
|
||||||
|
'Gir include dirs should be include_directories().')
|
||||||
|
+
|
||||||
|
cflags.update(get_include_args(inc_dirs))
|
||||||
|
- cflags.update(state.environment.coredata.get_external_args('c'))
|
||||||
|
+ if state.environment.is_cross_build():
|
||||||
|
+ cflags.update(state.environment.cross_info.config["properties"].get('c_args', ""))
|
||||||
|
+ else:
|
||||||
|
+ cflags.update(state.environment.coredata.get_external_args('c'))
|
||||||
|
+
|
||||||
|
ldflags = OrderedSet()
|
||||||
|
ldflags.update(internal_ldflags)
|
||||||
|
- ldflags.update(state.environment.coredata.get_external_link_args('c'))
|
||||||
|
+ if state.environment.is_cross_build():
|
||||||
|
+ ldflags.update(state.environment.cross_info.config["properties"].get('c_link_args', ""))
|
||||||
|
+ else:
|
||||||
|
+ ldflags.update(state.environment.coredata.get_external_link_args('c'))
|
||||||
|
ldflags.update(external_ldflags)
|
||||||
|
+
|
||||||
|
if cflags:
|
||||||
|
args += ['--cflags=%s' % ' '.join(cflags)]
|
||||||
|
if ldflags:
|
||||||
|
args += ['--ldflags=%s' % ' '.join(ldflags)]
|
||||||
|
- compiler = state.environment.coredata.compilers.get('c')
|
||||||
|
+
|
||||||
|
+ if state.environment.is_cross_build():
|
||||||
|
+ compiler = state.environment.coredata.cross_compilers.get('c')
|
||||||
|
+ else:
|
||||||
|
+ compiler = state.environment.coredata.compilers.get('c')
|
||||||
|
if compiler:
|
||||||
|
args += ['--cc=%s' % ' '.join(compiler.get_exelist())]
|
||||||
|
args += ['--ld=%s' % ' '.join(compiler.get_linker_exelist())]
|
||||||
Reference in New Issue
Block a user