travis: Also build on OSX

Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
Jon Turney 2017-09-22 15:25:05 +01:00 committed by Eric Anholt
parent c30eca6887
commit 0b00440678
2 changed files with 43 additions and 2 deletions

View File

@ -1,11 +1,19 @@
language: c
cache: ccache
dist: trusty
services: docker
matrix:
include:
- os: linux
dist: trusty
services: docker
- os: osx
before_install:
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker pull anholt/xserver-travis ; fi
install:
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install ccache ; fi
before_script:
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then echo FROM anholt/xserver-travis:v6 > Dockerfile ; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then echo ADD . /root >> Dockerfile ; fi
@ -13,3 +21,5 @@ before_script:
script:
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker run --volume $HOME/.ccache:/root/.ccache withgit /bin/sh -c "cd /root && ./test/scripts/build-travis-deps.sh" ; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then ./test/scripts/build-travis-osx.sh ; fi
- ccache -s

View File

@ -0,0 +1,31 @@
#!/bin/sh
#
# based on instructions for building xorg-server in https://www.xquartz.org/Developer-Info.html
#
# install XQuartz for libraries, headers, etc.
XQUARTZ_VERSION="2.7.11"
wget -nv https://dl.bintray.com/xquartz/downloads/XQuartz-${XQUARTZ_VERSION}.dmg
hdiutil attach XQuartz-${XQUARTZ_VERSION}.dmg
sudo installer -pkg /Volumes/XQuartz-${XQUARTZ_VERSION}/XQuartz.pkg -target /
hdiutil detach /Volumes/XQuartz-${XQUARTZ_VERSION}
# build environment
export PATH="/opt/X11/bin:${PATH}"
export PKG_CONFIG_PATH="/opt/X11/share/pkgconfig:/opt/X11/lib/pkgconfig:${PKG_CONFIG_PATH}"
export ACLOCAL="aclocal -I /opt/X11/share/aclocal -I /usr/local/share/aclocal"
export CFLAGS="-Wall -O0 -ggdb3 -arch i386 -arch x86_64 -pipe"
export CXXFLAGS=$CFLAGS
export OBJCFLAGS=$CFLAGS
export LDFLAGS=$CFLAGS
# travis currently requires explicit ccache setup on OSX
export PATH="/usr/local/opt/ccache/libexec:$PATH"
# build
autoreconf -fvi
./configure --prefix=/opt/X11 --disable-dependency-tracking --with-apple-application-name=XQuartz --with-bundle-id-prefix=org.macosforge.xquartz
make
make check
make install DESTDIR=$(pwd)/staging