mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-22 11:40:06 +02:00
x86_64 is used as a baseline: the "x86_64" entry, whatever status it has, is transformed into "all", and then the other entries in ARCHITECTURES either dropped or rearranged appropriately.
92 lines
2.7 KiB
Bash
92 lines
2.7 KiB
Bash
SUMMARY="EFI firmware development environment"
|
||
DESCRIPTION="The EDK II project is the response to the EFI community’s \
|
||
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
|
||
}
|