From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 2845B5B12 for ; Fri, 14 Sep 2018 18:17:32 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 14 Sep 2018 09:17:31 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.53,373,1531810800"; d="scan'208";a="73258554" Received: from bricha3-mobl.ger.corp.intel.com (HELO debian-vm-1.ir.intel.com) ([10.237.221.107]) by orsmga008.jf.intel.com with ESMTP; 14 Sep 2018 09:17:23 -0700 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson Date: Fri, 14 Sep 2018 17:17:17 +0100 Message-Id: <20180914161717.15777-1-bruce.richardson@intel.com> X-Mailer: git-send-email 2.11.0 Subject: [dpdk-dev] [PATCH v2] 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 16:17:33 -0000 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 --- 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