On 22 March 2016 at 12:53, Alex Bennée <alex.ben...@linaro.org> wrote: > Travis has support for OSX builds. Making the setup work cleanly > involves a little hacking about with the .travis.yml file but rather > than make it too messy I've pushed all the "brew" install stuff into a > support script called ./scripts/macosx-brew.sh. > > Currently only the default ./configure ${CONFIG} is built as I'm not > sure what extra coverage would come from the other build stanzas. > > Signed-off-by: Alex Bennée <alex.ben...@linaro.org> > --- > .travis.yml | 4 ++++ > scripts/macosx-brew.sh | 12 ++++++++++++ > 2 files changed, 16 insertions(+) > create mode 100755 scripts/macosx-brew.sh > > diff --git a/.travis.yml b/.travis.yml > index 18c04af..3f77bfa 100644 > --- a/.travis.yml > +++ b/.travis.yml > @@ -53,6 +53,7 @@ git: > # we want to do this ourselves > submodules: false > before_install: > + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then ./scripts/macosx-brew.sh ; fi
[[ is a bash-ism, does travis guarantee we are using bash here? (Alternatively just use single [] and the '=' operator.) > - wget -O - > http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar > -xvJ > - git submodule update --init --recursive > before_script: > @@ -83,3 +84,6 @@ matrix: > - env: CONFIG="--with-coroutine=gthread" > TEST_CMD="" > compiler: gcc > + - env: CONFIG="" > + os: osx > + compiler: clang > diff --git a/scripts/macosx-brew.sh b/scripts/macosx-brew.sh > new file mode 100755 > index 0000000..fc0d588 > --- /dev/null > +++ b/scripts/macosx-brew.sh > @@ -0,0 +1,12 @@ > +#!/bin/sh You should probably be using '-e' here. Missing license/copyright info. > +# > +# Install MacOSX dependancies "dependencies". > +# > +brew update > +brew install libffi > +brew install gettext > +brew install pkg-config > +brew install glib > +brew install autoconf > +brew install automake > +brew install pixman > -- > 2.7.3 If we're going to have an extra script, we should probably either (a) note it as being for the benefit of the Travis install or (b) better document whether/how end users should use it. I think the minimal code to do it inline in .travis.yml is: - [ "$TRAVIS_OS_NAME" = "osx" ] && brew update - [ "$TRAVIS_OS_NAME" = "osx" ] && brew install libffi gettext pkg-config glib autoconf automake pixman (you could skip pixman and rely on the submodule). thanks -- PMM