language: cpp sudo: false matrix: include: - os: linux env: ARCH="i686" compiler: "g++ -m32" addons: apt: packages: - bar - time - binutils - gcc - g++ - gcc-multilib - g++-multilib - make:i386 - libssl-dev:i386 - gfortran - gfortran-multilib - os: linux env: ARCH="x86_64" compiler: "g++ -m64" addons: apt: packages: - gfortran - os: osx env: ARCH="x86_64" cache: directories: - $TRAVIS_BUILD_DIR/deps-i686 - $TRAVIS_BUILD_DIR/deps-x86_64 branches: only: - master - /release-.*/ notifications: email: false irc: channels: - "chat.freenode.net#julia-notifications" on_success: change on_failure: always webhooks: urls: - http://status.julialang.org/put/travis - http://julia.mit.edu:8000/travis-hook before_install: - make check-whitespace - if [ `uname` = "Linux" ]; then contrib/travis_fastfail.sh || exit 1; BUILDOPTS="-j3 VERBOSE=1 FORCE_ASSERTIONS=1"; if [ "$ARCH" = "i686" ]; then export BUILDOPTS="$BUILDOPTS MARCH=pentium4"; else export BUILDOPTS="$BUILDOPTS MARCH=x86-64"; fi; echo "override ARCH=$ARCH" >> Make.user; elif [ `uname` = "Darwin" ]; then brew update; brew install -v jq; contrib/travis_fastfail.sh || exit 1; brew tap staticfloat/julia; brew rm --force $(brew deps julia); brew install -v --only-dependencies julia; BUILDOPTS="-j3 USECLANG=1 LLVM_CONFIG=$(brew --prefix llvm33-julia)/bin/llvm-config-3.3 VERBOSE=1 USE_BLAS64=0 SUITESPARSE_INC=-I$(brew --prefix suite-sparse-julia)/include FORCE_ASSERTIONS=1 STAGE2_DEPS=utf8proc"; BUILDOPTS="$BUILDOPTS LIBBLAS=-lopenblas LIBBLASNAME=libopenblas LIBLAPACK=-lopenblas LIBLAPACKNAME=libopenblas"; for lib in LLVM SUITESPARSE ARPACK BLAS FFTW LAPACK GMP MPFR PCRE LIBUNWIND LIBGIT2; do export BUILDOPTS="$BUILDOPTS USE_SYSTEM_$lib=1"; done; export LDFLAGS="-L$(brew --prefix openblas-julia)/lib -L$(brew --prefix suite-sparse-julia)/lib"; export DYLD_FALLBACK_LIBRARY_PATH="/usr/local/lib:/lib:/usr/lib:$(brew --prefix openblas-julia)/lib:$(brew --prefix suite-sparse-julia)/lib:$(brew --prefix arpack-julia)/lib"; make $BUILDOPTS -C contrib -f repackage_system_suitesparse4.make; fi - git clone -q git://git.kitenet.net/moreutils script: - if [ -n "`ls deps-$ARCH`" ]; then cp -a deps-$ARCH/* deps; fi - make $BUILDOPTS -C base version_git.jl.phony - make $BUILDOPTS NO_GIT=1 -C deps > deps.log || cat deps.log - make $BUILDOPTS NO_GIT=1 JULIA_SYSIMG_BUILD_FLAGS="--output-ji ../usr/lib/julia/sys.ji" prefix=/tmp/julia install | moreutils/ts -s "%.s" - if [ `uname` = "Darwin" ]; then for name in suitesparseconfig spqr umfpack colamd cholmod amd suitesparse_wrapper; do install -pm755 usr/lib/lib${name}*.dylib* /tmp/julia/lib/julia/; done; fi - cd .. && mv julia julia2 - cp /tmp/julia/lib/julia/sys.ji local.ji && /tmp/julia/bin/julia -J local.ji -e 'true' && /tmp/julia/bin/julia-debug -J local.ji -e 'true' && rm local.ji - /tmp/julia/bin/julia -e 'versioninfo()' - export JULIA_CPU_CORES=2 && cd /tmp/julia/share/julia/test && /tmp/julia/bin/julia --check-bounds=yes runtests.jl all && /tmp/julia/bin/julia --check-bounds=yes runtests.jl pkg # uncomment the following if failures are suspected to be due to the out-of-memory killer # - dmesg before_cache: - cd `dirname $TRAVIS_BUILD_DIR` && mv julia2 julia && rm -rf julia/deps/julia-env julia/deps/pcre2-* - case $TRAVIS_PULL_REQUEST-$TRAVIS_BRANCH in false-master | false-release*) cd julia && rm -rf deps-$ARCH && mkdir -p deps-$ARCH && for i in $(git ls-files -o --directory deps); do mv $i deps-$ARCH; done;; esac