diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2017-10-29 01:57:12 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-29 01:57:12 +0300 |
commit | 57d3ece5fc4e883fe3d069be7cd207fee8fffa90 (patch) | |
tree | 5c305b1466a0e011f020b4d29c7fdf96f7864970 | |
parent | 1a159db8e90fa6b9571a06768d6f1ba08074e819 (diff) | |
parent | e292369ee20ed84337a52832d765ca544513dba3 (diff) | |
download | meson-57d3ece5fc4e883fe3d069be7cd207fee8fffa90.zip meson-57d3ece5fc4e883fe3d069be7cd207fee8fffa90.tar.gz meson-57d3ece5fc4e883fe3d069be7cd207fee8fffa90.tar.bz2 |
Merge pull request #2217 from mesonbuild/gcc7
Use GCC 7 for cross compilation tests.
-rw-r--r-- | .travis.yml | 4 | ||||
-rw-r--r-- | ciimage/Dockerfile | 14 | ||||
-rw-r--r-- | cross/ubuntu-armhf.txt | 4 | ||||
-rwxr-xr-x | run_tests.py | 2 | ||||
-rwxr-xr-x | test cases/frameworks/17 mpi/is_artful.py | 9 | ||||
-rw-r--r-- | test cases/frameworks/17 mpi/meson.build | 10 |
6 files changed, 29 insertions, 14 deletions
diff --git a/.travis.yml b/.travis.yml index 559b39c..e69cb31 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,13 +33,13 @@ before_install: - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install python3; fi # Use a Ninja with QuLogic's patch: https://github.com/ninja-build/ninja/issues/1219 - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then mkdir -p $HOME/tools; curl -L http://nirbheek.in/files/binaries/ninja/macos/ninja -o $HOME/tools/ninja; chmod +x $HOME/tools/ninja; fi - - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker pull jpakkane/mesonci:zesty; fi + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker pull jpakkane/mesonci:artful; fi # We need to copy the current checkout inside the Docker container, # because it has the MR id to be tested checked out. script: - - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then echo FROM jpakkane/mesonci:zesty > Dockerfile; fi + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then echo FROM jpakkane/mesonci:artful > Dockerfile; fi - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then echo ADD . /root >> Dockerfile; fi - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker build -t withgit .; fi - | diff --git a/ciimage/Dockerfile b/ciimage/Dockerfile index 1c9e8d8..839a429 100644 --- a/ciimage/Dockerfile +++ b/ciimage/Dockerfile @@ -1,16 +1,14 @@ -FROM ubuntu:zesty +FROM ubuntu:artful RUN apt-get -y update && apt-get -y upgrade \ && apt-get -y install git wget unzip \ && apt-get -y build-dep meson \ -&& apt-get -y install qt5-default itstool clang libgtk-3-dev \ -&& apt-get -y install pkg-config-arm-linux-gnueabihf g++-6-arm-linux-gnueabihf \ -&& apt-get -y install valgrind doxygen \ -&& apt-get -y install llvm libsdl2-dev \ +&& apt-get -y install qt5-default clang \ +&& apt-get -y install pkg-config-arm-linux-gnueabihf g++-7-arm-linux-gnueabihf \ +&& apt-get -y install doxygen \ && apt-get -y install python3-pip libxml2-dev libxslt1-dev cmake libyaml-dev \ -&& apt-get -y install openmpi-bin libopenmpi-dev \ -&& apt-get -y install libboost-log-dev \ -&& apt-get -y install libvulkan-dev libpcap-dev libcups2-dev \ +&& apt-get -y install libcups2-dev \ && apt-get -y install gcovr lcov \ +&& apt-get -y install fpga-icestorm arachne-pnr yosys \ && apt-get -y install gtk-sharp2 gtk-sharp2-gapi libglib2.0-cil-dev \ && python3 -m pip install hotdoc codecov diff --git a/cross/ubuntu-armhf.txt b/cross/ubuntu-armhf.txt index d0fce20..367eba3 100644 --- a/cross/ubuntu-armhf.txt +++ b/cross/ubuntu-armhf.txt @@ -1,8 +1,8 @@ [binaries] # we could set exe_wrapper = qemu-arm-static but to test the case # when cross compiled binaries can't be run we don't do that -c = '/usr/bin/arm-linux-gnueabihf-gcc-6' -cpp = '/usr/bin/arm-linux-gnueabihf-g++-6' +c = '/usr/bin/arm-linux-gnueabihf-gcc-7' +cpp = '/usr/bin/arm-linux-gnueabihf-g++-7' ar = '/usr/arm-linux-gnueabihf/bin/ar' strip = '/usr/arm-linux-gnueabihf/bin/strip' pkgconfig = '/usr/bin/arm-linux-gnueabihf-pkg-config' diff --git a/run_tests.py b/run_tests.py index 00c97ca..79c9639 100755 --- a/run_tests.py +++ b/run_tests.py @@ -125,7 +125,7 @@ def get_fake_options(prefix): return opts def should_run_linux_cross_tests(): - return shutil.which('arm-linux-gnueabihf-gcc-6') and not platform.machine().lower().startswith('arm') + return shutil.which('arm-linux-gnueabihf-gcc-7') and not platform.machine().lower().startswith('arm') def run_configure_inprocess(commandlist): old_stdout = sys.stdout diff --git a/test cases/frameworks/17 mpi/is_artful.py b/test cases/frameworks/17 mpi/is_artful.py new file mode 100755 index 0000000..9d4512d --- /dev/null +++ b/test cases/frameworks/17 mpi/is_artful.py @@ -0,0 +1,9 @@ +#!/usr/bin/env python3 + +# Any exception causes return value to be not zero, which is sufficient. + +import sys + +fc = open('/etc/apt/sources.list').read() +if 'artful' not in fc: + sys.exit(1) diff --git a/test cases/frameworks/17 mpi/meson.build b/test cases/frameworks/17 mpi/meson.build index 5e9bc56..17acd71 100644 --- a/test cases/frameworks/17 mpi/meson.build +++ b/test cases/frameworks/17 mpi/meson.build @@ -23,7 +23,15 @@ if build_machine.system() != 'windows' test('MPI C++', execpp) endif -if add_languages('fortran', required : false) +# OpenMPI is broken with Fortran on Ubuntu Artful. +# Remove this once the following bug has been fixed: +# +# https://bugs.launchpad.net/ubuntu/+source/gcc-defaults/+bug/1727474 + +ubudetector = find_program('is_artful.py') +uburesult = run_command(ubudetector) + +if uburesult.returncode() != 0 and add_languages('fortran', required : false) mpifort = dependency('mpi', language : 'fortran') exef = executable('exef', 'main.f90', |