| #!/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" |