diff options
author | Jussi Pakkanen <jussi.pakkanen@mailbox.org> | 2025-08-19 01:13:10 +0300 |
---|---|---|
committer | Jussi Pakkanen <jussi.pakkanen@mailbox.org> | 2025-08-20 00:55:38 +0300 |
commit | ce492509bd23b6a55dbfa644df183f6d95d5cfd9 (patch) | |
tree | 09660ba340ccd902dee5d6dd280c6634fc33e77d | |
parent | 64478322e13d6d817d71e27c52f4ef2fb9092b75 (diff) | |
download | meson-ce492509bd23b6a55dbfa644df183f6d95d5cfd9.zip meson-ce492509bd23b6a55dbfa644df183f6d95d5cfd9.tar.gz meson-ce492509bd23b6a55dbfa644df183f6d95d5cfd9.tar.bz2 |
Revert "gnome: support generate_gir on cross builds"
This reverts commit 5e627c9b421a4cebb0e112af6a432fec66640c28.
-rw-r--r-- | mesonbuild/modules/__init__.py | 18 | ||||
-rw-r--r-- | mesonbuild/modules/gnome.py | 37 |
2 files changed, 14 insertions, 41 deletions
diff --git a/mesonbuild/modules/__init__.py b/mesonbuild/modules/__init__.py index 3938101..87892e6 100644 --- a/mesonbuild/modules/__init__.py +++ b/mesonbuild/modules/__init__.py @@ -82,21 +82,19 @@ class ModuleState: wanted=wanted, silent=silent, for_machine=for_machine) def find_tool(self, name: str, depname: str, varname: str, required: bool = True, - wanted: T.Optional[str] = None, for_machine: MachineChoice = MachineChoice.HOST) -> T.Union[build.OverrideExecutable, ExternalProgram, 'OverrideProgram']: - if for_machine is MachineChoice.HOST: - # Look in overrides in case it's built as subproject - progobj = self._interpreter.program_from_overrides([name], []) - if progobj is not None: - return progobj + wanted: T.Optional[str] = None) -> T.Union[build.OverrideExecutable, ExternalProgram, 'OverrideProgram']: + # Look in overrides in case it's built as subproject + progobj = self._interpreter.program_from_overrides([name], []) + if progobj is not None: + return progobj # Look in machine file - prog_list = self.environment.lookup_binary_entry(for_machine, name) + prog_list = self.environment.lookup_binary_entry(MachineChoice.HOST, name) if prog_list is not None: return ExternalProgram.from_entry(name, prog_list) # Check if pkgconfig has a variable - dep = self.dependency(depname, native=for_machine is MachineChoice.BUILD, - required=False, wanted=wanted) + dep = self.dependency(depname, native=True, required=False, wanted=wanted) if dep.found() and dep.type_name == 'pkgconfig': value = dep.get_variable(pkgconfig=varname) if value: @@ -108,7 +106,7 @@ class ModuleState: return progobj # Normal program lookup - return self.find_program(name, required=required, wanted=wanted, for_machine=for_machine) + return self.find_program(name, required=required, wanted=wanted) def dependency(self, depname: str, native: bool = False, required: bool = True, wanted: T.Optional[str] = None) -> 'Dependency': diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py index 9a45bb4..469e027 100644 --- a/mesonbuild/modules/gnome.py +++ b/mesonbuild/modules/gnome.py @@ -22,7 +22,7 @@ from .. import build from .. import interpreter from .. import mesonlib from .. import mlog -from ..build import CustomTarget, CustomTargetIndex, Executable, GeneratedList, InvalidArguments, OverrideExecutable +from ..build import CustomTarget, CustomTargetIndex, Executable, GeneratedList, InvalidArguments from ..dependencies import Dependency, InternalDependency from ..dependencies.pkgconfig import PkgConfigDependency, PkgConfigInterface from ..interpreter.type_checking import DEPENDS_KW, DEPEND_FILES_KW, ENV_KW, INSTALL_DIR_KW, INSTALL_KW, NoneType, DEPENDENCY_SOURCES_KW, in_set_validator @@ -33,7 +33,7 @@ from ..mesonlib import ( MachineChoice, MesonException, OrderedSet, Popen_safe, join_args, quote_arg ) from ..options import OptionKey -from ..programs import ExternalProgram, OverrideProgram +from ..programs import OverrideProgram from ..scripts.gettext import read_linguas if T.TYPE_CHECKING: @@ -45,6 +45,7 @@ if T.TYPE_CHECKING: from ..interpreter import Interpreter from ..interpreterbase import TYPE_var, TYPE_kwargs from ..mesonlib import FileOrString + from ..programs import ExternalProgram class PostInstall(TypedDict): glib_compile_schemas: bool @@ -197,7 +198,7 @@ if T.TYPE_CHECKING: vtail: T.Optional[str] depends: T.List[T.Union[BuildTarget, CustomTarget, CustomTargetIndex]] - ToolType: TypeAlias = T.Union[OverrideExecutable, ExternalProgram, OverrideProgram] + ToolType: TypeAlias = T.Union[Executable, ExternalProgram, OverrideProgram] # Differs from the CustomTarget version in that it straight defaults to True @@ -308,7 +309,7 @@ class GnomeModule(ExtensionModule): once=True, fatal=False) @staticmethod - def _find_tool(state: 'ModuleState', tool: str, for_machine: MachineChoice = MachineChoice.HOST) -> 'ToolType': + def _find_tool(state: 'ModuleState', tool: str) -> 'ToolType': tool_map = { 'gio-querymodules': 'gio-2.0', 'glib-compile-schemas': 'gio-2.0', @@ -321,7 +322,7 @@ class GnomeModule(ExtensionModule): } depname = tool_map[tool] varname = tool.replace('-', '_') - return state.find_tool(tool, depname, varname, for_machine=for_machine) + return state.find_tool(tool, depname, varname) @typed_kwargs( 'gnome.post_install', @@ -1195,32 +1196,6 @@ class GnomeModule(ExtensionModule): scan_command: T.List[T.Union[str, Executable, 'ExternalProgram', 'OverrideProgram']] = [giscanner] scan_command += ['--quiet'] - - if state.environment.is_cross_build() and state.environment.need_exe_wrapper(): - if not state.environment.has_exe_wrapper(): - mlog.error('generate_gir requires exe_wrapper') - - binary_wrapper = state.environment.get_exe_wrapper().get_command() - ldd = state.environment.lookup_binary_entry(MachineChoice.HOST, 'ldd') - if ldd is None: - ldd_wrapper = ['ldd'] - else: - ldd_wrapper = ExternalProgram.from_bin_list(state.environment, MachineChoice.HOST, 'ldd').get_command() - - WRAPPER_ARGS_REQUIRED_VERSION = ">=1.85.0" - if not self._giscanner_version_compare(state, WRAPPER_ARGS_REQUIRED_VERSION): - msg = ('Use of gnome.generate_gir during cross compilation requires' - f'g-ir-scanner {WRAPPER_ARGS_REQUIRED_VERSION}') - raise MesonException(msg) - else: - scan_command += ['--use-binary-wrapper', binary_wrapper[0]] - if len(binary_wrapper) > 1: - scan_command += ['--binary-wrapper-args-begin', *binary_wrapper[1:], '--binary-wrapper-args-end'] - - scan_command += ['--use-ldd-wrapper', ldd_wrapper[0]] - if len(ldd_wrapper) > 1: - scan_command += ['--ldd-wrapper-args-begin', *ldd_wrapper[1:], '--ldd-wrapper-args-end'] - scan_command += ['--no-libtool'] scan_command += ['--namespace=' + ns, '--nsversion=' + nsversion] scan_command += ['--warn-all'] |