X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=devtools%2Ftest-build.sh;h=8cb5b56fb1ccecf50be11651b8aacc6363ed0be4;hb=refs%2Fheads%2Fmempool_20200116b;hp=2bedbdb9803d96ce9ae6690e751214728383f144;hpb=be7e90917e481ce593ef7b44bc2043ddc861ac9c;p=dpdk.git diff --git a/devtools/test-build.sh b/devtools/test-build.sh index 2bedbdb980..8cb5b56fb1 100755 --- a/devtools/test-build.sh +++ b/devtools/test-build.sh @@ -7,6 +7,7 @@ default_path=$PATH # Load config options: # - ARMV8_CRYPTO_LIB_PATH # - DPDK_BUILD_TEST_CONFIGS (defconfig1+option1+option2 defconfig2) +# - DPDK_BUILD_TEST_DIR # - DPDK_DEP_ARCHIVE # - DPDK_DEP_BPF (y/[n]) # - DPDK_DEP_CFLAGS @@ -29,7 +30,8 @@ default_path=$PATH # - LIBSSO_SNOW3G_PATH # - LIBSSO_KASUMI_PATH # - LIBSSO_ZUC_PATH -. $(dirname $(readlink -f $0))/load-devel-config +devtools_dir=$(dirname $(readlink -f $0)) +. $devtools_dir/load-devel-config print_usage () { echo "usage: $(basename $0) [-h] [-jX] [-s] [config1 [config2] ...]]" @@ -63,6 +65,8 @@ print_help () { [ -z $MAKE ] && echo "Cannot find make or gmake" && exit 1 J=$DPDK_MAKE_JOBS +abi_ref_build_dir=${DPDK_ABI_REF_BUILD_DIR:-reference} +builds_dir=${DPDK_BUILD_TEST_DIR:-.} short=false unset verbose maxerr=-Wfatal-errors @@ -95,7 +99,7 @@ trap "signal=INT ; trap - INT ; kill -INT $$" INT # notify result on exit trap on_exit EXIT -cd $(dirname $(readlink -f $0))/.. +cd $devtools_dir/.. reset_env () { @@ -147,7 +151,7 @@ config () # ! echo $3 | grep -q '+debug' || ( \ sed -ri="" 's,(RTE_LOG_DP_LEVEL=).*,\1RTE_LOG_DEBUG,' $1/.config sed -ri="" 's,(_DEBUG.*=)n,\1y,' $1/.config - sed -ri="" 's,(_STAT.*=)n,\1y,' $1/.config + sed -ri="" 's,(_STAT)([S_].*=|=)n,\1\2y,' $1/.config sed -ri="" 's,(TEST_PMD_RECORD_.*=)n,\1y,' $1/.config ) # Automatic configuration @@ -231,24 +235,32 @@ for conf in $configs ; do # reload config with DPDK_TARGET set DPDK_TARGET=$target reset_env - . $(dirname $(readlink -f $0))/load-devel-config + . $devtools_dir/load-devel-config options=$(echo $conf | sed 's,[^~+]*,,') - dir=$conf + dir=$builds_dir/$conf config $dir $target $options - echo "================== Build $dir" + echo "================== Build $conf" ${MAKE} -j$J EXTRA_CFLAGS="$maxerr $DPDK_DEP_CFLAGS" \ EXTRA_LDFLAGS="$DPDK_DEP_LDFLAGS" $verbose O=$dir ! $short || break - echo "================== Build examples for $dir" - export RTE_SDK=$(pwd) - export RTE_TARGET=$dir + export RTE_TARGET=$target + rm -rf $dir/install + ${MAKE} install O=$dir DESTDIR=$dir/install prefix= + if [ -d $abi_ref_build_dir/$conf/dump ]; then + echo "================== Check ABI $conf" + $devtools_dir/check-abi-dump.sh $dir/install \ + $abi_ref_build_dir/$conf/dump + fi + echo "================== Build examples for $conf" + export RTE_SDK=$(readlink -f $dir)/install/share/dpdk + ln -sTf $(pwd)/lib $RTE_SDK/lib # workaround for vm_power_manager ${MAKE} -j$J -sC examples \ EXTRA_LDFLAGS="$DPDK_DEP_LDFLAGS" $verbose \ O=$(readlink -f $dir)/examples unset RTE_TARGET - echo "################## $dir done." + echo "################## $conf done." unset dir done