numam-dpdk/.travis.yml
Dmitry Kozlyuk f0f93a7adf buildtools: use Python pmdinfogen
Use the same interpreter to run pmdinfogen as for other build scripts.
Adjust wrapper script accordingly and also don't suppress stderr from ar
and pmdinfogen. Add configure-time check for elftools Python module for
Unix hosts.

Add pyelftools to CI configuration and build requirements for Linux and
FreeBSD. Windows targets are not currently using pmdinfogen.

Suppress ABI warnings about generated PMD information strings.

Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Tested-by: Jie Zhou <jizh@microsoft.com>
2021-01-25 23:23:41 +01:00

147 lines
3.2 KiB
YAML

# default values for all jobs
language: c
cache:
ccache: true
directories:
- libabigail
- reference
dist: bionic
os: linux
addons:
apt:
update: true
packages: &required_packages
- [libnuma-dev, python3-setuptools, python3-wheel, python3-pip, python3-pyelftools, ninja-build]
- [libbsd-dev, libpcap-dev, libibverbs-dev, libcrypto++-dev, libfdt-dev, libjansson-dev]
_aarch64_packages: &aarch64_packages
- *required_packages
- [gcc-aarch64-linux-gnu, libc6-dev-arm64-cross, pkg-config-aarch64-linux-gnu]
_libabigail_build_packages: &libabigail_build_packages
- [autoconf, automake, libtool, pkg-config, libxml2-dev, libdw-dev]
_build_32b_packages: &build_32b_packages
- *required_packages
- [gcc-multilib]
_doc_packages: &doc_packages
- [doxygen, graphviz, python3-sphinx]
before_install: ./.ci/${TRAVIS_OS_NAME}-setup.sh
script: ./.ci/${TRAVIS_OS_NAME}-build.sh
env:
global:
- LIBABIGAIL_VERSION=libabigail-1.8
- REF_GIT_TAG=v20.11
jobs:
include:
# x86_64 gcc jobs
- env: DEF_LIB="static"
arch: amd64
compiler: gcc
- env: DEF_LIB="shared" RUN_TESTS=true
arch: amd64
compiler: gcc
- env: DEF_LIB="shared" BUILD_DOCS=true
arch: amd64
compiler: gcc
addons:
apt:
packages:
- *required_packages
- *doc_packages
- env: DEF_LIB="shared" ABI_CHECKS=true
arch: amd64
compiler: gcc
addons:
apt:
packages:
- *required_packages
- *libabigail_build_packages
# x86_64 clang jobs
- env: DEF_LIB="static"
arch: amd64
compiler: clang
- env: DEF_LIB="shared" RUN_TESTS=true
arch: amd64
compiler: clang
- env: DEF_LIB="shared" BUILD_DOCS=true
arch: amd64
compiler: clang
addons:
apt:
packages:
- *required_packages
- *doc_packages
# x86_64 cross-compiling 32-bits jobs
- env: DEF_LIB="static" BUILD_32BIT=true
arch: amd64
compiler: gcc
addons:
apt:
packages:
- *build_32b_packages
# x86_64 cross-compiling aarch64 jobs
- env: DEF_LIB="static" AARCH64=true
arch: amd64
compiler: gcc
addons:
apt:
packages:
- *aarch64_packages
- env: DEF_LIB="shared" AARCH64=true
arch: amd64
compiler: gcc
addons:
apt:
packages:
- *aarch64_packages
# aarch64 gcc jobs
- env: DEF_LIB="static"
arch: arm64
compiler: gcc
- env: DEF_LIB="shared" RUN_TESTS=true
arch: arm64
compiler: gcc
- env: DEF_LIB="shared" RUN_TESTS=true
dist: focal
arch: arm64-graviton2
virt: vm
group: edge
compiler: gcc
- env: DEF_LIB="shared" BUILD_DOCS=true
arch: arm64
compiler: gcc
addons:
apt:
packages:
- *required_packages
- *doc_packages
- env: DEF_LIB="shared" ABI_CHECKS=true
arch: arm64
compiler: gcc
addons:
apt:
packages:
- *required_packages
- *libabigail_build_packages
# aarch64 clang jobs
- env: DEF_LIB="static"
arch: arm64
compiler: clang
- env: DEF_LIB="shared" RUN_TESTS=true
arch: arm64
compiler: clang
- env: DEF_LIB="shared" RUN_TESTS=true
dist: focal
arch: arm64-graviton2
virt: vm
group: edge
compiler: clang