Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
session: fix non-NULL terminated string
[vpp.git]
/
Makefile
diff --git
a/Makefile
b/Makefile
index
aaba277
..
5c16b9a
100644
(file)
--- a/
Makefile
+++ b/
Makefile
@@
-14,6
+14,7
@@
export WS_ROOT=$(CURDIR)
export BR=$(WS_ROOT)/build-root
CCACHE_DIR?=$(BR)/.ccache
export WS_ROOT=$(CURDIR)
export BR=$(WS_ROOT)/build-root
CCACHE_DIR?=$(BR)/.ccache
+SHELL:=/bin/bash
GDB?=gdb
PLATFORM?=vpp
SAMPLE_PLUGIN?=no
GDB?=gdb
PLATFORM?=vpp
SAMPLE_PLUGIN?=no
@@
-62,14
+63,15
@@
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 += libconfuse-dev git-review exuberant-ctags cscope pkg-config
-DEB_DEPENDS += lcov chrpath autoconf
indent clang-format
libnuma-dev
+DEB_DEPENDS += lcov chrpath autoconf libnuma-dev
DEB_DEPENDS += python3-all python3-setuptools check
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 += 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
LIBFFI=libffi6 # works on all but 20.04 and debian-testing
# python3.6 on 16.04 requires python36-dev
LIBFFI=libffi6 # works on all but 20.04 and debian-testing
@@
-77,17
+79,21
@@
LIBFFI=libffi6 # works on all but 20.04 and debian-testing
ifeq ($(OS_VERSION_ID),18.04)
DEB_DEPENDS += python-dev python-all python-pip python-virtualenv
DEB_DEPENDS += libssl-dev
ifeq ($(OS_VERSION_ID),18.04)
DEB_DEPENDS += python-dev python-all python-pip python-virtualenv
DEB_DEPENDS += libssl-dev
- DEB_DEPENDS += clang-9
+ DEB_DEPENDS += clang-9
clang-format-10
else ifeq ($(OS_VERSION_ID),20.04)
DEB_DEPENDS += python3-virtualenv
DEB_DEPENDS += libssl-dev
DEB_DEPENDS += libelf-dev # for libbpf (af_xdp)
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 += clang-format-10
LIBFFI=libffi7
LIBFFI=libffi7
-else ifeq ($(OS_ID)-$(OS_VERSION_ID),debian-9)
- DEB_DEPENDS += libssl1.0-dev
- DEB_DEPENDS += python-all python-pip
- DEB_DEPENDS += python-dev python-all python-pip python-virtualenv
+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
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
@@
-102,7
+108,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
@@
-110,6
+115,7
@@
RPM_DEPENDS += mbedtls-devel
RPM_DEPENDS += ccache
RPM_DEPENDS += xmlto
RPM_DEPENDS += elfutils-libelf-devel
RPM_DEPENDS += ccache
RPM_DEPENDS += xmlto
RPM_DEPENDS += elfutils-libelf-devel
+RPM_DEPENDS += libnl3-devel
ifeq ($(OS_ID),fedora)
RPM_DEPENDS += dnf-utils
ifeq ($(OS_ID),fedora)
RPM_DEPENDS += dnf-utils
@@
-122,10
+128,10
@@
ifeq ($(OS_ID),fedora)
RPM_DEPENDS_GROUPS = 'C Development Tools and Libraries'
else ifeq ($(OS_ID)-$(OS_VERSION_ID),centos-8)
RPM_DEPENDS += yum-utils
RPM_DEPENDS_GROUPS = 'C Development Tools and Libraries'
else ifeq ($(OS_ID)-$(OS_VERSION_ID),centos-8)
RPM_DEPENDS += yum-utils
- RPM_DEPENDS += compat-openssl10
+ RPM_DEPENDS += compat-openssl10
openssl-devel
RPM_DEPENDS += python2-devel python36-devel python3-ply
RPM_DEPENDS += python3-virtualenv python3-jsonschema
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
@@
-200,6
+206,7
@@
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 " doxygen - (re)generate documentation"
@echo " checkstyle-api - check api for incompatible changes"
@echo " fixstyle - fix coding style"
@echo " doxygen - (re)generate documentation"
@@
-209,6
+216,7
@@
help:
@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 " 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"
@@
-284,9
+292,10
@@
ifeq ($(OS_ID),rhel)
@sudo -E debuginfo-install $(CONFIRM) glibc openssl-libs mbedtls-devel zlib
else ifeq ($(OS_ID)-$(OS_VERSION_ID),centos-8)
@sudo -E dnf install $(CONFIRM) dnf-plugins-core epel-release
@sudo -E debuginfo-install $(CONFIRM) glibc openssl-libs mbedtls-devel zlib
else ifeq ($(OS_ID)-$(OS_VERSION_ID),centos-8)
@sudo -E dnf install $(CONFIRM) dnf-plugins-core epel-release
- @sudo -E dnf config-manager --set-enabled PowerTools
+ @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 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)
@@
-327,7
+336,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 ; \
@@
-352,7
+361,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
@@
-470,6
+479,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
@@
-492,6
+505,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."
@@
-507,9
+528,7
@@
endef
endif
%.files: .FORCE
endif
%.files: .FORCE
- @find . \( -name '*\.[chyS]' -o -name '*\.java' -o -name '*\.lex' \) -and \
- \( -not -path './build-root*' -o -path \
- './build-root/build-vpp_debug-native/dpdk*' \) > $@
+ @find src -name '*.[chS]' > $@
.FORCE:
.FORCE:
@@
-528,6
+547,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:
@@
-571,11
+591,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)
@@
-591,9
+606,13
@@
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
.PHONY: ctags
ctags: ctags.files
- @ctags --totals --tag-relative -L $<
+ @ctags --totals --tag-relative
=yes
-L $<
@rm $<
.PHONY: gtags
@rm $<
.PHONY: gtags
@@
-608,11
+627,11
@@
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
- @
build-root
/scripts/checkstyle.sh
+ @
extras
/scripts/checkstyle.sh
.PHONY: checkstyle-commit
checkstyle-commit:
.PHONY: checkstyle-commit
checkstyle-commit:
@@
-626,31
+645,28
@@
checkstyle-all: checkstyle-commit checkstyle checkstyle-test
.PHONY: fixstyle
fixstyle:
.PHONY: fixstyle
fixstyle:
- @
build-root
/scripts/checkstyle.sh --fix
+ @
extras
/scripts/checkstyle.sh --fix
.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
# https://bugzilla.redhat.com/show_bug.cgi?id=1696324
.PHONY: centos-pyyaml
centos-pyyaml:
# necessary because Bug 1696324 - Update to python3.6 breaks PyYAML dependencies
# Status: CLOSED CANTFIX
# https://bugzilla.redhat.com/show_bug.cgi?id=1696324
.PHONY: centos-pyyaml
centos-pyyaml:
-ifeq ($(OS_ID)-$(OS_VERSION_ID),centos-7)
- @python3 -m pip install pyyaml
-endif
ifeq ($(OS_ID)-$(OS_VERSION_ID),centos-8)
@sudo -E yum install $(CONFIRM) python3-pyyaml
endif
.PHONY: featurelist
featurelist: centos-pyyaml
ifeq ($(OS_ID)-$(OS_VERSION_ID),centos-8)
@sudo -E yum install $(CONFIRM) python3-pyyaml
endif
.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