On Thu, Jul 11, 2019 at 03:29:49PM +0000, Leif Lindholm wrote:
edk2-platforms has been the actively developed tree for nearly two years, so delete the outdated script for building OpenPlatformPkg, and its associated platform configuration file.
Signed-off-by: Leif Lindholm leif.lindholm@linaro.org
Haojian - long ago you asked me to keep uefi-build.sh around for a while, since you were still using it. I think the time we agreed on has long since passed. Are you OK with me deleting it now?
Hi Leif,
I'm fine on deleting this file.
Best Regards Haojian
platforms.config | 310 -------------------------- uefi-build.sh | 398 ---------------------------------- uefi-build.sh.bash_completion | 24 -- 3 files changed, 732 deletions(-) delete mode 100644 platforms.config delete mode 100755 uefi-build.sh delete mode 100644 uefi-build.sh.bash_completion
diff --git a/platforms.config b/platforms.config deleted file mode 100644 index 4d29c65..0000000 --- a/platforms.config +++ /dev/null @@ -1,310 +0,0 @@ -# Platform build configurations for Linaro EDK2 builds -# ==================================================== -# The configuration file format is extremely simplistic: -# - Each platform has a short name. -# - A platform entry starts by the short name held in square brackets, '[]' -# - Within each entry, all options are described in a NAME=VALUE scheme, -# with the name being whatever comes before the first '=' on the line, -# and the value being everything that comes after it. -# -# Mandatory options: -# - LONGNAME A more descriptive name of the platform. -# - DSC Pointer to the EDK2 build description file. (The -# pandaboard is excused, all other ports must have this.) -# - ARCH String describing the architecture to build for. -# Currently supported are AARCH32 and AARCH64. -# - UEFI_BIN Name of executable image produced. -# - UEFI_IMAGE_DIR Build output directory name, relative to 'Build'. -# -# Options for Trusted OS -# Note that OP-TEE (https://github.com/OP-TEE/optee_os) is the only currently -# supported Trusted OS -# - BUILD_TOS Set to "yes" if the build should automatically build -# Trusted OS, mainly for ARM Trusted Firmware. -# If this is set, you must also set ATF_SPD! -# Else we will not know which specific Trusted OS to -# build. -# Set to "debug" to create a debug build. -# - TOS_ARCH String describing the architecture to build for. -# Currently the supported architecture is ARM. -# - TOS_PLATFORM Platform name for Trusted OS build, if -# different from ARM Trusted Firmware platform -# or UEFI platform name. -# - TOS_PLATFORM_FLAVOR If a core platform has multiple flavors, specify which -# flavor here. -# -# Options for ARM Trusted Firmware platforms -# - BUILD_ATF Set to "yes" if the build should automatically build -# ARM Trusted Firmware and a fip containing UEFI image. -# Set to "debug" to create a debug build. -# - ATF_PLATFORM Platform name for ARM Trusted Firmware build, if -# different from UEFI platform name. -# - SCP_BIN SCP image to pass to ARM Trusted Firmware. -# - TOS_BIN Trusted OS image to pass to ARM Trusted Firmware. -# The path is relative to -# $EDK2_DIR/Build/$PLATFORM_IMAGE_DIR/$BUILD_PROFILE/FV/. -# To actually build the Trusted OS, you must also set -# ATF_SPD. -# - ATF_SPD Name of Secure Payload Dispatcher -# To actually build the Trusted OS, you must also set -# TOS_BIN. -# - SPM_BIN Prebuilt Secure Partition image to pass to ARM Trusted Firmware. -# The path is relative to -# $EDK2_DIR/Build/StandaloneSmmPkg/$BUILD_PROFILE/FV/. -# -# Optional options: -# - BUILDFLAGS Any special flags you want to pass to the build command. -# - ATF_BUILDFLAGS Any special flags you want to pass to the ARM Trusted -# Firmware build command. -# - TOS_BUILDFLAGS Any special flags you want to pass to the Trusted OS -# build command. -# - EXTRA_FILES Any additional files to be copied to output dir. -# - PREBUILD_CMDS Any commands you want to execute before the build step. -# - POSTBUILD_CMDS Any commands you want to execute after the build step. -# - PACKAGES_PATH Additional directories to search for packages under. -# - INF Point to a .inf (in addition to a .dsc) in order to -# build a single component (standalone driver/app). -#
-[juno] -LONGNAME=aarch64 Juno -DSC=OpenPlatformPkg/Platforms/ARM/Juno/ArmJuno.dsc -BUILDFLAGS= -ARCH=AARCH64 -BUILD_ATF=yes -UEFI_BIN=BL33_AP_UEFI.fd -UEFI_IMAGE_DIR=ArmJuno -SCP_BIN=OpenPlatformPkg/Platforms/ARM/Juno/Binary/bl30.bin -EXTRA_FILES=../../../../OpenPlatformPkg/Platforms/ARM/Juno/Binary/bl0.bin ../../../../OpenPlatformPkg/Platforms/ARM/Juno/Binary/Copying.txt
-# ARM FVP BASE AEMv8-A model -[fvp_full] -LONGNAME=aarch64 FVP RTSM with full perhiperhal set -DSC=OpenPlatformPkg/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc -BUILDFLAGS=-D EDK2_OUT_DIR=Build/ArmVExpress-FVP-AArch64-Full -D EDK2_ENABLE_SMSC_91X=1 -D EDK2_ENABLE_PL111=1 -ARCH=AARCH64 -UEFI_BIN=FVP_AARCH64_EFI.fd -UEFI_IMAGE_DIR=ArmVExpress-FVP-AArch64-Full
-[fvp] -LONGNAME=aarch64 FVP RTSM -DSC=OpenPlatformPkg/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc -BUILDFLAGS=-D EDK2_ENABLE_SMSC_91X=1 -ARCH=AARCH64 -BUILD_ATF=yes -UEFI_BIN=FVP_AARCH64_EFI.fd -UEFI_IMAGE_DIR=ArmVExpress-FVP-AArch64
-# ARM FVP BASE AEMv8-A model -[fvp_mm_standalone] -LONGNAME=FVP Base for MM Standalone image in secure world -DSC=StandaloneSmmPkg/StandaloneSmmPkg.dsc -ARCH=AARCH64 -UEFI_BIN=FVP_AARCH64_EFI_MM_STANDALONE.fd -UEFI_IMAGE_DIR=ArmVExpress-FVP-AArch64-MM-Standalone
-[fvp_mm_normal] -LONGNAME=FVP Base for UEFI image with MM support in normal world -DSC=OpenPlatformPkg/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc -BUILDFLAGS=-D EDK2_OUT_DIR=Build/ArmVExpress-FVP-AArch64-MM-Normal -D ARM_STANDALONE_MM_ENABLE=TRUE -ARCH=AARCH64 -BUILD_ATF=debug -UEFI_BIN=FVP_AARCH64_EFI.fd -UEFI_IMAGE_DIR=ArmVExpress-FVP-AArch64-MM-Normal -ATF_PLATFORM=fvp -SPM_BIN=STANDALONESMM.fd -ATF_BUILDFLAGS=ARM_BL31_IN_DRAM=1
-[tc2] -LONGNAME=Versatile Express TC2 -BUILDFLAGS=-D ARM_BIGLITTLE_TC2=1 -DSC=OpenPlatformPkg/Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc -ARCH=ARM -UEFI_BIN=ARM_VEXPRESS_CTA15A7_EFI.fd -UEFI_IMAGE_DIR=ArmVExpress-CTA15-A7
-[beagle] -LONGNAME=BeagleBoard -BUILDFLAGS= -DSC=BeagleBoardPkg/BeagleBoardPkg.dsc -ARCH=ARM
-[d01] -LONGNAME=HiSilicon D01 Cortex-A15 16-cores -BUILDFLAGS=-D EDK2_ARMVE_STANDALONE=1 -DSC=HisiPkg/D01BoardPkg/D01BoardPkg.dsc -ARCH=ARM -UEFI_BIN=D01.fd -UEFI_IMAGE_DIR=D01
-[d01-intelbds] -LONGNAME=HiSilicon D01 Cortex-A15 16-cores Intel Bds -BUILDFLAGS=-D EDK2_ARMVE_STANDALONE=1 -D INTEL_BDS -D NO_LINUX_LOADER -D EDK2_OUT_DIR=Build/D01-IntelBds -DSC=HisiPkg/D01BoardPkg/D01BoardPkg.dsc -ARCH=ARM -UEFI_BIN=D01.fd -UEFI_IMAGE_DIR=D01
-[qemu] -LONGNAME=QEMU ARM Emulator -BUILDFLAGS=-D INTEL_BDS -DSC=ArmVirtPkg/ArmVirtQemu.dsc -ARCH=ARM -UEFI_BIN=QEMU_EFI.fd -UEFI_IMAGE_DIR=ArmVirtQemu-ARM
-[qemu64] -LONGNAME=QEMU AArch64 Emulator -BUILDFLAGS=-D INTEL_BDS -DSC=ArmVirtPkg/ArmVirtQemu.dsc -ARCH=AARCH64 -UEFI_BIN=QEMU_EFI.fd -UEFI_IMAGE_DIR=ArmVirtQemu-AARCH64
-[mustang] -LONGNAME=APM XGene Mustang -BUILDFLAGS= -DSC=ArmPlatformPkg/APMXGenePkg/APMXGene-Mustang.dsc -ARCH=AARCH64 -UEFI_BIN=APMXGENE-MUSTANG.fd SEC_APMXGENE-MUSTANG.fd -UEFI_IMAGE_DIR=APMXGene-Mustang
-[overdrive] -LONGNAME=AMD Overdrive -BUILDFLAGS=-D INTEL_BDS -DSC=OpenPlatformPkg/Platforms/AMD/Styx/OverdriveBoard/OverdriveBoard.dsc -ARCH=AARCH64 -PACKAGES_PATH=OpenPlatformPkg/Platforms/AMD/Styx/Binary -UEFI_BIN=STYX_ROM.fd -UEFI_IMAGE_DIR=Overdrive
-[overdrive1000] -LONGNAME=SoftIron Overdrive 1000 -BUILDFLAGS=-D INTEL_BDS -DSC=OpenPlatformPkg/Platforms/AMD/Styx/Overdrive1000Board/Overdrive1000Board.dsc -ARCH=AARCH64 -PACKAGES_PATH=OpenPlatformPkg/Platforms/AMD/Styx/Binary -UEFI_BIN=OVERDRIVE1000_ROM.fd -UEFI_IMAGE_DIR=Overdrive1000Board
-[cello] -LONGNAME=LeMaker Cello -BUILDFLAGS=-D INTEL_BDS -DSC=OpenPlatformPkg/Platforms/AMD/Styx/CelloBoard/CelloBoard.dsc -ARCH=AARCH64 -PACKAGES_PATH=OpenPlatformPkg/Platforms/AMD/Styx/Binary -UEFI_BIN=STYX_ROM.fd -UEFI_IMAGE_DIR=Cello
-# NOTE: If using 96board's forks of ATF, i.e. -# https://github.com/96boards-hikey/arm-trusted-firmware -# or -# https://github.com/96boards/arm-trusted-firmware -# please set TOS_BIN=tee.bin -[hikey] -LONGNAME=CircuitCo HiKey -DSC=OpenPlatformPkg/Platforms/Hisilicon/HiKey/HiKey.dsc -ARCH=AARCH64 -UEFI_BIN=BL33_AP_UEFI.fd -UEFI_IMAGE_DIR=HiKey -BUILD_ATF=yes -ATF_SPD=opteed -TOS_BIN=tee-pager.bin -TOS_PLATFORM_FLAVOR=hikey -BUILD_TOS=yes -SCP_BIN=OpenPlatformPkg/Platforms/Hisilicon/HiKey/Binary/mcuimage.bin -# Uncomment this to use UART0 as the EDK2 console -#BUILDFLAGS=-DSERIAL_BASE=0xF8015000 -# Uncomment this to use UART0 as the ARM Trusted Firmware console -#ATF_BUILDFLAGS=CONSOLE_BASE=PL011_UART0_BASE CRASH_CONSOLE_BASE=PL011_UART0_BASE -# Uncomment this to use UART0 as the OP-TEE Trusted OS console -#TOS_BUILDFLAGS=CFG_CONSOLE_UART=0
-[hikey960] -LONGNAME=Hikey960 -DSC=OpenPlatformPkg/Platforms/Hisilicon/HiKey960/HiKey960.dsc -ARCH=AARCH64 -UEFI_BIN=BL33_AP_UEFI.fd -UEFI_IMAGE_DIR=HiKey960 -BUILD_ATF=yes -ATF_SPD=opteed -TOS_BIN=tee-pager.bin -TOS_PLATFORM=hikey -TOS_PLATFORM_FLAVOR=hikey960 -BUILD_TOS=yes -SCP_BIN=OpenPlatformPkg/Platforms/Hisilicon/HiKey960/Binary/lpm3.img -# Uncomment this to use UART5 as the EDK2 console for v1 hardware -#BUILDFLAGS=-DSERIAL_BASE=0xFDF05000
-[xen64] -LONGNAME=AArch64 Xen guest -BUILDFLAGS= -DSC=ArmVirtPkg/ArmVirtXen.dsc -ARCH=AARCH64 -UEFI_BIN=XEN_EFI.fd -UEFI_IMAGE_DIR=ArmVirtXen-AARCH64
-[aarch64-shell] -LONGNAME=AArch64 EFI Shell -BUILDFLAGS=-D INCLUDE_TFTP_COMMAND -DSC=ShellPkg/ShellPkg.dsc -ARCH=AARCH64
-[aarch64-shell-minimal] -LONGNAME=AArch64 EFI Shell (Minimal) -BUILDFLAGS=-D NO_SHELL_PROFILES -DSC=ShellPkg/ShellPkg.dsc -ARCH=AARCH64
-[arm-shell] -LONGNAME=ARM EFI Shell -BUILDFLAGS=-D INCLUDE_TFTP_COMMAND -DSC=ShellPkg/ShellPkg.dsc -ARCH=ARM
-[arm-shell-minimal] -LONGNAME=ARM EFI Shell (Minimal) -BUILDFLAGS=-D NO_SHELL_PROFILES -DSC=ShellPkg/ShellPkg.dsc -ARCH=ARM
-[d02] -LONGNAME=Hisilicon D02 -DSC=OpenPlatformPkg/Platforms/Hisilicon/D02/Pv660D02.dsc -ARCH=AARCH64 -UEFI_BIN=PV660D02.fd -UEFI_IMAGE_DIR=Pv660D02
-[d03] -LONGNAME=Hisilicon D03 -DSC=OpenPlatformPkg/Platforms/Hisilicon/D03/D03.dsc -ARCH=AARCH64 -UEFI_BIN=D03.fd -UEFI_IMAGE_DIR=D03
-[d05] -LONGNAME=HiSilicon D05 -DSC=OpenPlatformPkg/Platforms/Hisilicon/D05/D05.dsc -ARCH=AARCH64 -UEFI_BIN=D05.fd -UEFI_IMAGE_DIR=D05
-[armada70x0] -LONGNAME=Marvell Armada 70x0 -DSC=OpenPlatformPkg/Platforms/Marvell/Armada/Armada70x0.dsc -ARCH=AARCH64
-[ovmfx64] -LONGNAME=OVMF Qemu X64 -DSC=OvmfPkg/OvmfPkgX64.dsc -ARCH=X64
-[hello] -LONGNAME=EDK2 Hello World Example -DSC=MdeModulePkg/MdeModulePkg.dsc -INF=MdeModulePkg/Application/HelloWorld/HelloWorld.inf
-[chaoskey] -LONGNAME=Altus Metrum ChaosKey Driver -DSC=OptionRomPkg/OptionRomPkg.dsc -INF=OpenPlatformPkg/Drivers/Usb/Misc/ChaosKeyDxe/ChaosKeyDxe.inf diff --git a/uefi-build.sh b/uefi-build.sh deleted file mode 100755 index 7fec3d0..0000000 --- a/uefi-build.sh +++ /dev/null @@ -1,398 +0,0 @@ -#!/bin/bash
-# -# Board Configuration Section -# =========================== -# -# Board configuration moved to parse-platforms.py and platforms.config. -# -# No need to edit below unless you are changing script functionality. -#
-unset WORKSPACE EDK_TOOLS_DIR MAKEFLAGS
-TOOLS_DIR="`dirname $0`" -export TOOLS_DIR -. "$TOOLS_DIR"/common-functions -PLATFORM_CONFIG="" -VERBOSE=0 -ATF_DIR= -TOS_DIR= -TOOLCHAIN= -OPENSSL_CONFIGURED=FALSE
-# Number of threads to use for build -export NUM_THREADS=$((`getconf _NPROCESSORS_ONLN` + 1))
-function do_build -{
- PLATFORM_NAME="`$TOOLS_DIR/parse-platforms.py $PLATFORM_CONFIG -p $board get -o longname`"
- PLATFORM_PREBUILD_CMDS="`$TOOLS_DIR/parse-platforms.py $PLATFORM_CONFIG -p $board get -o prebuild_cmds`"
- PLATFORM_BUILDFLAGS="`$TOOLS_DIR/parse-platforms.py $PLATFORM_CONFIG -p $board get -o buildflags`"
- PLATFORM_BUILDFLAGS="$PLATFORM_BUILDFLAGS ${EXTRA_OPTIONS[@]}"
- PLATFORM_BUILDCMD="`$TOOLS_DIR/parse-platforms.py $PLATFORM_CONFIG -p $board get -o buildcmd`"
- PLATFORM_DSC="`$TOOLS_DIR/parse-platforms.py $PLATFORM_CONFIG -p $board get -o dsc`"
- PLATFORM_PACKAGES_PATH="$PWD"
- COMPONENT_INF="`$TOOLS_DIR/parse-platforms.py $PLATFORM_CONFIG -p $board get -o inf`"
- PLATFORM_ARCH="`$TOOLS_DIR/parse-platforms.py $PLATFORM_CONFIG -p $board get -o arch`"
- if [ -n "$PLATFORM_ARCH" ]; then
if [ -n "$DEFAULT_PLATFORM_ARCH" -a "$DEFAULT_PLATFORM_ARCH" != "$PLATFORM_ARCH" ]; then
echo "Command line specified architecture '$DEFAULT_PLATFORM_ARCH'" >&2
echo "differs from config file specified '$PLATFORM_ARCH'" >&2
return 1
fi
- else
if [ ! -n "$DEFAULT_PLATFORM_ARCH" ]; then
echo "Unknown target architecture - aborting!" >&2
return 1
fi
PLATFORM_ARCH="$DEFAULT_PLATFORM_ARCH"
- fi
- TEMP_PACKAGES_PATH="`$TOOLS_DIR/parse-platforms.py $PLATFORM_CONFIG -p $board get -o packages_path`"
- if [ -n "$TEMP_PACKAGES_PATH" ]; then
IFS=:
for path in "$TEMP_PACKAGES_PATH"; do
case "$path" in
/*)
PLATFORM_PACKAGES_PATH="$PLATFORM_PACKAGES_PATH:$path"
;;
*)
PLATFORM_PACKAGES_PATH="$PLATFORM_PACKAGES_PATH:$PWD/$path"
;;
esac
done
unset IFS
- fi
- if [ $VERBOSE -eq 1 ]; then
echo "Setting build parallellism to $NUM_THREADS processes\n"
echo "PLATFORM_NAME=$PLATFORM_NAME"
echo "PLATFORM_PREBUILD_CMDS=$PLATFORM_PREBUILD_CMDS"
echo "PLATFORM_BUILDFLAGS=$PLATFORM_BUILDFLAGS"
echo "PLATFORM_BUILDCMD=$PLATFORM_BUILDCMD"
echo "PLATFORM_DSC=$PLATFORM_DSC"
echo "PLATFORM_ARCH=$PLATFORM_ARCH"
echo "PLATFORM_PACKAGES_PATH=$PLATFORM_PACKAGES_PATH"
- fi
- if [[ "${PLATFORM_BUILDFLAGS}" =~ "SECURE_BOOT_ENABLE=TRUE" ]]; then
import_openssl
- fi
- if [ -n "$CROSS_COMPILE_64" -a "$PLATFORM_ARCH" == "AARCH64" ]; then
TEMP_CROSS_COMPILE="$CROSS_COMPILE_64"
- elif [ -n "$CROSS_COMPILE_32" -a "$PLATFORM_ARCH" == "ARM" ]; then
TEMP_CROSS_COMPILE="$CROSS_COMPILE_32"
- else
set_cross_compile
- fi
- CROSS_COMPILE="$TEMP_CROSS_COMPILE"
- echo "Building $PLATFORM_NAME - $PLATFORM_ARCH"
- echo "CROSS_COMPILE="$TEMP_CROSS_COMPILE""
- echo "$board"_BUILDFLAGS="'$PLATFORM_BUILDFLAGS'"
- if [ "$TARGETS" == "" ]; then
TARGETS=( RELEASE )
- fi
- case $TOOLCHAIN in
"gcc")
TOOLCHAIN=`get_gcc_version "$CROSS_COMPILE"gcc`
if [ $? -ne 0 ]; then
echo "${CROSS_COMPILE}gcc not found!" >&2
return 1
fi
;;
"clang")
TOOLCHAIN=`get_clang_version clang`
if [ $? -ne 0 ]; then
return 1
fi
;;
- esac
- export TOOLCHAIN
- echo "TOOLCHAIN is ${TOOLCHAIN}"
- export ${TOOLCHAIN}_${PLATFORM_ARCH}_PREFIX=$CROSS_COMPILE
- echo "Toolchain prefix: ${TOOLCHAIN}_${PLATFORM_ARCH}_PREFIX=$CROSS_COMPILE"
- export PACKAGES_PATH="$PLATFORM_PACKAGES_PATH"
- for target in "${TARGETS[@]}" ; do
if [ X"$PLATFORM_PREBUILD_CMDS" != X"" ]; then
echo "Run pre build commands"
eval ${PLATFORM_PREBUILD_CMDS}
fi
if [ -n "$COMPONENT_INF" ]; then
# Build a standalone component
build -n $NUM_THREADS -a "$PLATFORM_ARCH" -t ${TOOLCHAIN} -p "$PLATFORM_DSC" \
-m "$COMPONENT_INF" -b "$target" ${PLATFORM_BUILDFLAGS}
else
# Build a platform
build -n $NUM_THREADS -a "$PLATFORM_ARCH" -t ${TOOLCHAIN} -p "$PLATFORM_DSC" \
-b "$target" ${PLATFORM_BUILDFLAGS}
fi
RESULT=$?
if [ $RESULT -eq 0 ]; then
if [ X"$TOS_DIR" != X"" ]; then
pushd $TOS_DIR >/dev/null
if [ $VERBOSE -eq 1 ]; then
echo "$TOOLS_DIR/tos-build.sh -e "$EDK2_DIR" -t "$target"_${TOOLCHAIN} $board"
fi
$TOOLS_DIR/tos-build.sh -e "$EDK2_DIR" -t "$target"_${TOOLCHAIN} $board
RESULT=$?
popd >/dev/null
fi
fi
if [ $RESULT -eq 0 ]; then
if [ X"$ATF_DIR" != X"" ]; then
pushd $ATF_DIR >/dev/null
if [ $VERBOSE -eq 1 ]; then
echo "$TOOLS_DIR/atf-build.sh -e "$EDK2_DIR" -t "$target"_${TOOLCHAIN} $board"
fi
$TOOLS_DIR/atf-build.sh -e "$EDK2_DIR" -t "$target"_${TOOLCHAIN} $board
RESULT=$?
popd >/dev/null
fi
fi
result_log $RESULT "$PLATFORM_NAME $target"
- done
- unset PACKAGES_PATH
-}
-function clearcache -{
- CONF_FILES="build_rule target tools_def"
- if [ -z "$EDK_TOOLS_PATH" ]
- then
- TEMPLATE_PATH=./BaseTools/Conf/
- else
- TEMPLATE_PATH="$EDK_TOOLS_PATH/Conf/"
- fi
- for File in $CONF_FILES
- do
- TEMPLATE_FILE="$TEMPLATE_PATH/$File.template"
- CACHE_FILE="Conf/$File.txt"
- if [ -e "$CACHE_FILE" -a "$TEMPLATE_FILE" -nt "$CACHE_FILE" ]
- then
echo "Removing outdated '$CACHE_FILE'."
rm "$CACHE_FILE"
- fi
- done
- unset TEMPLATE_PATH TEMPLATE_FILE CACHE_FILE
-}
-function uefishell -{
- BUILD_ARCH=`uname -m`
- case $BUILD_ARCH in
arm*)
ARCH=ARM
;;
aarch64)
ARCH=AARCH64
;;
*)
unset ARCH
;;
- esac
- export ARCH
- export EDK_TOOLS_PATH=`pwd`/BaseTools
- clearcache
- . edksetup.sh BaseTools
- if [ $VERBOSE -eq 1 ]; then
echo "Building BaseTools"
- fi
- make -C $EDK_TOOLS_PATH
- if [ $? -ne 0 ]; then
echo " !!! UEFI BaseTools failed to build !!! " >&2
exit 1
- fi
-}
-function usage -{
- echo "usage:"
- echo -n "uefi-build.sh [-b DEBUG | RELEASE] [ all "
- for board in "${boards[@]}" ; do
echo -n "| $board "
- done
- echo "]"
- printf "%8s\tbuild %s\n" "all" "all supported platforms"
- for board in "${boards[@]}" ; do
PLATFORM_NAME="`$TOOLS_DIR/parse-platforms.py $PLATFORM_CONFIG -p $board get -o longname`"
printf "%8s\tbuild %s\n" "$board" "${PLATFORM_NAME}"
- done
-}
-# -# Since we do a command line validation on whether specified platforms exist or -# not, do a first pass of command line to see if there is an explicit config -# file there to read valid platforms from. -# -commandline=( "$@" ) -i=0 -for arg; -do
- if [ $arg == "-c" ]; then
FILE_ARG=${commandline[i + 1]}
if [ ! -f "$FILE_ARG" ]; then
echo "ERROR: configuration file '$FILE_ARG' not found" >&2
exit 1
fi
case "$FILE_ARG" in
/*)
PLATFORM_CONFIG="-c $FILE_ARG"
;;
*)
PLATFORM_CONFIG="-c `readlink -f \"$FILE_ARG\"`"
;;
esac
echo "Platform config file: '$FILE_ARG'"
export PLATFORM_CONFIG
- fi
- i=$(($i + 1))
-done
-builds=() -boards=() -boardlist="`$TOOLS_DIR/parse-platforms.py $PLATFORM_CONFIG shortlist`" -for board in $boardlist; do
- boards=(${boards[@]} $board)
-done
-NUM_TARGETS=0
-while [ "$1" != "" ]; do
- case $1 in
all )
builds=(${boards[@]})
NUM_TARGETS=$(($NUM_TARGETS + 1))
;;
"/h" | "/?" | "-?" | "-h" | "--help" )
usage
exit
;;
"-v" )
VERBOSE=1
;;
"-a" )
shift
ATF_DIR="$1"
;;
"-A" )
shift
DEFAULT_PLATFORM_ARCH="$1"
;;
"-c" )
# Already parsed above - skip this + option
shift
;;
"-s" )
shift
export TOS_DIR="$1"
;;
"-b" | "--build" )
shift
echo "Adding Build profile: $1"
TARGETS=( ${TARGETS[@]} $1 )
;;
"-D" )
shift
echo "Adding option: -D $1"
EXTRA_OPTIONS=( ${EXTRA_OPTIONS[@]} "-D" $1 )
;;
"-T" )
shift
echo "Setting toolchain to '$1'"
TOOLCHAIN="$1"
;;
"-1" )
NUM_THREADS=1
;;
* )
MATCH=0
for board in "${boards[@]}" ; do
if [ "$1" == $board ]; then
MATCH=1
builds=(${builds[@]} "$board")
break
fi
done
if [ $MATCH -eq 0 ]; then
echo "unknown arg $1"
usage
exit 1
fi
NUM_TARGETS=$(($NUM_TARGETS + 1))
;;
- esac
- shift
-done
-# If there were no args, use a menu to select a single board / all boards to build -if [ $NUM_TARGETS -eq 0 ] -then
- read -p "$(
f=0
for board in "${boards[@]}" ; do
echo "$((++f)): $board"
done
echo $((++f)): all
echo -ne '> '
- )" selection
- if [ "$selection" -eq $((${#boards[@]} + 1)) ]; then
builds=(${boards[@]})
- else
builds="${boards[$((selection-1))]}"
- fi
-fi
-# Check to see if we are in a UEFI repository -# refuse to continue if we aren't -if [ ! -e BaseTools ] -then
- echo "ERROR: we aren't in the UEFI directory."
- echo " I can tell because I can't see the BaseTools directory"
- exit 1
-fi
-EDK2_DIR="$PWD" -export VERBOSE
-if [[ "${EXTRA_OPTIONS[@]}" != *"FIRMWARE_VER"* ]]; then
- if test -d .git && head=`git rev-parse --verify --short HEAD 2>/dev/null`; then
FIRMWARE_VER=`git rev-parse --short HEAD`
if ! git diff-index --quiet HEAD --; then
FIRMWARE_VER="${FIRMWARE_VER}-dirty"
fi
EXTRA_OPTIONS=( ${EXTRA_OPTIONS[@]} "-D" FIRMWARE_VER=$FIRMWARE_VER )
if [ $VERBOSE -eq 1 ]; then
echo "FIRMWARE_VER=$FIRMWARE_VER"
echo "EXTRA_OPTIONS=$EXTRA_OPTIONS"
fi
- fi
-fi
-uefishell
-if [ X"$TOOLCHAIN" = X"" ]; then
- TOOLCHAIN=gcc
-fi
-for board in "${builds[@]}" ; do
- do_build
-done
-result_print diff --git a/uefi-build.sh.bash_completion b/uefi-build.sh.bash_completion deleted file mode 100644 index f0a5305..0000000 --- a/uefi-build.sh.bash_completion +++ /dev/null @@ -1,24 +0,0 @@ -# bash completion for uefi-build.sh -# copy this file to /etc/bash_completion.d/uefi-build.s
-have uefi-build.sh && -_uefi-build.sh() -{
- local cur prev
- COMPREPLY=()
- _get_comp_words_by_ref -n = cur
- _expand || return 0
- COMPREPLY=( $( compgen -W '--help -b --build RELEASE DEBUG a5 a9 tc1 tc2 panda origen arndale rtsm_a9x4 rtsm_a15x1 rtsm_a15mpcore rtsm_aarch64 beagle all' -- "$cur" ) )
-} && -complete -F _uefi-build.sh uefi-build.sh
-# Local variables: -# mode: shell-script -# sh-basic-offset: 4 -# sh-indent-comment: t -# indent-tabs-mode: nil -# End:
-# ex: ts=4 sw=4 et filetype=sh
2.20.1