[dpdk-dev] [PATCH] devtools/test-meson-build: use shared libraries to save space

Bruce Richardson bruce.richardson at intel.com
Fri Sep 14 17:55:18 CEST 2018


For usability, the default build type in meson is static, so that
binaries can be run from the build directly 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.richardson at 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]
---
 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



More information about the dev mailing list