[v2] devtools/test-meson-build: use shared libraries to save space

Message ID 20180914161717.15777-1-bruce.richardson@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series [v2] devtools/test-meson-build: use shared libraries to save space |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation fail apply issues

Commit Message

Bruce Richardson Sept. 14, 2018, 4:17 p.m. UTC
  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.richardson@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(-)
  

Comments

Luca Boccassi Sept. 14, 2018, 4:21 p.m. UTC | #1
On Fri, 2018-09-14 at 17:17 +0100, Bruce Richardson wrote:
> 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.richardson@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(-)

Acked-by: Luca Boccassi <bluca@debian.org>
  
Thomas Monjalon Sept. 18, 2018, 1:10 p.m. UTC | #2
14/09/2018 18:21, Luca Boccassi:
> On Fri, 2018-09-14 at 17:17 +0100, Bruce Richardson wrote:
> > 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.richardson@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(-)
> 
> Acked-by: Luca Boccassi <bluca@debian.org>

Applied (without 32-bit part), thanks
  

Patch

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