From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bruce Richardson Subject: [PATCH] devtools/test-meson-build: use shared libraries to save space Date: Fri, 14 Sep 2018 16:55:18 +0100 Message-ID: <20180914155518.15669-1-bruce.richardson@intel.com> Cc: Bruce Richardson To: dev@dpdk.org Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by dpdk.org (Postfix) with ESMTP id 568CE5B12 for ; Fri, 14 Sep 2018 17:55:29 +0200 (CEST) List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 --- 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