Compare commits
1 Commits
v21.01-rc1
...
v17.10-rc1
Author | SHA1 | Date | |
---|---|---|---|
|
7ea28045aa |
@ -1,48 +0,0 @@
|
||||
# <feature-name>: <subject>
|
||||
# |<---- Using a maximum of 50 characters ---->|
|
||||
#
|
||||
# Explain why this change is being made
|
||||
# |<---- Try to limit each line to a maximum of 72 characters ---->|
|
||||
|
||||
# Ticket: <JIRA #id>
|
||||
# Type: <type>
|
||||
# Fixes: <offending-git-commit-id>
|
||||
# Change-Id: <sha1>
|
||||
# Signed-off-by: <email>
|
||||
#
|
||||
#
|
||||
# --- COMMIT END ---
|
||||
#
|
||||
# Type can be
|
||||
# feature (new feature)
|
||||
# fix (bug fix)
|
||||
# refactor (refactoring production code)
|
||||
# improvement (minor improvements in existing feature)
|
||||
# style (formatting, missing semi colons, etc; no code change)
|
||||
# docs (changes to documentation)
|
||||
# test (adding or refactoring tests; no production code change)
|
||||
# make (change the build process, or tools, or infrastructure)
|
||||
#
|
||||
# feature-name: Is the name of the VPP feature, plugin or directory.
|
||||
# Commits across multiple components should be split.
|
||||
# E.g. ip, fib, nat, acl, host, api
|
||||
#
|
||||
# Fixes: If type is fix refers to the original commit (optional).
|
||||
# Ticket: Refers to JIRA ticket if it exists (optional).
|
||||
#
|
||||
# --------------------
|
||||
# Remember to:
|
||||
# Lowercase the subject line.
|
||||
# Use the imperative mood in the subject line.
|
||||
# Not end the subject line with a period.
|
||||
# Separate subject from body with a blank line.
|
||||
# Use the body to explain what and why vs. how.
|
||||
# Use multiple lines with "-" for bullet points in body.
|
||||
# --------------------
|
||||
# Usage:
|
||||
#
|
||||
# The template is automatically added to the current repository by
|
||||
# make install-dep.
|
||||
# (git config commit.template .git_commit_template.txt)
|
||||
#
|
||||
# --------------------
|
47
.gitignore
vendored
47
.gitignore
vendored
@ -8,33 +8,33 @@
|
||||
/build-root/dpdk-includes/
|
||||
/build-root/packages-vpp/
|
||||
/build-root/path_setup
|
||||
/build-root/build-config.mk
|
||||
/build-root/deb/debian/vpp-plugins/
|
||||
/build-root/deb/.pybuild/
|
||||
/build-root/*.deb
|
||||
/build-root/*.rpm
|
||||
/build-root/*.tar.xz
|
||||
/build-root/*.changes
|
||||
/build-root/rpmbuild/
|
||||
/build-root/test-doc/
|
||||
/build-root/test-cov/
|
||||
/test/run/
|
||||
/test/build/
|
||||
/test/coverage/
|
||||
/build-root/python/
|
||||
/build-root/vapi_test/
|
||||
/build-config.mk
|
||||
/build/external/*.tar.gz
|
||||
/build/external/*.tar.xz
|
||||
/build/external/vpp-*.deb
|
||||
/build/external/vpp-*.changes
|
||||
/build/external/downloads/
|
||||
/dpdk/*.tar.gz
|
||||
/dpdk/*.tar.xz
|
||||
/dpdk/vpp-dpdk*.deb
|
||||
/dpdk/vpp-dpdk*.changes
|
||||
/path_setup
|
||||
/tools/
|
||||
# start autotools ignore
|
||||
autom4te.cache/
|
||||
config/
|
||||
Makefile
|
||||
Makefile.in
|
||||
aclocal.m4
|
||||
app.info
|
||||
compile
|
||||
config.h
|
||||
config.h.in
|
||||
config.log
|
||||
config.guess
|
||||
config.sub
|
||||
@ -53,7 +53,7 @@ ylwrap
|
||||
test-driver
|
||||
|
||||
*.iml
|
||||
.deps.ok
|
||||
.bootstrap.ok
|
||||
.settings
|
||||
.autotools
|
||||
# stop autotools ignore
|
||||
@ -63,9 +63,7 @@ test-driver
|
||||
.idea/
|
||||
.project
|
||||
.cproject
|
||||
.pydevproject
|
||||
.vscode/
|
||||
cmake-build*/
|
||||
|
||||
# cscope and ctags
|
||||
/cscope.*
|
||||
@ -80,13 +78,6 @@ GTAGS
|
||||
/build-root/docs
|
||||
/build-root/.doxygen-bootstrap.ok
|
||||
/build-root/.doxygen-siphon.dep
|
||||
/docs/_build
|
||||
/sphinx_venv
|
||||
!/docs/Makefile
|
||||
|
||||
# language servers
|
||||
compile_commands.json
|
||||
.clangd
|
||||
|
||||
# indent backup files
|
||||
*.BAK
|
||||
@ -98,17 +89,11 @@ compile_commands.json
|
||||
/src/vpp-api/python/build
|
||||
/src/vpp-api/python/dist
|
||||
/src/vpp-api/python/vpp_papi.egg-info
|
||||
/src/vpp_api/.tox
|
||||
/src/vpp_api/.stestr
|
||||
/src/vpp-api/python/vpp_papi/memclnt.py
|
||||
/src/vpp-api/python/vpp_papi/vpe.py
|
||||
|
||||
# Build files in the test directory
|
||||
/test/*.ok
|
||||
|
||||
# vppctl command list
|
||||
/src/scripts/vppctl-cmd-list
|
||||
|
||||
# No core files
|
||||
**/core
|
||||
|
||||
# extra scripts config
|
||||
/extras/scripts/.config/
|
||||
|
||||
# extras gomemif build files
|
||||
/extras/gomemif/bazel*
|
||||
|
@ -2,4 +2,4 @@
|
||||
host=gerrit.fd.io
|
||||
port=29418
|
||||
project=vpp
|
||||
defaultbranch=stable/2101
|
||||
defaultbranch=stable/1710
|
||||
|
111
INFO.yaml
111
INFO.yaml
@ -1,111 +0,0 @@
|
||||
---
|
||||
project: 'vpp'
|
||||
project_creation_date: '2015-12-08'
|
||||
project_category: ''
|
||||
lifecycle_state: 'Incubation'
|
||||
project_lead: &vpp_ptl
|
||||
name: 'Dave Barach'
|
||||
email: 'openvpp@barachs.net'
|
||||
id: 'dbarach'
|
||||
company: ''
|
||||
timezone: ''
|
||||
primary_contact: *vpp_ptl
|
||||
issue_tracking:
|
||||
type: 'jira'
|
||||
url: 'https://jira.fd.io/projects/vpp'
|
||||
key: 'VPP'
|
||||
mailing_list:
|
||||
type: 'groups.io'
|
||||
url: 'https://lists.fd.io/g/vpp-dev'
|
||||
tag: '<[sub-project_name]>'
|
||||
realtime_discussion:
|
||||
type: 'irc'
|
||||
server: 'freenode.net'
|
||||
channel: 'fdio-vpp'
|
||||
meetings:
|
||||
- type: 'zoom'
|
||||
agenda: 'n/a'
|
||||
url: 'https://wiki.fd.io/view/VPP/Meeting'
|
||||
server: 'n/a'
|
||||
channel: 'fdio-vpp'
|
||||
repeats: 'weekly'
|
||||
time: '08:00 PT'
|
||||
repositories:
|
||||
- 'vpp'
|
||||
committers:
|
||||
- <<: *vpp_ptl
|
||||
- name: 'Dave Barach'
|
||||
company: 'cisco'
|
||||
email: 'openvpp@barachs.net'
|
||||
id: 'dbarach'
|
||||
timezone: ''
|
||||
- name: 'Florin Coras'
|
||||
company: 'cisco'
|
||||
email: 'florin.coras@gmail.com'
|
||||
id: 'florin.coras'
|
||||
timezone: ''
|
||||
- name: 'Benoit Ganne'
|
||||
company: 'cisco'
|
||||
email: 'bganne@cisco.com'
|
||||
id: 'bganne'
|
||||
timezone: ''
|
||||
- name: 'John Lo'
|
||||
company: 'cisco'
|
||||
email: 'loj@cisco.com'
|
||||
id: 'lojohn'
|
||||
timezone: ''
|
||||
- name: 'Chris Luke'
|
||||
company: 'comcast'
|
||||
email: 'chris_luke@comcast.com'
|
||||
id: 'chrisluke'
|
||||
timezone: ''
|
||||
- name: 'Damjan Marion'
|
||||
company: 'cisco'
|
||||
email: 'damarion@cisco.com'
|
||||
id: 'dmarion'
|
||||
timezone: ''
|
||||
- name: 'Neale Ranns'
|
||||
company: 'cisco'
|
||||
email: 'nranns@cisco.com'
|
||||
id: 'nranns'
|
||||
timezone: ''
|
||||
- name: 'Matthew Smith'
|
||||
company: 'netgate'
|
||||
email: 'mgsmith@netgate.com'
|
||||
id: 'mgsmith'
|
||||
timezone: ''
|
||||
- name: 'Ole Trøan'
|
||||
company: 'employees'
|
||||
email: 'otroan@employees.org'
|
||||
id: 'otroan'
|
||||
timezone: ''
|
||||
- name: 'Paul Vinciguerra'
|
||||
company: 'vinciconsulting'
|
||||
email: 'pvinci@vinciconsulting.com'
|
||||
id: 'pvinci'
|
||||
timezone: ''
|
||||
- name: 'Dave Wallace'
|
||||
company: 'gmail'
|
||||
email: 'dwallacelf@gmail.com'
|
||||
id: 'dwallacelf'
|
||||
timezone: ''
|
||||
- name: 'Ed Warnicke'
|
||||
company: 'gmail'
|
||||
email: 'hagbard@gmail.com'
|
||||
id: 'hagbard'
|
||||
timezone: ''
|
||||
- name: 'Andrew Yourtchenko'
|
||||
company: 'cisco'
|
||||
email: 'ayourtch@cisco.com'
|
||||
id: 'ayourtch'
|
||||
timezone: ''
|
||||
tsc:
|
||||
# yamllint disable rule:line-length
|
||||
approval: ''
|
||||
changes:
|
||||
- type: 'removal'
|
||||
name: ''
|
||||
link: ''
|
||||
- type: 'promotion'
|
||||
name: ''
|
||||
link: ''
|
637
MAINTAINERS
637
MAINTAINERS
File diff suppressed because it is too large
Load Diff
50
README.md
50
README.md
@ -24,27 +24,28 @@ Details of the changes leading up to this version of VPP can be found under
|
||||
|
||||
## Directory layout
|
||||
|
||||
| Directory name | Description |
|
||||
| ---------------------- | ------------------------------------------- |
|
||||
| build-data | Build metadata |
|
||||
| build-root | Build output directory |
|
||||
| doxygen | Documentation generator configuration |
|
||||
| dpdk | DPDK patches and build infrastructure |
|
||||
| @ref extras/libmemif | Client library for memif |
|
||||
| @ref src/examples | VPP example code |
|
||||
| @ref src/plugins | VPP bundled plugins directory |
|
||||
| @ref src/svm | Shared virtual memory allocation library |
|
||||
| src/tests | Standalone tests (not part of test harness) |
|
||||
| src/vat | VPP API test program |
|
||||
| @ref src/vlib | VPP application library |
|
||||
| @ref src/vlibapi | VPP API library |
|
||||
| @ref src/vlibmemory | VPP Memory management |
|
||||
| @ref src/vnet | VPP networking |
|
||||
| @ref src/vpp | VPP application |
|
||||
| @ref src/vpp-api | VPP application API bindings |
|
||||
| @ref src/vppinfra | VPP core library |
|
||||
| @ref src/vpp/api | Not-yet-relocated API bindings |
|
||||
| test | Unit tests and Python test harness |
|
||||
Directory name | Description
|
||||
---------------------- | -------------------------------------------
|
||||
build-data | Build metadata
|
||||
build-root | Build output directory
|
||||
doxygen | Documentation generator configuration
|
||||
dpdk | DPDK patches and build infrastructure
|
||||
@ref src | VPP source code
|
||||
@ref src/plugins | VPP bundled plugins directory
|
||||
@ref src/svm | Shared virtual memory allocation library
|
||||
src/tests | Unit tests
|
||||
src/vat | VPP API test program
|
||||
@ref src/vlib | VPP application library
|
||||
@ref src/vlibapi | VPP API library
|
||||
@ref src/vlibmemory | VPP Memory management
|
||||
@ref src/vlibsocket | VPP Socket I/O
|
||||
@ref src/vnet | VPP networking
|
||||
@ref src/vpp | VPP application
|
||||
@ref src/vpp-api | VPP application API bindings
|
||||
@ref src/vppinfra | VPP core library
|
||||
test | Unit tests
|
||||
@ref src/vpp/api | Not-yet-relocated API bindings
|
||||
@ref src/examples | VPP example code
|
||||
|
||||
## Getting started
|
||||
|
||||
@ -94,13 +95,12 @@ for this can be found [on the Setting up Vagrant wiki page]
|
||||
## More information
|
||||
|
||||
Several modules provide documentation, see @subpage user_doc for more
|
||||
end-user-oriented information. Also see @subpage dev_doc for developer notes.
|
||||
information.
|
||||
|
||||
Visit the [VPP wiki](https://wiki.fd.io/view/VPP) for details on more
|
||||
advanced building strategies and other development notes.
|
||||
advanced building strategies and development notes.
|
||||
|
||||
|
||||
## Test Framework
|
||||
|
||||
There is PyDoc generated documentation available for the VPP test framework.
|
||||
See @ref test_framework_doc for details.
|
||||
There is PyDoc generated documentation available for the VPP test framework. See @subpage test_framework_doc for details.
|
||||
|
7262
RELEASE.md
7262
RELEASE.md
File diff suppressed because it is too large
Load Diff
@ -1,12 +0,0 @@
|
||||
# Copyright (c) 2015 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:
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
32
build-data/packages/dpdk.mk
Normal file
32
build-data/packages/dpdk.mk
Normal file
@ -0,0 +1,32 @@
|
||||
|
||||
ifneq (,$(findstring debug,$(TAG)))
|
||||
DPDK_DEBUG=y
|
||||
else
|
||||
DPDK_DEBUG=n
|
||||
endif
|
||||
|
||||
DPDK_MAKE_ARGS = -C $(call find_source_fn,$(PACKAGE_SOURCE)) \
|
||||
DPDK_BUILD_DIR=$(PACKAGE_BUILD_DIR) \
|
||||
DPDK_INSTALL_DIR=$(PACKAGE_INSTALL_DIR) \
|
||||
DPDK_DEBUG=$(DPDK_DEBUG)
|
||||
|
||||
DPDK_MLX5_PMD=$(strip $($(PLATFORM)_uses_dpdk_mlx5_pmd))
|
||||
ifneq ($(DPDK_MLX5_PMD),)
|
||||
DPDK_MAKE_ARGS += DPDK_MLX5_PMD=y
|
||||
endif
|
||||
|
||||
DPDK_PLATFORM_TARGET=$(strip $($(PLATFORM)_dpdk_target))
|
||||
ifneq ($(DPDK_PLATFORM_TARGET),)
|
||||
DPDK_MAKE_ARGS += DPDK_TARGET=$(DPDK_PLATFORM_TARGET)
|
||||
endif
|
||||
|
||||
DPDK_MAKE_EXTRA_ARGS = $(strip $($(PLATFORM)_dpdk_make_extra_args))
|
||||
ifneq ($(DPDK_MAKE_EXTRA_ARGS),)
|
||||
DPDK_MAKE_ARGS += DPDK_MAKE_EXTRA_ARGS="$(DPDK_MAKE_EXTRA_ARGS)"
|
||||
endif
|
||||
|
||||
dpdk_configure = echo
|
||||
|
||||
dpdk_make_args = $(DPDK_MAKE_ARGS) ebuild-build
|
||||
|
||||
dpdk_install = make $(DPDK_MAKE_ARGS) ebuild-install
|
@ -1,60 +0,0 @@
|
||||
# Copyright (c) 2015 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:
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
external_source = build
|
||||
|
||||
ifneq (,$(findstring debug,$(TAG)))
|
||||
DPDK_DEBUG=y
|
||||
else
|
||||
DPDK_DEBUG=n
|
||||
endif
|
||||
|
||||
DPDK_MAKE_ARGS = -C $(call find_source_fn,$(PACKAGE_SOURCE)) \
|
||||
BUILD_DIR=$(PACKAGE_BUILD_DIR) \
|
||||
INSTALL_DIR=$(PACKAGE_INSTALL_DIR) \
|
||||
DPDK_DEBUG=$(DPDK_DEBUG)
|
||||
|
||||
DPDK_MLX5_PMD=$(strip $($(PLATFORM)_uses_dpdk_mlx5_pmd))
|
||||
ifneq ($(DPDK_MLX5_PMD),)
|
||||
DPDK_MAKE_ARGS += DPDK_MLX5_PMD=y
|
||||
endif
|
||||
|
||||
DPDK_MLX_IBVERBS_DLOPEN=$(strip $($(PLATFORM)_uses_dpdk_ibverbs_link_dlopen))
|
||||
ifneq ($(DPDK_MLX_IBVERBS_DLOPEN),)
|
||||
DPDK_MAKE_ARGS += DPDK_MLX_IBVERBS_DLOPEN=y
|
||||
endif
|
||||
|
||||
DPDK_MLX4_PMD=$(strip $($(PLATFORM)_uses_dpdk_mlx4_pmd))
|
||||
ifneq ($(DPDK_MLX4_PMD),)
|
||||
DPDK_MAKE_ARGS += DPDK_MLX4_PMD=y
|
||||
endif
|
||||
|
||||
DPDK_PLATFORM_TARGET=$(strip $($(PLATFORM)_dpdk_target))
|
||||
ifneq ($(DPDK_PLATFORM_TARGET),)
|
||||
DPDK_MAKE_ARGS += DPDK_TARGET=$(DPDK_PLATFORM_TARGET)
|
||||
endif
|
||||
|
||||
ifneq (,$(TARGET_PLATFORM))
|
||||
DPDK_MAKE_ARGS += DPDK_AARCH64_GENERIC=n
|
||||
endif
|
||||
|
||||
DPDK_MAKE_EXTRA_ARGS = $(strip $($(PLATFORM)_dpdk_make_extra_args))
|
||||
ifneq ($(DPDK_MAKE_EXTRA_ARGS),)
|
||||
DPDK_MAKE_ARGS += DPDK_MAKE_EXTRA_ARGS="$(DPDK_MAKE_EXTRA_ARGS)"
|
||||
endif
|
||||
|
||||
external_configure = echo
|
||||
|
||||
external_build = echo
|
||||
|
||||
external_install = make $(DPDK_MAKE_ARGS) -C external ebuild-build ebuild-install
|
@ -1 +0,0 @@
|
||||
# empty file
|
3
build-data/packages/g2.mk
Normal file
3
build-data/packages/g2.mk
Normal file
@ -0,0 +1,3 @@
|
||||
g2_source = src
|
||||
|
||||
g2_configure_args = --disable-vlib --disable-svm --enable-g2
|
@ -1,16 +1,3 @@
|
||||
# Copyright (c) 2015 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:
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
gmod_configure_depend = vpp-install
|
||||
|
||||
gmod_configure_args = --libdir=$(PACKAGE_INSTALL_DIR)/$(arch_lib_dir)/ganglia
|
||||
|
@ -1,40 +0,0 @@
|
||||
# Copyright (c) 2017-2018 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:
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
libmemif_source = extras
|
||||
libmemif_configure_subdir = libmemif
|
||||
|
||||
ifneq ($(shell which cmake3),)
|
||||
CMAKE?=cmake3
|
||||
else
|
||||
CMAKE?=cmake
|
||||
endif
|
||||
|
||||
libmemif_cmake_args ?=
|
||||
libmemif_cmake_args += -DCMAKE_INSTALL_PREFIX:PATH=$(PACKAGE_INSTALL_DIR)
|
||||
libmemif_cmake_args += -DCMAKE_C_FLAGS="$($(TAG)_TAG_CFLAGS)"
|
||||
libmemif_cmake_args += -DCMAKE_SHARED_LINKER_FLAGS="$($(TAG)_TAG_LDFLAGS)"
|
||||
libmemif_cmake_args += -DCMAKE_PREFIX_PATH:PATH="$(PACKAGE_INSTALL_DIR)/../vpp"
|
||||
|
||||
# Use devtoolset on centos 7
|
||||
ifneq ($(wildcard /opt/rh/devtoolset-9/enable),)
|
||||
libmemif_cmake_args += -DCMAKE_PROGRAM_PATH:PATH="/opt/rh/devtoolset-9/root/bin"
|
||||
endif
|
||||
|
||||
libmemif_configure = \
|
||||
cd $(PACKAGE_BUILD_DIR) && \
|
||||
$(CMAKE) -G Ninja $(libmemif_cmake_args) $(call find_source_fn,$(PACKAGE_SOURCE))$(PACKAGE_SUBDIR)
|
||||
|
||||
libmemif_build = $(CMAKE) --build $(PACKAGE_BUILD_DIR) -- $(MAKE_PARALLEL_FLAGS)
|
||||
|
||||
libmemif_install = $(CMAKE) --build $(PACKAGE_BUILD_DIR) -- install
|
4
build-data/packages/perftool.mk
Normal file
4
build-data/packages/perftool.mk
Normal file
@ -0,0 +1,4 @@
|
||||
perftool_source = src
|
||||
|
||||
perftool_configure_args = --disable-vlib --disable-svm --enable-perftool
|
||||
|
@ -1,45 +1,5 @@
|
||||
# Copyright (c) 2015 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:
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
sample-plugin_source = src
|
||||
sample-plugin_configure_subdir = examples/sample-plugin
|
||||
sample-plugin_configure_depend = vpp-install
|
||||
sample-plugin_CPPFLAGS = $(call installed_includes_fn, vpp)
|
||||
sample-plugin_LDFLAGS = $(call installed_libs_fn, vpp)
|
||||
sample-plugin_PATH = $(call package_install_dir_fn,vpp)/bin
|
||||
|
||||
ifneq ($(shell which cmake3),)
|
||||
CMAKE?=cmake3
|
||||
else
|
||||
CMAKE?=cmake
|
||||
endif
|
||||
|
||||
sample-plugin_cmake_args ?=
|
||||
sample-plugin_cmake_args += -DCMAKE_INSTALL_PREFIX:PATH=$(PACKAGE_INSTALL_DIR)
|
||||
sample-plugin_cmake_args += -DCMAKE_C_FLAGS="$($(TAG)_TAG_CFLAGS)"
|
||||
sample-plugin_cmake_args += -DCMAKE_SHARED_LINKER_FLAGS="$($(TAG)_TAG_LDFLAGS)"
|
||||
sample-plugin_cmake_args += -DCMAKE_PREFIX_PATH:PATH="$(PACKAGE_INSTALL_DIR)/../vpp"
|
||||
|
||||
# Use devtoolset on centos 7
|
||||
ifneq ($(wildcard /opt/rh/devtoolset-9/enable),)
|
||||
sample-plugin_cmake_args += -DCMAKE_PROGRAM_PATH:PATH="/opt/rh/devtoolset-9/root/bin"
|
||||
endif
|
||||
|
||||
sample-plugin_configure = \
|
||||
cd $(PACKAGE_BUILD_DIR) && \
|
||||
$(CMAKE) -G Ninja $(sample-plugin_cmake_args) \
|
||||
$(call find_source_fn,$(PACKAGE_SOURCE))$(PACKAGE_SUBDIR)
|
||||
|
||||
sample-plugin_build = $(CMAKE) --build $(PACKAGE_BUILD_DIR) -- $(MAKE_PARALLEL_FLAGS)
|
||||
|
||||
sample-plugin_install = $(CMAKE) --build $(PACKAGE_BUILD_DIR) -- install
|
||||
|
@ -1,12 +0,0 @@
|
||||
# Copyright (c) 2015 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:
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
1
build-data/packages/vpp-platform-scripts.mk
Normal file
1
build-data/packages/vpp-platform-scripts.mk
Normal file
@ -0,0 +1 @@
|
||||
#
|
@ -1,61 +1,35 @@
|
||||
# Copyright (c) 2015 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:
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
vpp_source = src
|
||||
|
||||
ifneq ($(shell which cmake3),)
|
||||
CMAKE?=cmake3
|
||||
ifeq ($($(PLATFORM)_dpdk_shared_lib),yes)
|
||||
vpp_configure_args = --enable-dpdk-shared
|
||||
else
|
||||
CMAKE?=cmake
|
||||
vpp_configure_args =
|
||||
endif
|
||||
|
||||
vpp_cmake_prefix_path = /opt/vpp/external/$(shell uname -m)
|
||||
vpp_cmake_prefix_path += $(PACKAGE_INSTALL_DIR)external
|
||||
vpp_cmake_prefix_path := $(subst $() $(),;,$(vpp_cmake_prefix_path))
|
||||
# Platform dependent configure flags
|
||||
vpp_configure_args += $(vpp_configure_args_$(PLATFORM))
|
||||
|
||||
vpp_cmake_args ?=
|
||||
vpp_cmake_args += -DCMAKE_INSTALL_PREFIX:PATH=$(PACKAGE_INSTALL_DIR)
|
||||
vpp_cmake_args += -DCMAKE_BUILD_TYPE="$($(TAG)_TAG_BUILD_TYPE)"
|
||||
vpp_cmake_args += -DCMAKE_PREFIX_PATH:PATH="$(vpp_cmake_prefix_path)"
|
||||
ifeq ("$(V)","1")
|
||||
vpp_cmake_args += -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
|
||||
|
||||
vpp_CPPFLAGS =
|
||||
vpp_LDFLAGS =
|
||||
|
||||
ifneq ($($(PLATFORM)_uses_dpdk),no)
|
||||
ifeq ($($(PLATFORM)_uses_external_dpdk),yes)
|
||||
vpp_CPPFLAGS += -I$($(PLATFORM)_dpdk_inc_dir)
|
||||
vpp_LDFLAGS += -L$($(PLATFORM)_dpdk_lib_dir)
|
||||
else
|
||||
vpp_configure_depend += dpdk-install
|
||||
vpp_CPPFLAGS += $(call installed_includes_fn, dpdk)/dpdk
|
||||
vpp_LDFLAGS += $(call installed_libs_fn, dpdk)
|
||||
vpp_CPPFLAGS += -I/usr/include/dpdk
|
||||
endif
|
||||
ifeq (,$(TARGET_PLATFORM))
|
||||
ifeq ($(MACHINE),aarch64)
|
||||
vpp_cmake_args += -DVPP_LOG2_CACHE_LINE_SIZE=7
|
||||
ifeq ($($(PLATFORM)_uses_dpdk_mlx5_pmd),yes)
|
||||
vpp_configure_args += --with-dpdk-mlx5-pmd
|
||||
endif
|
||||
else
|
||||
vpp_configure_args += --disable-dpdk-plugin
|
||||
endif
|
||||
|
||||
# Use devtoolset on centos 7
|
||||
ifneq ($(wildcard /opt/rh/devtoolset-9/enable),)
|
||||
vpp_cmake_args += -DCMAKE_PROGRAM_PATH:PATH="/opt/rh/devtoolset-9/root/bin"
|
||||
ifeq ($($(PLATFORM)_enable_tests),yes)
|
||||
vpp_configure_args += --enable-tests
|
||||
endif
|
||||
|
||||
ifneq ($(VPP_EXTRA_CMAKE_ARGS),)
|
||||
vpp_cmake_args += $(VPP_EXTRA_CMAKE_ARGS)
|
||||
endif
|
||||
|
||||
vpp_configure_depend += external-install
|
||||
vpp_configure = \
|
||||
cd $(PACKAGE_BUILD_DIR) && \
|
||||
$(CMAKE) -G Ninja $(vpp_cmake_args) $(call find_source_fn,$(PACKAGE_SOURCE))
|
||||
#vpp_make_args = --no-print-directory
|
||||
vpp_build = $(CMAKE) --build $(PACKAGE_BUILD_DIR) -- $(MAKE_PARALLEL_FLAGS)
|
||||
vpp_install = $(CMAKE) --build $(PACKAGE_BUILD_DIR) -- install | grep -v 'Set runtime path'
|
||||
|
||||
vpp-package-deb: vpp-install
|
||||
@$(CMAKE) --build $(PACKAGE_BUILD_DIR)/vpp -- package-deb
|
||||
@find $(PACKAGE_BUILD_DIR) \
|
||||
-maxdepth 1 \
|
||||
\( -name '*.changes' -o -name '*.deb' -o -name '*.buildinfo' \) \
|
||||
-exec mv {} $(CURDIR) \;
|
||||
|
@ -15,3 +15,82 @@
|
||||
$(foreach d,$(SOURCE_PATH_BUILD_DATA_DIRS), \
|
||||
$(eval -include $(d)/platforms/*.mk))
|
||||
|
||||
.PHONY: install-deb
|
||||
install-deb: $(patsubst %,%-find-source,$(ROOT_PACKAGES))
|
||||
@$(BUILD_ENV) ; \
|
||||
set -eu$(BUILD_DEBUG) ; \
|
||||
$(MAKE) -C $(MU_BUILD_ROOT_DIR) \
|
||||
$(patsubst %,%-install, \
|
||||
$(ROOT_PACKAGES)) || exit 1; \
|
||||
\
|
||||
: generate file manifests ; \
|
||||
find $(INSTALL_PREFIX)$(ARCH)/*/bin -type f -print \
|
||||
| sed -e 's:.*:../& /usr/bin:' | grep -v vppapigen \
|
||||
> deb/debian/vpp.install ; \
|
||||
\
|
||||
: core api definitions ; \
|
||||
./scripts/find-api-core-contents $(INSTALL_PREFIX)$(ARCH) \
|
||||
deb/debian/vpp.install ; \
|
||||
\
|
||||
: need symbolic links in the lib pkg ; \
|
||||
find $(INSTALL_PREFIX)$(ARCH)/*/lib* \( -type f -o -type l \) \
|
||||
-print | egrep -e '*\.so\.*\.*\.*' \
|
||||
| grep -v plugins\/ \
|
||||
| sed -e 's:.*:../& /usr/lib/x86_64-linux-gnu:' \
|
||||
> deb/debian/vpp-lib.install ; \
|
||||
\
|
||||
: vnet api definitions ; \
|
||||
./scripts/find-api-lib-contents $(INSTALL_PREFIX)$(ARCH) \
|
||||
deb/debian/vpp-lib.install ; \
|
||||
\
|
||||
: dev package ; \
|
||||
./scripts/find-dev-contents $(INSTALL_PREFIX)$(ARCH) \
|
||||
deb/debian/vpp-dev.install ; \
|
||||
\
|
||||
: plugins package ; \
|
||||
./scripts/find-plugins-contents $(INSTALL_PREFIX)$(ARCH) \
|
||||
deb/debian/vpp-plugins.install ; \
|
||||
\
|
||||
: vpp-api-lua package ; \
|
||||
./scripts/find-vpp-api-lua-contents $(INSTALL_PREFIX)$(ARCH) \
|
||||
deb/debian/vpp-api-lua.install ; \
|
||||
\
|
||||
: vpp-api-java package ; \
|
||||
./scripts/find-vpp-api-java-contents $(INSTALL_PREFIX)$(ARCH) \
|
||||
deb/debian/vpp-api-java.install ; \
|
||||
\
|
||||
: bin package needs startup config ; \
|
||||
echo ../../src/vpp/conf/startup.conf /etc/vpp \
|
||||
>> deb/debian/vpp.install ; \
|
||||
\
|
||||
: and sysctl config ; \
|
||||
echo ../../src/vpp/conf/80-vpp.conf /etc/sysctl.d \
|
||||
>> deb/debian/vpp.install ; \
|
||||
\
|
||||
: bash completion for vppctl ; \
|
||||
echo ../../src/scripts/vppctl_completion /etc/bash_completion.d \
|
||||
>> deb/debian/vpp.install ; \
|
||||
\
|
||||
: move dictionary of vppctl commands ; \
|
||||
echo ../../src/scripts/vppctl-cmd-list /usr/share/vpp \
|
||||
>> deb/debian/vpp.install ; \
|
||||
\
|
||||
: dev package needs a couple of additions ; \
|
||||
echo ../$(INSTALL_PREFIX)$(ARCH)/vpp/bin/vppapigen /usr/bin \
|
||||
>> deb/debian/vpp-dev.install ; \
|
||||
echo ../../src/vpp-api/java/jvpp/gen/jvpp_gen.py /usr/bin \
|
||||
>> deb/debian/vpp-dev.install ; \
|
||||
for i in $$(ls ../src/vpp-api/java/jvpp/gen/jvppgen/*.py); do \
|
||||
echo ../$${i} /usr/lib/python2.7/dist-packages/jvppgen \
|
||||
>> deb/debian/vpp-dev.install; \
|
||||
done; \
|
||||
\
|
||||
: generate changelog; \
|
||||
./scripts/generate-deb-changelog \
|
||||
\
|
||||
: Go fabricate the actual Debian packages ; \
|
||||
( \
|
||||
cd deb && \
|
||||
dpkg-buildpackage -us -uc -b \
|
||||
)
|
||||
|
||||
|
@ -19,7 +19,7 @@ arm32_uses_dpdk = yes
|
||||
arm32_uses_openssl = no
|
||||
|
||||
arm32_root_packages = vpp vlib vlib-api vnet svm vpp-api-test \
|
||||
gmod
|
||||
jvpp gmod
|
||||
|
||||
vlib_configure_args_arm32 = --with-pre-data=128
|
||||
vnet_configure_args_arm32 = --with-dpdk --without-libssl
|
||||
|
@ -1,87 +0,0 @@
|
||||
# Copyright 2018 NXP
|
||||
# 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:
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Configuration for NXP DPAA1/DPAA2 ARM64 based platform
|
||||
MACHINE=$(shell uname -m)
|
||||
|
||||
dpaa_mtune = cortex-A72
|
||||
dpaa_march = "armv8-a+fp+simd+crc+crypto"
|
||||
|
||||
ifeq ($(MACHINE),aarch64)
|
||||
dpaa_arch = native
|
||||
else
|
||||
dpaa_arch = aarch64
|
||||
dpaa_os = linux-gnu
|
||||
dpaa_target = aarch64-fsl-linux
|
||||
dpaa_cross_ldflags = \
|
||||
-Wl,--dynamic-linker=/lib/ld-linux-aarch64.so.1 \
|
||||
-Wl,-rpath=/usr/lib64 \
|
||||
-Wl,-rpath=./.libs \
|
||||
-Wl,-rpath=$(OPENSSL_PATH)/lib
|
||||
endif
|
||||
|
||||
# Re-write Default configuration, if requied
|
||||
ifneq ($(CROSS_PREFIX),)
|
||||
# like: aarch64-linux-gnu
|
||||
dpaa_target = $(CROSS_PREFIX)
|
||||
endif
|
||||
|
||||
ifneq ($(CPU_MTUNE),)
|
||||
# like: cortex-A53
|
||||
dpaa_mtune = $(CPU_MTUNE)
|
||||
endif
|
||||
|
||||
dpaa_native_tools = vppapigen
|
||||
dpaa_root_packages = vpp
|
||||
|
||||
# DPDK configuration parameters
|
||||
dpaa_uses_dpdk = yes
|
||||
|
||||
# Compile with external DPDK only if "DPDK_PATH" variable is defined where we have
|
||||
# installed DPDK libraries and headers.
|
||||
ifeq ($(PLATFORM),dpaa)
|
||||
ifneq ($(DPDK_PATH),)
|
||||
#dpaa_dpdk_shared_lib = yes
|
||||
dpaa_uses_external_dpdk = yes
|
||||
dpaa_dpdk_inc_dir = $(DPDK_PATH)/include/dpdk
|
||||
dpaa_dpdk_lib_dir = $(DPDK_PATH)/lib
|
||||
else
|
||||
# compile using internal DPDK + NXP DPAA2 Driver patch
|
||||
dpaa_dpdk_arch = "armv8a"
|
||||
dpaa_dpdk_target = "arm64-dpaa-linuxapp-gcc"
|
||||
dpaa_dpdk_make_extra_args = "CONFIG_RTE_KNI_KMOD=n"
|
||||
endif
|
||||
endif
|
||||
|
||||
# Disable the unused plugins in order to decrease the VPP pacakage size.
|
||||
vpp_configure_args_dpaa = --without-ipv6sr --with-pre-data=128 --without-libnuma
|
||||
|
||||
# Other optional vpp_configure_args
|
||||
ifneq ($(VPP_CFG_ARGS),)
|
||||
vpp_configure_args_dpaa += $(VPP_CFG_ARGS)
|
||||
endif
|
||||
|
||||
|
||||
dpaa_debug_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -fPIC -fstack-protector-all -DFORTIFY_SOURCE=2 -mtls-dialect=trad \
|
||||
-march=$(MARCH) -Werror -DCLIB_LOG2_CACHE_LINE_BYTES=6 -I$(OPENSSL_PATH)/include
|
||||
dpaa_debug_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -fstack-protector-all -DFORTIFY_SOURCE=2 \
|
||||
-march=$(MARCH) -Werror -DCLIB_LOG2_CACHE_LINE_BYTES=6 -L$(OPENSSL_PATH)/lib
|
||||
|
||||
|
||||
# Use -rdynamic is for stack tracing, O0 for debugging....default is O2
|
||||
# Use -DCLIB_LOG2_CACHE_LINE_BYTES to change cache line size
|
||||
dpaa_TAG_CFLAGS = -g -Ofast -fPIC -march=$(MARCH) -mcpu=$(dpaa_mtune) -mtls-dialect=trad \
|
||||
-mtune=$(dpaa_mtune) -funroll-all-loops -DCLIB_LOG2_CACHE_LINE_BYTES=6 -I$(OPENSSL_PATH)/include
|
||||
dpaa_TAG_LDFLAGS = -g -Ofast -fPIC -march=$(MARCH) -mcpu=$(dpaa_mtune) \
|
||||
-mtune=$(dpaa_mtune) -funroll-all-loops -DCLIB_LOG2_CACHE_LINE_BYTES=6 -L$(OPENSSL_PATH)/lib
|
||||
|
66
build-data/platforms/dpaa2.mk
Normal file
66
build-data/platforms/dpaa2.mk
Normal file
@ -0,0 +1,66 @@
|
||||
# Copyright (c) 2016 Freescale Semiconductor, Inc. All rights reserved.
|
||||
# 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:
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Configuration for NXP DPAA2 ARM64 based platform
|
||||
dpaa2_arch = aarch64
|
||||
dpaa2_os = linux-gnu
|
||||
dpaa2_target = aarch64-linux-gnu
|
||||
dpaa2_mtune = cortex-A57
|
||||
dpaa2_march = "armv8-a+fp+simd+crc+crypto"
|
||||
dpaa2_cross_ldflags = \
|
||||
-Wl,--dynamic-linker=/lib/ld-linux-aarch64.so.1 \
|
||||
-Wl,-rpath=/usr/lib64
|
||||
|
||||
dpaa2_native_tools = vppapigen
|
||||
dpaa2_root_packages = vpp vlib vlib-api vnet svm vpp-api-test
|
||||
|
||||
# DPDK configuration parameters
|
||||
dpaa2_uses_dpdk = yes
|
||||
# Compile with external DPDK only if "DPDK_PATH" variable is defined where we have
|
||||
# installed DPDK libraries and headers.
|
||||
ifeq ($(PLATFORM),dpaa2)
|
||||
ifneq ($(DPDK_PATH),)
|
||||
dpaa2_uses_dpdk = yes
|
||||
dpaa2_uses_external_dpdk = yes
|
||||
dpaa2_dpdk_inc_dir = $(DPDK_PATH)/include/dpdk
|
||||
dpaa2_dpdk_lib_dir = $(DPDK_PATH)/lib
|
||||
else
|
||||
# compile using internal DPDK + NXP DPAA2 Driver patch
|
||||
dpaa2_dpdk_arch = "armv8a"
|
||||
dpaa2_dpdk_target = "arm64-dpaa2-linuxapp-gcc"
|
||||
dpaa2_dpdk_make_extra_args = "CROSS=$(dpaa2_target)- DPDK_PKTMBUF_HEADROOM=256"
|
||||
endif
|
||||
endif
|
||||
|
||||
vpp_configure_args_dpaa2 = --with-dpdk --without-libssl \
|
||||
--with-sysroot=$(SYSROOT)
|
||||
vnet_configure_args_dpaa2 = --with-dpdk --without-libssl \
|
||||
--with-sysroot=$(SYSROOT)
|
||||
|
||||
# Set these parameters carefully. The vlib_buffer_t is 256 bytes, i.e.
|
||||
vlib_configure_args_dpaa2 = --with-pre-data=256
|
||||
|
||||
|
||||
dpaa2_debug_TAG_CFLAGS = -g -O2 -DCLIB_DEBUG -fPIC -fstack-protector-all \
|
||||
-march=$(MARCH) -Werror -DCLIB_LOG2_CACHE_LINE_BYTES=6
|
||||
dpaa2_debug_TAG_LDFLAGS = -g -O2 -DCLIB_DEBUG -fstack-protector-all \
|
||||
-march=$(MARCH) -Werror -DCLIB_LOG2_CACHE_LINE_BYTES=6
|
||||
|
||||
# Use -rdynamic is for stack tracing, O0 for debugging....default is O2
|
||||
# Use -DCLIB_LOG2_CACHE_LINE_BYTES to change cache line size
|
||||
dpaa2_TAG_CFLAGS = -g -O2 -fPIC -march=$(MARCH) -mcpu=$(dpaa2_mtune) \
|
||||
-mtune=$(dpaa2_mtune) -funroll-all-loops -Werror -DCLIB_LOG2_CACHE_LINE_BYTES=6
|
||||
dpaa2_TAG_LDFLAGS = -g -O2 -fPIC -march=$(MARCH) -mcpu=$(dpaa2_mtune) \
|
||||
-mtune=$(dpaa2_mtune) -funroll-all-loops -Werror -DCLIB_LOG2_CACHE_LINE_BYTES=6
|
||||
|
||||
|
@ -1,16 +1,3 @@
|
||||
# Copyright (c) 2015 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:
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Qemu "p-series" powerpc64
|
||||
|
||||
qppc_os = linux-gnu
|
||||
|
@ -16,14 +16,62 @@
|
||||
MACHINE=$(shell uname -m)
|
||||
|
||||
vpp_arch = native
|
||||
ifeq ($(MACHINE),$(filter $(MACHINE),x86_64 i686))
|
||||
vpp_march = corei7 # Nehalem Instruction set
|
||||
vpp_mtune = corei7-avx # Optimize for Sandy Bridge
|
||||
else ifeq ($(MACHINE),aarch64)
|
||||
ifeq ($(TARGET_PLATFORM),thunderx)
|
||||
vpp_march = armv8-a+crc
|
||||
vpp_mtune = thunderx
|
||||
vpp_dpdk_target = arm64-thunderx-linuxapp-gcc
|
||||
else
|
||||
vpp_march = native
|
||||
vpp_mtune = generic
|
||||
endif
|
||||
endif
|
||||
vpp_native_tools = vppapigen
|
||||
|
||||
vpp_uses_dpdk = yes
|
||||
|
||||
# Uncoment to enable building unit tests
|
||||
# vpp_enable_tests = yes
|
||||
|
||||
vpp_root_packages = vpp
|
||||
|
||||
vpp_debug_TAG_BUILD_TYPE = debug
|
||||
vpp_TAG_BUILD_TYPE = release
|
||||
vpp_clang_TAG_BUILD_TYPE = release
|
||||
vpp_gcov_TAG_BUILD_TYPE = gcov
|
||||
vpp_coverity_TAG_BUILD_TYPE = coverity
|
||||
# DPDK configuration parameters
|
||||
# vpp_uses_dpdk_mlx5_pmd = yes
|
||||
# vpp_uses_external_dpdk = yes
|
||||
# vpp_dpdk_inc_dir = /usr/include/dpdk
|
||||
# vpp_dpdk_lib_dir = /usr/lib
|
||||
# vpp_dpdk_shared_lib = yes
|
||||
|
||||
# load balancer plugin is not portable on 32 bit platform
|
||||
ifeq ($(MACHINE),i686)
|
||||
vpp_configure_args_vpp = --disable-lb-plugin
|
||||
endif
|
||||
|
||||
vpp_debug_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -march=$(MARCH) \
|
||||
-fstack-protector-all -fPIC -Werror
|
||||
vpp_debug_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -march=$(MARCH) \
|
||||
-fstack-protector-all -fPIC -Werror
|
||||
|
||||
vpp_TAG_CFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \
|
||||
-fstack-protector -fPIC -Werror
|
||||
vpp_TAG_LDFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \
|
||||
-fstack-protector -fPIC -Werror
|
||||
|
||||
vpp_clang_TAG_CFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \
|
||||
-fstack-protector -fPIC -Werror
|
||||
vpp_clang_TAG_LDFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \
|
||||
-fstack-protector -fPIC -Werror
|
||||
|
||||
vpp_gcov_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -march=$(MARCH) \
|
||||
-fPIC -Werror -fprofile-arcs -ftest-coverage
|
||||
vpp_gcov_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -march=$(MARCH) \
|
||||
-fPIC -Werror -coverage
|
||||
|
||||
vpp_coverity_TAG_CFLAGS = -g -O2 -march=$(MARCH) -mtune=$(MTUNE) \
|
||||
-fPIC -Werror -D__COVERITY__
|
||||
vpp_coverity_TAG_LDFLAGS = -g -O2 -march=$(MARCH) -mtune=$(MTUNE) \
|
||||
-fPIC -Werror -D__COVERITY__
|
||||
|
||||
|
@ -190,7 +190,7 @@ ARCH_TARGET_tmp = $(call ifdef_fn,$(ARCH)_target,$(ARCH)-$(OS))
|
||||
TARGET = $(call ifdef_fn,$(PLATFORM)_target,$(ARCH_TARGET_tmp))
|
||||
TARGET_PREFIX = $(if $(not_native),$(TARGET)-,)
|
||||
|
||||
# CPU microarchitecture detection.
|
||||
# CPU microarchitecture detection.
|
||||
# Either set <platform>_march in build-data/platforms/<platform>.mk,
|
||||
# or detect and use the build-host instruction set
|
||||
|
||||
@ -236,7 +236,7 @@ PACKAGE = $*
|
||||
# Build/install tags. This lets you have different CFLAGS/CPPFLAGS/LDFLAGS
|
||||
# for e.g. debug versus optimized compiles. Each tag has its own set of build/install
|
||||
# areas.
|
||||
TAG =
|
||||
TAG =
|
||||
TAG_PREFIX = $(if $(TAG),$(TAG)-)
|
||||
|
||||
# yes you need the space
|
||||
@ -245,8 +245,6 @@ tag_var_with_added_space_fn = $(if $($(TAG)_TAG_$(1)),$($(TAG)_TAG_$(1)) )
|
||||
# TAG=debug for debugging
|
||||
debug_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -march=$(MARCH) \
|
||||
-fstack-protector-all -fPIC
|
||||
debug_TAG_CXXFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -march=$(MARCH) \
|
||||
-fstack-protector-all -fPIC
|
||||
debug_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -march=$(MARCH) \
|
||||
-fstack-protector-all -fPIC
|
||||
|
||||
@ -260,7 +258,13 @@ tool_or_package_fn = $(if $(is_build_tool),tool,package)
|
||||
|
||||
# Directory where packages are built & installed
|
||||
BUILD_DIR = $(MU_BUILD_ROOT_DIR)/$(BUILD_PREFIX_$(call tool_or_package_fn))$(ARCH)
|
||||
|
||||
## BURT
|
||||
# we will deprecate INSTALL_DIR shortly for DFLT_INSTALL_DIR
|
||||
INSTALL_DIR = $(MU_BUILD_ROOT_DIR)/$(INSTALL_PREFIX)$(ARCH)
|
||||
# DFLT_INSTALL_DIR used in platforms.mk for $(PLATFORM)_DESTDIR_BASE
|
||||
DFLT_INSTALL_DIR := $(MU_BUILD_ROOT_DIR)/$(INSTALL_PREFIX)$(ARCH)
|
||||
## BURT
|
||||
|
||||
PLATFORM_IMAGE_DIR = $(MU_BUILD_ROOT_DIR)/$(IMAGES_PREFIX)$(PLATFORM)
|
||||
|
||||
@ -309,18 +313,12 @@ endif
|
||||
|
||||
# Always prefer our own tools to those installed on system.
|
||||
# Note: ccache-bin must be before tool bin.
|
||||
#
|
||||
# Removed LD_LIBRARY_PATH from BUILD_ENV (drb, 10/31/17):
|
||||
# export LD_LIBRARY_PATH=$(TOOL_INSTALL_DIR)/lib64:$(TOOL_INSTALL_DIR)/lib
|
||||
# Reported to cause trouble. Only of historical interest, since we no longer
|
||||
# build a full tool chain from source.
|
||||
|
||||
BUILD_ENV = \
|
||||
export CCACHE_DIR=$(CCACHE_DIR) ; \
|
||||
export PATH=$(wildcard /usr/lib*/ccache):$(TOOL_INSTALL_DIR)/bin:$${PATH} ; \
|
||||
$(if $(call configure_var_fn,PATH), export PATH=$${PATH}:$(call configure_var_fn,PATH);,) \
|
||||
export PATH=$(TOOL_INSTALL_DIR)/ccache-bin:$(TOOL_INSTALL_DIR)/bin:$${PATH} ; \
|
||||
export PATH="`echo $${PATH} | sed -e s/[.]://`" ; \
|
||||
$(if $(not_native),export CONFIG_SITE=$(MU_BUILD_ROOT_DIR)/config.site ;,) \
|
||||
export LD_LIBRARY_PATH=$(TOOL_INSTALL_DIR)/lib64:$(TOOL_INSTALL_DIR)/lib ; \
|
||||
set -eu$(BUILD_DEBUG) ; \
|
||||
set -o pipefail
|
||||
|
||||
@ -333,6 +331,16 @@ package_dir_fn = \
|
||||
|
||||
package_mk_fn = $(call package_dir_fn,$(1))/$(1).mk
|
||||
|
||||
### BURT
|
||||
|
||||
#next version
|
||||
#pkgPhaseDependMacro = $(foreach x,configure build install, \
|
||||
$(eval $(1)_$(x)_depend := $($(1)_depend:%=%-$(x))))
|
||||
#version equivalent to original code
|
||||
pkgPhaseDependMacro = $(eval $(1)_configure_depend := $($(1)_depend:%=%-install))
|
||||
|
||||
### BURT
|
||||
|
||||
# Pick up built-root/pre-package-include.mk for all source directories
|
||||
$(foreach d,$(SOURCE_PATH_BUILD_ROOT_DIRS), \
|
||||
$(eval -include $(d)/pre-package-include.mk))
|
||||
@ -368,7 +376,7 @@ CROSS_TOOLS_$(IS_LINUX) += glibc gcc
|
||||
NATIVE_TOOLS = findutils make
|
||||
|
||||
# basic tools needed for build system
|
||||
NATIVE_TOOLS += git automake autoconf libtool texinfo tar
|
||||
NATIVE_TOOLS += git automake autoconf libtool texinfo bison flex tar
|
||||
|
||||
# needed to compile gcc
|
||||
NATIVE_TOOLS += mpfr gmp mpc
|
||||
@ -540,8 +548,6 @@ configure_ldflags_fn = \
|
||||
CONFIGURE_ENV = \
|
||||
$(if $(call configure_var_fn,CPPFLAGS), \
|
||||
CPPFLAGS="$(CPPFLAGS) $(call configure_var_fn,CPPFLAGS)") \
|
||||
$(if $(call configure_var_fn,CXXFLAGS), \
|
||||
CXXFLAGS="$(CXXFLAGS) $(call configure_var_fn,CXXFLAGS)") \
|
||||
$(if $(call configure_var_fn,CFLAGS), \
|
||||
CFLAGS="$(CFLAGS) $(call configure_var_fn,CFLAGS)") \
|
||||
$(if $(call configure_var_fn,CCASFLAGS), \
|
||||
@ -550,6 +556,7 @@ CONFIGURE_ENV = \
|
||||
LDFLAGS="$(LDFLAGS) $(call configure_ldflags_fn)") \
|
||||
$(if $($(PACKAGE)_configure_env),$($(PACKAGE)_configure_env))
|
||||
|
||||
### BURT
|
||||
# only partially used now (used in a few .mk files)
|
||||
ifeq ($(is_build_tool),yes)
|
||||
prefix = $(PACKAGE_INSTALL_DIR)
|
||||
@ -567,6 +574,10 @@ libexecdir = $($(PLATFORM)_LIBEXECDIR)
|
||||
destdirMacro = $($(PLATFORM)_DESTDIR_BASE)$(ppdMacro)
|
||||
DESTDIR = $(call destdirMacro,$(PACKAGE))
|
||||
endif
|
||||
### BURT
|
||||
### dbarach
|
||||
image_extra_dependencies = $($(PLATFORM)_image_extra_dependencies)
|
||||
### dbarach
|
||||
|
||||
configure_package_gnu = \
|
||||
s=$(call find_source_fn,$(PACKAGE_SOURCE))$(PACKAGE_SUBDIR) ; \
|
||||
@ -617,7 +628,7 @@ check_platform = \
|
||||
try make PLATFORM=$(PLATFORM) install-tools) ; \
|
||||
exit 1 ; \
|
||||
fi
|
||||
|
||||
|
||||
configure_check_timestamp = \
|
||||
@$(BUILD_ENV) ; \
|
||||
$(check_platform) ; \
|
||||
@ -625,10 +636,6 @@ configure_check_timestamp = \
|
||||
mkdir -p $(PACKAGE_INSTALL_DIR) ; \
|
||||
conf="$(TIMESTAMP_DIR)/$(CONFIGURE_TIMESTAMP)" ; \
|
||||
dirs="$(call package_mk_fn,$(PACKAGE)) \
|
||||
$(SOURCE_PATH_BUILD_DATA_DIRS)/platforms/$(PLATFORM).mk \
|
||||
$(wildcard $(call find_source_fn,$(PACKAGE_SOURCE))/cmake) \
|
||||
$(shell find $(call find_source_fn,$(PACKAGE_SOURCE)) \
|
||||
-name CMakeLists.txt) \
|
||||
$(wildcard $(call find_source_fn, \
|
||||
$(PACKAGE_SOURCE))$(PACKAGE_SUBDIR)/configure) \
|
||||
$(MU_BUILD_ROOT_DIR)/config.site" ; \
|
||||
@ -652,11 +659,9 @@ configure_check_timestamp = \
|
||||
# we assume there's 1 processor; we use 2*ncpu for the -j option.
|
||||
# NB: GNU Make 4.2 will let us use '$(file </proc/cpuinfo)' to both test
|
||||
# for file presence and content; for now this will have to do.
|
||||
ifndef MAKE_PARALLEL_JOBS
|
||||
MAKE_PARALLEL_JOBS = $(if $(shell [ -f /proc/cpuinfo ] && head /proc/cpuinfo), \
|
||||
$(shell grep -c ^processor /proc/cpuinfo), 2)
|
||||
endif
|
||||
MAKE_PARALLEL_FLAGS ?= $(if $($(PACKAGE)_make_parallel_fails),,-j $(MAKE_PARALLEL_JOBS))
|
||||
MAKE_PARALLEL_JOBS = -j $(if $(shell [ -f /proc/cpuinfo ] && head /proc/cpuinfo), \
|
||||
$(shell expr 2 '*' $$(grep -c ^processor /proc/cpuinfo)), 2)
|
||||
MAKE_PARALLEL_FLAGS = $(if $($(PACKAGE)_make_parallel_fails),,$(MAKE_PARALLEL_JOBS))
|
||||
|
||||
# Make command shorthand for packages & tools.
|
||||
PACKAGE_MAKE = \
|
||||
@ -765,7 +770,7 @@ find_source_for_package = \
|
||||
exit 1; \
|
||||
fi ; \
|
||||
$(call build_msg_fn,Fix file dates in $${g}/$(PACKAGE_SOURCE)) ; \
|
||||
: the timestamp-adjustment script used to be invoked at this point ; \
|
||||
(cd $${s} ; $(MU_BUILD_ROOT_DIR)/autowank --touch) ; \
|
||||
fi ; \
|
||||
s=`cd $${s} && pwd` ; \
|
||||
$(call build_msg_fn,Source found in $${s})
|
||||
@ -803,7 +808,7 @@ pull-all:
|
||||
make PLATFORM=$(PLATFORM) $(patsubst %,%-pull-all,$(ROOT_PACKAGES))
|
||||
|
||||
.PHONY: %-diff
|
||||
%-diff:
|
||||
%-diff:
|
||||
@$(BUILD_ENV) ; \
|
||||
d=$(call find_source_fn,$(PACKAGE_SOURCE)) ; \
|
||||
$(call build_msg_fn,Git diff $(PACKAGE)) ; \
|
||||
@ -812,12 +817,12 @@ pull-all:
|
||||
else \
|
||||
$(call build_msg_fn, $(PACKAGE) not a git directory) ; \
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
# generate diffs for everything in source path
|
||||
.PHONY: diff-all
|
||||
diff-all:
|
||||
diff-all:
|
||||
@$(BUILD_ENV) ; \
|
||||
$(call build_msg_fn,Generate diffs) ; \
|
||||
for r in $(ABSOLUTE_SOURCE_PATH); do \
|
||||
@ -915,7 +920,7 @@ basic_system_image_install = \
|
||||
mkdir -p bin lib mnt proc root sbin sys tmp etc ; \
|
||||
mkdir -p usr usr/{bin,sbin} usr/lib ; \
|
||||
mkdir -p var var/{lib,lock,log,run,tmp} ; \
|
||||
mkdir -p var/lock/subsys var/lib/urandom
|
||||
mkdir -p var/lock/subsys var/lib/urandom
|
||||
|
||||
.PHONY: basic_system-image_install
|
||||
basic_system-image_install: # linuxrc-install
|
||||
@ -925,7 +930,7 @@ basic_system-image_install: # linuxrc-install
|
||||
ROOT_PACKAGES = $(if $($(PLATFORM)_root_packages),$($(PLATFORM)_root_packages),$(default_root_packages))
|
||||
|
||||
.PHONY: install-packages
|
||||
install-packages: $(patsubst %,%-find-source,$(ROOT_PACKAGES))
|
||||
install-packages: $(patsubst %,%-find-source,$(ROOT_PACKAGES))
|
||||
@$(BUILD_ENV) ; \
|
||||
set -eu$(BUILD_DEBUG) ; \
|
||||
d=$(MU_BUILD_ROOT_DIR)/packages-$(PLATFORM) ; \
|
||||
@ -936,7 +941,11 @@ install-packages: $(patsubst %,%-find-source,$(ROOT_PACKAGES))
|
||||
basic_system \
|
||||
$(ROOT_PACKAGES)) || exit 1; \
|
||||
$(call build_msg_fn, Relocating ELF executables to run in $${d}) ; \
|
||||
scripts/set-rpath $${d} $${d}/$(arch_lib_dir) ; \
|
||||
find $${d} -type f \
|
||||
-exec elftool quiet in '{}' out '{}' \
|
||||
set-interpreter \
|
||||
$${d}/$(arch_lib_dir)/$(DYNAMIC_LINKER) \
|
||||
set-rpath $${d}/$(arch_lib_dir):$${d}/lib ';' ; \
|
||||
: strip symbols from files ; \
|
||||
if [ $${strip_symbols:-no} = 'yes' ] ; then \
|
||||
$(call build_msg_fn, Stripping symbols from files) ; \
|
||||
@ -947,7 +956,7 @@ install-packages: $(patsubst %,%-find-source,$(ROOT_PACKAGES))
|
||||
>& /dev/null ; \
|
||||
else \
|
||||
$(call build_msg_fn, NOT stripping symbols) ; \
|
||||
fi
|
||||
fi
|
||||
|
||||
# readonly root squashfs image
|
||||
# Note: $(call build_msg_fn) does not seem to work inside of fakeroot so we use echo
|
||||
@ -971,7 +980,11 @@ $(PLATFORM_IMAGE_DIR)/ro.img ro-image: $(patsubst %,%-find-source,$(ROOT_PACKAGE
|
||||
: make dev directory ; \
|
||||
$(linuxrc_makedev) ; \
|
||||
echo @@@@ Relocating ELF executables to run in / @@@@ ; \
|
||||
scripts/set-rpath /$(arch_lib_dir):/lib ; \
|
||||
find $${d} -type f \
|
||||
-exec elftool quiet in '{}' out '{}' \
|
||||
set-interpreter \
|
||||
/$(arch_lib_dir)/$(DYNAMIC_LINKER) \
|
||||
set-rpath /$(arch_lib_dir):/lib ';' ; \
|
||||
: strip symbols from files ; \
|
||||
if [ '$${strip_symbols:-yes}' = 'yes' ] ; then \
|
||||
echo @@@@ Stripping symbols from files @@@@ ; \
|
||||
@ -1087,7 +1100,7 @@ ccache-install:
|
||||
$(MAKE) -C $(MU_BUILD_ROOT_DIR) ccache-build
|
||||
mkdir -p $(TOOL_INSTALL_DIR)/ccache-bin
|
||||
ln -sf $(MU_BUILD_ROOT_DIR)/build-tool-native/ccache/ccache \
|
||||
$(TOOL_INSTALL_DIR)/ccache-bin/$(TARGET_PREFIX)gcc
|
||||
$(TOOL_INSTALL_DIR)/ccache-bin/$(TARGET_PREFIX)gcc
|
||||
|
||||
TOOL_MAKE = $(MAKE) is_build_tool=yes
|
||||
|
||||
@ -1151,4 +1164,7 @@ distclean:
|
||||
rm -rf $(MU_BUILD_ROOT_DIR)/*.deb
|
||||
rm -rf $(MU_BUILD_ROOT_DIR)/*.rpm
|
||||
rm -rf $(MU_BUILD_ROOT_DIR)/*.changes
|
||||
rm -rf $(MU_BUILD_ROOT_DIR)/*.buildinfo
|
||||
rm -rf $(MU_BUILD_ROOT_DIR)/python
|
||||
if [ -e /usr/bin/dh ];then (cd $(MU_BUILD_ROOT_DIR)/deb/;debian/rules clean); fi
|
||||
rm -f $(MU_BUILD_ROOT_DIR)/deb/debian/*.install
|
||||
rm -f $(MU_BUILD_ROOT_DIR)/deb/debian/changelog
|
||||
|
307
build-root/autowank
Executable file
307
build-root/autowank
Executable file
File diff suppressed because it is too large
Load Diff
52
build-root/bootstrap.sh
Executable file
52
build-root/bootstrap.sh
Executable file
@ -0,0 +1,52 @@
|
||||
#!/bin/bash
|
||||
|
||||
build_root=`pwd`
|
||||
cd ../
|
||||
wsroot=`pwd`
|
||||
|
||||
# PATH
|
||||
if [[ ! $CCACHE_DIR ]];then
|
||||
CCACHE_DIR="$build_root/.ccache"
|
||||
fi
|
||||
ADD_TO_PATH="$build_root/tools/ccache-bin:$build_root/tools/bin"
|
||||
|
||||
# Construct build-config.mk
|
||||
cd $build_root
|
||||
echo SOURCE_PATH = $wsroot > build-config.mk
|
||||
echo
|
||||
echo Saving PATH settings in `pwd`/path_setup
|
||||
echo Source this file later, as needed
|
||||
cat >path_setup <<EOF
|
||||
#!/bin/bash
|
||||
|
||||
export PATH=$ADD_TO_PATH:$PATH
|
||||
export CCACHE_DIR=$CCACHE_DIR
|
||||
EOF
|
||||
|
||||
# regenerate tools/ccache-bin
|
||||
rm -rf tools/ccache-bin
|
||||
mkdir -p tools/ccache-bin
|
||||
|
||||
if [ ! -f /usr/bin/ccache ] ; then
|
||||
echo Please install ccache AYEC and re-run this script
|
||||
fi
|
||||
|
||||
cd tools/ccache-bin
|
||||
for c in gcc g++
|
||||
do
|
||||
if [ -f /usr/bin/ccache ] ; then
|
||||
ln -s /usr/bin/ccache $c
|
||||
else
|
||||
ln -s /usr/bin/gcc
|
||||
fi
|
||||
done
|
||||
|
||||
cd $wsroot
|
||||
|
||||
cd $build_root
|
||||
echo Compile native tools
|
||||
for tool in tools
|
||||
do
|
||||
make V=0 is_build_tool=yes $tool-install
|
||||
done
|
||||
|
@ -1 +0,0 @@
|
||||
SOURCE_PATH = $(CURDIR)/..
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user