Compare commits
36 Commits
v24.06-rc2
...
v19.01.2-r
Author | SHA1 | Date | |
---|---|---|---|
|
67a3e2d130 | ||
|
cbd68cb711 | ||
|
3262adc55c | ||
|
d302022440 | ||
|
6342e48dc1 | ||
|
46ee286753 | ||
|
bad0bcd442 | ||
|
372a33efe8 | ||
|
7f1cc2c2c1 | ||
|
5880ec02d6 | ||
|
d0f4dec52b | ||
|
be0e482019 | ||
|
903c21b470 | ||
|
c41559afe5 | ||
|
dc2a250f06 | ||
|
4c696abc8c | ||
|
c01d7488f2 | ||
|
cd56f69af9 | ||
|
63132185d0 | ||
|
67d9475ae3 | ||
|
827d4e568b | ||
|
b659e28219 | ||
|
02da3a792c | ||
|
44f14358cf | ||
|
9124874e2e | ||
|
b2962715e6 | ||
|
38befb3a53 | ||
|
0cb68778ec | ||
|
1705599efe | ||
|
6e5f93e70d | ||
|
a74ae5886f | ||
|
af429cb381 | ||
|
46da5e33a3 | ||
|
cbb4565c88 | ||
|
48872780e8 | ||
|
3e2bc759f4 |
@ -1,48 +1,38 @@
|
||||
# Minimal clang-format version is 11
|
||||
|
||||
BasedOnStyle: GNU
|
||||
UseTab: Always
|
||||
SpaceAfterCStyleCast: true
|
||||
---
|
||||
AlignEscapedNewlinesLeft: true
|
||||
AlignTrailingComments: true
|
||||
AllowAllParametersOfDeclarationOnNextLine: true
|
||||
AllowShortIfStatementsOnASingleLine: false
|
||||
AllowShortLoopsOnASingleLine: false
|
||||
AllowShortFunctionsOnASingleLine: false
|
||||
AlwaysBreakBeforeMultilineStrings: false
|
||||
BreakBeforeBinaryOperators: false
|
||||
BreakBeforeTernaryOperators: true
|
||||
BinPackParameters: true
|
||||
BreakBeforeBraces: GNU
|
||||
ColumnLimit: 79
|
||||
IndentCaseLabels: false
|
||||
MaxEmptyLinesToKeep: 1
|
||||
PenaltyBreakBeforeFirstCallParameter: 19
|
||||
PenaltyBreakComment: 60
|
||||
PenaltyBreakString: 1000
|
||||
PenaltyBreakFirstLessLess: 120
|
||||
PenaltyExcessCharacter: 1000000
|
||||
PenaltyReturnTypeOnItsOwnLine: 60
|
||||
PointerBindsToType: false
|
||||
SpaceBeforeAssignmentOperators: true
|
||||
SpaceBeforeParens: Always
|
||||
SpacesBeforeTrailingComments: 1
|
||||
SpacesInParentheses: false
|
||||
SpaceInEmptyParentheses: false
|
||||
SpacesInCStyleCastParentheses: false
|
||||
SpaceAfterControlStatementKeyword: true
|
||||
Cpp11BracedListStyle: true
|
||||
Standard: Cpp11
|
||||
SortIncludes: false
|
||||
AlignConsecutiveMacros: true
|
||||
BreakBeforeTernaryOperators: false
|
||||
BreakBeforeBinaryOperators: None
|
||||
ContinuationIndentWidth: 2
|
||||
|
||||
ForEachMacros:
|
||||
- 'clib_bitmap_foreach'
|
||||
- 'pool_foreach'
|
||||
- 'pool_foreach_index'
|
||||
- 'pool_foreach_pointer'
|
||||
- 'vec_foreach'
|
||||
- 'vec_foreach_backwards'
|
||||
- 'vec_foreach_index'
|
||||
- 'vec_foreach_index_backwards'
|
||||
- 'vec_foreach_pointer'
|
||||
- 'vlib_foreach_rx_tx'
|
||||
- 'foreach_int'
|
||||
- 'foreach_pointer'
|
||||
- 'foreach_vlib_main'
|
||||
- 'foreach_set_bit_index'
|
||||
- 'foreach_vlib_frame_bitmap_set_bit_index'
|
||||
- 'FOREACH_ARRAY_ELT'
|
||||
- 'RTE_ETH_FOREACH_DEV'
|
||||
- 'foreach_vnet_dev_rx_queue_runtime'
|
||||
- 'foreach_vnet_dev_counter'
|
||||
- 'foreach_vnet_dev_port_rx_queue'
|
||||
- 'foreach_vnet_dev_port_tx_queue'
|
||||
- 'foreach_vnet_dev_port'
|
||||
- 'foreach_vnet_dev_args'
|
||||
- 'foreach_vnet_dev_port_args'
|
||||
|
||||
StatementMacros:
|
||||
- 'CLIB_MULTIARCH_FN'
|
||||
- 'VLIB_NODE_FN'
|
||||
- 'VNET_DEV_NODE_FN'
|
||||
- 'VNET_DEVICE_CLASS_TX_FN'
|
||||
- '__clib_section'
|
||||
- '__clib_aligned'
|
||||
|
||||
WhitespaceSensitiveMacros:
|
||||
- 'WARN_ON'
|
||||
- 'WARN_OFF'
|
||||
IndentWidth: 2
|
||||
TabWidth: 4
|
||||
UseTab: Never
|
||||
IndentFunctionDeclarationAfterType: false
|
||||
ContinuationIndentWidth: 4
|
||||
...
|
||||
|
@ -1,8 +0,0 @@
|
||||
Checks: "-*,\
|
||||
misc-*,\
|
||||
bugprone-*,\
|
||||
-bugprone-reserved-identifier,\
|
||||
-performance-*,\
|
||||
clang-analyzer-*,\
|
||||
-clang-analyzer-valist.Uninitialized,\
|
||||
"
|
@ -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)
|
||||
#
|
||||
# --------------------
|
21
.github/workflows/close_prs.yml
vendored
21
.github/workflows/close_prs.yml
vendored
@ -1,21 +0,0 @@
|
||||
---
|
||||
name: Close Pull Request
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
types: [opened]
|
||||
|
||||
jobs:
|
||||
run:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: superbrothers/close-pull-request@v3
|
||||
with:
|
||||
# Optional. Post a issue comment just before closing a pull request.
|
||||
comment: "Thank you so much for your interest! VPP takes patches at https://gerrit.fd.io/
|
||||
|
||||
```
|
||||
git clone https://gerrit.fd.io/r/vpp
|
||||
```
|
||||
|
||||
Using [git review](https://www.mediawiki.org/wiki/Gerrit/git-review) to contribute patches is recommended"
|
64
.gitignore
vendored
64
.gitignore
vendored
@ -10,33 +10,38 @@
|
||||
/build-root/path_setup
|
||||
/build-root/deb/debian/vpp-plugins/
|
||||
/build-root/deb/.pybuild/
|
||||
/build-root/*.buildinfo
|
||||
/build-root/*.deb
|
||||
/build-root/*.rpm
|
||||
/build-root/*.tar.xz
|
||||
/build-root/*.changes
|
||||
/build-root/rpmbuild/
|
||||
/build-root/test-coverage/
|
||||
/build-root/test/
|
||||
/build-root/test-doc/
|
||||
/build-root/test-cov/
|
||||
/test/run/
|
||||
/test/build/
|
||||
/test/coverage/
|
||||
/build-config.mk
|
||||
/build/external/*.tar.gz
|
||||
/build/external/*.tar.xz
|
||||
/build/external/vpp-*
|
||||
/build/external/dpdk_mlx_default.sh
|
||||
/build/external/vpp-*.deb
|
||||
/build/external/vpp-*.changes
|
||||
/build/external/downloads/
|
||||
/path_setup
|
||||
/tools/
|
||||
# start autotools ignore
|
||||
autom4te.cache/
|
||||
config/
|
||||
Makefile
|
||||
Makefile.in
|
||||
aclocal.m4
|
||||
app.info
|
||||
compile
|
||||
config.h
|
||||
config.log
|
||||
config.guess
|
||||
config.sub
|
||||
config.status
|
||||
configure
|
||||
configure.scan
|
||||
coverage_report
|
||||
depcomp
|
||||
@ -77,12 +82,9 @@ GTAGS
|
||||
/build-root/docs
|
||||
/build-root/.doxygen-bootstrap.ok
|
||||
/build-root/.doxygen-siphon.dep
|
||||
/docs/venv
|
||||
|
||||
# language servers
|
||||
compile_commands.json
|
||||
.clangd
|
||||
.cache
|
||||
/docs/_build
|
||||
/sphinx_venv
|
||||
!/docs/Makefile
|
||||
|
||||
# indent backup files
|
||||
*.BAK
|
||||
@ -94,46 +96,12 @@ 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
|
||||
|
||||
# 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*
|
||||
|
||||
# vpptop build files
|
||||
/extras/vpptop/build/*
|
||||
|
||||
# debian packaging
|
||||
.pc
|
||||
|
||||
# No test log files
|
||||
**/test-run-*-*-*
|
||||
|
||||
# host stack test framework
|
||||
/extras/hs-test/vpp-data
|
||||
/extras/hs-test/hs-test
|
||||
/extras/hs-test/http_server
|
||||
/extras/hs-test/.build.ok
|
||||
/extras/hs-test/summary/
|
||||
|
||||
# ./configure
|
||||
/CMakeFiles
|
||||
/bin
|
||||
/lib
|
||||
/.ninja_deps
|
||||
/.ninja_log
|
||||
/.cmake
|
||||
/CMakeCache.txt
|
||||
/build.ninja
|
||||
/cmake_install.cmake
|
||||
/startup.conf
|
||||
/startup.vpp
|
||||
|
@ -2,4 +2,4 @@
|
||||
host=gerrit.fd.io
|
||||
port=29418
|
||||
project=vpp
|
||||
defaultbranch=stable/2406
|
||||
defaultbranch=stable/1901
|
||||
|
113
INFO.yaml
113
INFO.yaml
@ -4,11 +4,11 @@ project_creation_date: '2015-12-08'
|
||||
project_category: ''
|
||||
lifecycle_state: 'Incubation'
|
||||
project_lead: &vpp_ptl
|
||||
name: 'Damjan Marion'
|
||||
email: 'dmarion@me.com'
|
||||
id: 'dmarion'
|
||||
company: 'cisco'
|
||||
timezone: 'Europe/Zagreb'
|
||||
name: 'Dave Barach'
|
||||
email: 'openvpp@barachs.net'
|
||||
id: 'dbarach'
|
||||
company: ''
|
||||
timezone: ''
|
||||
primary_contact: *vpp_ptl
|
||||
issue_tracking:
|
||||
type: 'jira'
|
||||
@ -34,72 +34,73 @@ repositories:
|
||||
- 'vpp'
|
||||
committers:
|
||||
- <<: *vpp_ptl
|
||||
- name: 'Dave Barach'
|
||||
company: 'cisco'
|
||||
email: 'openvpp@barachs.net'
|
||||
id: 'dbarach'
|
||||
- name: 'Florin Coras'
|
||||
company: 'cisco'
|
||||
email: 'florin.coras@gmail.com'
|
||||
id: 'florin.coras'
|
||||
- name: 'Benoit Ganne'
|
||||
company: 'cisco'
|
||||
email: 'bganne@cisco.com'
|
||||
id: 'bganne'
|
||||
- name: 'John Lo'
|
||||
company: 'cisco'
|
||||
email: 'loj@cisco.com'
|
||||
id: 'lojohn'
|
||||
- name: 'Keith Burns'
|
||||
company: 'gmail'
|
||||
email: 'alagalah@gmail.com'
|
||||
id: 'alagalah'
|
||||
timezone: ''
|
||||
- name: 'Chris Luke'
|
||||
company: 'comcast'
|
||||
email: 'chris_luke@comcast.com'
|
||||
id: 'chrisluke'
|
||||
- name: 'Neale Ranns'
|
||||
timezone: ''
|
||||
- name: 'Dave Barach'
|
||||
company: 'barachs'
|
||||
email: 'openvpp@barachs.net'
|
||||
id: 'dbarach'
|
||||
timezone: ''
|
||||
- name: 'Damjan Marion'
|
||||
company: 'cisco'
|
||||
email: 'nranns@cisco.com'
|
||||
id: 'nranns'
|
||||
- name: 'Matthew Smith'
|
||||
company: 'netgate'
|
||||
email: 'mgsmith@netgate.com'
|
||||
id: 'mgsmith'
|
||||
- name: 'Ole Trøan'
|
||||
company: 'employees'
|
||||
email: 'otroan@employees.org'
|
||||
id: 'otroan'
|
||||
- name: 'Paul Vinciguerra'
|
||||
company: 'vinciconsulting'
|
||||
email: 'pvinci@vinciconsulting.com'
|
||||
id: 'pvinci'
|
||||
email: 'damarion@cisco.com'
|
||||
id: 'dmarion'
|
||||
timezone: ''
|
||||
- name: 'Dave Wallace'
|
||||
company: 'gmail'
|
||||
email: 'dwallacelf@gmail.com'
|
||||
id: 'dwallacelf'
|
||||
timezone: ''
|
||||
- name: 'Florin Coras'
|
||||
company: 'gmail'
|
||||
email: 'florin.coras@gmail.com'
|
||||
id: 'florin.coras'
|
||||
timezone: ''
|
||||
- name: 'Ed Warnicke'
|
||||
company: 'gmail'
|
||||
email: 'hagbard@gmail.com'
|
||||
id: 'hagbard'
|
||||
- name: 'Andrew Yourtchenko'
|
||||
timezone: ''
|
||||
- name: 'John Lo'
|
||||
company: 'cisco'
|
||||
email: 'ayourtch@cisco.com'
|
||||
id: 'ayourtch'
|
||||
- name: 'Fan Zhang'
|
||||
company: 'intel'
|
||||
email: 'roy.fan.zhang@intel.com'
|
||||
id: 'royzhang1980'
|
||||
- name: 'Mohammed HAWARI'
|
||||
email: 'loj@cisco.com'
|
||||
id: 'lojohn'
|
||||
timezone: ''
|
||||
- name: 'Marco Varlese'
|
||||
company: 'suse'
|
||||
email: 'marco.varlese@suse.de'
|
||||
id: 'marco.varlese'
|
||||
timezone: ''
|
||||
- name: 'Neale Ranns'
|
||||
company: 'cisco'
|
||||
email: 'momohawari@gmail.com'
|
||||
id: 'momohawari'
|
||||
email: 'nranns@cisco.com'
|
||||
id: 'nranns'
|
||||
timezone: ''
|
||||
- name: 'Ole Trøan'
|
||||
company: 'employees'
|
||||
email: 'otroan@employees.org'
|
||||
id: 'otroan'
|
||||
timezone: ''
|
||||
- name: 'Sergio Gonzalez Monroy'
|
||||
company: 'outlook'
|
||||
email: 'sergio.gonzalez.monroy@outlook.com'
|
||||
id: 'smonroy'
|
||||
timezone: ''
|
||||
tsc:
|
||||
# yamllint disable rule:line-length
|
||||
approval: 'https://wiki.fd.io/view/TSC/Meeting_Minutes'
|
||||
approval: ''
|
||||
changes:
|
||||
- type: 'Promotion'
|
||||
name: 'Damjan Marion'
|
||||
link: 'https://lists.fd.io/g/vpp-dev/message/17521'
|
||||
- type: 'Addition'
|
||||
name: 'Fan Zhang'
|
||||
link: 'https://lists.fd.io/g/vpp-dev/message/19068'
|
||||
- type: 'Approval'
|
||||
name: 'Mohammed HAWARI'
|
||||
link: 'https://ircbot.wl.linuxfoundation.org/meetings/fdio-meeting/2023/fd_io_tsc/fdio-meeting-fd_io_tsc.2023-06-01-15.00.html'
|
||||
- type: 'removal'
|
||||
name: ''
|
||||
link: ''
|
||||
- type: 'promotion'
|
||||
name: ''
|
||||
link: ''
|
||||
|
832
MAINTAINERS
832
MAINTAINERS
File diff suppressed because it is too large
Load Diff
45
README.md
45
README.md
@ -19,32 +19,32 @@ For more information on VPP and its features please visit the
|
||||
## Changes
|
||||
|
||||
Details of the changes leading up to this version of VPP can be found under
|
||||
doc/releasenotes.
|
||||
@ref release_notes.
|
||||
|
||||
|
||||
## Directory layout
|
||||
|
||||
| Directory name | Description |
|
||||
| ---------------------- | ------------------------------------------- |
|
||||
| build-data | Build metadata |
|
||||
| build-root | Build output directory |
|
||||
| docs | Sphinx Documentation |
|
||||
| dpdk | DPDK patches and build infrastructure |
|
||||
| extras/libmemif | Client library for memif |
|
||||
| src/examples | VPP example code |
|
||||
| src/plugins | VPP bundled plugins directory |
|
||||
| src/svm | Shared virtual memory allocation library |
|
||||
| src/tests | Standalone tests (not part of test harness) |
|
||||
| src/vat | VPP API test program |
|
||||
| src/vlib | VPP application library |
|
||||
| src/vlibapi | VPP API library |
|
||||
| src/vlibmemory | VPP Memory management |
|
||||
| src/vnet | VPP networking |
|
||||
| src/vpp | VPP application |
|
||||
| src/vpp-api | VPP application API bindings |
|
||||
| src/vppinfra | VPP core library |
|
||||
| src/vpp/api | Not-yet-relocated API bindings |
|
||||
| test | Unit tests and Python test harness |
|
||||
| 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 |
|
||||
|
||||
## Getting started
|
||||
|
||||
@ -99,3 +99,8 @@ end-user-oriented information. Also see @subpage dev_doc for developer notes.
|
||||
Visit the [VPP wiki](https://wiki.fd.io/view/VPP) for details on more
|
||||
advanced building strategies and other development notes.
|
||||
|
||||
|
||||
## Test Framework
|
||||
|
||||
There is PyDoc generated documentation available for the VPP test framework.
|
||||
See @ref test_framework_doc for details.
|
||||
|
3710
RELEASE.md
Normal file
3710
RELEASE.md
Normal file
File diff suppressed because it is too large
Load Diff
@ -29,17 +29,28 @@ ifneq ($(DPDK_MLX5_PMD),)
|
||||
DPDK_MAKE_ARGS += DPDK_MLX5_PMD=y
|
||||
endif
|
||||
|
||||
DPDK_MLX5_PMD_DLOPEN_DEPS=$(strip $($(PLATFORM)_uses_dpdk_mlx5_dlopen_deps))
|
||||
ifneq ($(DPDK_MLX5_PMD_DLOPEN_DEPS),)
|
||||
DPDK_MAKE_ARGS += DPDK_MLX5_PMD_DLOPEN_DEPS=y
|
||||
endif
|
||||
|
||||
DPDK_MLX4_PMD=$(strip $($(PLATFORM)_uses_dpdk_mlx4_pmd))
|
||||
ifneq ($(DPDK_MLX4_PMD),)
|
||||
DPDK_MAKE_ARGS += DPDK_MLX4_PMD=y
|
||||
endif
|
||||
|
||||
ifeq ("$(V)","1")
|
||||
DPDK_MAKE_ARGS += DPDK_VERBOSE=1
|
||||
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
|
||||
|
||||
external_configure = echo
|
||||
|
||||
external_build = echo
|
||||
external_make_args = $(DPDK_MAKE_ARGS) -C external ebuild-build
|
||||
|
||||
external_install = $(MAKE) $(DPDK_MAKE_ARGS) -C external ebuild-build ebuild-install
|
||||
external_install = make $(DPDK_MAKE_ARGS) -C external ebuild-install
|
||||
|
44
build-data/packages/japi.mk
Normal file
44
build-data/packages/japi.mk
Normal file
@ -0,0 +1,44 @@
|
||||
# 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.
|
||||
|
||||
japi_configure_depend = vpp-install
|
||||
japi_source = extras
|
||||
japi_configure_subdir = japi
|
||||
|
||||
ifneq ($(shell which cmake3),)
|
||||
CMAKE?=cmake3
|
||||
else
|
||||
CMAKE?=cmake
|
||||
endif
|
||||
|
||||
japi_cmake_args ?=
|
||||
japi_cmake_args += -DCMAKE_INSTALL_PREFIX:PATH=$(PACKAGE_INSTALL_DIR)
|
||||
japi_cmake_args += -DCMAKE_C_FLAGS="$($(TAG)_TAG_CFLAGS)"
|
||||
japi_cmake_args += -DCMAKE_SHARED_LINKER_FLAGS="$($(TAG)_TAG_LDFLAGS)"
|
||||
japi_cmake_args += -DCMAKE_PREFIX_PATH:PATH="$(PACKAGE_INSTALL_DIR)/../vpp"
|
||||
ifeq ("$(V)","1")
|
||||
japi_cmake_args += -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
|
||||
endif
|
||||
|
||||
#Use devtoolset on centos 7
|
||||
ifneq ($(wildcard /opt/rh/devtoolset-7/enable),)
|
||||
japi_cmake_args += -DCMAKE_PROGRAM_PATH:PATH="/opt/rh/devtoolset-7/root/bin"
|
||||
endif
|
||||
|
||||
japi_configure = \
|
||||
cd $(PACKAGE_BUILD_DIR) && \
|
||||
$(CMAKE) -G Ninja $(japi_cmake_args) $(call find_source_fn,$(PACKAGE_SOURCE))$(PACKAGE_SUBDIR)
|
||||
|
||||
japi_build = $(CMAKE) --build $(PACKAGE_BUILD_DIR) -- $(MAKE_PARALLEL_FLAGS)
|
||||
|
||||
japi_install = $(CMAKE) --build $(PACKAGE_BUILD_DIR) -- install
|
@ -26,6 +26,11 @@ 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-7/enable),)
|
||||
libmemif_cmake_args += -DCMAKE_PROGRAM_PATH:PATH="/opt/rh/devtoolset-7/root/bin"
|
||||
endif
|
||||
|
||||
libmemif_configure = \
|
||||
cd $(PACKAGE_BUILD_DIR) && \
|
||||
$(CMAKE) -G Ninja $(libmemif_cmake_args) $(call find_source_fn,$(PACKAGE_SOURCE))$(PACKAGE_SUBDIR)
|
||||
|
@ -30,6 +30,11 @@ 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-7/enable),)
|
||||
sample-plugin_cmake_args += -DCMAKE_PROGRAM_PATH:PATH="/opt/rh/devtoolset-7/root/bin"
|
||||
endif
|
||||
|
||||
sample-plugin_configure = \
|
||||
cd $(PACKAGE_BUILD_DIR) && \
|
||||
$(CMAKE) -G Ninja $(sample-plugin_cmake_args) \
|
||||
|
@ -28,8 +28,8 @@ vom_cmake_args += -DCMAKE_SHARED_LINKER_FLAGS="$($(TAG)_TAG_LDFLAGS)"
|
||||
vom_cmake_args += -DCMAKE_PREFIX_PATH:PATH="$(PACKAGE_INSTALL_DIR)/../vpp"
|
||||
|
||||
# Use devtoolset on centos 7
|
||||
ifneq ($(wildcard /opt/rh/devtoolset-9/enable),)
|
||||
vom_cmake_args += -DCMAKE_PROGRAM_PATH:PATH="/opt/rh/devtoolset-9/root/bin"
|
||||
ifneq ($(wildcard /opt/rh/devtoolset-7/enable),)
|
||||
vom_cmake_args += -DCMAKE_PROGRAM_PATH:PATH="/opt/rh/devtoolset-7/root/bin"
|
||||
endif
|
||||
|
||||
vom_configure = \
|
||||
@ -39,7 +39,3 @@ vom_configure = \
|
||||
vom_build = $(CMAKE) --build $(PACKAGE_BUILD_DIR) -- $(MAKE_PARALLEL_FLAGS)
|
||||
|
||||
vom_install = $(CMAKE) --build $(PACKAGE_BUILD_DIR) -- install
|
||||
|
||||
vom-package-deb: vom-install
|
||||
@$(CMAKE) --build $(PACKAGE_BUILD_DIR)/vom -- package
|
||||
@find $(PACKAGE_BUILD_DIR)/vom -name '*.deb' -exec mv {} $(CURDIR) \;
|
@ -25,35 +25,22 @@ vpp_cmake_prefix_path := $(subst $() $(),;,$(vpp_cmake_prefix_path))
|
||||
|
||||
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_C_FLAGS="$($(TAG)_TAG_CFLAGS)"
|
||||
vpp_cmake_args += -DCMAKE_LINKER_FLAGS="$($(TAG)_TAG_LDFLAGS)"
|
||||
vpp_cmake_args += -DCMAKE_PREFIX_PATH:PATH="$(vpp_cmake_prefix_path)"
|
||||
ifeq ("$(V)","1")
|
||||
vpp_cmake_args += -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
|
||||
endif
|
||||
ifneq ($(VPP_PLATFORM),)
|
||||
vpp_cmake_args += -DVPP_PLATFORM="$(VPP_PLATFORM)"
|
||||
endif
|
||||
ifneq ($(VPP_EXCLUDED_PLUGINS),)
|
||||
vpp_cmake_args += -DVPP_EXCLUDED_PLUGINS="$(VPP_EXCLUDED_PLUGINS)"
|
||||
endif
|
||||
ifneq (${SOURCE_DATE_EPOCH}),)
|
||||
vpp_cmake_args += -DVPP_SOURCE_DATE_EPOCH="$(SOURCE_DATE_EPOCH)"
|
||||
endif
|
||||
|
||||
ifneq ($(VPP_EXTRA_CMAKE_ARGS),)
|
||||
vpp_cmake_args += $(VPP_EXTRA_CMAKE_ARGS)
|
||||
# Use devtoolset on centos 7
|
||||
ifneq ($(wildcard /opt/rh/devtoolset-7/enable),)
|
||||
vpp_cmake_args += -DCMAKE_PROGRAM_PATH:PATH="/opt/rh/devtoolset-7/root/bin"
|
||||
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_build = $(CMAKE) --build $(PACKAGE_BUILD_DIR) -- $(MAKE_PARALLEL_FLAGS)
|
||||
#vpp_make_args = --no-print-directory
|
||||
vpp_build = $(CMAKE) --build $(PACKAGE_BUILD_DIR)
|
||||
vpp_install = $(CMAKE) --build $(PACKAGE_BUILD_DIR) -- install | grep -v 'Set runtime path'
|
||||
|
||||
vpp-package-deb: vpp-install
|
||||
@$(CMAKE) --build $(PACKAGE_BUILD_DIR)/vpp -- pkg-deb
|
||||
@find $(PACKAGE_BUILD_DIR) \
|
||||
-maxdepth 2 \
|
||||
\( -name '*.changes' -o -name '*.deb' -o -name '*.buildinfo' \) \
|
||||
-exec mv {} $(CURDIR) \;
|
||||
|
@ -15,3 +15,86 @@
|
||||
$(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/$(MACHINE)-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 ; \
|
||||
\
|
||||
: add log directory ; \
|
||||
echo /var/log/vpp/ \
|
||||
>> deb/debian/vpp.dirs ; \
|
||||
\
|
||||
: dev package needs a couple of additions ; \
|
||||
echo ../$(INSTALL_PREFIX)$(ARCH)/vpp/bin/vppapigen /usr/bin \
|
||||
>> deb/debian/vpp-dev.install ; \
|
||||
echo ../$(INSTALL_PREFIX)$(ARCH)/vpp/share/vpp/vppapigen_c.py /usr/share/vpp \
|
||||
>> deb/debian/vpp-dev.install ; \
|
||||
echo ../$(INSTALL_PREFIX)$(ARCH)/vpp/share/vpp/vppapigen_json.py /usr/share/vpp \
|
||||
>> deb/debian/vpp-dev.install ; \
|
||||
echo ../../extras/japi/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 \
|
||||
)
|
||||
|
||||
|
45
build-data/platforms/arm32.mk
Normal file
45
build-data/platforms/arm32.mk
Normal file
@ -0,0 +1,45 @@
|
||||
# Copyright (c) 2016 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.
|
||||
|
||||
# vector packet processor
|
||||
arm32_arch = native
|
||||
arm32_native_tools = vppapigen
|
||||
|
||||
arm32_uses_dpdk = yes
|
||||
arm32_uses_openssl = no
|
||||
|
||||
arm32_root_packages = vpp vlib vlib-api vnet svm vpp-api-test \
|
||||
jvpp gmod
|
||||
|
||||
vlib_configure_args_arm32 = --with-pre-data=128
|
||||
vnet_configure_args_arm32 = --with-dpdk --without-libssl
|
||||
vpp_configure_args_arm32 = --with-dpdk --without-libssl
|
||||
|
||||
arm32_dpdk_arch = "armv7a"
|
||||
arm32_dpdk_target = "arm-armv7a-linuxapp-gcc"
|
||||
arm32_dpdk_make_extra_args = "CPU_CFLAGS='-mfloat-abi=hard' \
|
||||
CONFIG_RTE_EAL_IGB_UIO=y \
|
||||
CONFIG_RTE_LIBRTE_E1000_PMD=y \
|
||||
CONFIG_RTE_MAX_LCORE=4 \
|
||||
CONFIG_RTE_MAX_NUMA_NODES=1"
|
||||
|
||||
|
||||
arm32_debug_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -DVLIB_MAX_CPUS=4 -march=armv7-a \
|
||||
-fstack-protector-all -fPIC -Werror
|
||||
arm32_debug_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -DVLIB_MAX_CPUS=4 -march=armv7-a \
|
||||
-fstack-protector-all -fPIC -Werror
|
||||
|
||||
arm32_TAG_CFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -DVLIB_MAX_CPUS=4 -march=armv7-a \
|
||||
-fstack-protector -fPIC -Werror
|
||||
arm32_TAG_LDFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -DVLIB_MAX_CPUS=4 -march=armv7-a \
|
||||
-fstack-protector -fPIC -Werror
|
87
build-data/platforms/dpaa.mk
Normal file
87
build-data/platforms/dpaa.mk
Normal file
@ -0,0 +1,87 @@
|
||||
# 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
|
||||
|
47
build-data/platforms/qppc.mk
Normal file
47
build-data/platforms/qppc.mk
Normal file
@ -0,0 +1,47 @@
|
||||
# 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
|
||||
|
||||
qppc_cross_ldflags = \
|
||||
-Wl,--dynamic-linker=/lib64/ld64.so.1
|
||||
|
||||
qppc_arch = powerpc
|
||||
|
||||
qppc_root_packages = vppinfra vlib vlib-api vnet svm \
|
||||
vpp vpp-api-test
|
||||
|
||||
vnet_configure_args_qppc = \
|
||||
--without-libssl
|
||||
|
||||
vpp_configure_args_qppc = \
|
||||
--without-libssl
|
||||
|
||||
vlib_configure_args_qppc = --with-pre-data=128
|
||||
|
||||
qppc_march=powerpc64
|
||||
|
||||
# native tool chain additions for this platform
|
||||
qppc_native_tools = vppapigen
|
||||
|
||||
qppc_uses_dpdk = no
|
||||
|
||||
qppc_debug_TAG_CFLAGS = -m64 -g -O0 -DCLIB_DEBUG -DCLIB_LOG2_CACHE_LINE_BYTES=6 -maltivec
|
||||
qppc_debug_TAG_LDFLAGS = -m64 -g -O0 -DCLIB_DEBUG -DCLIB_LOG2_CACHE_LINE_BYTES=6 -maltivec
|
||||
|
||||
qppc_TAG_CFLAGS = -m64 -g -O2 -DCLIB_LOG2_CACHE_LINE_BYTES=6 -maltivec
|
||||
qppc_TAG_LDFLAGS = -m64 -g -O2 -DCLIB_LOG2_CACHE_LINE_BYTES=6 -maltivec
|
||||
|
||||
|
@ -16,11 +16,30 @@
|
||||
MACHINE=$(shell uname -m)
|
||||
|
||||
vpp_arch = native
|
||||
ifeq ($(TARGET_PLATFORM),thunderx)
|
||||
vpp_dpdk_target = arm64-thunderx-linuxapp-gcc
|
||||
endif
|
||||
|
||||
vpp_root_packages = vpp
|
||||
vpp_root_packages = vpp vom japi
|
||||
|
||||
vpp_debug_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 \
|
||||
-fstack-protector-all -fPIC -Werror
|
||||
vpp_debug_TAG_CXXFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 \
|
||||
-fstack-protector-all -fPIC -Werror
|
||||
vpp_debug_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 \
|
||||
-fstack-protector-all -fPIC -Werror
|
||||
|
||||
vpp_TAG_CFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -fstack-protector -fPIC -Werror
|
||||
vpp_TAG_CXXFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -fstack-protector -fPIC -Werror
|
||||
vpp_TAG_LDFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -fstack-protector -fPIC -Werror -pie -Wl,-z,now
|
||||
|
||||
vpp_clang_TAG_CFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -fstack-protector -fPIC -Werror
|
||||
vpp_clang_TAG_CXXFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -fstack-protector -fPIC -Werror
|
||||
vpp_clang_TAG_LDFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -fstack-protector -fPIC -Werror
|
||||
|
||||
vpp_gcov_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -fPIC -Werror -fprofile-arcs -ftest-coverage
|
||||
vpp_gcov_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -fPIC -Werror -coverage
|
||||
|
||||
vpp_coverity_TAG_CFLAGS = -g -O2 -fPIC -Werror -D__COVERITY__
|
||||
vpp_coverity_TAG_LDFLAGS = -g -O2 -fPIC -Werror -D__COVERITY__
|
||||
|
||||
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
|
||||
|
@ -39,7 +39,7 @@
|
||||
######################################################################
|
||||
|
||||
# Scripts require non-POSIX parts of bash
|
||||
SHELL := $(shell which bash)
|
||||
SHELL := /bin/bash
|
||||
|
||||
# Where this makefile lives
|
||||
MU_BUILD_ROOT_DIR = $(shell pwd)
|
||||
@ -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,18 +236,18 @@ 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
|
||||
tag_var_with_added_space_fn = $(if $($(TAG)_TAG_$(1)),$($(TAG)_TAG_$(1)) )
|
||||
|
||||
# TAG=debug for debugging
|
||||
debug_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -march=$(MARCH) \
|
||||
debug_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -march=$(MARCH) \
|
||||
-fstack-protector-all -fPIC
|
||||
debug_TAG_CXXFLAGS = -g -O0 -DCLIB_DEBUG -march=$(MARCH) \
|
||||
debug_TAG_CXXFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -march=$(MARCH) \
|
||||
-fstack-protector-all -fPIC
|
||||
debug_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -march=$(MARCH) \
|
||||
debug_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -march=$(MARCH) \
|
||||
-fstack-protector-all -fPIC
|
||||
|
||||
BUILD_PREFIX_package = build-$(TAG_PREFIX)
|
||||
@ -309,8 +309,8 @@ 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):
|
||||
#
|
||||
# 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.
|
||||
@ -365,7 +365,7 @@ NATIVE_TOOLS_$(IS_LINUX) += $(NATIVE_TOOLS_LINUX)
|
||||
CROSS_TOOLS_$(IS_LINUX) += glibc gcc
|
||||
|
||||
# must be first for bootstrapping
|
||||
NATIVE_TOOLS = findutils $(MAKE)
|
||||
NATIVE_TOOLS = findutils make
|
||||
|
||||
# basic tools needed for build system
|
||||
NATIVE_TOOLS += git automake autoconf libtool texinfo tar
|
||||
@ -416,7 +416,7 @@ find_filter += -and -not -path '*/.mu_build_*'
|
||||
find_newer_filtered_fn = \
|
||||
(! -f $(1) \
|
||||
|| -n $(call find_newer_files_fn,$(1),$(3)) \
|
||||
|| -n "`find -L $(2) \
|
||||
|| -n "`find -H $(2) \
|
||||
-type f \
|
||||
-and -newer $(1) \
|
||||
-and \( $(4) \) \
|
||||
@ -614,10 +614,10 @@ check_platform = \
|
||||
-a ! -x "`which 2> /dev/null $${target_gcc}`" ] ; then \
|
||||
$(call build_msg_fn, \
|
||||
No cross-compiler found for platform $(PLATFORM) target $(TARGET); \
|
||||
try $(MAKE) PLATFORM=$(PLATFORM) install-tools) ; \
|
||||
try make PLATFORM=$(PLATFORM) install-tools) ; \
|
||||
exit 1 ; \
|
||||
fi
|
||||
|
||||
|
||||
configure_check_timestamp = \
|
||||
@$(BUILD_ENV) ; \
|
||||
$(check_platform) ; \
|
||||
@ -625,10 +625,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" ; \
|
||||
@ -650,20 +646,15 @@ configure_check_timestamp = \
|
||||
# /proc/cpuinfo does not exist on platforms without a /proc and on some
|
||||
# platforms, notably inside containers, it has no content. In those cases
|
||||
# we assume there's 1 processor; we use 2*ncpu for the -j option.
|
||||
#
|
||||
# On FreeBSD we can call nproc to get the number of processors.
|
||||
#
|
||||
# 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
|
||||
ifeq ($(shell uname), FreeBSD)
|
||||
MAKE_PARALLEL_JOBS = $(shell nproc)
|
||||
else
|
||||
MAKE_PARALLEL_JOBS = $(if $(shell [ -f /proc/cpuinfo ] && head /proc/cpuinfo), \
|
||||
MAKE_PARALLEL_JOBS = -j $(if $(shell [ -f /proc/cpuinfo ] && head /proc/cpuinfo), \
|
||||
$(shell grep -c ^processor /proc/cpuinfo), 2)
|
||||
endif # FreeBSD
|
||||
else
|
||||
MAKE_PARALLEL_JOBS := -j $(MAKE_PARALLEL_JOBS)
|
||||
endif
|
||||
MAKE_PARALLEL_FLAGS ?= $(if $($(PACKAGE)_make_parallel_fails),,-j $(MAKE_PARALLEL_JOBS))
|
||||
MAKE_PARALLEL_FLAGS ?= $(if $($(PACKAGE)_make_parallel_fails),,$(MAKE_PARALLEL_JOBS))
|
||||
|
||||
# Make command shorthand for packages & tools.
|
||||
PACKAGE_MAKE = \
|
||||
@ -772,7 +763,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})
|
||||
@ -807,10 +798,10 @@ pull-all:
|
||||
$(call build_msg_fn,Git pull build tools) ; \
|
||||
$(call tool_make_target_fn,pull-all) ; \
|
||||
$(call build_msg_fn,Git pull packages for platform $(PLATFORM)) ; \
|
||||
$(MAKE) PLATFORM=$(PLATFORM) $(patsubst %,%-pull-all,$(ROOT_PACKAGES))
|
||||
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)) ; \
|
||||
@ -819,12 +810,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 \
|
||||
@ -922,7 +913,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
|
||||
@ -932,7 +923,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) ; \
|
||||
@ -954,7 +945,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
|
||||
@ -969,13 +960,13 @@ $(PLATFORM_IMAGE_DIR)/ro.img ro-image: $(patsubst %,%-find-source,$(ROOT_PACKAGE
|
||||
chmod 0755 $${tmp_dir} ; \
|
||||
cd $${tmp_dir} ; \
|
||||
trap "rm -rf $${tmp_dir}" err ; \
|
||||
fakeroot $(SHELL) -c "{ \
|
||||
fakeroot /bin/bash -c "{ \
|
||||
set -eu$(BUILD_DEBUG) ; \
|
||||
$(MAKE) -C $(MU_BUILD_ROOT_DIR) IMAGE_INSTALL_DIR=$${tmp_dir} \
|
||||
$(patsubst %,%-image_install, \
|
||||
basic_system \
|
||||
$(ROOT_PACKAGES)) ; \
|
||||
: $(MAKE) dev directory ; \
|
||||
: make dev directory ; \
|
||||
$(linuxrc_makedev) ; \
|
||||
echo @@@@ Relocating ELF executables to run in / @@@@ ; \
|
||||
scripts/set-rpath /$(arch_lib_dir):/lib ; \
|
||||
@ -1061,7 +1052,7 @@ rw-image: rw-image-check-type ro-image
|
||||
chmod 0755 $${tmp_dir} ; \
|
||||
cd $${tmp_dir} ; \
|
||||
trap "rm -rf $${tmp_dir}" err ; \
|
||||
fakeroot $(SHELL) -c "{ \
|
||||
fakeroot /bin/bash -c "{ \
|
||||
set -eu$(BUILD_DEBUG) ; \
|
||||
$(linuxrc_makedev) ; \
|
||||
$(call rw_image_embed_ro_image_fn,$${ro_image}) ; \
|
||||
@ -1094,7 +1085,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
|
||||
|
||||
@ -1158,4 +1149,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
119
build-root/config.site
Normal file
119
build-root/config.site
Normal file
@ -0,0 +1,119 @@
|
||||
# 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.
|
||||
|
||||
|
||||
######################################################################
|
||||
# glibc
|
||||
######################################################################
|
||||
|
||||
# glibc needs this for cross compiling
|
||||
libc_cv_forced_unwind=yes
|
||||
libc_cv_c_cleanup=yes
|
||||
libc_cv_ssp=no
|
||||
# fixes gentoo build; not sure why?
|
||||
libc_cv_uname_release=""
|
||||
libc_cv_uname_version=""
|
||||
ac_cv_header_cpuid_h=yes
|
||||
######################################################################
|
||||
# bash
|
||||
######################################################################
|
||||
|
||||
# Bash configure.in uses this to work around an autoconf 2.53 bug
|
||||
ac_cv_func_setvbuf_reversed=no
|
||||
ac_cv_rl_version=5.1
|
||||
bash_cv_termcap_lib=libncurses
|
||||
|
||||
# These mostly come from debian bash-2.05b changes
|
||||
# They are needed to make a functioning bash. Without these
|
||||
# settings gdbserver exiting would cause the invoking bash to
|
||||
# exit also.
|
||||
bash_cv_have_mbstate_t=yes
|
||||
bash_cv_dup2_broken=no
|
||||
bash_cv_pgrp_pipe=no
|
||||
bash_cv_sys_siglist=yes
|
||||
bash_cv_under_sys_siglist=yes
|
||||
bash_cv_opendir_not_robust=no
|
||||
bash_cv_printf_declared=yes
|
||||
bash_cv_ulimit_maxfds=yes
|
||||
bash_cv_getenv_redef=yes
|
||||
bash_cv_getcwd_calls_popen=no
|
||||
bash_cv_func_strcoll_broken=no
|
||||
bash_cv_must_reinstall_sighandlers=no
|
||||
bash_cv_type_quad_t=yes
|
||||
bash_cv_func_sigsetjmp=present
|
||||
bash_cv_job_control_missing=present
|
||||
bash_cv_sys_named_pipes=present
|
||||
bash_cv_type_rlimit=long
|
||||
bash_cv_printf_a_format=yes
|
||||
bash_cv_unusable_rtsigs=no
|
||||
|
||||
######################################################################
|
||||
# Apache
|
||||
######################################################################
|
||||
ac_cv_func_setpgrp_void=yes
|
||||
apr_cv_process_shared_works=yes
|
||||
apr_cv_tcp_nodelay_with_cork=yes
|
||||
ap_void_ptr_lt_long=no
|
||||
|
||||
case ${host_cpu} in
|
||||
x86_64 | alpha)
|
||||
ac_cv_sizeof_ssize_t=8
|
||||
ac_cv_sizeof_size_t=8
|
||||
ac_cv_sizeof_pid_t=4
|
||||
;;
|
||||
*)
|
||||
ac_cv_sizeof_ssize_t=4
|
||||
ac_cv_sizeof_size_t=4
|
||||
ac_cv_sizeof_pid_t=4
|
||||
;;
|
||||
esac
|
||||
|
||||
######################################################################
|
||||
# gdb
|
||||
######################################################################
|
||||
gdb_cv_func_ptrace_args=int,int,long,long
|
||||
|
||||
######################################################################
|
||||
# dpkg
|
||||
######################################################################
|
||||
dpkg_cv_va_copy=yes
|
||||
|
||||
######################################################################
|
||||
# coreutils
|
||||
######################################################################
|
||||
ac_cv_search_clock_gettime=no
|
||||
gl_cv_fs_space=yes
|
||||
|
||||
######################################################################
|
||||
# valgrind
|
||||
######################################################################
|
||||
ac_cv_file__proc_self_fd=yes
|
||||
ac_cv_file__proc_self_exe=yes
|
||||
ac_cv_file__proc_self_maps=yes
|
||||
|
||||
######################################################################
|
||||
# tcpdump
|
||||
######################################################################
|
||||
ac_cv_linux_vers=2
|
||||
ac_cv_func_pcap_findalldevs=no
|
||||
|
||||
######################################################################
|
||||
# flex
|
||||
######################################################################
|
||||
ac_cv_func_malloc_0_nonnull=yes
|
||||
ac_cv_func_realloc_0_nonnull=yes
|
||||
|
||||
######################################################################
|
||||
# tar
|
||||
######################################################################
|
||||
tar_gl_cv_func_mknod_works=yes
|
14
build-root/deb/debian/.gitignore
vendored
Normal file
14
build-root/deb/debian/.gitignore
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
changelog
|
||||
files
|
||||
*debhelper*
|
||||
*.substvars
|
||||
*.install
|
||||
*.dirs
|
||||
vpp/
|
||||
vpp-dev/
|
||||
vpp-lib/
|
||||
vpp-dbg/
|
||||
vppctl/
|
||||
vpp-api-lua/
|
||||
vpp-api-java/
|
||||
vpp-api-python/
|
56
build-root/deb/debian/README.vpp
Executable file
56
build-root/deb/debian/README.vpp
Executable file
@ -0,0 +1,56 @@
|
||||
Building DEB packages
|
||||
=====================
|
||||
|
||||
REQUIREMENTS:
|
||||
You will need a working Internet connection to execute the build, because
|
||||
the build procedure for the included "dpdk" project attempts to contact the
|
||||
Internet host "dpdk.org".
|
||||
|
||||
There are three main parts to the process:
|
||||
a) Stage the source tree so that dpkg-source will recognize its organization
|
||||
and create a valid DSC source package for you;
|
||||
b) Ensure that the tools required for building DEB packages are installed;
|
||||
and
|
||||
c) Launch the build.
|
||||
|
||||
1) Create, or have on hand, a local clone of the git repository, with no
|
||||
untracked files or local modifications pending, up-to-date with the branch or
|
||||
commit reference from which you wish to construct the source release.
|
||||
|
||||
The branch and repository origins will differ based on local conditions.
|
||||
|
||||
Example:
|
||||
$ git clone -b master ssh://git@example.com:7999/~username/open-vpp
|
||||
|
||||
("-b master" can be omitted since master is the default branch)
|
||||
|
||||
2) Rename the checkout with a version number embedded in its name as is
|
||||
conventional for code releases. Again, your version number may vary.
|
||||
|
||||
Example:
|
||||
$ mv open-vpp open-vpp-0.0.0
|
||||
|
||||
3) Ensure that the dpkg-buildpackage program is installed.
|
||||
|
||||
E.g.,
|
||||
|
||||
# apt-get install dpkg-dev
|
||||
|
||||
4) From the PARENT directory of the debian/ directory, run:
|
||||
|
||||
$ cd open-vpp-0.0.0
|
||||
$ dpkg-buildpackage -I .git -us -uc
|
||||
|
||||
(The -us and -uc flags omit GPG signatures from the .dsc and .changes files,
|
||||
respectively. You can add them later, or if you are preparing a signed release
|
||||
and have the signing key on hand, leave off the flags.)
|
||||
|
||||
5) Get rid of the source directory; you now either have a source package with
|
||||
which you can re-create it at any time, or there were problems with the build,
|
||||
and you should go back to your git checkout to fix them.
|
||||
|
||||
$ rm -r open-vpp-0.0.0
|
||||
|
||||
END
|
||||
|
||||
vim:set ai et sw=4 ts=4 tw=80:
|
1
build-root/deb/debian/compat
Executable file
1
build-root/deb/debian/compat
Executable file
@ -0,0 +1 @@
|
||||
9
|
67
build-root/deb/debian/control
Normal file
67
build-root/deb/debian/control
Normal file
@ -0,0 +1,67 @@
|
||||
Source: vpp
|
||||
Section: net
|
||||
Priority: extra
|
||||
Maintainer: Cisco OpenVPP Packaging Team <bogus.address@cisco.com>
|
||||
Build-Depends: debhelper (>= 9), dh-systemd, dh-python, chrpath, python-all
|
||||
Standards-Version: 3.9.4
|
||||
|
||||
Package: vpp
|
||||
Architecture: any
|
||||
Depends: vpp-lib (= ${source:Version}), ${shlibs:Depends}, ${misc:Depends}, ${python:Depends}
|
||||
Description: Vector Packet Processing--executables
|
||||
This package provides VPP executables: vpp, vpp_api_test, vpp_json_test
|
||||
vpp - the vector packet engine
|
||||
vpp_api_test - vector packet engine API test tool
|
||||
vpp_json_test - vector packet engine JSON test tool
|
||||
|
||||
Package: vpp-dbg
|
||||
Architecture: any
|
||||
Depends: ${misc:Depends}
|
||||
Description: Vector Packet Processing--debug symbols
|
||||
|
||||
Package: vpp-dev
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends}
|
||||
Description: Vector Packet Processing--development support
|
||||
This package contains development support files for the VPP libraries
|
||||
.
|
||||
|
||||
Package: vpp-lib
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||
Description: Vector Packet Processing--runtime libraries
|
||||
This package contains the VPP shared libraries, including:
|
||||
.
|
||||
vppinfra - foundation library supporting vectors, hashes, bitmaps, pools, and string formatting.
|
||||
svm - vm library
|
||||
vlib - vector processing library
|
||||
vlib-api - binary API library
|
||||
vnet - network stack library
|
||||
|
||||
Package: vpp-plugins
|
||||
Architecture: any
|
||||
Depends: vpp (= ${source:Version}), ${shlibs:Depends}, ${misc:Depends}
|
||||
Description: Vector Packet Processing--runtime plugins
|
||||
This package contains VPP plugins
|
||||
.
|
||||
|
||||
Package: vpp-api-lua
|
||||
Architecture: any
|
||||
Depends: ${misc:Depends}, vpp (= ${source:Version})
|
||||
Description: VPP LUA API bindings
|
||||
This package contains VPP lua api bindings
|
||||
.
|
||||
|
||||
Package: vpp-api-java
|
||||
Architecture: any
|
||||
Depends: ${misc:Depends}, vpp (= ${source:Version})
|
||||
Description: VPP Java API bindings
|
||||
This package contains VPP java api bindings
|
||||
.
|
||||
|
||||
Package: vpp-api-python
|
||||
Architecture: any
|
||||
Depends: ${python:Depends}, ${misc:Depends}, vpp (= ${source:Version})
|
||||
Description: VPP Python API bindings
|
||||
This package contains VPP python api bindings
|
||||
.
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user