From patchwork Thu Jul 11 15:29:49 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leif Lindholm X-Patchwork-Id: 168843 Delivered-To: patch@linaro.org Received: by 2002:a92:4782:0:0:0:0:0 with SMTP id e2csp11535525ilk; Thu, 11 Jul 2019 08:30:18 -0700 (PDT) X-Google-Smtp-Source: APXvYqyMcr0VMtcVcrvGup8ju2vS2SzzYg7PPAnjah0HlKwzBSvQcMs8uzUT2iSq3SZw+YOA+ZRv X-Received: by 2002:a67:69d6:: with SMTP id e205mr5080724vsc.98.1562859018248; Thu, 11 Jul 2019 08:30:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1562859018; cv=none; d=google.com; s=arc-20160816; b=Uhyv645eoFF5FnM5opovCJmfmRIGZR4iWgMj1oQltmgqpAtmQvbV9MTEeiEC2Yn/qH bcTjJHyMe8eROZA3ghui6CDYXtq33YDQpzkkWmZdD8JcvYxXpSEy+9WCYdV0WMav/H1F q68QQedEkAZjj1kt1burSZbITxTtVUKSXeN+J0oUJUinQoWFFMObXwdwcntNHGeM92PO 5erJEMQAJeiT6e+FGG0Z1858sEYPyyJGZ0Hj6DfZB5lQqekXq5zG5i+tlnH2rdANYxKX zR2Pj6cZsAYpdLJpUo3cmZXkjQdL/mUOgRgIoHW9LgvXth+FXs8srKGUjdVb39wxQE+7 xNtg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:list-subscribe:list-help :list-post:list-archive:list-unsubscribe:list-id:precedence:subject :mime-version:message-id:date:to:from:delivered-to; bh=VQ8R65TT8CTY7E6T3pgwORKpHBGQ7iUxp5cVNlyIVaM=; b=AdImRF1BnBjbFCSiUFCxuVKPaOJ55RPfzTCHLSqUHJ0hmljp+CYW8xLn3mh6+dQXoP 0QDfUFPxDrfSES+CimLJ4rXHNRuWBIIbcof3tFh5BUoHwSjqG0BNDsBI9lDptGWc+Z00 dXSWtaFS8tAJyUwzz68RKHlN6zsQk6ltYkVKNp0wyIZXS4EM1OaDdNVBzU2fmbadD143 RLl7/MRy3xBM0e0d1icw+Ej2Fh8TiH0+NGAQf5DsbJ2heT+t5tCqA/iSIIJT8e118ChJ wLgonc/M6Kja0oJeqW0/r6KK+9J1WAnxvY4Uxq6BC3gUOL3KKn+GU+J5oJ8v51V0AHTn hszg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linaro-uefi-bounces@lists.linaro.org designates 107.22.173.205 as permitted sender) smtp.mailfrom=linaro-uefi-bounces@lists.linaro.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.linaro.org (lists.linaro.org. [107.22.173.205]) by mx.google.com with ESMTPS id h7si1942929uan.139.2019.07.11.08.30.17 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 11 Jul 2019 08:30:18 -0700 (PDT) Received-SPF: pass (google.com: domain of linaro-uefi-bounces@lists.linaro.org designates 107.22.173.205 as permitted sender) client-ip=107.22.173.205; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linaro-uefi-bounces@lists.linaro.org designates 107.22.173.205 as permitted sender) smtp.mailfrom=linaro-uefi-bounces@lists.linaro.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from lists.linaro.org (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id A73B560770; Thu, 11 Jul 2019 15:30:16 +0000 (UTC) Received: by lists.linaro.org (Postfix, from userid 109) id 90DCA6177C; Thu, 11 Jul 2019 15:30:16 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on ip-10-150-125-211.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00, MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=disabled version=3.4.2 Received: from lists.linaro.org (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id 937F060813; Thu, 11 Jul 2019 15:30:01 +0000 (UTC) X-Original-To: linaro-uefi@lists.linaro.org Delivered-To: linaro-uefi@lists.linaro.org Received: from lists.linaro.org (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id 5855C60770 for ; Thu, 11 Jul 2019 15:29:56 +0000 (UTC) Received: by lists.linaro.org (Postfix, from userid 109) id 4907B60BFC; Thu, 11 Jul 2019 15:29:56 +0000 (UTC) Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) by lists.linaro.org (Postfix) with ESMTPS id C1A6060770 for ; Thu, 11 Jul 2019 15:29:53 +0000 (UTC) Received: by mail-wr1-f44.google.com with SMTP id f9so6736152wre.12 for ; Thu, 11 Jul 2019 08:29:53 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=P30hMNuxeU/4Kc9wRLECN5EosoXvXvPlQdjOW526QZw=; b=C+2Tu1a+NjQkKqI2Ku0ndhjOB9uz9R83dVJApEiJXRu95IrWQStRx34qRvHjb4wJxO NpQqLMap5Anj/DOQ9J4Zo6jGTCVG7amUdOzSplMxrwbI1iqvVbNwsNIbVbTVyDZYj0K9 QdgrlcxFucy8X4WCqmeYnvl6chP5uZVoJqoPlma1g5oojwKj3VvnKcNMw8yxTMlOLFsR QEo3dkj2cqDcz0/dIMCrs1AaBo4vYqEs+FGbOaqreyCqaflw8Kl3Tz7lw+LnM4SfUIqa O1Iap7WeGcJLX8d/TCn8Cda0XWWO+7GbWF53b1EH1Ige7RTlKSj7SnzFsHd+uctdjvA2 a2Uw== X-Gm-Message-State: APjAAAVsfotAqHnoZbMEH/M4aOr5G5JBo5flwOClIVPupVdLyy5npGB4 OWQGtj09WB8zygcw+0ds+IPRt63hDEv5FQ== X-Received: by 2002:adf:f3cc:: with SMTP id g12mr5632500wrp.149.1562858992201; Thu, 11 Jul 2019 08:29:52 -0700 (PDT) Received: from urvogel.localdomain (188.29.165.161.threembb.co.uk. [188.29.165.161]) by smtp.gmail.com with ESMTPSA id q1sm5165090wmq.25.2019.07.11.08.29.51 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Thu, 11 Jul 2019 08:29:51 -0700 (PDT) From: Leif Lindholm To: linaro-uefi@lists.linaro.org Date: Thu, 11 Jul 2019 15:29:49 +0000 Message-Id: <20190711152949.13332-1-leif.lindholm@linaro.org> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 X-Virus-Scanned: ClamAV using ClamSMTP Subject: [Linaro-uefi] [PATCH] Delete outdated uefi-build.sh X-BeenThere: linaro-uefi@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "For discussions about Linaro-related UEFI development. Not a substitute for edk2-devel." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linaro-uefi-bounces@lists.linaro.org Sender: "Linaro-uefi" X-Virus-Scanned: ClamAV using ClamSMTP 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 --- 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