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?
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