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 <[email protected]>
> ---
> 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?