diff --git a/test_build.sh b/test_build.sh index 2b5d89f2f..68b00adac 100755 --- a/test_build.sh +++ b/test_build.sh @@ -1,9 +1,38 @@ #!/usr/bin/env sh set -e +# This script will only work on Linux with all dependencies installed. + +is_scan_build_env=0 + +make_programmer_opts="INTERNAL INTERNAL_X86 SERPROG RAYER_SPI RAIDEN_DEBUG_SPI PONY_SPI NIC3COM \ + GFXNVIDIA SATASII ATAHPT ATAVIA ATAPROMISE FT2232_SPI USBBLASTER_SPI MSTARDDC_SPI \ + PICKIT2_SPI STLINKV3_SPI PARADE_LSPCON MEDIATEK_I2C_SPI REALTEK_MST_I2C_SPI DUMMY \ + DRKAISER NICREALTEK NICNATSEMI NICINTEL NICINTEL_SPI NICINTEL_EEPROM OGP_SPI \ + BUSPIRATE_SPI DEDIPROG DEVELOPERBOX_SPI SATAMV LINUX_MTD LINUX_SPI IT8212 \ + CH341A_SPI DIGILENT_SPI JLINK_SPI" + + +if [ $(basename "${CC}") = "ccc-analyzer" ]; then + is_scan_build_env=1 +fi + build_make () { + make clean make CONFIG_EVERYTHING=yes + + # In case of clang analyzer we don't want to run it on + # each programmer individually. Thus, just return here. + if [ ${is_scan_build_env} -eq 1 ]; then + return + fi + + for option in ${make_programmer_opts}; do + echo "Building ${option}" + make clean + make CONFIG_NOTHING=yes CONFIG_${option}=yes + done }