[dpdk-dev] [PATCH 1/1] devtools: avoid installing static binaries
Bruce Richardson
bruce.richardson at intel.com
Mon Dec 7 18:47:54 CET 2020
On Mon, Dec 07, 2020 at 06:33:19PM +0100, Thomas Monjalon wrote:
> When testing compilation and checking ABI compatibility,
> there is no real need of static binaries eating disks.
> The static linkage of applications are tested with GCC and Clang,
> plus some examples are statically linked.
> The after-installation build test is limited to "helloworld" example.
> Note the meson static build test was already limited to "l3fwd" example.
>
> The ABI compatibility is checked on shared libraries, so no need
> running this test a second time on builds intended for static linking.
> However, limiting ABI check to "shared builds" means all test cases
> must have a "shared build" occurence.
> As a consequence the 32-bit build test is switched to shared linking.
>
> Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
> ---
> devtools/test-meson-builds.sh | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
I think this might be better as two patches - one for the ABI check changes
and a second for the example build changes with installed DPDK.
>
> diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
> index 7280b7a93d..ed44d4ffb1 100755
> --- a/devtools/test-meson-builds.sh
> +++ b/devtools/test-meson-builds.sh
> @@ -166,6 +166,9 @@ build () # <directory> <target compiler | cross file> <meson options>
> config $srcdir $builds_dir/$targetdir $cross --werror $*
> compile $builds_dir/$targetdir
> if [ -n "$DPDK_ABI_REF_VERSION" ]; then
> + if echo $* | grep -qw -- '--default-library=static' ; then
> + return # skip ABI check for static build
> + fi
> abirefdir=${DPDK_ABI_REF_DIR:-reference}/$DPDK_ABI_REF_VERSION
> if [ ! -d $abirefdir/$targetdir ]; then
> # clone current sources
> @@ -230,7 +233,7 @@ if check_cc_flags '-m32' ; then
> export PKG_CONFIG_LIBDIR='/usr/lib/pkgconfig'
> fi
> target_override='i386-pc-linux-gnu'
> - build build-32b cc -Dc_args='-m32' -Dc_link_args='-m32'
> + build build-32b cc -Dc_args='-m32' -Dc_link_args='-m32' $use_shared
> target_override=
> unset PKG_CONFIG_LIBDIR
> fi
> @@ -274,7 +277,8 @@ if pkg-config --define-prefix libdpdk >/dev/null 2>&1; then
> export PKGCONF="pkg-config --define-prefix"
> for example in $examples; do
> echo "## Building $example"
> + [ $example = helloworld ] && static=static || static= # save disk space
> $MAKE -C $DESTDIR/usr/local/share/dpdk/examples/$example \
> - clean shared static >&$veryverbose
> + clean shared $static >&$veryverbose
> done
> fi
Just wonder are we likely to miss things with this change? Would changing
the order to do a clean at the end to free back up the disk space not
achieve much the same result while still saving disk space?
More information about the dev
mailing list