aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2017-10-29 01:57:12 +0300
committerGitHub <noreply@github.com>2017-10-29 01:57:12 +0300
commit57d3ece5fc4e883fe3d069be7cd207fee8fffa90 (patch)
tree5c305b1466a0e011f020b4d29c7fdf96f7864970
parent1a159db8e90fa6b9571a06768d6f1ba08074e819 (diff)
parente292369ee20ed84337a52832d765ca544513dba3 (diff)
downloadmeson-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.yml4
-rw-r--r--ciimage/Dockerfile14
-rw-r--r--cross/ubuntu-armhf.txt4
-rwxr-xr-xrun_tests.py2
-rwxr-xr-xtest cases/frameworks/17 mpi/is_artful.py9
-rw-r--r--test cases/frameworks/17 mpi/meson.build10
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',