Skip to content

timotheuslin/c-efi

 
 

Repository files navigation

c-efi - UEFI Reference Specification Protocol Constants and Definitions

ABOUT:
        The c-efi project provides the protocol constants and definitions of
        the UEFI Reference Specification as native C11 code. The scope of this
        project is limited to those protocol definitions. The protocols are not
        actually implemented. As such, this project serves as base for any UEFI
        application that needs to interact with UEFI, or implement (parts of)
        the UEFI specification.

        Additionally to providing a C library, this project also serves as
        documentation base for UEFI programming in C. It provides
        target-triples for UEFI, bootstrap helpers, and a bunch of
        documentation how to get started.

DETAILS:
        https://dvdhrm.github.io/2019/01/31/goodbye-gnuefi/
        https://c-util.github.io/c-efi (404)

BUG REPORTS:
        https://github.com/c-util/c-efi/issues

GIT:
        git@github.com:c-util/c-efi.git
        https://github.com/c-util/c-efi.git

GITWEB:
        https://github.com/c-util/c-efi

LICENSE:
        Apache Software License 2.0
        Lesser General Public License 2.1+
        See AUTHORS for details.

REQUIREMENTS:
        There are no runtime requirements for c-efi.

        At build-time, the following software is required:

            meson >= 0.41
            pkg-config >= 0.29
            clang >= 9.0.0

BUILD/INSTALLATION:
        The meson build-system is used for this project. Contact upstream
        documentation for detailed help. In most situations the following
        commands are sufficient to build and install from source:

            $ git clone https://github.com/timotheuslin/c-efi.git
            $ cd c-efi
            $ meson setup build_dir --cross-file src/x86_64-unknown-uefi.mesoncross.ini
            $ ninja -C build_dir
            $ cd build_dir
            $ meson test
            (unused) # ninja install

        For custom configuration options see meson_options.txt.

Releases

No releases published

Packages

No packages published

Languages

  • C 95.8%
  • Meson 3.8%
  • Shell 0.4%