diff options
-rw-r--r-- | .travis.yml | 14 | ||||
-rwxr-xr-x | test/scripts/build-travis-osx.sh | 31 |
2 files changed, 43 insertions, 2 deletions
diff --git a/.travis.yml b/.travis.yml index edeed0d90..a70b55f4c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -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 diff --git a/test/scripts/build-travis-osx.sh b/test/scripts/build-travis-osx.sh new file mode 100755 index 000000000..86e96e0c5 --- /dev/null +++ b/test/scripts/build-travis-osx.sh @@ -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 |