Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
ip: crash in ip_csum_fold due to illegal instruction shrx
[vpp.git]
/
Makefile
diff --git
a/Makefile
b/Makefile
index
7ecc2c6
..
4bd4d6d
100644
(file)
--- a/
Makefile
+++ b/
Makefile
@@
-1,4
+1,4
@@
-# Copyright (c) 20
16
Cisco and/or its affiliates.
+# Copyright (c) 20
21
Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
@@
-63,16
+63,16
@@
endif
# +libganglia1-dev if building the gmond plugin
DEB_DEPENDS = curl build-essential autoconf automake ccache
# +libganglia1-dev if building the gmond plugin
DEB_DEPENDS = curl build-essential autoconf automake ccache
-DEB_DEPENDS += debhelper dkms git libtool libapr1-dev dh-
systemd dh-
python
+DEB_DEPENDS += debhelper dkms git libtool libapr1-dev dh-python
DEB_DEPENDS += libconfuse-dev git-review exuberant-ctags cscope pkg-config
DEB_DEPENDS += lcov chrpath autoconf libnuma-dev
DEB_DEPENDS += python3-all python3-setuptools check
DEB_DEPENDS += libconfuse-dev git-review exuberant-ctags cscope pkg-config
DEB_DEPENDS += lcov chrpath autoconf libnuma-dev
DEB_DEPENDS += python3-all python3-setuptools check
-DEB_DEPENDS += lib
boost-all-dev lib
ffi-dev python3-ply libmbedtls-dev
+DEB_DEPENDS += libffi-dev python3-ply libmbedtls-dev
DEB_DEPENDS += cmake ninja-build uuid-dev python3-jsonschema python3-yaml
DEB_DEPENDS += python3-venv # ensurepip
DEB_DEPENDS += python3-dev # needed for python3 -m pip install psutil
DEB_DEPENDS += libnl-3-dev libnl-route-3-dev
DEB_DEPENDS += cmake ninja-build uuid-dev python3-jsonschema python3-yaml
DEB_DEPENDS += python3-venv # ensurepip
DEB_DEPENDS += python3-dev # needed for python3 -m pip install psutil
DEB_DEPENDS += libnl-3-dev libnl-route-3-dev
-# python3.6 on 16.04 requires python36-dev
+DEB_DEPENDS += enchant # for docs
LIBFFI=libffi6 # works on all but 20.04 and debian-testing
LIBFFI=libffi6 # works on all but 20.04 and debian-testing
@@
-84,15
+84,20
@@
else ifeq ($(OS_VERSION_ID),20.04)
DEB_DEPENDS += python3-virtualenv
DEB_DEPENDS += libssl-dev
DEB_DEPENDS += libelf-dev # for libbpf (af_xdp)
DEB_DEPENDS += python3-virtualenv
DEB_DEPENDS += libssl-dev
DEB_DEPENDS += libelf-dev # for libbpf (af_xdp)
- DEB_DEPENDS += clang-format-10
+ # TODO: change CLANG_FORMAT_VER default in extras/scripts/checkstyle.sh
+ # when clang-format-10 is removed
+ DEB_DEPENDS += clang-11 clang-format-11 clang-format-10
LIBFFI=libffi7
else ifeq ($(OS_VERSION_ID),20.10)
LIBFFI=libffi7
else ifeq ($(OS_VERSION_ID),20.10)
- DEB_DEPENDS += python3-virtualenv
- DEB_DEPENDS += libssl-dev
- DEB_DEPENDS += libelf-dev # for libbpf (af_xdp)
- DEB_DEPENDS += clang-format-10
- LIBFFI=libffi8ubuntu1
+ DEB_DEPENDS += python3-virtualenv
+ DEB_DEPENDS += libssl-dev
+ DEB_DEPENDS += libelf-dev # for libbpf (af_xdp)
+ # TODO: change CLANG_FORMAT_VER default in extras/scripts/checkstyle.sh
+ # when clang-format-10 is removed
+ DEB_DEPENDS += clang-11 clang-format-11 clang-format-10
+ LIBFFI=libffi8ubuntu1
else ifeq ($(OS_ID)-$(OS_VERSION_ID),debian-10)
else ifeq ($(OS_ID)-$(OS_VERSION_ID),debian-10)
+ DEB_DEPENDS += python3-virtualenv virtualenv
DEB_DEPENDS += libssl-dev
DEB_DEPENDS += libelf-dev # for libbpf (af_xdp)
else
DEB_DEPENDS += libssl-dev
DEB_DEPENDS += libelf-dev # for libbpf (af_xdp)
else
@@
-107,7
+112,6
@@
RPM_DEPENDS = redhat-lsb glibc-static
RPM_DEPENDS += apr-devel
RPM_DEPENDS += numactl-devel
RPM_DEPENDS += check check-devel
RPM_DEPENDS += apr-devel
RPM_DEPENDS += numactl-devel
RPM_DEPENDS += check check-devel
-RPM_DEPENDS += boost boost-devel
RPM_DEPENDS += selinux-policy selinux-policy-devel
RPM_DEPENDS += ninja-build
RPM_DEPENDS += libuuid-devel
RPM_DEPENDS += selinux-policy selinux-policy-devel
RPM_DEPENDS += ninja-build
RPM_DEPENDS += libuuid-devel
@@
-116,6
+120,7
@@
RPM_DEPENDS += ccache
RPM_DEPENDS += xmlto
RPM_DEPENDS += elfutils-libelf-devel
RPM_DEPENDS += libnl3-devel
RPM_DEPENDS += xmlto
RPM_DEPENDS += elfutils-libelf-devel
RPM_DEPENDS += libnl3-devel
+RPM_DEPENDS += enchant # for docs
ifeq ($(OS_ID),fedora)
RPM_DEPENDS += dnf-utils
ifeq ($(OS_ID),fedora)
RPM_DEPENDS += dnf-utils
@@
-131,7
+136,7
@@
else ifeq ($(OS_ID)-$(OS_VERSION_ID),centos-8)
RPM_DEPENDS += compat-openssl10 openssl-devel
RPM_DEPENDS += python2-devel python36-devel python3-ply
RPM_DEPENDS += python3-virtualenv python3-jsonschema
RPM_DEPENDS += compat-openssl10 openssl-devel
RPM_DEPENDS += python2-devel python36-devel python3-ply
RPM_DEPENDS += python3-virtualenv python3-jsonschema
- RPM_DEPENDS += cmake
+ RPM_DEPENDS +=
libarchive
cmake
RPM_DEPENDS_GROUPS = 'Development Tools'
else
RPM_DEPENDS += yum-utils
RPM_DEPENDS_GROUPS = 'Development Tools'
else
RPM_DEPENDS += yum-utils
@@
-206,15
+211,17
@@
help:
@echo " checkstyle - check coding style"
@echo " checkstyle-commit - check commit message format"
@echo " checkstyle-test - check test framework coding style"
@echo " checkstyle - check coding style"
@echo " checkstyle-commit - check commit message format"
@echo " checkstyle-test - check test framework coding style"
+ @echo " checkstyle-test-diff - check test framework coding style (only changed files)"
@echo " checkstyle-api - check api for incompatible changes"
@echo " fixstyle - fix coding style"
@echo " checkstyle-api - check api for incompatible changes"
@echo " fixstyle - fix coding style"
- @echo " doxygen -
(re)generate documentation
"
- @echo " bootstrap-doxygen -
setup Doxygen dependencies
"
- @echo " wipe-doxygen -
wipe all generated documentation
"
+ @echo " doxygen -
DEPRECATED - use 'make docs'
"
+ @echo " bootstrap-doxygen -
DEPRECATED
"
+ @echo " wipe-doxygen -
DEPRECATED
"
@echo " checkfeaturelist - check FEATURE.yaml according to schema"
@echo " featurelist - dump feature list in markdown"
@echo " json-api-files - (re)-generate json api files"
@echo " json-api-files-debug - (re)-generate json api files for debug target"
@echo " checkfeaturelist - check FEATURE.yaml according to schema"
@echo " featurelist - dump feature list in markdown"
@echo " json-api-files - (re)-generate json api files"
@echo " json-api-files-debug - (re)-generate json api files for debug target"
+ @echo " go-api-files - (re)-generate golang api files"
@echo " docs - Build the Sphinx documentation"
@echo " docs-venv - Build the virtual environment for the Sphinx docs"
@echo " docs-clean - Remove the generated files from the Sphinx docs"
@echo " docs - Build the Sphinx documentation"
@echo " docs-venv - Build the virtual environment for the Sphinx docs"
@echo " docs-clean - Remove the generated files from the Sphinx docs"
@@
-293,7
+300,7
@@
else ifeq ($(OS_ID)-$(OS_VERSION_ID),centos-8)
@sudo -E dnf config-manager --set-enabled \
$(shell dnf repolist all 2>/dev/null|grep -i powertools|cut -d' ' -f1)
@sudo -E dnf groupinstall $(CONFIRM) $(RPM_DEPENDS_GROUPS)
@sudo -E dnf config-manager --set-enabled \
$(shell dnf repolist all 2>/dev/null|grep -i powertools|cut -d' ' -f1)
@sudo -E dnf groupinstall $(CONFIRM) $(RPM_DEPENDS_GROUPS)
- @sudo -E dnf install $(CONFIRM) $(RPM_DEPENDS)
+ @sudo -E dnf install
--skip-broken
$(CONFIRM) $(RPM_DEPENDS)
else ifeq ($(OS_ID),centos)
@sudo -E yum install $(CONFIRM) centos-release-scl-rh epel-release
@sudo -E yum groupinstall $(CONFIRM) $(RPM_DEPENDS_GROUPS)
else ifeq ($(OS_ID),centos)
@sudo -E yum install $(CONFIRM) centos-release-scl-rh epel-release
@sudo -E yum groupinstall $(CONFIRM) $(RPM_DEPENDS_GROUPS)
@@
-334,7
+341,7
@@
dist:
--format=tar \
-o $(DIST_FILE) \
HEAD ; \
--format=tar \
-o $(DIST_FILE) \
HEAD ; \
- git describe > $(BR)/.version ; \
+ git describe
--long
> $(BR)/.version ; \
else \
(cd .. ; tar -cf $(DIST_FILE) $(DIST_SUBDIR) --exclude=*.tar) ; \
src/scripts/version > $(BR)/.version ; \
else \
(cd .. ; tar -cf $(DIST_FILE) $(DIST_SUBDIR) --exclude=*.tar) ; \
src/scripts/version > $(BR)/.version ; \
@@
-359,7
+366,7
@@
wipedist:
.PHONY: wipe
wipe: wipedist test-wipe $(BR)/.deps.ok
$(call make,$(PLATFORM)_debug,$(addsuffix -wipe,$(TARGETS)))
.PHONY: wipe
wipe: wipedist test-wipe $(BR)/.deps.ok
$(call make,$(PLATFORM)_debug,$(addsuffix -wipe,$(TARGETS)))
- @find . -type f -name "*.api.json" ! -path "./
test
/*" -exec rm {} \;
+ @find . -type f -name "*.api.json" ! -path "./
src
/*" -exec rm {} \;
.PHONY: rebuild
rebuild: wipe build
.PHONY: rebuild
rebuild: wipe build
@@
-375,8
+382,6
@@
wipe-release: test-wipe $(BR)/.deps.ok
.PHONY: rebuild-release
rebuild-release: wipe-release build-release
.PHONY: rebuild-release
rebuild-release: wipe-release build-release
-libexpand = $(subst $(subst ,, ),:,$(foreach lib,$(1),$(BR)/install-$(2)-native/vpp/$(lib)/$(3)))
-
export TEST_DIR ?= $(WS_ROOT)/test
export RND_SEED ?= $(shell python3 -c 'import time; print(time.time())')
export TEST_DIR ?= $(WS_ROOT)/test
export RND_SEED ?= $(shell python3 -c 'import time; print(time.time())')
@@
-386,10
+391,7
@@
define test
make -C test \
VPP_BUILD_DIR=$(BR)/build-$(2)-native \
VPP_BIN=$(BR)/install-$(2)-native/vpp/bin/vpp \
make -C test \
VPP_BUILD_DIR=$(BR)/build-$(2)-native \
VPP_BIN=$(BR)/install-$(2)-native/vpp/bin/vpp \
- VPP_PLUGIN_PATH=$(call libexpand,$(libs),$(2),vpp_plugins) \
- VPP_TEST_PLUGIN_PATH=$(call libexpand,$(libs),$(2),vpp_api_test_plugins) \
VPP_INSTALL_PATH=$(BR)/install-$(2)-native/ \
VPP_INSTALL_PATH=$(BR)/install-$(2)-native/ \
- LD_LIBRARY_PATH=$(call libexpand,$(libs),$(2),) \
EXTENDED_TESTS=$(EXTENDED_TESTS) \
PYTHON=$(PYTHON) \
OS_ID=$(OS_ID) \
EXTENDED_TESTS=$(EXTENDED_TESTS) \
PYTHON=$(PYTHON) \
OS_ID=$(OS_ID) \
@@
-454,11
+456,13
@@
test-dep:
.PHONY: test-doc
test-doc:
.PHONY: test-doc
test-doc:
- @make -C test doc
+ @echo "make test-doc is DEPRECATED: use 'make docs'"
+ sleep 300
.PHONY: test-wipe-doc
test-wipe-doc:
.PHONY: test-wipe-doc
test-wipe-doc:
- @make -C test wipe-doc
+ @echo "make test-wipe-doc is DEPRECATED"
+ sleep 300
.PHONY: test-cov
test-cov:
.PHONY: test-cov
test-cov:
@@
-477,6
+481,10
@@
test-wipe-all:
test-checkstyle:
@make -C test checkstyle
test-checkstyle:
@make -C test checkstyle
+.PHONY: test-checkstyle-diff
+test-checkstyle-diff:
+ @make -C test checkstyle-diff
+
.PHONY: test-refresh-deps
test-refresh-deps:
@make -C test refresh-deps
.PHONY: test-refresh-deps
test-refresh-deps:
@make -C test refresh-deps
@@
-499,6
+507,14
@@
retest-all-debug:
$(eval EXTENDED_TESTS=yes)
$(call test,vpp,vpp_debug,retest)
$(eval EXTENDED_TESTS=yes)
$(call test,vpp,vpp_debug,retest)
+.PHONY: test-start-vpp-in-gdb
+test-start-vpp-in-gdb:
+ $(call test,vpp,vpp,start-gdb)
+
+.PHONY: test-start-vpp-debug-in-gdb
+test-start-vpp-debug-in-gdb:
+ $(call test,vpp,vpp_debug,start-gdb)
+
ifeq ("$(wildcard $(STARTUP_CONF))","")
define run
@echo "WARNING: STARTUP_CONF not defined or file doesn't exist."
ifeq ("$(wildcard $(STARTUP_CONF))","")
define run
@echo "WARNING: STARTUP_CONF not defined or file doesn't exist."
@@
-514,9
+530,7
@@
endef
endif
%.files: .FORCE
endif
%.files: .FORCE
- @find . \( -name '*\.[chyS]' -o -name '*\.java' -o -name '*\.lex' -o -name '*\.py' \) -and \
- \( -not -path './build-root*' -o -path \
- './build-root/build-vpp_debug-native/dpdk*' \) > $@
+ @find src -name '*.[chS]' > $@
.FORCE:
.FORCE:
@@
-535,6
+549,7
@@
debug:
.PHONY: build-coverity
build-coverity:
$(call make,$(PLATFORM)_coverity,install-packages)
.PHONY: build-coverity
build-coverity:
$(call make,$(PLATFORM)_coverity,install-packages)
+ @make -C build-root PLATFORM=vpp TAG=vpp_coverity libmemif-install
.PHONY: debug-release
debug-release:
.PHONY: debug-release
debug-release:
@@
-578,11
+593,6
@@
pkg-rpm: dist
pkg-srpm: dist
make -C extras/rpm srpm
pkg-srpm: dist
make -C extras/rpm srpm
-.PHONY: dpdk-install-dev
-dpdk-install-dev:
- $(call banner,"This command is deprecated. Please use 'make install-ext-deps'")
- make -C build/external install-$(PKG)
-
.PHONY: install-ext-deps
install-ext-deps:
make -C build/external install-$(PKG)
.PHONY: install-ext-deps
install-ext-deps:
make -C build/external install-$(PKG)
@@
-598,6
+608,10
@@
json-api-files:
json-api-files-debug:
$(WS_ROOT)/src/tools/vppapigen/generate_json.py --debug-target
json-api-files-debug:
$(WS_ROOT)/src/tools/vppapigen/generate_json.py --debug-target
+.PHONY: go-api-files
+go-api-files: json-api-files
+ $(WS_ROOT)/src/tools/vppapigen/generate_go.py
+
.PHONY: ctags
ctags: ctags.files
@ctags --totals --tag-relative=yes -L $<
.PHONY: ctags
ctags: ctags.files
@ctags --totals --tag-relative=yes -L $<
@@
-615,13
+629,10
@@
cscope: cscope.files
compdb:
@ninja -C build-root/build-vpp_debug-native/vpp build.ninja
@ninja -C build-root/build-vpp_debug-native/vpp -t compdb | \
compdb:
@ninja -C build-root/build-vpp_debug-native/vpp build.ninja
@ninja -C build-root/build-vpp_debug-native/vpp -t compdb | \
-
extras
/scripts/compdb_cleanup.py > compile_commands.json
+
src
/scripts/compdb_cleanup.py > compile_commands.json
.PHONY: checkstyle
checkstyle: checkfeaturelist
.PHONY: checkstyle
checkstyle: checkfeaturelist
-ifeq ($(shell which clang-format-10),)
- @sudo apt-get install -y clang-format-10
-endif
@extras/scripts/checkstyle.sh
.PHONY: checkstyle-commit
@extras/scripts/checkstyle.sh
.PHONY: checkstyle-commit
@@
-640,7
+651,7
@@
fixstyle:
.PHONY: checkstyle-api
checkstyle-api:
.PHONY: checkstyle-api
checkstyle-api:
- @extras/scripts/crcchecker.py --check-patch
+ @extras/scripts/crcchecker.py --check-patch
set
# necessary because Bug 1696324 - Update to python3.6 breaks PyYAML dependencies
# Status: CLOSED CANTFIX
# necessary because Bug 1696324 - Update to python3.6 breaks PyYAML dependencies
# Status: CLOSED CANTFIX
@@
-653,52
+664,38
@@
endif
.PHONY: featurelist
featurelist: centos-pyyaml
.PHONY: featurelist
featurelist: centos-pyyaml
- @
build-root
/scripts/fts.py --all --markdown
+ @
extras
/scripts/fts.py --all --markdown
.PHONY: checkfeaturelist
checkfeaturelist: centos-pyyaml
.PHONY: checkfeaturelist
checkfeaturelist: centos-pyyaml
- @
build-root
/scripts/fts.py --validate --all
+ @
extras
/scripts/fts.py --validate --all
#
# Build the documentation
#
#
# Build the documentation
#
-# Doxygen configuration and our utility scripts
-export DOXY_DIR ?= $(WS_ROOT)/doxygen
-
-define make-doxy
- @OS_ID="$(OS_ID)" make -C $(DOXY_DIR) $@
-endef
-
.PHONY: bootstrap-doxygen
bootstrap-doxygen:
.PHONY: bootstrap-doxygen
bootstrap-doxygen:
- $(call make-doxy)
+ @echo "make bootstrap-doxygen is DEPRECATED"
+ sleep 300
.PHONY: doxygen
.PHONY: doxygen
-doxygen: bootstrap-doxygen
- $(call make-doxy)
+doxygen: docs
+ @echo "make doxygen is DEPRECATED: use 'make docs'"
+ sleep 300
.PHONY: wipe-doxygen
wipe-doxygen:
.PHONY: wipe-doxygen
wipe-doxygen:
- $(call make-doxy)
+ @echo "make wipe-doxygen is DEPRECATED"
+ sleep 300
-# Sphinx Documents
-export DOCS_DIR = $(WS_ROOT)/docs
-export VENV_DIR = $(WS_ROOT)/sphinx_venv
-export SPHINX_SCRIPTS_DIR = $(WS_ROOT)/docs/scripts
-
-.PHONY: docs-venv
-docs-venv:
- @($(SPHINX_SCRIPTS_DIR)/sphinx-make.sh venv)
+.PHONY: docs-%
+docs-%:
+ @make -C $(WS_ROOT)/docs $*
.PHONY: docs
.PHONY: docs
-docs: $(DOCS_DIR)
- @($(SPHINX_SCRIPTS_DIR)/sphinx-make.sh html)
-
-.PHONY: docs-clean
-docs-clean:
- @rm -rf $(DOCS_DIR)/_build
- @rm -rf $(VENV_DIR)
+docs:
+ @make -C $(WS_ROOT)/docs docs
.PHONY: pkg-verify
pkg-verify: install-dep $(BR)/.deps.ok install-ext-deps
.PHONY: pkg-verify
pkg-verify: install-dep $(BR)/.deps.ok install-ext-deps