From cf23ace575e92370d77a9b22ed5a52104e6aea8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ole=20Andr=C3=A9=20Vadla=20Ravn=C3=A5s?= Date: Thu, 9 Apr 2026 11:31:57 +0200 Subject: [PATCH] meson-make: Scope skip-subprojects to shared Restrict --skip-subprojects to shared library builds so subproject devkits (gum, gumjs) are still installed in the static/bundled case used by CI. --- meson_configure.py | 1 + meson_make.py | 10 +++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/meson_configure.py b/meson_configure.py index f0c4f12..73e82ee 100644 --- a/meson_configure.py +++ b/meson_configure.py @@ -232,6 +232,7 @@ def configure(sourcedir: Path, "meson": meson, "build": build_config, "host": host_config if host_config is not build_config else None, + "default_library": default_library, "allowed_prebuilds": allowed_prebuilds, "deps": deps_dir, })) diff --git a/meson_make.py b/meson_make.py index e9bb66f..b2fb7e0 100644 --- a/meson_make.py +++ b/meson_make.py @@ -53,16 +53,20 @@ def make(sourcedir: Path, test_options = shlex.split(environ.get("FRIDA_TEST_OPTIONS", "-v")) + env_state = pickle.loads((builddir / "frida-env.dat").read_bytes()) + + install_options = [] + if env_state.get("default_library") == "shared": + install_options += ["--skip-subprojects"] + standard_targets = { "all": ["compile"] + compile_options, "clean": ["compile", "--clean"] + compile_options, "distclean": lambda: distclean(sourcedir, builddir), - "install": ["install", "--skip-subprojects"], + "install": ["install"] + install_options, "test": ["test"] + test_options, } - env_state = pickle.loads((builddir / "frida-env.dat").read_bytes()) - machine_config = env_state["host"] if machine_config is None: machine_config = env_state["build"]