git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 2/2] meson: only detect ICONV_OMITS_BOM if possible

From
Patrick Steinhardt <ps@pks.im>
Date
Dec 2, 2025, 20:27 UTC
Message-ID
<aS9LvvjW7mZStceJ@pks.im>
In-Reply-To
<20251202-toon-cross-compile-v1-2-cabc8bce529f@iotcl.com>
On Tue, Dec 02, 2025 at 11:48:09AM +0100, Toon Claes wrote:
Show 24 quoted lines
> In our Meson setup it automatically detects whether ICONV_OMITS_BOM
> should be defined. To check this, a piece of code is compiled and ran.
> 
> When cross-compiling, it's not possible to run this piece of code. Guard
> this test with a can_run_host_binaries() check to ensure it can run.
> 
> Signed-off-by: Toon Claes <toon@iotcl.com>
> ---
>  meson.build | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meson.build b/meson.build
> index f1b3615659..95348e69a4 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -1064,7 +1064,7 @@ if iconv.found()
>      }
>    '''
>  
> -  if compiler.run(iconv_omits_bom_source,
> +  if meson.can_run_host_binaries() and compiler.run(iconv_omits_bom_source,
>      dependencies: iconv,
>      name: 'iconv omits BOM',
>    ).returncode() != 0

We have `not meson.is_cross_build()` in a different location to guard a call to `compiler.run()`. But `can_run_host_binaries()` is the better way to test for this condition, as it allows the host to plug in a wrapper (e.g. QEMU or WINE) that _would_ allow it to execute binaries of the target host.

`can_run_host_binaries()` is available since Meson 0.55, and we target a version >=0.61.0. So should we maybe convert that other callsite to use `can_run_host_binaries()` in a separate commit?

Thanks for these fixes!
Patrick
Previous: Toon ClaesNext: Toon Claes
Message 4 of 11 in “Few fixes for cross-compiling with Meson”
  1. 0/2 Few fixes for cross-compiling with MesonToon Claes, Dec 2, 2025
  2. 1/2 meson: ignore subprojects/.wraplockToon Claes, Dec 2, 2025
  3. 2/2 meson: only detect ICONV_OMITS_BOM if possibleToon Claes, Dec 2, 2025
  4. Patrick SteinhardtDec 2, 2025
  5. Toon ClaesDec 3, 2025
  6. 3/2 meson: use is_cross_build() where possibleToon Claes, Dec 3, 2025
  7. Patrick SteinhardtDec 4, 2025
  8. Carlo Marcelo Arenas BelónDec 7, 2025
  9. Toon ClaesDec 8, 2025
  10. Carlo ArenasDec 9, 2025
  11. Toon ClaesDec 11, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.