Commit 58674af0 authored by Michal Berger's avatar Michal Berger Committed by Jim Harris
Browse files

autopackage: Move core of the script to autobuild



Keep the build's setup under a separate function wrapper.

Also, remove the build_packaging as these tests are already executed,
in the CI's scope, under a dedicated job.

Change-Id: Iacf9f7c2c64004860bce6d42a72081fdf00921e9
Signed-off-by: default avatarMichal Berger <michal.berger@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22234


Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
Reviewed-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: default avatarKarol Latecki <karol.latecki@intel.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarKamil Godzwon <kamilx.godzwon@intel.com>
parent e833095d
Loading
Loading
Loading
Loading
+2 −38
Original line number Diff line number Diff line
@@ -7,42 +7,6 @@
rootdir=$(readlink -f $(dirname $0))
source "$rootdir/test/common/autobuild_common.sh"

MAKEFLAGS=${MAKEFLAGS:--j16}
cd $rootdir

if [[ $SPDK_TEST_PACKAGING -eq 1 ]]; then
	build_packaging
	$MAKE clean
fi

if [[ $SPDK_TEST_RELEASE_BUILD -eq 0 ]]; then
	timing_finish
	exit 0
fi

timing_enter build_release

# LTO needs a special compiler to work under clang. See detect_cc.sh for details.
if [[ $CC == *clang* ]]; then
	jobs=$(($(nproc) / 2))
	case "$(uname -s)" in
		Linux) # Shipped by default with binutils under most of the Linux distros
			export LD=ld.gold LDFLAGS="-Wl,--threads,--thread-count=$jobs" MAKEFLAGS="-j$jobs" ;;
		FreeBSD) # Default compiler which does support LTO, set it explicitly for visibility
			export LD=ld.lld ;;
	esac
if [[ $SPDK_TEST_RELEASE_BUILD -eq 1 ]]; then
	build_release
fi

if [[ -n $SPDK_TEST_NATIVE_DPDK && -e /tmp/spdk-ld-path ]]; then
	source /tmp/spdk-ld-path
fi

config_params="$(get_config_params | sed 's/--enable-debug//g')"
"$rootdir/configure" $config_params --enable-lto --disable-unit-tests

$MAKE ${MAKEFLAGS}
$MAKE ${MAKEFLAGS} clean

timing_exit build_release

timing_finish
+29 −0
Original line number Diff line number Diff line
@@ -443,6 +443,35 @@ build_packaging() {
	run_test "packaging" "$rootdir/test/packaging/packaging.sh"
}

_build_release() (
	local jobs LD

	if [[ -n $SPDK_TEST_NATIVE_DPDK && -e /tmp/spdk-ld-path ]]; then
		source /tmp/spdk-ld-path
	fi

	if [[ $CC == *clang* ]]; then
		jobs=$(($(nproc) / 2))
		case "$(uname -s)" in
			Linux) # Shipped by default with binutils under most of the Linux distros
				export LD=ld.gold LDFLAGS="-Wl,--threads,--thread-count=$jobs" MAKEFLAGS="-j$jobs" ;;
			FreeBSD) # Default compiler which does support LTO, set it explicitly for visibility
				export LD=ld.lld ;;
		esac
	fi

	"$rootdir/configure" $config_params \
		--disable-debug \
		--disable-unit-tests \
		--enable-lto

	$MAKE -C "$rootdir" $MAKEFLAGS
)

build_release() {
	run_test "build_release" _build_release
}

out=$output_dir
SPDK_WORKSPACE=$(mktemp -dt "spdk_$(date +%s).XXXXXX")