diff options
Diffstat (limited to 'common/recipes-bsp/rmc/rmc.bb')
-rw-r--r-- | common/recipes-bsp/rmc/rmc.bb | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/common/recipes-bsp/rmc/rmc.bb b/common/recipes-bsp/rmc/rmc.bb new file mode 100644 index 00000000..d8e538b2 --- /dev/null +++ b/common/recipes-bsp/rmc/rmc.bb @@ -0,0 +1,46 @@ +SUMMARY = "RMC (Runtime Machine Configuration)" + +DESCRIPTION = "RMC project provides a tool and libraries to identify types \ +of hardware boards and access any file-based data specific to the board's \ +type at runtime in a centralized way. Software (clients) can have a generic \ +logic to query board-specific data from RMC without knowing the type of board. \ +This make it possible to have a generic software work running on boards which \ +require any quirks or customizations at a board or product level. \ +" + +LICENSE = "MIT" + +LIC_FILES_CHKSUM = "file://COPYING;md5=838c366f69b72c5df05c96dff79b35f2" + +SRC_URI = "git://git.yoctoproject.org/rmc" + +SRCREV = "9bc0f645729bb41e050395fbfac170fca351b3b8" + +S = "${WORKDIR}/git" + +DEPENDS_class-target = "gnu-efi" + +# from gnu-efi, we should align arch-mapping with it. +def rmc_efi_arch(d): + import re + arch = d.getVar("TARGET_ARCH", True) + if re.match("i[3456789]86", arch): + return "ia32" + return arch + +do_compile_class-target() { + oe_runmake + oe_runmake RMC_EFI_HEADER_PREFIX=${STAGING_INCDIR}/efi RMC_EFI_ARCH="${@rmc_efi_arch(d)}" -f Makefile.efi +} + +do_install() { + oe_runmake RMC_EFI_ARCH="${@rmc_efi_arch(d)}" RMC_INSTALL_PREFIX=${D}/usr install + oe_runmake RMC_EFI_ARCH="${@rmc_efi_arch(d)}" RMC_INSTALL_PREFIX=${D}/usr -f Makefile.efi install +} + +do_install_class-native() { + install -d ${D}${STAGING_BINDIR_NATIVE} + install -m 0755 ${S}/src/rmc ${D}${STAGING_BINDIR_NATIVE} +} + +BBCLASSEXTEND = "native" |