blob: 64418511a26508930de46f12e466de33238d90f0 [file] [log] [blame]
#!/bin/sh
# Copyright (c) 2017 Petr Vorel <pvorel@suse.cz>
# Script for travis builds.
#
# TODO: Implement comparison of installed files. List of installed files can
# be used only for local builds as Travis currently doesn't support sharing
# file between jobs, see
# https://github.com/travis-ci/travis-ci/issues/6054
set -e
PREFIX="$HOME/ltp-install"
CONFIGURE_OPTS_IN_TREE="--with-open-posix-testsuite --with-realtime-testsuite --prefix=$PREFIX"
# TODO: open posix testsuite is currently broken in out-tree-build. Enable it once it's fixed.
CONFIGURE_OPTS_OUT_TREE="--with-realtime-testsuite"
MAKE_OPTS="-j$(getconf _NPROCESSORS_ONLN)"
build_32()
{
echo "===== 32-bit in-tree build into $PREFIX ====="
build_in_tree CFLAGS="-m32" CXXFLAGS="-m32" LDFLAGS="-m32"
}
build_native()
{
echo "===== native in tree build into $PREFIX ====="
build_in_tree
}
build_out_tree()
{
local tree="$PWD"
local build="$tree/../ltp-build"
local make_opts="$MAKE_OPTS -C $build -f $tree/Makefile top_srcdir=$tree top_builddir=$build"
echo "===== native out-of-tree build into $PREFIX ====="
mkdir -p $build
echo "=== autotools ==="
make autotools
cd $build
echo "=== configure ==="
if ! $tree/configure $CONFIGURE_OPTS_OUT_TREE; then
echo "== ERROR: configure failed, config.log =="
cat config.log
exit 1
fi
echo "== include/config.h =="
cat include/config.h
make $make_opts
make $make_opts DESTDIR="$PREFIX" SKIP_IDCHECK=1 install
}
build_in_tree()
{
echo "=== autotools ==="
make autotools
echo "=== configure ==="
if ! ./configure $CONFIGURE_OPTS_IN_TREE $@; then
echo "== ERROR: configure failed, config.log =="
cat config.log
exit 1
fi
echo "== include/config.h =="
cat include/config.h
echo "=== build ==="
make $MAKE_OPTS
echo "=== install ==="
make $MAKE_OPTS install
}
usage()
{
cat << EOF
Usage:
$0 [ BUILD_TYPE ]
$0 -h|--help|help
Options:
-h|--help|help Print this help
BUILD TYPES:
32 32-bit in-tree build
native native in-tree build
out out-of-tree build
Default build is native in-tree build.
EOF
}
case "$1" in
-h|--help|help) usage; exit 0;;
32) build="build_32";;
out) build="build_out_tree";;
*) build="build_native";;
esac
cd `dirname $0`
$build