language: c sudo: false env: # Target commit for https://github.com/pfalcon/esp-open-sdk/ OPENSDK_COMMIT=b44afa47 CROSS_ROOT="${HOME}/toolchain-${OPENSDK_COMMIT}" CROSS_BINDIR="${CROSS_ROOT}/bin" ESPTOOL2_COMMIT=92530bb8 ESPTOOL2_BINDIR="${HOME}/esptool2-${ESPTOOL2_COMMIT}" PATH=${PATH}:${CROSS_BINDIR}:${ESPTOOL2_BINDIR} cache: directories: - ${CROSS_ROOT} - ${HOME}/.ccache - ${ESPTOOL2_BINDIR} addons: apt: packages: - make - unrar - autoconf - automake - libtool - gcc - g++ - gperf - flex - bison - texinfo - gawk - libncurses5-dev - libexpat1-dev - python - python-serial - sed - git before_install: # Install a toolchain using esp-open-sdk (parts we need for this are the GNU toolchain and libhal) # # Adds hack of "{$HAS_TC} || -Buildstep-" to avoid rebuilding toolchain if it's already # installed from the cache. If this gets any more complex it should be spun out to a standalone shell script. - export HAS_TC="test -d ${CROSS_BINDIR}" - unset CC # Travis sets this due to "language: c", but it confuses autotools configure when cross-building - ${HAS_TC} || git clone --recursive https://github.com/pfalcon/esp-open-sdk.git - ${HAS_TC} || cd esp-open-sdk - ${HAS_TC} || git reset --hard ${OPENSDK_COMMIT} - ${HAS_TC} || git submodule update - ${HAS_TC} || sed -i "s/2.69/2.68/" lx106-hal/configure.ac # this is a nasty hack as Ubuntu Precise only has autoconf 2.68 not 2.69... - ${HAS_TC} || sed -r -i 's%TOOLCHAIN ?=.*%TOOLCHAIN=${CROSS_ROOT}%' Makefile - ${HAS_TC} || make STANDALONE=n - export HAS_ET2="test -f ${ESPTOOL2_BINDIR}/esptool2" - ${HAS_ET2} || git clone https://github.com/raburton/esp8266 ${HOME}/raburton - ${HAS_ET2} || make -C ${HOME}/raburton/esptool2 - ${HAS_ET2} || mkdir -p ${ESPTOOL2_BINDIR} - ${HAS_ET2} || cp -a ${HOME}/raburton/esptool2/esptool2 ${ESPTOOL2_BINDIR}/ script: - cd ${TRAVIS_BUILD_DIR} # Remove ssid_config requirement for examples - sed -i "s%#warning%//#warning%" include/ssid_config.h - make -C examples/ build-examples CROSS="ccache xtensa-lx106-elf-"