summaryrefslogtreecommitdiffstats
path: root/.travis.yml
blob: 897f77c309fb8a24200d09fa7bca4eacb54c439e (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
109
110
111
112
113
114
sudo: false # use new container
language: c

branches:
  except: /^(gh-pages|v0\.[0-8].*)/

addons:
  apt:
    packages: &common_deps
      - nasm

min_amd64_deps: &min_amd64_deps
  - *common_deps
  - libpam0g-dev
  - libssl-dev
  - libx11-dev
  - libxrandr-dev

min_amd64_conf: &min_amd64_conf
  env:
    - CONF_FLAGS="--disable-ipv6 --disable-jpeg --disable-fuse --disable-mp3lame
                  --disable-fdkaac --disable-opus --disable-rfxcodec --disable-painter
                  --disable-pixman"
  addons:
    apt:
      packages:
        - *min_amd64_deps

max_amd64_deps: &max_amd64_deps
  - *min_amd64_deps
  - libfuse-dev
  - libjpeg-dev
  - libmp3lame-dev
  - libfdk-aac-dev
  - libopus-dev
  - libpixman-1-dev

max_amd64_conf: &max_amd64_conf
  env:
    - CONF_FLAGS="--enable-ipv6 --enable-jpeg --enable-fuse --enable-mp3lame
                  --enable-fdkaac --enable-opus --enable-rfxcodec --enable-painter
                  --enable-pixman"
    - DISTCHECK=1
  addons:
    apt:
      packages:
        - *max_amd64_deps

max_x86_deps: &max_x86_deps
  - *common_deps
  - g++-multilib
  - gcc-multilib
  - libgl1-mesa-dev:i386
  - libglu1-mesa-dev:i386
  - libjpeg-dev:i386
  - libmp3lame-dev:i386
  - libfdk-aac-dev:i386
  - libopus-dev:i386
  - libpam0g-dev:i386
  - libssl-dev:i386
  - libx11-dev:i386
  - libxext-dev:i386
  - libxfixes-dev:i386
  - libxrandr-dev:i386
  - libxrender-dev:i386
  - openssl:i386

# No --enable-pixman to allow testing the replacement code
# No --enable-fuse due to failing libfuse-dev:i386 package install
max_x86_conf: &max_x86_conf
  env:
    - CONF_FLAGS="--enable-ipv6 --enable-jpeg --disable-fuse --enable-mp3lame
                  --enable-fdkaac --enable-opus --enable-rfxcodec --enable-painter
                  --disable-pixman --host=i686-linux"
    - PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig
    - CFLAGS=-m32
    - LDFLAGS=-m32
  addons:
    apt:
      packages:
        - *max_x86_deps

matrix:
  include:

  # Minimal amd64 build
  - compiler: gcc
    << : *min_amd64_conf
  - compiler: g++
    << : *min_amd64_conf
  - compiler: clang
    << : *min_amd64_conf

  # Maximal amd64 build
  - compiler: gcc
    << : *max_amd64_conf
  - compiler: g++
    << : *max_amd64_conf
  - compiler: clang
    << : *max_amd64_conf

  # Maximal x86 build
  - compiler: gcc
    << : *max_x86_conf
  - compiler: g++
    << : *max_x86_conf
  - compiler: clang
    << : *max_x86_conf

script:
  - ./bootstrap
  - ./configure $CONF_FLAGS
  - make CFLAGS="$CFLAGS -O2 -Wall -Wwrite-strings -Werror"
  - test -z "$DISTCHECK" || make distcheck