summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: 3d6ef2959c1b42f67db643688049675e08a892ba (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
language: c
cache: ccache
compiler:
  - gcc
  - clang

dist: xenial

os:
  - linux

addons:
  apt:
    update: true
    packages: &required_packages
      - [libnuma-dev, linux-headers-$(uname -r), python3-setuptools, python3-wheel, python3-pip, ninja-build]

aarch64_packages: &aarch64_packages
  - *required_packages
  - [gcc-aarch64-linux-gnu, libc6-dev-arm64-cross]

extra_packages: &extra_packages
  - *required_packages
  - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4]

doc_packages: &doc_packages
  - [doxygen, graphviz, python3-sphinx]

before_install: ./.ci/${TRAVIS_OS_NAME}-setup.sh

env:
  - DEF_LIB="static"
  - DEF_LIB="shared"
  - DEF_LIB="static" OPTS="-Denable_kmods=false"
  - DEF_LIB="shared" OPTS="-Denable_kmods=false"
  - DEF_LIB="shared" RUN_TESTS=1

matrix:
  include:
  - env: DEF_LIB="static" OPTS="-Denable_kmods=false" AARCH64=1
    compiler: gcc
    addons:
      apt:
        packages:
          - *aarch64_packages
  - env: DEF_LIB="shared" OPTS="-Denable_kmods=false" AARCH64=1
    compiler: gcc
    addons:
      apt:
        packages:
          - *aarch64_packages
  - env: DEF_LIB="static" EXTRA_PACKAGES=1
    compiler: gcc
    addons:
      apt:
        packages:
          - *extra_packages
  - env: DEF_LIB="shared" EXTRA_PACKAGES=1 RUN_TESTS=1 BUILD_DOCS=1
    compiler: gcc
    addons:
      apt:
        packages:
          - *extra_packages
          - *doc_packages
  - env: DEF_LIB="static" OPTS="-Denable_kmods=false" EXTRA_PACKAGES=1
    compiler: gcc
    addons:
      apt:
        packages:
          - *extra_packages
  - env: DEF_LIB="shared" OPTS="-Denable_kmods=false" EXTRA_PACKAGES=1
    compiler: gcc
    addons:
      apt:
        packages:
          - *extra_packages
  - env: DEF_LIB="static" EXTRA_PACKAGES=1
    compiler: clang
    addons:
      apt:
        packages:
          - *extra_packages
  - env: DEF_LIB="shared" EXTRA_PACKAGES=1
    compiler: clang
    addons:
      apt:
        packages:
          - *extra_packages
  - env: DEF_LIB="shared" EXTRA_PACKAGES=1 RUN_TESTS=1 BUILD_DOCS=1
    compiler: clang
    addons:
      apt:
        packages:
          - *extra_packages
          - *doc_packages
  - env: DEF_LIB="static" OPTS="-Denable_kmods=false" EXTRA_PACKAGES=1
    compiler: clang
    addons:
      apt:
        packages:
          - *extra_packages
  - env: DEF_LIB="shared" OPTS="-Denable_kmods=false" EXTRA_PACKAGES=1
    compiler: clang
    addons:
      apt:
        packages:
          - *extra_packages


script: ./.ci/${TRAVIS_OS_NAME}-build.sh