summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2014-12-26 20:33:00 +0100
committerUbuntu <ubuntu@ip-172-31-25-12.us-west-2.compute.internal>2015-04-10 07:26:44 +0000
commit3fe6b42b2192b992083514075f0ab90734b8437c (patch)
treec871e327b1f19a47515d6cecd034a49c0e34ed62
parente05e2b9be83fc963935bfc23c113c67e7dbcd611 (diff)
downloadpx4-nuttx-travis.tar.gz
px4-nuttx-travis.tar.bz2
px4-nuttx-travis.zip
Add Travis CI supporttravis
-rw-r--r--.gitignore2
-rw-r--r--.travis.yml44
-rw-r--r--.travis_ignored_configs.txt221
-rw-r--r--README.md3
-rwxr-xr-xnuttx/tools/autobuild.sh34
-rwxr-xr-xnuttx/tools/build_config.sh100
6 files changed, 403 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore
index f54ddffcd..a723f9c3a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,8 +9,8 @@ Make.dep
.*.swp
core
.gdbinit
+travis_output
cscope.out
.cproject
.project
.settings
-
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 000000000..ebb1a512f
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,44 @@
+language: cpp
+before_script:
+- sudo apt-get update -q
+- sudo apt-get install s3cmd grep zip mailutils
+- sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386
+- sudo apt-get install python-serial python-argparse
+- sudo apt-get install flex bison libncurses5-dev autoconf texinfo build-essential
+ libtool zlib1g-dev genromfs git wget
+- sudo apt-get install gcc-avr
+- pushd .
+- cd ~
+- wget https://launchpad.net/gcc-arm-embedded/4.9/4.9-2014-q4-major/+download/gcc-arm-none-eabi-4_9-2014q4-20141203-linux.tar.bz2
+- tar -jxf gcc-arm-none-eabi-4_9-2014q4-20141203-linux.tar.bz2
+- exportline="export PATH=$HOME/gcc-arm-none-eabi-4_9-2014q4/bin:\$PATH"
+- if grep -Fxq "$exportline" ~/.profile; then echo nothing to do ; else echo $exportline >> ~/.profile; fi
+- . ~/.profile
+- popd
+- wget --quiet --timestamping https://sourceforge.net/projects/pinguinoide/files/linux/pinguino-linux64-gcc-mips-elf.deb
+- sudo dpkg --install --force-overwrite pinguino-linux64-gcc-mips-elf.deb
+- sudo apt-get install libcloog-isl4 libisl10
+- sudo apt-get install -f
+git:
+ depth: 500
+script:
+- ./nuttx/tools/autobuild.sh
+- zip -r Buildlogs.zip travis_output > /dev/null
+env:
+ - BUILDJOBS=3 BUILDJOBID=a
+ - BUILDJOBS=3 BUILDJOBID=b
+ - BUILDJOBS=3 BUILDJOBID=c
+addons:
+ artifacts:
+ paths:
+ - "Buildlogs.zip"
+ key:
+ secure: zUntHUl8Ji8ZHOehfrXX8vVM9YQbacYHRIodIMc2XKqwbtHHvEFypvq7WVM9glF9RRsbawpD/qwgvmmc7Fq1g5lBD7VIKJPiWSIud/BDiFJiMP0RTjpo7+aBx1cZJjORy1bnrZ0EHtj9R6q7O9PCGwLdGVc8yTgqHVLVe1FN4y4=
+ secret:
+ secure: mUN6YYgCmVZCbmTvRFX+t9dJl86yg2bMc6Sl1DzEiV/wXChIcg+dLracyc3XMorNSxOKJanjxVdUAw/kt4FiYsONTCN5jJm6BjwMUrS3IcIVWkwW4QwDqw02O3XQ5IgUANpbFxogARKQgi78HFUGy2xoF1xy35Wrn3Ffob4DkiE=
+ bucket: nuttx-travis
+notifications:
+ email:
+ - spudarnia@yahoo.com
+ - lorenz@px4.io
+ - david_s5@usa.net
diff --git a/.travis_ignored_configs.txt b/.travis_ignored_configs.txt
new file mode 100644
index 000000000..ef437e648
--- /dev/null
+++ b/.travis_ignored_configs.txt
@@ -0,0 +1,221 @@
+# Travis CI ignored configs
+# Every line not prepended with a hash (#)
+# will be ignored by the build check tool.
+
+nuttx/configs/zkit-arm-1769/thttpd/defconfig
+nuttx/configs/zkit-arm-1769/hello/defconfig
+nuttx/configs/z8f64200100kit/ostest/defconfig
+nuttx/configs/z8encore000zco/ostest/defconfig
+nuttx/configs/z80sim/pashello/defconfig
+nuttx/configs/z80sim/ostest/defconfig
+nuttx/configs/z80sim/nsh/defconfig
+nuttx/configs/z16f2800100zcog/pashello/defconfig
+nuttx/configs/z16f2800100zcog/ostest/defconfig
+nuttx/configs/z16f2800100zcog/nsh/defconfig
+nuttx/configs/xtrs/pashello/defconfig
+nuttx/configs/xtrs/ostest/defconfig
+nuttx/configs/xtrs/nsh/defconfig
+nuttx/configs/vsn/nsh/defconfig
+nuttx/configs/us7032evb1/ostest/defconfig
+nuttx/configs/us7032evb1/nsh/defconfig
+nuttx/configs/ubw32/nsh/defconfig
+nuttx/configs/teensy/usbmsc/defconfig
+nuttx/configs/teensy/nsh/defconfig
+nuttx/configs/teensy/hello/defconfig
+nuttx/configs/sure-pic32mx/usbnsh/defconfig
+nuttx/configs/sure-pic32mx/nsh/defconfig
+nuttx/configs/stm32vldiscovery/nsh/defconfig
+nuttx/configs/stm32f4discovery/winbuild/defconfig
+nuttx/configs/stm32f4discovery/pm/defconfig
+nuttx/configs/stm32f4discovery/nxlines/defconfig
+nuttx/configs/stm32f4discovery/kostest/defconfig
+nuttx/configs/stm32f4discovery/cxxtest/defconfig
+nuttx/configs/stm3240g-eval/xmlrpc/defconfig
+nuttx/configs/stm3240g-eval/telnetd/defconfig
+nuttx/configs/stm3240g-eval/nxwm/defconfig
+nuttx/configs/stm3240g-eval/nsh2/defconfig
+nuttx/configs/stm3240g-eval/knxwm/defconfig
+nuttx/configs/stm3240g-eval/discover/defconfig
+nuttx/configs/stm3240g-eval/dhcpd/defconfig
+nuttx/configs/stm3220g-eval/telnetd/defconfig
+nuttx/configs/stm3220g-eval/nxwm/defconfig
+nuttx/configs/stm3220g-eval/nsh2/defconfig
+nuttx/configs/stm3220g-eval/dhcpd/defconfig
+nuttx/configs/stm3210e-eval/usbmsc/defconfig
+nuttx/configs/stm3210e-eval/pm/defconfig
+nuttx/configs/stm3210e-eval/nxterm/defconfig
+nuttx/configs/stm3210e-eval/nsh2/defconfig
+nuttx/configs/stm3210e-eval/composite/defconfig
+nuttx/configs/skp16c26/ostest/defconfig
+nuttx/configs/arduino-due/nsh/defconfig
+nuttx/configs/pirelli_dpl10/nsh_highram/defconfig
+nuttx/configs/lm3s8962-ek/nx/defconfig
+nuttx/configs/lm3s8962-ek/nsh/defconfig
+nuttx/configs/mcu123-lpc214x/usbserial/defconfig
+nuttx/configs/mcu123-lpc214x/nsh/defconfig
+nuttx/configs/mcu123-lpc214x/composite/defconfig
+nuttx/configs/mcu123-lpc214x/usbmsc/defconfig
+nuttx/configs/lpcxpresso-lpc1768/thttpd/defconfig
+nuttx/configs/lpcxpresso-lpc1768/nx/defconfig
+nuttx/configs/lpcxpresso-lpc1768/nsh/defconfig
+nuttx/configs/lpcxpresso-lpc1768/usbmsc/defconfig
+nuttx/configs/lpcxpresso-lpc1768/dhcpd/defconfig
+nuttx/configs/sam4s-xplained/nsh/defconfig
+nuttx/configs/rgmp/arm/nsh/defconfig
+nuttx/configs/rgmp/arm/default/defconfig
+nuttx/configs/rgmp/x86/cxxtest/defconfig
+nuttx/configs/rgmp/x86/nsh/defconfig
+nuttx/configs/rgmp/x86/default/defconfig
+nuttx/configs/rgmp/x86/helloxx/defconfig
+nuttx/configs/nutiny-nuc120/nsh/defconfig
+nuttx/configs/sama5d3-xplained/nsh/defconfig
+nuttx/configs/sama5d3-xplained/bridge/defconfig
+nuttx/configs/ez80f910200kitg/ostest/defconfig
+nuttx/configs/eagle100/thttpd/defconfig
+nuttx/configs/eagle100/httpd/defconfig
+nuttx/configs/eagle100/nxflat/defconfig
+nuttx/configs/eagle100/nettest/defconfig
+nuttx/configs/avr32dev1/nsh/defconfig
+nuttx/configs/avr32dev1/ostest/defconfig
+nuttx/configs/sim/bas/defconfig
+nuttx/configs/sama5d3x-ek/nxwm/defconfig
+nuttx/configs/sama5d3x-ek/nx/defconfig
+nuttx/configs/sama5d3x-ek/ov2640/defconfig
+nuttx/configs/sama5d3x-ek/norboot/defconfig
+nuttx/configs/sama5d3x-ek/hello/defconfig
+nuttx/configs/sama5d3x-ek/nxplayer/defconfig
+nuttx/configs/sama5d3x-ek/demo/defconfig
+nuttx/configs/micropendous3/hello/defconfig
+nuttx/configs/compal_e99/nsh_compalram/defconfig
+nuttx/configs/compal_e99/nsh_highram/defconfig
+
+nuttx/configs/c5471evm/nsh/defconfig
+nuttx/configs/c5471evm/nettest/defconfig
+nuttx/configs/c5471evm/httpd/defconfig
+nuttx/configs/sam4l-xplained/nsh/defconfig
+nuttx/configs/ntosd-dm320/thttpd/defconfig
+nuttx/configs/ntosd-dm320/webserver/defconfig
+nuttx/configs/ntosd-dm320/nettest/defconfig
+nuttx/configs/ntosd-dm320/poll/defconfig
+nuttx/configs/mirtoo/nxffs/defconfig
+nuttx/configs/mirtoo/nsh/defconfig
+nuttx/configs/olimex-strp711/nsh/defconfig
+nuttx/configs/olimex-strp711/nettest/defconfig
+nuttx/configs/ea3131/pgnsh/defconfig
+nuttx/configs/ea3131/usbserial/defconfig
+nuttx/configs/ea3131/nsh/defconfig
+nuttx/configs/nucleus2g/nsh/defconfig
+nuttx/configs/nucleus2g/usbmsc/defconfig
+nuttx/configs/open1788/knsh/defconfig
+nuttx/configs/sama5d4-ek/nxwm/defconfig
+nuttx/configs/sama5d4-ek/ramtest/defconfig
+nuttx/configs/sama5d4-ek/at25boot/defconfig
+nuttx/configs/sama5d4-ek/knsh/defconfig
+nuttx/configs/sama5d4-ek/dramboot/defconfig
+nuttx/configs/sama5d4-ek/bridge/defconfig
+nuttx/configs/sama5d4-ek/elf/defconfig
+nuttx/configs/ea3152/ostest/defconfig
+nuttx/configs/ne64badge/ostest/defconfig
+nuttx/configs/p112/ostest/defconfig
+nuttx/configs/demo9s12ne64/ostest/defconfig
+nuttx/configs/mx1ads/ostest/defconfig
+nuttx/configs/mikroe-stm32f4/fulldemo/defconfig
+nuttx/configs/mikroe-stm32f4/kostest/defconfig
+nuttx/configs/mikroe-stm32f4/nxtext/defconfig
+nuttx/configs/mikroe-stm32f4/nx/defconfig
+nuttx/configs/mikroe-stm32f4/nsh/defconfig
+# The moteino configs need the ATMEL IDE installed
+nuttx/configs/moteino-mega/hello/defconfig
+nuttx/configs/moteino-mega/nsh/defconfig
+nuttx/configs/amber/hello/defconfig
+nuttx/configs/qemu-i486/nsh/defconfig
+nuttx/configs/qemu-i486/ostest/defconfig
+nuttx/configs/ez80f910200zco/nsh/defconfig
+nuttx/configs/ez80f910200zco/httpd/defconfig
+nuttx/configs/ez80f910200zco/nettest/defconfig
+nuttx/configs/ez80f910200zco/dhcpd/defconfig
+nuttx/configs/ez80f910200zco/poll/defconfig
+nuttx/configs/ekk-lm3s9b96/nsh/defconfig
+nuttx/configs/olimex-lpc1766stk/thttpd/defconfig
+nuttx/configs/shenzhou/thttpd/defconfig
+nuttx/configs/shenzhou/nxwm/defconfig
+nuttx/configs/shenzhou/nsh/defconfig
+nuttx/configs/samd20-xplained/nsh/defconfig
+nuttx/configs/sam4s-xplained-pro/nsh/defconfig
+nuttx/configs/sam4e-ek/nxwm/defconfig
+nuttx/configs/sam3u-ek/nxwm/defconfig
+nuttx/configs/sam3u-ek/knsh/defconfig
+nuttx/configs/pic32mx7mmb/nsh/defconfig
+nuttx/configs/pic32mx-starterkit/nsh2/defconfig
+nuttx/configs/pic32mx-starterkit/nsh/defconfig
+nuttx/configs/pcduino-a10/nsh/defconfig
+nuttx/configs/pcblogic-pic32mx/nsh/defconfig
+nuttx/configs/olimex-lpc1766stk/zmodem/defconfig
+nuttx/configs/olimex-lpc1766stk/usbmsc/defconfig
+nuttx/configs/olimex-lpc1766stk/slip-httpd/defconfig
+nuttx/configs/olimex-lpc1766stk/nettest/defconfig
+nuttx/configs/olimex-lpc1766stk/hidkbd/defconfig
+nuttx/configs/olimex-lpc-h3131/nsh/defconfig
+nuttx/configs/lm4f120-launchpad/nsh/defconfig
+nuttx/configs/lm3s6965-ek/tcpecho/defconfig
+nuttx/configs/lm3s6965-ek/nx/defconfig
+nuttx/configs/lm3s6965-ek/nsh/defconfig
+nuttx/configs/lm3s6965-ek/discover/defconfig
+nuttx/configs/hymini-stm32v/usbmsc/defconfig
+nuttx/configs/hymini-stm32v/nsh2/defconfig
+nuttx/configs/fire-stm32v2/nsh/defconfig
+
+# Configs which build, but are exceeding the 50 minute time limit:
+nuttx/configs/stm32f4discovery/elf/defconfig
+nuttx/configs/stm3210e-eval/buttons/defconfig
+nuttx/configs/zkit-arm-1769/nxhello/defconfig
+nuttx/configs/viewtool-stm32f107/highpri/defconfig
+nuttx/configs/stm32f4discovery/nsh/defconfig
+nuttx/configs/stm32f429i-disco/nsh/defconfig
+nuttx/configs/stm3240g-eval/nxterm/defconfig
+nuttx/configs/stm3220g-eval/nsh/defconfig
+nuttx/configs/stm3210e-eval/nx/defconfig
+nuttx/configs/olimex-lpc1766stk/nx/defconfig
+nuttx/configs/hymini-stm32v/buttons/defconfig
+nuttx/configs/maple/nx/defconfig
+nuttx/configs/freedom-kl25z/minnsh/defconfig
+nuttx/configs/ntosd-dm320/nsh/defconfig
+nuttx/configs/mbed/nsh/defconfig
+nuttx/configs/sim/traveler/defconfig
+nuttx/configs/sim/touchscreen/defconfig
+nuttx/configs/sim/pashello/defconfig
+# XXX enable the ostest config as soon as the env setup
+# issue has been resolved
+nuttx/configs/sim/ostest/defconfig
+nuttx/configs/sim/nxwm/defconfig
+nuttx/configs/sim/nxlines/defconfig
+nuttx/configs/sim/nsh2/defconfig
+# CONFIG sim/nettest: Has an actual compile error
+nuttx/configs/sim/nettest/defconfig
+# CONFIG sim/mtdpart, CONFIG sim/mtdrwb:
+#
+# the tool build step fails with this error, I have not yet worked out how to fix this.
+#
+# make[1]: Entering directory `/home/travis/build/PX4/NuttX/nuttx/tools'
+# In file included from /usr/include/string.h:27:0,
+# from mkconfig.c:40:
+# /usr/include/features.h:324:26: fatal error: bits/predefs.h: No such file or directory
+# compilation terminated.
+# In file included from /usr/include/string.h:27:0,
+# from cfgdefine.c:40:
+# /usr/include/features.h:324:26: fatal error: bits/predefs.h: No such file or directory
+# compilation terminated.
+# make[1]: *** [mkconfig] Error 1
+# make[1]: Leaving directory `/home/travis/build/PX4/NuttX/nuttx/tools'
+# make: *** [tools/mkconfig] Error 2
+nuttx/configs/sim/mtdrwb/defconfig
+nuttx/configs/sim/mtdpart/defconfig
+#nuttx/configs/sim/mount/defconfig
+# CONFIG sim/cxxtest: unmet uclibC++ depencendy (or rather, missing ./install.sh
+# step).
+nuttx/configs/sim/cxxtest/defconfig
+#nuttx/configs/sim/configdata/defconfig
+
+# These need osmocom to build:
+nuttx/configs/compal_e88/nsh_highram/defconfig
+nuttx/configs/compal_e86/nsh_highram/defconfig
diff --git a/README.md b/README.md
new file mode 100644
index 000000000..c6ec626d2
--- /dev/null
+++ b/README.md
@@ -0,0 +1,3 @@
+## NuttX Operating System ##
+
+Website at: http://nuttx.org \ No newline at end of file
diff --git a/nuttx/tools/autobuild.sh b/nuttx/tools/autobuild.sh
new file mode 100755
index 000000000..d8ae8c3e2
--- /dev/null
+++ b/nuttx/tools/autobuild.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+# Build job count
+BUILDJOBS=${BUILDJOBS:-2}
+BUILDJOBID=${BUILDJOBID:-a}
+
+# Config count
+CONFCOUNT=`find nuttx/configs -name \*defconfig -print | wc -l`
+# Number of non-commented (#) and non-empty lines in ignore file
+IGNORECOUNT=`cat .travis_ignored_configs.txt | sed '/^\s*#/d;/^\s*$/d' | wc -l`
+# Get rid of whitespace
+CONFCOUNT=$(echo $CONFCOUNT )
+IGNORECOUNT=$(echo $IGNORECOUNT )
+
+echo -e "\n"
+echo -e "\0033[34mNuttX Configs: $CONFCOUNT total, $IGNORECOUNT excluded from build\0033[0m"
+echo -e "(Add or remove configs to file .travis_ignored_configs to exclude)"
+echo -e "----------------------------------------------------------------------------\n"
+
+CONFIGS=configs.txt
+
+find nuttx/configs -name \*defconfig -print > $CONFIGS
+
+# Lines per file
+LINES_TOTAL=$(wc -l <${CONFIGS})
+((LINES_PER_FILE = (LINES_TOTAL + BUILDJOBS - 1) / BUILDJOBS))
+
+# Perform the split
+split -a1 -l${LINES_PER_FILE} ${CONFIGS} configparts.
+
+echo -e "Operating total $BUILDJOBS build jobs"
+echo -e "Running job: configparts.$BUILDJOBID"
+
+cat "configparts.$BUILDJOBID" | xargs -L1 nuttx/tools/build_config.sh
diff --git a/nuttx/tools/build_config.sh b/nuttx/tools/build_config.sh
new file mode 100755
index 000000000..16a927139
--- /dev/null
+++ b/nuttx/tools/build_config.sh
@@ -0,0 +1,100 @@
+#!/bin/bash
+
+CONFIGPATH=$1
+BASE=`pwd`
+
+CONFIGBASEPATH=`dirname $CONFIGPATH`
+PREFIX=nuttx\/configs\/
+LOGSDIR=$BASE/travis_output
+
+IGNORED=`cat .travis_ignored_configs.txt | grep $CONFIGPATH`
+
+if [[ $IGNORED ]] && [[ $IGNORED != "#"* ]]
+then
+ echo -e "\0033[90mIgnoring config $CONFIGPATH\0033[0m"
+ exit 0
+fi
+
+# Config is valid, build it
+
+CONFIG=${CONFIGBASEPATH#$PREFIX}
+LOGDIR="$LOGSDIR/${CONFIG//\//_}"
+BUILDLOG="$LOGDIR/buildlog.txt"
+FAILED_CONFIGS="$LOGSDIR/failed_configs.txt"
+SUCCESSFUL_CONFIGS="$LOGSDIR/successful_configs.txt"
+
+echo -e "\nBUILDING CONFIG $CONFIG"
+echo -e "BUILD ARTIFACTS: $LOGDIR"
+echo -e "LOG: $BUILDLOG"
+mkdir -p $LOGDIR
+
+# Manually reconfigure for Linux toolchain
+# XXX this should be menuconfig, but doing this headless isn't trivial
+sed -i"" 's/# CONFIG_HOST_LINUX is not set.*/CONFIG_HOST_LINUX=y/g' $CONFIGPATH
+sed -i"" 's/CONFIG_HOST_WINDOWS=y.*/# CONFIG_HOST_WINDOWS is not set/g' $CONFIGPATH
+sed -i"" 's/CONFIG_HOST_OSX=y.*/# CONFIG_HOST_OSX is not set/g' $CONFIGPATH
+sed -i"" 's/CONFIG_HOST_OTHER=y.*/# CONFIG_HOST_OTHER is not set/g' $CONFIGPATH
+sed -i"" 's/CONFIG_WINDOWS_NATIVE=y.*/# CONFIG_WINDOWS_NATIVE is not set/g' $CONFIGPATH
+sed -i"" 's/CONFIG_WINDOWS_CYGWIN=y.*/# CONFIG_WINDOWS_CYGWIN is not set/g' $CONFIGPATH
+sed -i"" 's/CONFIG_WINDOWS_MSYS=y.*/# CONFIG_WINDOWS_MSYS is not set/g' $CONFIGPATH
+sed -i"" 's/CONFIG_WINDOWS_OTHER=y.*/# CONFIG_WINDOWS_OTHER is not set/g' $CONFIGPATH
+
+sed -i"" 's/CONFIG_ARMV7M_TOOLCHAIN_BUILDROOT=y.*/# CONFIG_ARMV7M_TOOLCHAIN_BUILDROOT is not set/g' $CONFIGPATH
+sed -i"" 's/CONFIG_ARMV7M_TOOLCHAIN_CODEREDL=y.*/# CONFIG_ARMV7M_TOOLCHAIN_CODEREDL is not set/g' $CONFIGPATH
+sed -i"" 's/CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYL=y.*/# CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYL is not set/g' $CONFIGPATH
+sed -i"" 's/CONFIG_ARMV7M_TOOLCHAIN_ATOLLIC=y.*/# CONFIG_ARMV7M_TOOLCHAIN_ATOLLIC is not set/g' $CONFIGPATH
+sed -i"" 's/CONFIG_ARMV7M_TOOLCHAIN_CODEREDW=y.*/# CONFIG_ARMV7M_TOOLCHAIN_CODEREDW is not set/g' $CONFIGPATH
+sed -i"" 's/CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y.*/# CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW is not set/g' $CONFIGPATH
+sed -i"" 's/CONFIG_ARMV7M_TOOLCHAIN_DEVKITARM=y.*/# CONFIG_ARMV7M_TOOLCHAIN_DEVKITARM is not set/g' $CONFIGPATH
+sed -i"" 's/CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y.*/# CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW is not set/g' $CONFIGPATH
+sed -i"" 's/CONFIG_ARMV7M_TOOLCHAIN_RAISONANCE=y.*/# CONFIG_ARMV7M_TOOLCHAIN_RAISONANCE is not set/g' $CONFIGPATH
+sed -i"" 's/CONFIG_ARMV7M_TOOLCHAIN_GNU_OABI=y.*/# CONFIG_ARMV7M_TOOLCHAIN_GNU_OABI is not set/g' $CONFIGPATH
+sed -i"" 's/# CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL is not set.*/CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL=y/g' $CONFIGPATH
+
+sed -i"" 's/CONFIG_ARMV7A_TOOLCHAIN_BUILDROOT=y.*/# CONFIG_ARMV7A_TOOLCHAIN_BUILDROOT is not set/g' $CONFIGPATH
+sed -i"" 's/CONFIG_ARMV7A_TOOLCHAIN_CODEREDL=y.*/# CONFIG_ARMV7A_TOOLCHAIN_CODEREDL is not set/g' $CONFIGPATH
+sed -i"" 's/CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYL=y.*/# CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYL is not set/g' $CONFIGPATH
+sed -i"" 's/CONFIG_ARMV7A_TOOLCHAIN_ATOLLIC=y.*/# CONFIG_ARMV7A_TOOLCHAIN_ATOLLIC is not set/g' $CONFIGPATH
+sed -i"" 's/CONFIG_ARMV7A_TOOLCHAIN_CODEREDW=y.*/# CONFIG_ARMV7A_TOOLCHAIN_CODEREDW is not set/g' $CONFIGPATH
+sed -i"" 's/CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y.*/# CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW is not set/g' $CONFIGPATH
+sed -i"" 's/CONFIG_ARMV7A_TOOLCHAIN_DEVKITARM=y.*/# CONFIG_ARMV7A_TOOLCHAIN_DEVKITARM is not set/g' $CONFIGPATH
+sed -i"" 's/CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW=y.*/# CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIW is not set/g' $CONFIGPATH
+sed -i"" 's/CONFIG_ARMV7A_TOOLCHAIN_RAISONANCE=y.*/# CONFIG_ARMV7A_TOOLCHAIN_RAISONANCE is not set/g' $CONFIGPATH
+sed -i"" 's/CONFIG_ARMV7A_TOOLCHAIN_GNU_OABI=y.*/# CONFIG_ARMV7A_TOOLCHAIN_GNU_OABI is not set/g' $CONFIGPATH
+sed -i"" 's/# CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIL is not set.*/CONFIG_ARMV7A_TOOLCHAIN_GNU_EABIL=y/g' $CONFIGPATH
+
+
+sed -i"" 's/# CONFIG_AVR_LINUXGCC is not set.*/CONFIG_AVR_LINUXGCC=y/g' $CONFIGPATH
+sed -i"" 's/CONFIG_AVR_BUILDROOT=y.*/# CONFIG_AVR_BUILDROOT is not set/g' $CONFIGPATH
+
+sed -i"" 's/CONFIG_MIPS32_TOOLCHAIN_MICROCHIPW_LITE=y.*/# CONFIG_MIPS32_TOOLCHAIN_MICROCHIPW_LITE is not set/g' $CONFIGPATH
+sed -i"" 's/# CONFIG_MIPS32_TOOLCHAIN_PINGUINOW is not set.*/CONFIG_MIPS32_TOOLCHAIN_PINGUINOW=y/g' $CONFIGPATH
+
+# Simulation target configs
+
+# Force 64bit host build
+sed -i"" 's/# CONFIG_HOST_X86_64 is not set.*/CONFIG_HOST_X86_64=y/g' $CONFIGPATH
+echo "CONFIG_HOST_X86_64=y" >> $CONFIGPATH
+
+# Clean build dir
+cd nuttx
+git clean -d -f -x > /dev/null
+cd ..
+
+cd nuttx/tools
+./configure.sh $CONFIG
+cd ..
+make oldconfig &> $BUILDLOG
+cp .config $LOGDIR/config
+if ! (make &> $BUILDLOG); then
+ echo -e "\0033[31mCONFIG $CONFIG: FAILED BUILD\0033[0m\n"
+ make distclean &> /dev/null
+ echo $CONFIGPATH >> $FAILED_CONFIGS
+ exit 1;
+else
+ echo -e "\0033[32mCONFIG $CONFIG: SUCCESSFUL BUILD\0033[0m\n"
+ cp nuttx $LOGDIR/.
+ make distclean &> /dev/null
+ echo $CONFIGPATH >> $SUCCESSFUL_CONFIGS
+ exit 0;
+fi