For usability, the default build type in meson is static, so that
binaries can be run from the build directory easily. However, static
builds take more space, so for build-testing purposes default to using
shared builds where possible.

Signed-off-by: Bruce Richardson <bruce.richard...@intel.com>
---
With this patch applied on Debian 9 (Stretch) the space used by a DPDK
checkout and test builds drops from ~2.5G to <1G. [Including space used
by cross compiles]

V2: fix typo in commit message
---
 devtools/test-meson-builds.sh | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
index 66723fe2b..1542dab01 100755
--- a/devtools/test-meson-builds.sh
+++ b/devtools/test-meson-builds.sh
@@ -9,6 +9,7 @@
 
 srcdir=$(dirname $(readlink -m $0))/..
 MESON=${MESON:-meson}
+use_shared="--default-library=shared"
 
 if command -v ninja >/dev/null 2>&1 ; then
        ninja_cmd=ninja
@@ -42,23 +43,23 @@ for c in gcc clang ; do
 done
 
 # test compilation with minimal x86 instruction set
-build build-x86-default -Dmachine=nehalem
+build build-x86-default -Dmachine=nehalem $use_shared
 
 # test 32-bit x86 compilation
 # NOTE: meson >0.47 recommended for best results
-build build-i686 --cross-file config/x86/i686_sse4_linuxapp_gcc
+build build-i686 --cross-file config/x86/i686_sse4_linuxapp_gcc $use_shared
 
 # enable cross compilation if gcc cross-compiler is found
 c=aarch64-linux-gnu-gcc
 if command -v $c >/dev/null 2>&1 ; then
        # compile the general v8a also for clang to increase coverage
        export CC="ccache clang"
-       build build-arm64-host-clang --cross-file \
+       build build-arm64-host-clang $use_shared --cross-file \
                config/arm/arm64_armv8_linuxapp_gcc
 
        for f in config/arm/arm*gcc ; do
                export CC="ccache gcc"
                build build-$(basename $f | tr '_' '-' | cut -d'-' -f-2) \
-                       --cross-file $f
+                       --cross-file $f $use_shared
        done
 fi
-- 
2.11.0

Reply via email to