TF-A: split toolchains and binaries install into a shell script

it's easier to read and maintain a shell script than bundle it into a
Dockerfile.

Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
Change-Id: I2478c928a2198225456c866276882a9e423acb3f
diff --git a/bionic-amd64-tf-a-build/tf-dependencies.install b/bionic-amd64-tf-a-build/tf-dependencies.install
new file mode 100755
index 0000000..35c33db
--- /dev/null
+++ b/bionic-amd64-tf-a-build/tf-dependencies.install
@@ -0,0 +1,51 @@
+#!/bin/sh
+
+set -e
+
+# Install cppcheck
+wget -q http://github.com/danmar/cppcheck/releases/download/1.81/cppcheck-1.81.tar.gz -O /tmp/cppcheck.tar.gz
+tar -xf /tmp/cppcheck.tar.gz -C /opt
+(cd /opt/cppcheck-*; make CFGDIR=/opt/cppcheck-1.81/cfg; make install; make clean)
+
+# Install PlantUML
+curl --create-dirs -fsSLo ${PLANTUML_JAR_PATH} \
+https://repo1.maven.org/maven2/net/sourceforge/plantuml/plantuml/1.2019.6/plantuml-1.2019.6.jar
+
+# Install CMake
+curl --create-dirs -fsSLo /tmp/cmake-Linux-x86_64.tar.gz \
+https://cmake.org/files/v3.15/cmake-3.15.0-Linux-x86_64.tar.gz
+tar -xf /tmp/cmake-Linux-x86_64.tar.gz -C ${TOOLS_DIR} --strip-components=1
+
+# Install Arm GCC toolchain (arm-none-eabi)
+curl --create-dirs -fsSLo /tmp/gcc-arm-x86_64-arm-none-eabi.tar.xz \
+https://developer.arm.com/-/media/Files/downloads/gnu-a/9.2-2019.12/binrel/gcc-arm-9.2-2019.12-x86_64-arm-none-eabi.tar.xz
+tar -Jxf /tmp/gcc-arm-x86_64-arm-none-eabi.tar.xz -C ${TOOLS_DIR} --strip-components=1
+
+# Install Arm GCC toolchain (aarch64-none-elf)
+curl --create-dirs -fsSLo /tmp/gcc-arm-x86_64-aarch64-none-elf.tar.xz \
+https://developer.arm.com/-/media/Files/downloads/gnu-a/9.2-2019.12/binrel/gcc-arm-9.2-2019.12-x86_64-aarch64-none-elf.tar.xz
+tar -Jxf /tmp/gcc-arm-x86_64-aarch64-none-elf.tar.xz -C ${TOOLS_DIR} --strip-components=1
+
+# Install Linaro GCC 6.2.1 toolchain (aarch64-none-elf), which is required by some platforms, i.e. marvell
+# NOTE: Toolchain is not available through PATH so to use it, CROSS_COMPILE should point to
+# CROSS_COMPILE=${TOOLS_DIR}/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
+curl --create-dirs -fsSLo /tmp/gcc-linaro-x86_64_aarch64-linux-gnu.tar.xz \
+https://releases.linaro.org/components/toolchain/binaries/6.2-2016.11/aarch64-linux-gnu/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu.tar.xz
+tar -Jxf /tmp/gcc-linaro-x86_64_aarch64-linux-gnu.tar.xz -C ${TOOLS_DIR}
+
+# Install Arm Clang (armclang)
+mkdir -p /tmp/armclang
+curl --create-dirs -fsSLo /tmp/DS500-BN-00026-r5p0-15rel0.tgz \
+https://developer.arm.com/-/media/Files/downloads/compiler/DS500-BN-00026-r5p0-15rel0.tgz?revision=6a961cf7-1d9a-4664-900b-11d20552dbc7?product=Download%20Arm%20Compiler,64-bit,,Linux,6.13
+tar -xf /tmp/DS500-BN-00026-r5p0-15rel0.tgz -C /tmp/armclang
+/tmp/armclang/install_x86_64.sh --no-interactive --i-agree-to-the-contained-eula -d ${TOOLS_DIR}
+
+# Additional binaries required
+mkdir -p nfs/downloads/linaro/20.01
+cd nfs/downloads/linaro/20.01
+wget -q -c -m -A .zip -np -nd https://releases.linaro.org/members/arm/platforms/20.01/
+rm -f *-android-*.zip sg*.zip
+for file in *.zip; do
+  unzip -q ${file} -d $(basename ${file} .zip)
+done
+rm -f *.zip