From 4d60c7e10f1d7ebe34842f96e13b64db7fc2dc1b Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Tue, 8 Sep 2015 22:51:17 -0400 Subject: RT3969: Add OPENSSL_SYS_UEFI This provides support for building in the EDK II reference implementation of UEFI. Most UEFI firmware in existence uses OpenSSL for implementing the core cryptographic functionality needed for Secure Boot. This has always previously been handled with external patches to OpenSSL but we are now making a concerted effort to eliminate those. In this mode, we don't actually use the OpenSSL makefiles; we process the MINFO file generated by 'make files' and incorporate it into the EDK2 build system. Since EDK II builds for various targets with varying word size and we need to have a single prepackaged configuration, we deliberately don't hard-code the setting of SIXTY_FOUR_BIT vs. THIRTY_TWO_BIT in opensslconf.h. We bypass that for OPENSSL_SYS_UEFI and allow EDK II itself to set those, depending on the architecture. For x86_64, EDK II sets SIXTY_FOUR_BIT and thus uses 'long long' for the 64-bit type, even when building with GCC where 'long' is also 64-bit. We do this because the Microsoft toolchain has 32-bit 'long'. Signed-off-by: Rich Salz Reviewed-by: Tim Hudson --- Configurations/10-main.conf | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'Configurations/10-main.conf') diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf index 15af87ea1a..3230d86040 100644 --- a/Configurations/10-main.conf +++ b/Configurations/10-main.conf @@ -1207,6 +1207,13 @@ shared_extension => ".dll.a", }, +#### UEFI + "UEFI" => { + cc => "cc", + cflags => "-DL_ENDIAN -O", + sys_id => "UEFI", + }, + #### UWIN "UWIN" => { cc => "cc", -- cgit v1.2.3