098cc0fea3
This patch adds an option to enable link time optimization. In addition to LTO option itself (-flto) fat-lto-objects are being used. This is because during the build pmdinfogen scans the generated ELF objects to find this_pmd_name* symbol in symbol table. Without fat-lto-objects gcc produces ELF only with extra symbols for internal use during linking. Signed-off-by: Andrzej Ostruszka <aostruszka@marvell.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
120 lines
2.7 KiB
YAML
120 lines
2.7 KiB
YAML
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
|
|
- env: DEF_LIB="static" OPTS="-Db_lto=true" EXTRA_PACKAGES=1 CC=gcc-7
|
|
compiler: gcc
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- *extra_packages
|
|
- gcc-7
|
|
|
|
|
|
script: ./.ci/${TRAVIS_OS_NAME}-build.sh
|