aboutsummaryrefslogtreecommitdiffstats
path: root/build-root/Makefile
AgeCommit message (Collapse)AuthorFilesLines
2024-01-21build: Explicitly use gmakeTom Jones1-4/+4
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-19build: Explicitly use bash for shell scriptsTom Jones1-3/+3
VPP requires bash for all shell scripts. Align shebang lines in build and test scripts to look up the location of bash rather than hard coding '/bin/bash'. Look up the location of bash for makefiles. Type: improvement Change-Id: I23b705d81d60389fa8af61c680cf0abd74f0ea24 Signed-off-by: Tom Jones <thj@freebsd.org>
2021-01-28build: do not _FORTIFY_SOURCE in debug modeMohammed Hawari1-3/+3
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 Ranns1-3/+3
Type: fix Signed-off-by: Neale Ranns <neale@graphiant.com> Change-Id: I36f2d08681f90a3f8ea7598952d1e14c53f0187b
2021-01-05ebuild: follow symbolic links in find_newer_filtered_fnDave Barach1-1/+1
Otherwise, changes in source code symbolically-linked into the workspace will not be considered when deciding whether to invoke e.g. Ninja. This change is strongly preferable to asking people to remove .mu_build_build_timestamp to force a Ninja run. Deals reasonably gracefully with symbolic link loops, at least in trivial cases: "find: File system loop detected" Type: improvement Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I6666c84861de5e8b8aebcb94158f53526aded089
2020-06-15build: remove un-needed scriptSimon Chatterjee1-1/+1
The move to cmake obviates the need for this build script (and its terminology). Type: make Signed-off-by: Simon Chatterjee <code@chatts.net> Change-Id: Ie17429bfdf5a4b02ce2b70ba3568a7445c162d38
2020-02-28ebuild: fix the distclean targetDave Barach1-16/+13
Type: fix Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I32142962cb70ea0d92cda1b0ffaac42b7de15974
2020-02-08misc: fix the MAKE_PARALLEL_JOBS for 'make verify' targetAndrew Yourtchenko1-4/+2
MAKE_PARALLEL_JOBS was prepending "-j", which in case of nested targets like "verify" resulted in ninja being executed with "-j -j" flags. Solution: prepend -j only at the moment of setting the MAKE_PARALLEL_FLAGS variable, this keeps MAKE_PARALLEL_JOBS intact regardless of depth of the job call tree. Type: make Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com> Change-Id: I10a69fe527758e5a862852a9f2102aeaca30e88f
2019-01-26Run vpp-configure on change to cmake config files.Burt Silverman1-0/+4
Modify the dirs assignment in configure_check_timestamp to add the build-data/platforms/$(PLATFORM).mk file, all the CMakeLists.txt files in the $(PACKAGE_SOURCE) tree, and the $(PACKAGE_SOURCE)/cmake directory. (For example, for package vpp, $(PACKAGE_SOURCE) is <Top of Tree>/src). Note that in an earlier era there was no build-data/platforms directory and no CMakeLists.txt files. Also, we tacitly assume that $(SOURCE_PATH_BUILD_DATA_DIRS) is only one directory whereas ebuild has been used in environments where there are two treetops. Change-Id: I761219adbdb4c7e675bb12b3e7f052db68f0294c Signed-off-by: Burt Silverman <burtms@gmail.com>
2018-03-24allow specifying number of concurrent jobsKlement Sekera1-0/+4
If defined, Use MAKE_PARALLEL_JOBS as number of concurrent jobs for build process instead of the internal calculation based on /proc/cpuinfo. Change-Id: I18d1f526dc5c156c1cd9c9cf6dbbfd9cb8dbbad7 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2018-03-15use system provided ccache linksDamjan Marion1-1/+2
Change-Id: I0860bbd0cf368fc3638b861504ebf642ee9d3807 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-03-14Clean up vpp build bootstrap stepDave Barach1-10/+2
Net of rewriting vppapigen in python-ply, there's no need to compile vppinfra. Install a copy of vppapigen in .../build-root/tools/bin, so the sample plugin build will work. Rationalize suffix-rules.mk. Add clang, clang++ links to .../build-root/ccache-bin. Change-Id: Ib4017848b7767b6054238ea544ee5319667c3659 Signed-off-by: Dave Barach <dave@barachs.net>
2018-01-23VPPAPIGEN: vppapigen replacement in Python PLY.Ole Troan1-1/+1
This is a version of the VPP API generator in Python PLY. It supports the existing language, and has a plugin architecture for generators. Currently C and JSON are supported. Changes: - vl_api_version to option version = "major.minor.patch" - enum support - Added error checking and reporting - import support (removed the C pre-processor) - services (tying request/reply together) Version: option version = "1.0.0"; Enum: enum colours { RED, BLUE = 50, }; define foo { vl_api_colours_t colours; }; Services: service { rpc foo returns foo_reply; rpc foo_dump returns stream foo_details; rpc want_stats returns want_stats_reply events ip4_counters, ip6_counters; }; Future planned features: - unions - bool, text - array support (including length) - proto3 output plugin - Refactor C/C++ generator as a plugin - Refactor Java generator as a plugin Change-Id: Ifa289966c790e1b1a8e2938a91e69331e3a58bdf Signed-off-by: Ole Troan <ot@cisco.com>
2018-01-10makefile set CXXFLAGS so they are propageted to sub-buildsNeale Ranns1-0/+4
Change-Id: I55d9953851062f7106c66701d46bcd9073cf1ee4 Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2017-11-22 Makefile: make_parallel_flags via env variableEd Kern1-1/+1
/proc/cpuinfo with container builds may lead to jenkins failures ability to pass in MAKE_PARALLEL_FLAGS via env directly for container builds Change-Id: Id02acb542d5ffbe3f4dec7712ae2cb07512b236d Signed-off-by: Ed Kern <ejk@cisco.com>
2017-11-13Reduce number of parallel buildsDamjan Marion1-1/+1
With recent introduction of C++ code required memory for each compiler instance has significantly increased causing build issues. Currently build system spins 2 compiler instances per logical CPU core. As CPU can hardly execute more than one thread at a time, it should be pretty safe to change that formula so it doesn't multiply number of cpu cores by 2 and such change will signifucantly reduce amount of memory needed. Change-Id: Ic829fff6e45f4caf98a6d9c1c98c53ed003039ef Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-11-01Clean up a few historical anomaliesDave Barach1-22/+6
Change-Id: I5d36a8a54fa6f73ea2b3761413098867dae1df74 Signed-off-by: Dave Barach <dave@barachs.net>
2017-09-07The missing variable (added with this patch) was causing the build on AARCH64Marco Varlese1-0/+1
platforms to default to lib (instead of lib64) when not explicitely defining the --libdir through the configure script. This patch fixes that. Change-Id: Ia4c152e0f40acab7f098885d672ff9385f57b0fe Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2017-06-24make: Fix parallel building with some container platforms (VPP-880)Chris Luke1-10/+7
With some Linux container platforms /proc/cpuinfo reads as an empty file. (Aside: stat on /proc/cpuinfo always indicates a length of zero bytes, regardless of its content). This has the effect that the make '-j' parameter being passed the unhelpful value of '0' both in build-root/Makefile and dpdk/Makefile. Make complains with the error: make: the '-j' option requires a positive integer argument This patch checks for '0' and replaces it with '2' as a reasonable number of jobs to run in parallel when the CPU count isn't known (and assumed to be one). It also makes the value determination consistent between VPP and DPDK (2*ncpu). Change-Id: I78b89420114a825fab4d339e4f9291d486b7b9c8 Signed-off-by: Chris Luke <chrisy@flirble.org>
2017-04-20Extend ebuild to specify "configure" subdir, enable verify for sample-pluginDamjan Marion1-2/+4
Change-Id: I2056e5d19bc3713e7a13e015dabf3b2431800973 Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-01-20Add dpdk development packagingDamjan Marion1-1/+0
Change-Id: I6aa2a6709241d99ce734c29e47487eb456907351 Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-01-10Revert "vppctl: bash completion for vppctl commands"Damjan Marion1-2/+1
This patch is causing build failures This reverts commit d995c757f05f78aa759b0a65c0a7e38088e690a9. Change-Id: I0c8d5a4208135d77aaa3a6a470d26140f7b74733 Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-01-09vppctl: bash completion for vppctl commandsPadraig Connolly1-1/+2
Added bash completion that will include all commands from build time *Script takes list of commands generated by doxygen-siphon-list *Configured doxygen-siphon makefile to generate just cli commands *List of cli commands put in /usr/share/vpp *Stopped siphon using doxygen bootstrap, uses main bootstrap instead *Added rpm/deb check for installation of packages, separate from bootstrap *NOTE: Once you have installed the vpp .deb/.rpm package you will have to restart bash Change-Id: Ie503e80d5177481f6e7dbe59378f2e0d76f29152 Signed-off-by: Padraig Connolly <padraig.connolly@intel.com>
2016-10-26refactor test frameworkKlement Sekera1-0/+1
Change-Id: I31da3b1857b6399f9899276a2d99cdd19436296c Signed-off-by: Klement Sekera <ksekera@cisco.com> Signed-off-by: Matej Klotton <mklotton@cisco.com> Signed-off-by: Jan Gelety <jgelety@cisco.com> Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2016-05-19Add support for multiple microarchitectures in single binaryDamjan Marion1-0/+5
* compiler -march= parameter is changed from native to corei7 so code is always genereted with instructions which are available on the Nehalem microarchitecture (up to SSE4.2) * compiler -mtune= parameter is added so code is optimized for corei7-avx which equals to Sandy Bridge microarchitecture * set of macros is added which allows run-time detection of available cpu instructions (e.g. clib_cpu_supports_avx()) * set of macros is added which allows us to clone graph node funcitons where cloned function is optmized for different microarchitecture Those macros are using following attributes: __attribute__((flatten)) __attribute__((target("arch=core-avx2))) I.e. If applied to foo_node_fn() macro will generate cloned functions foo_node_fn_avx2() and foo_node_fn_avx512() (future) It will also generate function void * foo_node_fn_multiarch_select() which detects available instruction set and returns pointer to the best matching function clone. Change-Id: I2dce0ac92a5ede95fcb56f47f3d1f3c4c040bac0 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-30Remove historical tags, fix the debug tagDave Barach1-22/+4
Change-Id: I013784aeef5ae6b5ba4a30c7759e9daff3c2c576 Signed-off-by: Dave Barach <dave@barachs.net>
2016-03-25Fix distclean to correctly handle CentosEd Warnicke1-1/+2
Change-Id: I3f930306e9f384011687d2ce88052639df0d966b Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-03-24Reduce number of parallel gcc invocations from 4 to 2 per cpuDamjan Marion1-1/+1
Some build hosts can run out of memory during compilation. This should reduce memory demand without affecting build time. Change-Id: I11bd2884a1f8885a8a332bbbf0a63324a3079c3b Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-01-27Allow CCACHE_DIR to be overridden, e.g. from .../build-root/build-config.mkDave Barach1-1/+6
Change-Id: I9f2afa31c061b658e45ebbc16d01a6c118993116 Signed-off-by: Dave Barach <dave@barachs.net>
2016-01-22aarch64 CPU arch / ThunderX platform initial supportDave Barach1-4/+13
Change-Id: Ia2edd3cee2c25c26c7c47a9023744b97226434c7 Signed-off-by: Dave Barach <dave@barachs.net>
2015-12-15Remove autotools generated productsDave Barach1-1/+1
Change-Id: I7f23b8b8e5136cb56768bac3a7473e6df5ee4993 Signed-off-by: Dave Barach <dave@barachs.net>
2015-12-08Initial commit of vpp code.v1.0.0Ed Warnicke1-0/+1168
Change-Id: Ib246f1fbfce93274020ee93ce461e3d8bd8b9f17 Signed-off-by: Ed Warnicke <eaw@cisco.com>