uefi-d ~udk2018
Bindings for UEFI API (Based on EDK2 2015)
To use this package, run the following command in your project's root directory:
Manual usage
Put the following dependency into your project's dependences section:
uefi-d
D bindings for UEFI specifications, based on the headers from EDK II UDK2018. They allow to compile fully functional EFI executables without assembly or C bootstrapping, it boots directly to D :-) They can be used to build UEFI-compatible applications and drivers in the D Programming Language. A sample "Hello, world" program is provided, with source and a linux script to compile:
Compilation of D UEFI projects
Handling the projects with dub might not be the simplest, so I think the best way is to use a more sophisticated build system. The executables must not require the D runtime or standard library, suggested ldc2 compiler options for 64-bit compiles:
ldc2 -mtriple=x86_64-unknown-windows-coff -boundscheck=off -nogc -defaultlib= -debuglib= -code-model=large
And GNU linker options:
x86_64-w64-mingw32-gcc -nostdlib -Wl,-dll -shared -Wl,--subsystem,10 -e efi_main
The target must be 64-bit Windows, because UEFI uses its calling conventions for its functions, and currently there is no easy way to mark
a function as extern(Win64)
or something similar on non-Windows platform in D.
It would also be possible to write a minimal D runtime, but this is not a goal for this project in the near future (unless somebody wants to contribute one).
- Registered by Jakub Szewczyk
- ~udk2018 released 6 years ago
- kubasz/uefi-d
- github.com/kubasz/uefi-d
- BSD 2-clause
- Copyright © 2016, Jakub Szewczyk
- Authors:
- Dependencies:
- none
- Versions:
-
0.0.4 2016-Feb-11 0.0.3 2016-Feb-09 0.0.2 2016-Feb-09 0.0.1 2016-Feb-07 ~master 2020-Sep-25 - Download Stats:
-
-
0 downloads today
-
0 downloads this week
-
0 downloads this month
-
90 downloads total
-
- Score:
- 1.9
- Short URL:
- uefi-d.dub.pm