|
Zbigniew Jędrzejewski-Szmek |
522730 |
From e2f169f816809ad4db9ebca080c73b36810f7bdc Mon Sep 17 00:00:00 2001
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
Date: Fri, 3 Mar 2023 16:08:41 +0100
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
Subject: [PATCH] meson: adjust for removal of gnu-efi compat
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
gnu-efi-3.0.11-13.fc39 in Fedora dropped the old include paths.
|
|
Zbigniew Jędrzejewski-Szmek |
522730 |
|
|
Zbigniew Jędrzejewski-Szmek |
522730 |
/usr/include/efi/efi.h uses 'include "efibind.h"', so we cannot use -isystem.
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
---
|
|
Zbigniew Jędrzejewski-Szmek |
522730 |
src/boot/efi/meson.build | 26 +++++++++++++++-----------
|
|
Zbigniew Jędrzejewski-Szmek |
522730 |
1 file changed, 15 insertions(+), 11 deletions(-)
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
diff --git a/src/boot/efi/meson.build b/src/boot/efi/meson.build
|
|
Zbigniew Jędrzejewski-Szmek |
522730 |
index 6c1934d9f1..68c5dd15dc 100644
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
--- a/src/boot/efi/meson.build
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
+++ b/src/boot/efi/meson.build
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
@@ -19,7 +19,7 @@ elif efi_arch == 'x86_64' and '-m32' in get_option('efi-cflags')
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
efi_arch = 'x86'
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
endif
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
efi_arch = {
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
- # host_cc_arch: [efi_arch (see Table 3-2 in UEFI spec), gnu_efi_inc_arch]
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
+ # host_cc_arch: [efi_arch (see Table 3-2 in UEFI spec), obsolete gnu_efi_inc_arch]
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
'x86': ['ia32', 'ia32'],
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
'x86_64': ['x64', 'x86_64'],
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
'arm': ['arm', 'arm'],
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
@@ -28,14 +28,17 @@ efi_arch = {
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
}.get(efi_arch, [])
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
efi_incdir = get_option('efi-includedir')
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
-if efi_arch.length() > 0 and not cc.has_header(
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
- '@0@/@1@/efibind.h'.format(efi_incdir, efi_arch[1]),
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
- args: get_option('efi-cflags'))
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
-
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
- efi_arch = []
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
-endif
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
+found = false
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
+foreach efi_arch_candidate : efi_arch
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
+ efi_archdir = efi_incdir / efi_arch_candidate
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
+ if cc.has_header(efi_archdir / 'efibind.h',
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
+ args: get_option('efi-cflags'))
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
+ found = true
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
+ break
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
+ endif
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
+endforeach
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
-if efi_arch.length() == 0
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
+if not found
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
if get_option('gnu-efi') == 'true'
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
error('gnu-efi support requested, but headers not found or efi arch is unknown')
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
endif
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
@@ -45,7 +48,8 @@ endif
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
if not cc.has_header_symbol('efi.h', 'EFI_IMAGE_MACHINE_X64',
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
args: ['-nostdlib', '-ffreestanding', '-fshort-wchar'] + get_option('efi-cflags'),
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
- include_directories: include_directories(efi_incdir, efi_incdir / efi_arch[1]))
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
+ include_directories: include_directories(efi_incdir,
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
+ efi_archdir))
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
if get_option('gnu-efi') == 'true'
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
error('gnu-efi support requested, but found headers are too old (3.0.5+ required)')
|
|
Zbigniew Jędrzejewski-Szmek |
522730 |
@@ -184,7 +188,7 @@ efi_cflags = [
|
|
Zbigniew Jędrzejewski-Szmek |
522730 |
'-I', meson.current_source_dir(),
|
|
Zbigniew Jędrzejewski-Szmek |
522730 |
'-include', efi_config_h,
|
|
Zbigniew Jędrzejewski-Szmek |
522730 |
'-include', version_h,
|
|
Zbigniew Jędrzejewski-Szmek |
522730 |
- '-isystem', efi_incdir / efi_arch[1],
|
|
Zbigniew Jędrzejewski-Szmek |
522730 |
+ '-I', efi_archdir,
|
|
Zbigniew Jędrzejewski-Szmek |
522730 |
'-isystem', efi_incdir,
|
|
Zbigniew Jędrzejewski-Szmek |
522730 |
'-std=gnu11',
|
|
Zbigniew Jędrzejewski-Szmek |
522730 |
'-Wall',
|
|
Zbigniew Jędrzejewski-Szmek |
522730 |
@@ -315,7 +319,7 @@ summary({
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
'EFI LD' : efi_ld,
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
'EFI lds' : efi_lds,
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
'EFI crt0' : efi_crt0,
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
- 'EFI include directory' : efi_incdir},
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
+ 'EFI include directory' : efi_archdir},
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
section : 'Extensible Firmware Interface')
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
|
|
Zbigniew Jędrzejewski-Szmek |
ddd4dc |
if efi_conf.get('SBAT_DISTRO', '') != ''
|