blob: b3e0a12ee85f2bb161afc15f54c24650b6e1f132 [file] [log] [blame]
#!/usr/bin/env bash
# Copyright 2017 The Fuchsia Authors
#
# Use of this source code is governed by a MIT-style
# license that can be found in the LICENSE file or at
# https://opensource.org/licenses/MIT
# Build Zircon with entropy collection tests enabled.
#
# This script internally calls `scripts/make-parallel`, but it passes through
# some extra arguments to the build.
#
# Invocation mostly matches `make`, i.e.:
#
# scripts/entropy-test/make-parallel <target>
#
# The exception to this is the '-l' flag. If passed, this script strips it out,
# and uses the '-l' argument as the length of entropy test to run (this is used
# to set ENTROPY_COLLECTOR_TEST_MAXLEN). That means you can't pass the '-l' flag
# through to `make` (used to set a max load average for parallel builds). Oh
# well.
set -e -u
CDPATH=
ZIRCONDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/../.." && pwd )"
function HELP {
echo "$0 [options] <project>" >&2
echo >&2
echo " <project> : zircon project, e.g. x86" >&2
echo >&2
echo "Options:" >&2
echo " -l <len> : value to pass to ENTROPY_COLLECTOR_TEST_MAXLEN" >&2
echo " : (default: 1048576; no suffixes like '1M' allowed)" >&2
exit 1
}
LENGTH=1048576
PASSTHOUGH_ARGS=()
while [[ $# -gt 0 ]]; do
case "$1" in
-l)
if [[ $# -lt 2 ]]; then echo "-l missing len" >&2; HELP; fi
LENGTH="$2"
shift 2
;;
*)
PASSTHOUGH_ARGS+=("$1")
shift
;;
esac
done
DEFINES="ENABLE_ENTROPY_COLLECTOR_TEST=1 ENTROPY_COLLECTOR_TEST_MAXLEN=$LENGTH"
cd "$ZIRCONDIR"
exec scripts/make-parallel "${PASSTHOUGH_ARGS[@]}" EXTERNAL_DEFINES="$DEFINES"