f0f93a7adf
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>
147 lines
3.2 KiB
YAML
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
|