summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2016-08-18 14:06:30 -0700
committerEric Anholt <eric@anholt.net>2016-08-24 13:10:07 -0700
commitdabbbec5300ef6306d5d18d8e6dfcb14785faf78 (patch)
treee98e15a59d56ddd19f07811aa8fc25fd281afae5
parentbe334f42a198a25e817e6dab43dd0e30aa1cd4f8 (diff)
travis: Add a build script for Travis CI.travis-ci
-rw-r--r--.travis.yml101
1 files changed, 101 insertions, 0 deletions
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 000000000..63c10681a
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,101 @@
+language: c
+
+sudo: true
+dist: trusty
+
+cache:
+ directories:
+ - $HOME/.ccache
+
+addons:
+ apt:
+ packages:
+ - libdbus-1-dev
+ - libdmx-dev
+ - libdrm-dev
+ - libudev-dev
+ - libexpat1-dev
+ - libepoxy-dev
+ - libfontenc-dev
+ - libpciaccess-dev
+ - libselinux1-dev
+ - libunwind8-dev
+ - libxau-dev
+ - libxdmcp-dev
+ - libxext-dev
+ - libxfixes-dev
+ - libxi-dev
+ - libxkbfile-dev
+ - libxrender-dev
+ - x11proto-bigreqs-dev
+ - x11proto-damage-dev
+ - x11proto-dmx-dev
+ - x11proto-gl-dev
+ - x11proto-fixes-dev
+ - x11proto-fonts-dev
+ - x11proto-input-dev
+ - x11proto-randr-dev
+ - x11proto-record-dev
+ - x11proto-render-dev
+ - x11proto-resource-dev
+ - x11proto-scrnsaver-dev
+ - x11proto-video-dev
+ - x11proto-xcmisc-dev
+ - x11proto-xf86dga-dev
+ - x11proto-xf86dri-dev
+ - x11proto-xf86vidmode-dev
+ - x11proto-xinerama-dev
+
+env:
+ global:
+ - PREFIX=$HOME/prefix
+ - PKG_CONFIG_PATH=$HOME/prefix/lib/pkgconfig
+ - ACLOCAL="aclocal -I $PREFIX/share/aclocal"
+ - BUILDSH="$TRAVIS_BUILD_DIR/modular/build.sh --clone"
+
+install:
+ - pip install mako
+
+ - export PATH="/usr/lib/ccache:$PATH"
+
+ - git clone git://anongit.freedesktop.org/git/xorg/util/modular
+ # modular insists that the directory already exist.
+ - mkdir $PREFIX
+
+ - $BUILDSH -o util/macros
+
+ # Build faster-moving proto packages here. Wouldn't it be nice if
+ # we didn't have separate proto packages? (or, even better, if we
+ # just used XCB protos)
+ - $BUILDSH -o proto/compositeproto
+ - $BUILDSH -o proto/dri2proto
+ - $BUILDSH -o proto/dri3proto
+ - $BUILDSH -o proto/presentproto
+ - $BUILDSH -o proto/x11proto
+
+ # Always build XCB, which gets us a bunch of the latest protos/libs.
+ - $BUILDSH -o xcb/proto
+ - $BUILDSH -o xcb/libxcb
+ - $BUILDSH -o xcb/util
+ - $BUILDSH -o xcb/util-renderutil
+ - $BUILDSH -o xcb/util-image
+
+ # pixman is a significant part of our implementation. Always use master.
+ - $BUILDSH -o pixman
+
+ # Add a couple of recently-released packages.
+ - $BUILDSH -o lib/libxshmfence
+ - $BUILDSH -o lib/libXfont
+
+ # Build current Mesa.
+ - $BUILDSH -o mesa/drm
+ - MESACONF=""
+ - MESACONF="$MESACONF --with-dri-drivers="
+ - MESACONF="$MESACONF --with-gallium-drivers=swrast"
+ - MESACONF="$MESACONF --disable-gallium-llvm"
+ - $BUILDSH -o mesa/mesa --confflags "$MESACONF"
+
+script:
+ - ./autogen.sh
+ - make
+ - make check