[dpdk-dev] [PATCH 1/1] devtools: avoid installing static binaries
Thomas Monjalon
thomas at monjalon.net
Mon Dec 7 18:33:19 CET 2020
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(-)
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
--
2.29.2
More information about the dev
mailing list