aboutsummaryrefslogtreecommitdiff
path: root/.travis.yml
diff options
context:
space:
mode:
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml35
1 files changed, 32 insertions, 3 deletions
diff --git a/.travis.yml b/.travis.yml
index 1614a25..a16ac48 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -22,6 +22,7 @@ addons:
- bison
- flex
- texinfo
+ - help2man
- python-pexpect
- libusb-1.0-0-dev
- device-tree-compiler
@@ -30,7 +31,9 @@ env:
global:
- RISCV="/home/travis/riscv_install"
- MAKEFLAGS="-j2"
+ - PATH="$TRAVIS_BUILD_DIR/.build/riscv64-unknown-elf/buildtools/bin:$PATH"
- PATH="/home/travis/riscv_install/bin:$PATH"
+ - CROSSTOOL_VERSION=1.24.0-rc3
before_install:
# make install destination
@@ -43,8 +46,7 @@ before_install:
- cd riscv-openocd
- git submodule update --init
- cd ..
- # actually use new gcc
- - export CXX=g++-4.8 CC=gcc-4.8
+ - unset CC CXX
# extra time duing long builds
install: travis_wait
@@ -52,5 +54,32 @@ install: travis_wait
# pexpect ends up in /usr/lib/python2.7/dist-packages, which is not part of the
# default python path.
script:
+ - mkdir ~/src
+ - curl http://crosstool-ng.org/download/crosstool-ng/crosstool-ng-$CROSSTOOL_VERSION.tar.xz | tar -xJp
+ - cd crosstool-ng-$CROSSTOOL_VERSION; ./configure --prefix=$RISCV; cd ..
+ - make -C crosstool-ng-$CROSSTOOL_VERSION
+ - make -C crosstool-ng-$CROSSTOOL_VERSION install
+ - ct-ng riscv64-unknown-elf
+ - echo CT_CC_GCC_USE_GRAPHITE=n >> .config
+ - echo CT_ISL_NEEDED=n >> .config
+ - echo CT_ISL=n >> .config
+ - echo CT_MULTILIB=n >> .config
+ # Newlib download fails periodically, so retry the build a few times.
+ - travis_wait 100 ct-ng build || travis_wait 100 ct-ng build || travis_wait 100 ct-ng build
+ - which riscv64-unknown-elf-gcc
+ # Work around toolchain path issues
+ - cp .build/riscv64-unknown-elf/build/build-libc/riscv64-unknown-elf/libgloss/riscv/crt0.o .build/riscv64-unknown-elf/buildtools/lib/gcc/riscv64-unknown-elf/8.3.0
+ - cp -r .build/src/newlib-3.1.0.20181231/newlib/libc/include .build/riscv64-unknown-elf/buildtools/lib/gcc/riscv64-unknown-elf/8.3.0/../../../../riscv64-unknown-elf/include
+ - cp .build/riscv64-unknown-elf/build/build-libc/riscv64-unknown-elf/newlib/libm.a .build/riscv64-unknown-elf/buildtools/lib/gcc/riscv64-unknown-elf/8.3.0
+ - cp .build/riscv64-unknown-elf/build/build-libc/riscv64-unknown-elf/newlib/libc.a .build/riscv64-unknown-elf/buildtools/lib/gcc/riscv64-unknown-elf/8.3.0
+ - cp .build/riscv64-unknown-elf/build/build-libc/riscv64-unknown-elf/libgloss/riscv/libgloss.a .build/riscv64-unknown-elf/buildtools/lib/gcc/riscv64-unknown-elf/8.3.0
+ # Remove new autotools from path
+ - rm -f .build/riscv64-unknown-elf/buildtools/bin/automake*
+ - rm -f .build/riscv64-unknown-elf/buildtools/bin/aclocal*
+ # Actually build this repo
- ./build.sh
- - PYTHONPATH=$PYTHONPATH:/usr/lib/python2.7/dist-packages make -C riscv-tests/build debug-check
+ # Put compiler in expected place for debug tests
+ - ln -s $TRAVIS_BUILD_DIR/.build/riscv64-unknown-elf/buildtools/bin/riscv64-unknown-elf-gcc $RISCV/bin
+ - ln -s $TRAVIS_BUILD_DIR/.build/riscv64-unknown-elf/build/build-gdb-cross/gdb/gdb $RISCV/bin/riscv64-unknown-elf-gdb
+ # Run debug tests. Currently we expect 11 failures.
+ - PYTHONPATH=$PYTHONPATH:/usr/lib/python2.7/dist-packages make -C riscv-tests/build debug-check | grep "11 tests returned fail"