summaryrefslogtreecommitdiff
path: root/mesonbuild
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild')
-rw-r--r--mesonbuild/ast/introspection.py3
-rw-r--r--mesonbuild/backend/backends.py3
-rw-r--r--mesonbuild/backend/ninjabackend.py1
-rw-r--r--mesonbuild/mintro.py1
4 files changed, 6 insertions, 2 deletions
diff --git a/mesonbuild/ast/introspection.py b/mesonbuild/ast/introspection.py
index 3e8d564e2..6bc6286f2 100644
--- a/mesonbuild/ast/introspection.py
+++ b/mesonbuild/ast/introspection.py
@@ -283,7 +283,7 @@ class IntrospectionInterpreter(AstInterpreter):
kwargs_reduced = {k: v for k, v in kwargs.items() if k in targetclass.known_kwargs and k in {'install', 'build_by_default', 'build_always'}}
kwargs_reduced = {k: v.value if isinstance(v, ElementaryNode) else v for k, v in kwargs_reduced.items()}
kwargs_reduced = {k: v for k, v in kwargs_reduced.items() if not isinstance(v, BaseNode)}
- for_machine = MachineChoice.HOST
+ for_machine = MachineChoice.BUILD if kwargs.get('native', False) else MachineChoice.HOST
objects: T.List[T.Any] = []
empty_sources: T.List[T.Any] = []
# Passing the unresolved sources list causes errors
@@ -294,6 +294,7 @@ class IntrospectionInterpreter(AstInterpreter):
new_target = {
'name': target.get_basename(),
+ 'machine': target.for_machine.get_lower_case_name(),
'id': target.get_id(),
'type': target.get_typename(),
'defined_in': os.path.normpath(os.path.join(self.source_root, self.subdir, environment.build_filename)),
diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py
index a4be50f66..d2c6a4696 100644
--- a/mesonbuild/backend/backends.py
+++ b/mesonbuild/backend/backends.py
@@ -41,13 +41,14 @@ if T.TYPE_CHECKING:
from ..linkers.linkers import StaticLinker
from ..mesonlib import FileMode, FileOrString
- from typing_extensions import TypedDict
+ from typing_extensions import TypedDict, NotRequired
_ALL_SOURCES_TYPE = T.List[T.Union[File, build.CustomTarget, build.CustomTargetIndex, build.GeneratedList]]
class TargetIntrospectionData(TypedDict):
language: str
+ machine: NotRequired[str]
compiler: T.List[str]
parameters: T.List[str]
sources: T.List[str]
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index 5716ea29e..64921ffa6 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -837,6 +837,7 @@ class NinjaBackend(backends.Backend):
# The new entry
src_block = {
'language': lang,
+ 'machine': comp.for_machine.get_lower_case_name(),
'compiler': comp.get_exelist(),
'parameters': parameters,
'sources': [],
diff --git a/mesonbuild/mintro.py b/mesonbuild/mintro.py
index 810a2b674..b9b09c557 100644
--- a/mesonbuild/mintro.py
+++ b/mesonbuild/mintro.py
@@ -211,6 +211,7 @@ def list_targets_from_source(intr: IntrospectionInterpreter) -> T.List[T.Dict[st
'build_by_default': i['build_by_default'],
'target_sources': [{
'language': 'unknown',
+ 'machine': i['machine'],
'compiler': [],
'parameters': [],
'sources': [str(x) for x in sources],