Change the efi-cc argument to take an array, so that we can pass compiler flags such as --sysroot. In the long term changing the fwupd-efi build to use the standard Meson CC/LD/etc would be the preferred fix. Upstream-Status: Inappropriate [better fix in progress] Signed-off-by: Ross Burton diff --git a/efi/generate_sbat.py b/efi/generate_sbat.py index e42b365..4831a48 100755 --- a/efi/generate_sbat.py +++ b/efi/generate_sbat.py @@ -7,6 +7,7 @@ # # pylint: disable=missing-docstring, invalid-name +import shlex import subprocess import sys import argparse @@ -19,7 +20,7 @@ def _generate_sbat(args): FWUPD_URL = "https://github.com/fwupd/fwupd-efi" subprocess.run( - [args.cc, "-x", "c", "-c", "-o", args.outfile, "/dev/null"], check=True + shlex.split(args.cc) + ["-x", "c", "-c", "-o", args.outfile, "/dev/null"], check=True ) # not specified diff --git a/efi/meson.build b/efi/meson.build index 68ea4aa..dcf0d43 100644 --- a/efi/meson.build +++ b/efi/meson.build @@ -187,7 +187,7 @@ o_file5 = custom_target('fwup-sbat.o', command : [ generate_sbat, '@OUTPUT@', - '--cc', efi_cc, + '--cc', ' '.join(efi_cc), '--objcopy', objcopy, '--project-name', meson.project_name(), '--project-version', meson.project_version(), diff --git a/meson_options.txt b/meson_options.txt index d869cd2..17ef7fb 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -1,4 +1,4 @@ -option('efi-cc', type : 'string', value : 'gcc', description : 'the compiler to use for EFI modules') +option('efi-cc', type : 'array', value : ['gcc'], description : 'the compiler to use for EFI modules') option('efi-ld', type : 'string', value : 'ld', description : 'the linker to use for EFI modules') option('efi-libdir', type : 'string', description : 'path to the EFI lib directory') option('efi-ldsdir', type : 'string', description : 'path to the EFI lds directory')