From mboxrd@z Thu Jan 1 00:00:00 1970 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) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 14 Sep 2018 08:55:28 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.53,373,1531810800"; d="scan'208";a="70017379" Received: from bricha3-mobl.ger.corp.intel.com (HELO debian-vm-1.ir.intel.com) ([10.237.221.107]) by fmsmga007.fm.intel.com with ESMTP; 14 Sep 2018 08:55:27 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson Date: Fri, 14 Sep 2018 16:55:18 +0100 Message-Id: <20180914155518.15669-1-bruce.richardson@intel.com> X-Mailer: git-send-email 2.11.0 Subject: [dpdk-dev] [PATCH] devtools/test-meson-build: use shared libraries to save space X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Sep 2018 15:55:30 -0000 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