summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: 8983377dd84b1b3b0863125d3858f2dce7f638d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
dist: xenial
language: c
os: linux

jobs:
  include:
  - compiler: clang
    env:
    - WORKAROUND_ACLOCAL_MISSING=true
  - compiler: gcc
    env:
    - WORKAROUND_ACLOCAL_MISSING=true
  - os: osx
  - env:
    - MAKEFILE_TARGET=dist
    - WORKAROUND_ACLOCAL_MISSING=true
  - addons:
      apt:
        packages:
        - musl-tools
    compiler: musl-gcc
    env:
    - WORKAROUND_ACLOCAL_MISSING=true
  - env:
    - MAKEFILE_TARGET=distcheck
    - AO_REAL_VERSION=7.2k
    - AUTOMAKE_VER=1.14.1

before_install:
- if [[ "$AUTOMAKE_VER" != "" ]]; then
    GNUTOOLS_ROOT=`pwd`/../gnu-tools;
    export PATH=$GNUTOOLS_ROOT/bin:$PATH;
    GNU_DOWNLOAD_SITE=https://ftp.gnu.org/gnu;
    AUTOMAKE_XZ_URL=$GNU_DOWNLOAD_SITE/automake/automake-$AUTOMAKE_VER.tar.xz;
    wget --no-check-certificate -O - $AUTOMAKE_XZ_URL | tar xf - --xz --directory ~;
    (cd ~/automake-$AUTOMAKE_VER && ./configure --prefix=$GNUTOOLS_ROOT && make -j && make install);
  fi
- if [[ "$MAKEFILE_TARGET" == "dist"* ]]; then
    autoconf --version;
    automake --version;
    m4 --version;
    libtool --version || true;
  fi
- if [[ "$MAKEFILE_TARGET" == "" ]]; then MAKEFILE_TARGET=check; fi

install:
- if [[ "$WORKAROUND_ACLOCAL_MISSING" == true ]]; then
    autoreconf --force --install;
  fi

script:
- ./configure
- make -j $MAKEFILE_TARGET
- if [[ "$AO_REAL_VERSION" != "" ]]; then
    gzip --decompress libatomic_ops-*.tar.gz;
    mv libatomic_ops-*.tar libatomic_ops-$AO_REAL_VERSION.tar;
    gzip --best --verbose libatomic_ops-*.tar;
  fi

deploy:
  provider: releases
  edge: true
  file: libatomic_ops-*.tar.gz
  file_glob: true
  on:
    condition: $MAKEFILE_TARGET = distcheck
    repo: ivmai/libatomic_ops
    tags: true