Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
pybind11
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
open
pybind11
Commits
28a837a0
Commit
28a837a0
authored
Mar 08, 2017
by
Jason Rhinelander
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add failure-allowed clang-4.0/libc++-4.0 build
This adds a linux docker clang 4.0 with libc++ and c++1z build.
parent
d47febcb
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
25 additions
and
4 deletions
+25
-4
.travis.yml
+25
-4
No files found.
.travis.yml
View file @
28a837a0
...
@@ -23,6 +23,9 @@ matrix:
...
@@ -23,6 +23,9 @@ matrix:
-
sudo
:
true
-
sudo
:
true
services
:
docker
services
:
docker
env
:
PYTHON=3.5 CPP=17 GCC=7
env
:
PYTHON=3.5 CPP=17 GCC=7
-
sudo
:
true
services
:
docker
env
:
PYTHON=3.5 CPP=17 CLANG=4.0
-
os
:
osx
-
os
:
osx
osx_image
:
xcode7.3
osx_image
:
xcode7.3
env
:
PYTHON=2.7 CPP=14 CLANG
env
:
PYTHON=2.7 CPP=14 CLANG
...
@@ -77,6 +80,7 @@ matrix:
...
@@ -77,6 +80,7 @@ matrix:
-
flake8
-
flake8
allow_failures
:
allow_failures
:
-
env
:
PYTHON=3.5 CPP=17 GCC=7
-
env
:
PYTHON=3.5 CPP=17 GCC=7
-
env
:
PYTHON=3.5 CPP=17 CLANG=4.0
cache
:
cache
:
directories
:
directories
:
-
$HOME/.cache/pip
-
$HOME/.cache/pip
...
@@ -87,13 +91,15 @@ before_install:
...
@@ -87,13 +91,15 @@ before_install:
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
if [ -n "$CLANG" ]; then
if [ -n "$CLANG" ]; then
export CXX=clang++-$CLANG CC=clang-$CLANG COMPILER_PACKAGES="clang-$CLANG llvm-$CLANG-dev"
export CXX=clang++-$CLANG CC=clang-$CLANG COMPILER_PACKAGES="clang-$CLANG llvm-$CLANG-dev"
if [ "$CLANG" = "4.0" ]; then export CXXFLAGS="-stdlib=libc++"; fi
else
else
if [ -z "$GCC" ]; then export GCC=4.8
if [ -z "$GCC" ]; then export GCC=4.8
else export COMPILER_PACKAGES=g++-$GCC
else export COMPILER_PACKAGES=g++-$GCC
fi
fi
export CXX=g++-$GCC CC=gcc-$GCC
export CXX=g++-$GCC CC=gcc-$GCC
fi
fi
if [ "$GCC" = "6" ] || [ -n "$CLANG" ]; then export DOCKER=${ARCH:+$ARCH/}debian:testing
if [ "$CLANG" = "4.0" ]; then export DOCKER=debian:sid
elif [ "$GCC" = "6" ] || [ -n "$CLANG" ]; then export DOCKER=${ARCH:+$ARCH/}debian:testing
elif [ "$GCC" = "7" ]; then export DOCKER=debian:experimental APT_GET_EXTRA="-t experimental"
elif [ "$GCC" = "7" ]; then export DOCKER=debian:experimental APT_GET_EXTRA="-t experimental"
fi
fi
elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
...
@@ -115,15 +121,16 @@ before_install:
...
@@ -115,15 +121,16 @@ before_install:
elif [ -n "$DOCKER" ]; then
elif [ -n "$DOCKER" ]; then
docker pull $DOCKER
docker pull $DOCKER
# Disable LTO with gcc until gcc 79296 is fixed:
# Disable LTO with gcc until gcc 79296 is fixed:
export CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DPYBIND11_LTO_CXX_FLAGS="
if [ -n "$GCC" ]; then export CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DPYBIND11_LTO_CXX_FLAGS="; fi
export containerid=$(docker run --detach --tty \
export containerid=$(docker run --detach --tty \
--volume="$PWD":/pybind11 --workdir=/pybind11 \
--volume="$PWD":/pybind11 --workdir=/pybind11 \
--env="CXXFLAGS=$CXXFLAGS" \
--env="CXXFLAGS=$CXXFLAGS" \
--env="CC=$CC" --env="CXX=$CXX" --env="DEBIAN_FRONTEND=$DEBIAN_FRONTEND" \
--env="CC=$CC" --env="CXX=$CXX" --env="DEBIAN_FRONTEND=$DEBIAN_FRONTEND" \
--env=GCC_COLORS=\ \
--env=GCC_COLORS=\ \
$DOCKER)
$DOCKER)
docker exec --tty "$containerid" sh -c 'for s in 0 15; do sleep $s; apt-get update && apt-get -qy dist-upgrade && break; done'
export SCRIPT_RUN_PREFIX="docker exec --tty $containerid"
export SCRIPT_RUN_PREFIX="docker exec --tty $containerid"
$SCRIPT_RUN_PREFIX sh -c 'for s in 0 15; do sleep $s; apt-get update && apt-get -qy dist-upgrade && break; done'
# gcc-7 currently generates warnings; some are upstream bugs, so just turn off -Werror for now
# gcc-7 currently generates warnings; some are upstream bugs, so just turn off -Werror for now
if [ "$GCC" = "7" ]; then WERROR=off; fi
if [ "$GCC" = "7" ]; then WERROR=off; fi
else
else
...
@@ -150,10 +157,24 @@ install:
...
@@ -150,10 +157,24 @@ install:
PY_DEBUG="python$PY-dbg python$PY-scipy-dbg"
PY_DEBUG="python$PY-dbg python$PY-scipy-dbg"
export CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DPYTHON_EXECUTABLE=/usr/bin/python${PYTHON}dm"
export CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DPYTHON_EXECUTABLE=/usr/bin/python${PYTHON}dm"
fi
fi
docker exec --tty "$containerid"
sh -c "for s in 0 15; do sleep \$s; \
$SCRIPT_RUN_PREFIX
sh -c "for s in 0 15; do sleep \$s; \
apt-get -qy --no-install-recommends $APT_GET_EXTRA install \
apt-get -qy --no-install-recommends $APT_GET_EXTRA install \
$PY_DEBUG python$PY-dev python$PY-pytest python$PY-scipy \
$PY_DEBUG python$PY-dev python$PY-pytest python$PY-scipy \
libeigen3-dev cmake make ${COMPILER_PACKAGES} && break; done"
libeigen3-dev cmake make ${COMPILER_PACKAGES} && break; done"
if [ "$CLANG" = "4.0" ]; then
# Neither debian nor llvm provide a libc++ deb; luckily it's fairly quick
# to build and install, so do it ourselves:
git clone --depth=1 https://github.com/llvm-mirror/llvm.git llvm-source
git clone https://github.com/llvm-mirror/libcxx.git llvm-source/projects/libcxx -b release_40
git clone https://github.com/llvm-mirror/libcxxabi.git llvm-source/projects/libcxxabi -b release_40
$SCRIPT_RUN_PREFIX sh -c "mkdir llvm-build && cd llvm-build && \
CXXFLAGS= cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr ../llvm-source && \
make -j2 install-cxxabi install-cxx && \
cp -a include/c++/v1/*cxxabi*.h /usr/include/c++/v1"
if [ "$CPP" = "-std=c++17" ]; then export CPP="-std=c++1z"; fi
fi
elif [ -z "$PYPY" ]; then
elif [ -z "$PYPY" ]; then
pip install numpy scipy pytest
pip install numpy scipy pytest
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment