Selaa lähdekoodia

Remove the need for other include paths besides <gnu-efi>/inc

Having to add specific arch include paths and then <gnu-efi>/lib
to be able to use gnu-efi in an application is annoying.

This patch ensures that the library itself takes care of including
the relevant headers, and that one needs only to add <gnu-efi>/inc
in their include path to be able to use gnu-efi.
Pete Batard 4 vuotta sitten
vanhempi
commit
b1c7a1c5f2
4 muutettua tiedostoa jossa 49 lisäystä ja 10 poistoa
  1. 16 1
      inc/efi.h
  2. 13 1
      inc/efilib.h
  3. 13 1
      inc/efirtlib.h
  4. 7 7
      inc/lib.h

+ 16 - 1
inc/efi.h

@@ -38,7 +38,22 @@ Revision History
 #define EFI_FIRMWARE_MINOR_REVISION 33
 #define EFI_FIRMWARE_REVISION ((EFI_FIRMWARE_MAJOR_REVISION <<16) | (EFI_FIRMWARE_MINOR_REVISION))
 
-#include "efibind.h"
+#if defined(_M_X64) || defined(__x86_64__) || defined(__amd64__)
+#include "x86_64/efibind.h"
+#elif defined(_M_IX86) || defined(__i386__)
+#include "ia32/efibind.h"
+#elif defined(_M_IA64) || defined(__ia64__)
+#include "ia64/efibind.h"
+#elif defined (_M_ARM64) || defined(__aarch64__)
+#include "aarch64/efibind.h"
+#elif defined (_M_ARM) || defined(__arm__)
+#include "arm/efibind.h"
+#elif defined (_M_MIPS64) || defined(__mips64__)
+#include "mips64el/efibind.h"
+#else
+#error Usupported architecture
+#endif
+
 #include "eficompiler.h"
 #include "efidef.h"
 #include "efidevp.h"

+ 13 - 1
inc/efilib.h

@@ -21,7 +21,19 @@ Revision History
 
 #include "efidebug.h"
 #include "efipart.h"
-#include "efilibplat.h"
+#if defined(_M_X64) || defined(__x86_64__) || defined(__amd64__)
+#include "x86_64/efilibplat.h"
+#elif defined(_M_IX86) || defined(__i386__)
+#include "ia32/efilibplat.h"
+#elif defined(_M_IA64) || defined(__ia64__)
+#include "ia64/efilibplat.h"
+#elif defined (_M_ARM64) || defined(__aarch64__)
+#include "aarch64/efilibplat.h"
+#elif defined (_M_ARM) || defined(__arm__)
+#include "arm/efilibplat.h"
+#elif defined (_M_MIPS64) || defined(__mips64__)
+#include "mips64el/efilibplat.h"
+#endif
 #include "efilink.h"
 #include "efirtlib.h"
 #include "efistdarg.h"

+ 13 - 1
inc/efirtlib.h

@@ -20,7 +20,19 @@ Revision History
 
 #include "efidebug.h"
 #include "efipart.h"
-#include "efilibplat.h"
+#if defined(_M_X64) || defined(__x86_64__) || defined(__amd64__)
+#include "x86_64/efilibplat.h"
+#elif defined(_M_IX86) || defined(__i386__)
+#include "ia32/efilibplat.h"
+#elif defined(_M_IA64) || defined(__ia64__)
+#include "ia64/efilibplat.h"
+#elif defined (_M_ARM64) || defined(__aarch64__)
+#include "aarch64/efilibplat.h"
+#elif defined (_M_ARM) || defined(__arm__)
+#include "arm/efilibplat.h"
+#elif defined (_M_MIPS64) || defined(__mips64__)
+#include "mips64el/efilibplat.h"
+#endif
 
 
 VOID

+ 7 - 7
lib/lib.h → inc/lib.h

@@ -27,13 +27,13 @@ Revision History
 //
 // Include non architectural protocols
 //
-#include "efivar.h"
-#include "legacyboot.h"
-#include "intload.h"
-#include "vgaclass.h"
-#include "eficonsplit.h"
-#include "adapterdebug.h"
-#include "intload.h"
+#include "protocol/efivar.h"
+#include "protocol/legacyboot.h"
+#include "protocol/intload.h"
+#include "protocol/vgaclass.h"
+#include "protocol/eficonsplit.h"
+#include "protocol/adapterdebug.h"
+#include "protocol/intload.h"
 
 #include "efigpt.h"
 #include "libsmbios.h"