0
0
Fork 0
haikuports/sys-boot/edk2/edk2-2018.recipe

92 lines
2.7 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

SUMMARY="EFI firmware development environment"
DESCRIPTION="The EDK II project is the response to the EFI communitys \
request for a better build and version tracking environment for UEFI and PI \
development. The main difference between the EDK II to the original EDK is \
the Enhanced Build Environment of the EDK II. The advantages of the Enhanced \
Build Environment include:
* Operating System independence
* Flexibility in choosing the compiler and assembler tools
* The ability to generate working code using open source build tools and \
applications
* Enhanced development and build capability of modules and module packages
* Use of build configuration tools and data sets to provide flexible process
* Online source control allows users to contribute code and become participants"
HOMEPAGE="https://www.tianocore.org/"
COPYRIGHT="2004-2016 Intel Corporation
2008-2010 Apple Inc
2011-2015 ARM Limited
2014-2015 Linaro Limited
2013-2015 Red Hat, Inc."
LICENSE="MIT"
REVISION="2"
SOURCE_URI="https://github.com/tianocore/edk2/archive/vUDK$portVersion.tar.gz"
CHECKSUM_SHA256="a37aa6dc7a4326b562ce03e225afd96a0cd1dc847d9aeddfd867ce6b2e7cc7bc"
SOURCE_DIR="edk2-vUDK$portVersion"
PATCHES="edk2-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2 ?x86"
if [ "$targetArchitecture" = x86_gcc2 ]; then
SECONDARY_ARCHITECTURES="?x86"
fi
DISABLE_SOURCE_PACKAGE="yes"
PROVIDES="
edk2$secondaryArchSuffix = $portVersion compat >= 0
"
REQUIRES="
haiku$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libuuid$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:find
cmd:gcc$secondaryArchSuffix
cmd:iasl
cmd:make
cmd:nasm
cmd:python2
cmd:sed
"
PATCH()
{
local ACTIVE_PLATFORM="MdeModulePkg/MdeModulePkg.dsc"
local TARGET="RELEASE" # DEBUG, RELEASE, NOOPT
local TARGET_ARCH="X64" # IA32, IPF, X64, EBC, ARM or AArch64
local TOOL_CHAIN_TAG="GCC5"
if [ "$effectiveTargetArchitecture" = x86 ]; then
local TARGET_ARCH="IA32" # IA32, IPF, X64, EBC, ARM or AArch64
fi
sed -i "s|@ACTIVE_PLATFORM@|$ACTIVE_PLATFORM|g" BaseTools/Conf/target.template
sed -i "s|@TARGET@|$TARGET|g" BaseTools/Conf/target.template
sed -i "s|@TARGET_ARCH@|$TARGET_ARCH|g" BaseTools/Conf/target.template
sed -i "s|@TOOL_CHAIN_TAG@|$TOOL_CHAIN_TAG|g" BaseTools/Conf/target.template
sed -i "s|gcc-ar|ar|g" BaseTools/Conf/tools_def.template
}
BUILD()
{
if [ "$effectiveTargetArchitecture" = x86 ]; then
HOST_ARCH=IA32
fi
make -C BaseTools ${HOST_ARCH:+HOST_ARCH=$HOST_ARCH}
. ./edksetup.sh
local EDK_TOOLS_PATH="$sourceDir"/BaseTools
. ./edksetup.sh BaseTools
build
}
INSTALL()
{
install -m 0755 -d "$dataDir"/edk2
cd Build
install -m 0644 -t "$dataDir"/edk2 */RELEASE*/*/*.efi
}