forked from openembedded/meta-openembedded
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This is the EFI executable that is used by fwupd when building EFI capsules. Signed-off-by: Ross Burton <[email protected]> Signed-off-by: Khem Raj <[email protected]>
- Loading branch information
1 parent
682f88c
commit 3b8782f
Showing
2 changed files
with
84 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
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 <[email protected]> | ||
|
||
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" | ||
|
||
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 | ||
@@ -184,7 +184,7 @@ o_file5 = custom_target('fwup-sbat.o', | ||
command : [ | ||
join_paths(meson.current_source_dir(), 'generate_sbat.py'), | ||
'@OUTPUT@', | ||
- '--cc', efi_cc, | ||
+ '--cc', ' '.join(efi_cc), | ||
'--objcopy', efi_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-objcopy', type : 'string', value : 'objcopy', description : 'the objcopy utility to use for EFI modules') | ||
option('efi-libdir', type : 'string', description : 'path to the EFI lib directory') |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
SUMMARY = "EFI executable for fwupd" | ||
LICENSE = "LGPL-2.1+" | ||
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" | ||
|
||
SRC_URI = "git://github.com/fwupd/fwupd-efi;protocol=https;branch=main \ | ||
file://cc.patch" | ||
SRCREV = "fee1b8f6473cb403b8ae7a56961ba0557e3f3efa" | ||
S = "${WORKDIR}/git" | ||
|
||
DEPENDS = "gnu-efi" | ||
|
||
COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux" | ||
|
||
inherit meson | ||
|
||
# These should be configured as needed | ||
SBAT_DISTRO_ID ?= "${DISTRO}" | ||
SBAT_DISTRO_SUMMARY ?= "${DISTRO_NAME}" | ||
SBAT_DISTRO_URL ?= "" | ||
|
||
EXTRA_OEMESON += "-Defi-cc="${@meson_array('CC', d)}" \ | ||
-Defi-ld='${HOST_PREFIX}ld' \ | ||
-Defi-objcopy='${OBJCOPY}' \ | ||
-Defi-includedir=${STAGING_INCDIR}/efi \ | ||
-Defi-libdir=${STAGING_LIBDIR} \ | ||
-Defi_sbat_distro_id='${SBAT_DISTRO_ID}' \ | ||
-Defi_sbat_distro_summary='${SBAT_DISTRO_SUMMARY}' \ | ||
-Defi_sbat_distro_url='${SBAT_DISTRO_URL}' \ | ||
-Defi_sbat_distro_pkgname='${PN}' \ | ||
-Defi_sbat_distro_version='${PV}'\ | ||
" |