summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: e706e84607bd4f100c0d5e06a311297b8b564891 (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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
language: c

addons:
  apt:
    packages:
      - libzstd-dev liblzo2-dev liblz4-dev lzma-dev zlib1g-dev
  homebrew:
    packages:
      - zstd lzo lz4 xz zlib

script:
  - ./autogen.sh
  - ./configure $CONFIG_OPTS
  - make
  - make check

matrix:
  include:
    # gcc based builds for amd64, arm64, ppc64
    - name: ubuntu-gcc-amd64
      os: linux
      arch: amd64
      dist: bionic
      compiler: gcc
      env:
        - CONFIG_OPTS="--with-pthread"

    - name: ubuntu-gcc-arm64
      os: linux
      arch: arm64
      dist: bionic
      compiler: gcc
      env:
        - CONFIG_OPTS="--with-pthread"

    - name: ubuntu-gcc-ppc64le
      os: linux
      arch: ppc64le
      dist: bionic
      compiler: gcc
      env:
        - CONFIG_OPTS="--with-pthread"

    # clang based builds for amd64, arm64, ppc64
    - name: ubuntu-clang-amd64
      os: linux
      arch: amd64
      dist: bionic
      compiler: clang
      env:
        - CONFIG_OPTS="--with-pthread"

    - name: ubuntu-clang-arm64
      os: linux
      arch: arm64
      dist: bionic
      compiler: clang
      env:
        - CONFIG_OPTS="--with-pthread"

    - name: ubuntu-clang-ppc64le
      os: linux
      arch: ppc64le
      dist: bionic
      compiler: clang
      env:
        - CONFIG_OPTS="--with-pthread"

    # clang based build for macOS
    - name: macOS
      os: osx
      env:
        - CONFIG_OPTS="--with-pthread"

    # special configurations
    #   -> build on Xenial to test liblz4 fallback
    #   -> try if building the serial block processor works
    - name: ubuntu-gcc-amd64-nopthread
      os: linux
      arch: amd64
      dist: xenial
      compiler: gcc
      env:
        - CONFIG_OPTS="--without-pthread"

    # Try on an uncommon, big endian system
    - name: ubuntu-gcc-s390x
      os: linux
      arch: s390x
      dist: bionic
      compiler: gcc
      env:
        - CONFIG_OPTS="--with-pthread"

    # Try to run the mingw based Windows cross build
    - name: ubuntu-mingw-amd64
      os: linux
      arch: amd64
      dist: bionic
      compiler: gcc
      addons:
        apt:
          packages:
            - libzstd-dev liblzo2-dev liblz4-dev lzma-dev zlib1g-dev
            - binutils-mingw-w64-i686 binutils-mingw-w64-x86-64
            - gcc-mingw-w64-i686 gcc-mingw-w64-x86-64
      script:
        - ./mkwinbins.sh