X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=devtools%2Ftest-meson-builds.sh;h=9ec8e2bc7ec2227a701f81b888c0cd588e439d22;hb=9d422a38be596d571270efc7e2d7b25a877e8beb;hp=00e3d0b4432bbf9f441f283cfedce2f460ef3b50;hpb=0144eeafd1467937a379a7dc005bcb0579b0ae5e;p=dpdk.git diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh index 00e3d0b443..9ec8e2bc7e 100755 --- a/devtools/test-meson-builds.sh +++ b/devtools/test-meson-builds.sh @@ -146,13 +146,15 @@ install_target () # DESTDIR=$2 $ninja_cmd -C $1 install >&$veryverbose } -build () # +build () # [meson options] { targetdir=$1 shift crossfile= [ -r $1 ] && crossfile=$1 || targetcc=$1 shift + abicheck=$1 + shift # skip build if compiler not available command -v ${CC##* } >/dev/null 2>&1 || return 0 if [ -n "$crossfile" ] ; then @@ -165,7 +167,7 @@ build () # load_env $targetcc || return 0 config $srcdir $builds_dir/$targetdir $cross --werror $* compile $builds_dir/$targetdir - if [ -n "$DPDK_ABI_REF_VERSION" ]; then + if [ -n "$DPDK_ABI_REF_VERSION" -a "$abicheck" = ABI ] ; then abirefdir=${DPDK_ABI_REF_DIR:-reference}/$DPDK_ABI_REF_VERSION if [ ! -d $abirefdir/$targetdir ]; then # clone current sources @@ -207,8 +209,13 @@ build () # for c in gcc clang ; do command -v $c >/dev/null 2>&1 || continue for s in static shared ; do + if [ $s = shared ] ; then + abicheck=ABI + else + abicheck=skipABI # save time and disk space + fi export CC="$CCACHE $c" - build build-$c-$s $c --default-library=$s + build build-$c-$s $c $abicheck --default-library=$s unset CC done done @@ -216,11 +223,12 @@ done # test compilation with minimal x86 instruction set # Set the install path for libraries to "lib" explicitly to prevent problems # with pkg-config prefixes if installed in "lib/x86_64-linux-gnu" later. -default_machine='nehalem' -if ! check_cc_flags "-march=$default_machine" ; then - default_machine='corei7' +generic_isa='nehalem' +if ! check_cc_flags "-march=$generic_isa" ; then + generic_isa='corei7' fi -build build-x86-default cc -Dlibdir=lib -Dmachine=$default_machine $use_shared +build build-x86-generic cc skipABI -Dcheck_includes=true \ + -Dlibdir=lib -Dcpu_instruction_set=$generic_isa $use_shared # 32-bit with default compiler if check_cc_flags '-m32' ; then @@ -235,40 +243,40 @@ if check_cc_flags '-m32' ; then export PKG_CONFIG_LIBDIR='/usr/lib/pkgconfig' fi target_override='i386-pc-linux-gnu' - build build-32b cc -Dc_args='-m32' -Dc_link_args='-m32' + build build-32b cc ABI -Dc_args='-m32' -Dc_link_args='-m32' target_override= unset PKG_CONFIG_LIBDIR fi # x86 MinGW -build build-x86-mingw $srcdir/config/x86/cross-mingw -Dexamples=helloworld +build build-x86-mingw $srcdir/config/x86/cross-mingw skipABI \ + -Dexamples=helloworld # generic armv8a with clang as host compiler f=$srcdir/config/arm/arm64_armv8_linux_gcc export CC="clang" -build build-arm64-host-clang $f $use_shared +build build-arm64-host-clang $f ABI $use_shared unset CC # some gcc/arm configurations for f in $srcdir/config/arm/arm64_[bdo]*gcc ; do export CC="$CCACHE gcc" - build build-$(basename $f | tr '_' '-' | cut -d'-' -f-2) $f $use_shared + targetdir=build-$(basename $f | tr '_' '-' | cut -d'-' -f-2) + build $targetdir $f skipABI $use_shared unset CC done # ppc configurations for f in $srcdir/config/ppc/ppc* ; do - build build-$(basename $f | cut -d'-' -f-2) $f $use_shared + targetdir=build-$(basename $f | cut -d'-' -f-2) + build $targetdir $f ABI $use_shared done -# Test installation of the x86-default target, to be used for checking +# Test installation of the x86-generic target, to be used for checking # the sample apps build using the pkg-config file for cflags and libs load_env cc -build_path=$(readlink -f $builds_dir/build-x86-default) +build_path=$(readlink -f $builds_dir/build-x86-generic) export DESTDIR=$build_path/install -# No need to reinstall if ABI checks are enabled -if [ -z "$DPDK_ABI_REF_VERSION" ]; then - install_target $build_path $DESTDIR -fi +install_target $build_path $DESTDIR pc_file=$(find $DESTDIR -name libdpdk.pc) export PKG_CONFIG_PATH=$(dirname $pc_file):$PKG_CONFIG_PATH libdir=$(dirname $(find $DESTDIR -name librte_eal.so)) @@ -279,7 +287,8 @@ if pkg-config --define-prefix libdpdk >/dev/null 2>&1; then export PKGCONF="pkg-config --define-prefix" for example in $examples; do echo "## Building $example" + [ $example = helloworld ] && static=static || static= # save disk space $MAKE -C $DESTDIR/usr/local/share/dpdk/examples/$example \ - clean shared static >&$veryverbose + clean shared $static >&$veryverbose done fi