Add support for building avr targets
Signed-off-by: Brennan Ashton <bashton@brennanashton.com>
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 350a047..b931060 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -23,7 +23,7 @@
strategy:
matrix:
- boards: [arm-01, arm-02, arm-03, arm-04, arm-05, arm-06, arm-07, arm-08, arm-09, arm-10, arm-11, arm-12, arm-13, mips-riscv-x86-xtensa, sim]
+ boards: [arm-01, arm-02, arm-03, arm-04, arm-05, arm-06, arm-07, arm-08, arm-09, arm-10, arm-11, arm-12, arm-13, avr-mips-riscv-x86-xtensa, sim]
steps:
- name: Checkout nuttx repo
uses: actions/checkout@v2
@@ -79,7 +79,7 @@
strategy:
matrix:
- boards: [arm-12, mips-riscv-x86-xtensa, sim]
+ boards: [arm-12, avr-mips-riscv-x86-xtensa, sim]
steps:
- name: Checkout nuttx repo
diff --git a/cibuild.sh b/cibuild.sh
index f27cffc..7c7fcdf 100755
--- a/cibuild.sh
+++ b/cibuild.sh
@@ -36,7 +36,7 @@
case $os in
Darwin)
- install="python-tools u-boot-tools discoteq-flock elf-toolchain gen-romfs kconfig-frontends arm-gcc-toolchain riscv-gcc-toolchain xtensa-esp32-gcc-toolchain"
+ install="python-tools u-boot-tools discoteq-flock elf-toolchain gen-romfs kconfig-frontends arm-gcc-toolchain riscv-gcc-toolchain xtensa-esp32-gcc-toolchain avr-gcc-toolchain"
mkdir -p ${prebuilt}/homebrew
export HOMEBREW_CACHE=${prebuilt}/homebrew
;;
@@ -214,6 +214,17 @@
pip3 install esptool
}
+function avr-gcc-toolchain {
+ if ! type avr-gcc > /dev/null; then
+ case $os in
+ Darwin)
+ brew tap osx-cross/avr
+ brew install avr-gcc
+ ;;
+ esac
+ fi
+}
+
function c-cache {
add_path $prebuilt/ccache/bin
diff --git a/docker/linux/Dockerfile b/docker/linux/Dockerfile
index 37008b0..7c3d3c9 100644
--- a/docker/linux/Dockerfile
+++ b/docker/linux/Dockerfile
@@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-FROM ubuntu:19.04 AS builder-base
+FROM ubuntu:19.10 AS builder-base
# NOTE WE ARE NOT REMOVEING APT CACHE.
# This should only be used for temp build images that artifacts will be copied from
RUN apt-get update -qq && apt-get install -y -qq \
@@ -122,7 +122,7 @@
# Final Docker image used for running CI system. This includes all toolchains
# supported by the CI system.
###############################################################################
-FROM ubuntu:19.04
+FROM ubuntu:19.10
LABEL maintainer="dev@nuttx.apache.org"
RUN dpkg --add-architecture i386
@@ -132,6 +132,8 @@
build-essential \
gcc \
gcc-multilib \
+ gcc-avr \
+ avr-libc \
wget \
libx11-dev \
libxext-dev \
diff --git a/testlist/mips-riscv-x86-xtensa.dat b/testlist/avr-mips-riscv-x86-xtensa.dat
similarity index 66%
rename from testlist/mips-riscv-x86-xtensa.dat
rename to testlist/avr-mips-riscv-x86-xtensa.dat
index 8c3ca0f..8096ae9 100644
--- a/testlist/mips-riscv-x86-xtensa.dat
+++ b/testlist/avr-mips-riscv-x86-xtensa.dat
@@ -1,3 +1,10 @@
+# We do not have a toolchain for avr32 outside of Microchip login wall.
+# The work was never upstreamed to GCC.
+
+/avr
+-avr32dev1:nsh
+-avr32dev1:ostest
+
# PINGUINOL toolchain doesn't provide macOS binaries
# with the same name
# /mips,CONFIG_MIPS32_TOOLCHAIN_PINGUINOL