summaryrefslogtreecommitdiffstats
path: root/build-data
AgeCommit message (Collapse)AuthorFilesLines
2024-01-21build: Explicitly use gmakeTom Jones1-1/+1
VPP requires GNU Make to build, on GNU systems (such as Debian), GNU Make is installed as 'make', typically with a symlink from 'gmake'. On other systems (such as FreeBSD), 'make' is a BSD Make derriviative and GNU Make is installed a 'gmake'. Use $(MAKE) variable for make calls from within Makefiles. This variable is set to the path of the calling make program, i.e., /usr/local/bin/gmake on a bsd system. This is the recommended way to call make from Makefiles in the GNU Make documentation. Type: improvement Change-Id: Id9162a34a0f8358f22090718087918dae31c0fce Signed-off-by: Tom Jones <thj@freebsd.org>
2024-01-17octeon: native driver for Marvell Octeon SoCDamjan Marion1-0/+3
Type: feature Change-Id: I6898625c4e8854f777407dac3159e4c639a54860 Signed-off-by: Monendra Singh Kushwaha <kmonendra@marvell.com> Signed-off-by: Damjan Marion <damarion@cisco.com>
2023-10-26build: allow for reproducible buildsAndrew Yourtchenko1-0/+3
Setting and using the SOURCE_DATE_EPOCH variable takes care of most of the magic necessary. https://reproducible-builds.org/docs/source-date-epoch/ vpp-ext-deps packages after this change is being built with that date set to date of the last modification of the subtree (similar logic to deriving the "number" for the package version) For the rest of the packages, pinning the following three variables should result in bit-identical artifacts across multiple runs: export SOURCE_DATE_EPOCH=$(date +%s) export VPP_BUILD_HOST="buildhost" export VPP_BUILD_USER="builduser" Add a blurb in the docs describing this new functionality. Type: improvement Change-Id: I71b085f0577b2358aa98f01dafd8e392239420a6 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2023-10-03build: add ability to disable some plugins from packaging and testsAndrew Yourtchenko1-0/+3
When custom-packaging the VPP artifacts, it can be useful to exclude some of the core plugins from packaging/testing, for some reasons. A removal of a plugin(s) from the worktree needs to be tracked as a separate change, and thus is tricky from the maintenance point of view. This change adds the ability to "pretend they do not exist" - plugins which are added to the comma-separated environment variable "VPP_EXCLUDED_PLUGINS" will not be added to the build process and not packaged. The tests do not have the 1:1 relationship as plugins, so they might need to be modified separately. This change includes some of these modifications as an example. Type: feature Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com> Change-Id: Id31562d00a01ced1acbb4996a633517cbd6f09d8
2021-09-17ebuild: cleanup of DPDK options in external.mkMohammed Hawari1-19/+0
With the move to meson, most DPDK options in external.mk are not used anymore Type: improvement Change-Id: I603ccd30c9e52bdc89a69aa4bece2394b3eed1fe Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
2021-09-13build: verbose dpdk build requiring meson 0.55Nick Brown1-0/+4
allow verbose dpdk build to be enabled. Useful for tools, like debian blhc, that want to inspect build logs. The '--verbose' option to 'meson compile' requires at least version 0.55. Type: make Change-Id: I54e91298f632e2b91247680d9295701b05353abe Signed-off-by: Nick Brown <nickbroon@gmail.com>
2021-07-02build: remove unused files and sectionsDamjan Marion7-203/+0
Type: make Change-Id: Ia1d8c53c5fb02f7e5c86efab6e6ccd0fdb16bc96 Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-04-30misc: experimental configure scriptDamjan Marion1-2/+2
Type: make Change-Id: Iaeb9d22eec9a7a763b63899814a44e78c8050f1f Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-01-28build: do not _FORTIFY_SOURCE in debug modeMohammed Hawari2-4/+4
When compiling in -O0, the glibc feature.h ignores _FORTIFY_SOURCE and, in some distributions, throws a #warning, which fails the build. This patch removes -D_FORTIFY_SOURCE in all debug configurations. Change-Id: Ic30229c038353e49ff9419779e082a7083c1ea5f Type: fix Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
2021-01-20build: add the missing leading underscore to FORTIFY_SOURCENeale Ranns2-6/+6
Type: fix Signed-off-by: Neale Ranns <neale@graphiant.com> Change-Id: I36f2d08681f90a3f8ea7598952d1e14c53f0187b
2020-12-01ebuild: perform build and install at the same time for external.mkMohammed Hawari1-2/+2
Change-Id: I65379f346fe3f881ce4196d99882cd6013e5e154 Type: improvement Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
2020-10-16misc: deprecate VOMDamjan Marion2-46/+1
Type: make Change-Id: Ifb3e52af93d24fcc2f2e6a0c408e16902a2fe553 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-04-30build: rework x86 CPU variantsDamjan Marion4-8/+8
Type: improvement Change-Id: Ief243f88e654e578ef9b8060fcf535b364aececb Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-11-08build: use cmake build typesDamjan Marion2-30/+6
Type: make Change-Id: If822c85d6ff26982516ea1d597ca81aa84773b2b Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-10-22build: add missing ldflags to exe and sharedBenoît Ganne1-0/+2
Type: fix Change-Id: I859bc6ebc574ab09fd70b45f8c911769d00e7acf Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-10-07build: add env variable to pass extra cmake argsNathan Skrzypczak1-0/+4
If VPP_EXTRA_CMAKE_ARGS is set, its content will be appended to the vpp cmake command cli Type: feature Change-Id: I825d4239e62b0a2fb70a652f0671f6c559630aad Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-09-23ebuild: Add MAKE_PARALLEL_FLAGS to VPP buildjuraj.linkes1-1/+1
Align with other packages. Type: make Change-Id: I3c8f5c6a349ce9d4e05f546945ae2d8dcf3b1b61 Signed-off-by: juraj.linkes <juraj.linkes@pantheon.tech>
2019-06-07build: add -Wall and -fno-common, fix reported issuesBenoît Ganne1-14/+20
Type: refactor Change-Id: I8489ccd54411c2aa9355439c5641dc31012c64a2 Signed-off-by: Benoît Ganne <bganne@cisco.com> Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-05-14Build packages for generic Arm architectureLijian.Zhang2-0/+9
The current aarch64 version of VPP package distro in cloud repository (https://packagecloud.io/fdio/master/ubuntu), is built on a ThunderX server, using some arch-specific options, for example, 128Byte cache line size, T=arm64-thunderx-linuxapp-gcc, RTE_MACHINE=thunderx The patch is trying to build package distro with aarch64 generic features, for both binary type targets, e.g., build/build-release, and package type targets, e.g., pkg-deb/pkg-rpm, with the generic options, e.g., 128Byte cache line size, T=arm64-armv8a-linuxapp-gcc, RTE_MACHINE=armv8a If end users want to build arch specific optimized image, TARGET_PLATFORM variable could be used, as below example, $ make build-release/pkg-deb TARGET_PLATFORM=thunderx Change-Id: If78bca8709fe83db6a95e8c26346f206bf5ea71d Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com> Reviewed-by: Sirshak Das <Sirshak.Das@arm.com> Reviewed-by: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
2019-05-06gcov / test framework: sigterm not sigkillDave Barach1-3/+2
Otherwise, gcov data vanishes without a trace. Add a __gcov_flush() call to the unix signal handler, under #ifdef CLIB_GCOV. Add -DCLIB_GCOV to vpp_gcov_TAG_CFLAGS. Change-Id: I2726e671b26dfbe7fae88f46a8207bb2b5106884 Signed-off-by: Dave Barach <dave@barachs.net>
2019-03-01dpdk: update mlx[45] linking optionsMatthew Smith1-3/+3
Upstream DPDK changed the names of the options to use dlopen() with libibverbs and libmlx[45] from RTE_LIBRTE_MLX[45]_DLOPEN_DEPS to RTE_IBVERBS_LINK_DLOPEN (handles both mlx4 and mlx5). VPP's build option to enable this configuration when building DPDK no longer worked starting when VPP moved to DPDK 19.02. Update VPP's build options to enable the correct option name. Change-Id: I8e34e1d3fc4ee8aac4fd6f2a7d27177f2b0dea50 Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2019-02-19VPP-1504: Remove JVPPMichal Cmarada3-46/+2
As part of JVPP migration this removes JVPP completely from VPP. Change-Id: I6b74e7961aa474ae471e63fe43a624cd9fc3659b Signed-off-by: Michal Cmarada <mcmarada@cisco.com>
2019-02-14deb-pkg: Add libvom package supportMohsin Kazmi1-0/+4
Change-Id: I370a5198ea5b768d8c505679662a19797bd2740d Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-02-01Remove -z now from LDFLAGSDamjan Marion1-1/+1
It significantly increases link time, and slows down VPP startup. Change-Id: I200448212a3254b1292d4e52d2751214240e2bc4 Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-20Rework of debian packagingDamjan Marion2-83/+7
Change-Id: Ifede85d3af36f3ee6c6f8f92dcf5db0ed8f1bfeb Signed-off-by: Damjan Marion <damarion@cisco.com> Signed-off-by: Dave Barach <dave@barachs.net>
2018-12-17Added CMake building system for libmemifmsardara1-1/+38
Added Cpack support for building libmemif DEB/RPM packages Fixed compilation errors in libmemif test and examples Change-Id: I59a237a4ca8eb08840857d5b0e666f3a8d74411d Signed-off-by: msardara <msardara+fdio@cisco.com>
2018-11-13japi: Move Java API binding to cmakeMohsin Kazmi1-2/+40
Change-Id: I264d547a06e3636d021a74cd26efb8137f629cbc Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com> Signed-off-by: Michal Cmarada <mcmarada@cisco.com>
2018-09-27Revert "japi: Move Java API binding to cmake"Damjan Marion1-40/+2
components: Development CMake Error at /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message): Could NOT find JNI (missing: JAVA_AWT_INCLUDE_PATH) Call Stack (most recent call first): /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE) /usr/share/cmake-3.10/Modules/FindJNI.cmake:310 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) CMakeLists.txt:37 (find_package) -- Configuring incomplete, errors occurred! See also "/scratch/vpp-tmp/build-root/build-vpp-native/japi/CMakeFiles/CMakeOutput.log". See also "/scratch/vpp-tmp/build-root/build-vpp-native/japi/CMakeFiles/CMakeError.log". Makefile:640: recipe for target 'japi-configure' failed make[2]: *** [japi-configure] Error 1 make[2]: Leaving directory '/scratch/vpp-tmp/build-root' This reverts commit a33db2528485ac39e8987bec7b138dbdad21dc5a. Change-Id: I8a818ce70a8379656c1134432e22db418a4690fe Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-27dpdk_plugin: fix mlx5 build and runtime issuesSirshak Das1-0/+5
There are issues with VPP finding and linking the mlx5 shared glue library which was built by default if mlx5 was enabled. Runtime Errors this patch fixes: net_mlx5: cannot load glue library: librte_pmd_mlx5_glue.so.18.05.0: cannot open shared object file: No such file or directory net_mlx5: cannot initialize PMD due to missing run-time dependency on rdma-core libraries (libibverbs, libmlx5) This patch introduces additional config parameter to disable glue library building and instead statically link ibverbs and mlx5 libraries to the PMD and dpdk_plugin. Change-Id: I0b2f67652a57854c778e991780903fb15706ace8 Signed-off-by: Sirshak Das <sirshak.das@arm.com> Reviewed-by: Lijian Zhang <Lijian.Zhang@arm.com>
2018-09-26japi: Move Java API binding to cmakeMohsin Kazmi1-2/+40
Change-Id: Ia7ddd9f9e2e2d9c133967593c3e187fe42501eac Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-09-25Enable verbose output during VPP cmake compilingLijian Zhang1-0/+3
During VPP compiling, the command “make build-release V=1” gives verbose output on dpdk part. This is to enable verbose output on vpp part, with CMAKE_VERBOSE_MAKEFILE:BOOL=ON passed to cmake. It would help to get more cmake compiling information. Change-Id: I2b01c8e234beb3189fe401801ff339f224c14470 Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com> Reviewed-by: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com> Reviewed-by: Sirshak Das <Sirshak.Das@arm.com>
2018-09-21add: nasm and ipsec-mb into vpp-ext-deps packagingDamjan Marion1-2/+2
Change-Id: Ie5d85af84ae0d8b15edf5962213ed1b1953bee2f Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-20rename vpp-dpdk-dev to vpp-ext-depsDamjan Marion3-5/+23
We need to have new tenants in the development package. This is first of series of patches which will allow us to have multiple external libs and tools packaged for developer's convenience. Change-Id: I884bd75fba96005bbf8cea92774682b2228e0e22 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-13Fix: vppapigen make build fails on fresh installPaul Vinciguerra1-2/+2
Steps to reproduce: vagrant@localhost:/vagrant$ build-root/vagrant/build.sh ... @@@@ Building vpp in /vagrant/build-root/build-vpp-native/vpp @@@@ [51/1169] Generating API header /vagrant/build-root/build-vpp-native/vpp/vlibmemory/memclnt.api.json FAILED: cd /vagrant/build-root/build-vpp-native/vpp/vlibmemory && mkdir -p /vagrant/build-root/build-vpp-native/vpp/vlibmemory && /vagrant/src/tools/vppapigen/vppapigen --includedir /vagrant/src --input /vagrant/src/vlibmemory/memclnt.api JSON --output /vagrant/build-root/build-vpp-native/vpp/vlibmemory/memclnt.api.json AttributeError: 'module' object has no attribute 'dumps' This seems to be due to JSON.py namespace colliding with the standard lib json.py Change-Id: If389e4e05ef0c166b0c2b3bef7ec0185298679a8 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-09-12cmake: create cmake VPP module, update sample-plugin so it uses itDamjan Marion1-0/+26
Change-Id: I32e91ba8e55797ffe169f98b09bdb42caa5c7de2 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-12Always use 'lib' instead of 'lib64'Damjan Marion2-6/+2
It is packaging responsibility to put libs in the right place. Use of lib64 resulted in huge amount of files with hardcoded lib64. This patch simplifies things... Change-Id: Iab0dea0583e480907732c5d2379eb951a00fa9e6 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-10cmake VOM: j factor chosen based on number of coresNeale Ranns1-1/+2
Change-Id: If1c27359cd93f6de6da9a93c3573997a51201959 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-09cmake: Move VOM to cmakeMohsin Kazmi2-2/+40
Change-Id: I352dbb8e972e59a4caae4acd507153446470ce6b Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-09-07post move-to-cmake cleanupDamjan Marion4-71/+0
Change-Id: I87b8f054bbb54895429578dfe565e72331beb5b2 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-02Switch to cmakeDamjan Marion3-47/+0
Change-Id: I982b69390c55b5ffbd744f355efc0aaf425b360c Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-01cmake: pass linker flags, use devtoolset on centos 7Damjan Marion1-8/+21
Change-Id: I8439fd070dc47a080e2df859c9f9ac67d8a08f04 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-08-17CMake as an alternative to autotools (experimental)Damjan Marion2-0/+19
Change-Id: Ibc59323e849810531dd0963e85493efad3b86857 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-08-01Move java api to extras/Damjan Marion3-2/+8
Change-Id: Ibd5cbbdfb22a235442cddaebc9eae9a3c4e35ec9 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-07-27-DCLIB_DEBUG => turn on extra checks in dlmallocDave Barach1-1/+2
Also: call os_panic() on a heap botch crash, attempt to generate a post-mortem API dump, etc. Add an "ugly" test case to vec_test.c, to cause a configurable block overrun. Change-Id: I7b29a7645277f9e485e06ff83335306fedc24b71 Signed-off-by: Dave Barach <dave@barachs.net>
2018-07-18Add config option to use dlmalloc instead of mheapDave Barach1-1/+3
Configure w/ --enable-dlmalloc, see .../build-data/platforms/vpp.mk src/vppinfra/dlmalloc.[ch] are slightly modified versions of the well-known Doug Lea malloc. Main advantage: dlmalloc mspaces have no inherent size limit. Change-Id: I19b3f43f3c65bcfb82c1a265a97922d01912446e Signed-off-by: Dave Barach <dave@barachs.net>
2018-06-04Enable Position Independent Executable for production VPPNeale Ranns1-1/+1
Change-Id: I0f81423b854be1dc456df696416e5f3747393208 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-05-28VPP-1284: Fix for TLS corruption on ARM platformsSachin Saxena1-2/+2
- The issue is appearing on ARM platofrms where DPDK drivers are also using __thread TLS vairables. - The issue was only appearing with dpdk as plgin to VPP and not if used as statically link with VPP. - Using traditional TLS scheme resolved the issue. Change-Id: Ifb4c667fdd217c2b1d79be8a541a2c983222d95a Signed-off-by: Sachin Saxena <sachin.saxena@nxp.com>
2018-05-16Fix broken compilation for non-numa aware platformsSachin Saxena2-1/+2
- The dpdk plugin always looks for libnuma library during compilation. For non-numa aware platforms compilation breaks, if third party libnuma lib is not available. - Issue is more severe with Cross Compilation scenario where one has to download and cross compile libnuma-dev package even when target platofrom is NUMA disabled. Like when cross compiling for ARM platforms, Linaro tool-chain doesn't have libnuma by default. Change-Id: Ib85b3188b787c23ba33b47e3f6123c74fd37190e Signed-off-by: Sachin Saxena <sachin.saxena@nxp.com>
2018-05-12dpdk: Add build related keywords for failsafe PMDRui Cai3-0/+9
Added build related keywords for TAP, FAILSAFE PMD and also added some missing keywords for mlx4 PMD This is part of initial effort to enable vpp running over dpdk on failsafe PMD in Microsoft Azure (1/4). Change-Id: I2aebf209fbc6db030185f41971b51a593a003a3a Signed-off-by: Rui Cai <rucai@microsoft.com>
2018-05-04build-data: Common makefile for NXP DPAA1/DPAA2 platformsSachin Saxena2-66/+87
- Same makefile will be used to support DPAA1 and DPAA2 platforms. - Support added to have both on Host compilation as well as Cross compilation. - If Cross compiling, by default NXP cutomized toolchain "aarch64-fsl-linux" will be used. To use Linaro toolchains, please set env variable CROSS_PREFIX. Like: export CROSS_PREFIX=aarch64-linux-gnu - Added CPU_MTUNE to modify xxx_mtune , if CPU is not A72 which is default. - You may set DPDK_PATH to dpdk installation folder, if wish to use locally compiled DPDK. - In case of Cross compilation, OPENSSL_PATH will be required to include OPENSSL libs. Change-Id: I9057dfc57522b60e306810f684b3085bfccf85e9 Signed-off-by: Sachin Saxena <sachin.saxena@nxp.com>