Colin Cross | e441b9d | 2015-01-26 16:30:13 -0800 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
Dan Willemsen | 87b17d1 | 2015-07-14 00:39:06 -0700 | [diff] [blame] | 3 | set -e |
| 4 | |
Dan Willemsen | e0879fc | 2017-08-04 15:06:27 -0700 | [diff] [blame] | 5 | if [ -z "$NO_DEPRECATION_WARNING" ]; then |
| 6 | echo '== WARNING: bootstrap.bash & ./soong are deprecated ==' >&2 |
| 7 | echo 'Use `m --skip-make` with a standalone OUT_DIR instead.' >&2 |
| 8 | echo 'Without envsetup.sh, use:' >&2 |
| 9 | echo ' build/soong/soong_ui.bash --make-mode --skip-make' >&2 |
| 10 | echo '======================================================' >&2 |
| 11 | fi |
| 12 | |
Dan Willemsen | 87b17d1 | 2015-07-14 00:39:06 -0700 | [diff] [blame] | 13 | ORIG_SRCDIR=$(dirname "${BASH_SOURCE[0]}") |
| 14 | if [[ "$ORIG_SRCDIR" != "." ]]; then |
| 15 | if [[ ! -z "$BUILDDIR" ]]; then |
| 16 | echo "error: To use BUILDDIR, run from the source directory" |
| 17 | exit 1 |
| 18 | fi |
Colin Cross | 1474741 | 2016-04-27 16:10:38 -0700 | [diff] [blame] | 19 | export BUILDDIR=$("${ORIG_SRCDIR}/build/soong/scripts/reverse_path.py" "$ORIG_SRCDIR") |
Dan Willemsen | 87b17d1 | 2015-07-14 00:39:06 -0700 | [diff] [blame] | 20 | cd $ORIG_SRCDIR |
| 21 | fi |
| 22 | if [[ -z "$BUILDDIR" ]]; then |
| 23 | echo "error: Run ${BASH_SOURCE[0]} from the build output directory" |
| 24 | exit 1 |
| 25 | fi |
| 26 | export SRCDIR="." |
| 27 | export BOOTSTRAP="${SRCDIR}/bootstrap.bash" |
Dan Willemsen | 91f9b54 | 2017-07-18 19:39:34 -0700 | [diff] [blame] | 28 | export BLUEPRINTDIR="${SRCDIR}/build/blueprint" |
Dan Willemsen | 87b17d1 | 2015-07-14 00:39:06 -0700 | [diff] [blame] | 29 | |
Dan Willemsen | 98c93e9 | 2015-06-10 16:59:11 -0700 | [diff] [blame] | 30 | export TOPNAME="Android.bp" |
Dan Willemsen | e5e2033 | 2015-06-23 19:46:20 -0700 | [diff] [blame] | 31 | export RUN_TESTS="-t" |
Colin Cross | e441b9d | 2015-01-26 16:30:13 -0800 | [diff] [blame] | 32 | |
| 33 | case $(uname) in |
| 34 | Linux) |
Colin Cross | e441b9d | 2015-01-26 16:30:13 -0800 | [diff] [blame] | 35 | export PREBUILTOS="linux-x86" |
| 36 | ;; |
| 37 | Darwin) |
Colin Cross | e441b9d | 2015-01-26 16:30:13 -0800 | [diff] [blame] | 38 | export PREBUILTOS="darwin-x86" |
| 39 | ;; |
| 40 | *) echo "unknown OS:" $(uname) && exit 1;; |
| 41 | esac |
Dan Willemsen | 91f9b54 | 2017-07-18 19:39:34 -0700 | [diff] [blame] | 42 | export GOROOT="${SRCDIR}/prebuilts/go/$PREBUILTOS" |
Colin Cross | e441b9d | 2015-01-26 16:30:13 -0800 | [diff] [blame] | 43 | |
Colin Cross | e441b9d | 2015-01-26 16:30:13 -0800 | [diff] [blame] | 44 | if [[ $# -eq 0 ]]; then |
Dan Willemsen | 87b17d1 | 2015-07-14 00:39:06 -0700 | [diff] [blame] | 45 | mkdir -p $BUILDDIR |
| 46 | |
| 47 | if [[ $(find $BUILDDIR -maxdepth 1 -name Android.bp) ]]; then |
| 48 | echo "FAILED: The build directory must not be a source directory" |
| 49 | exit 1 |
| 50 | fi |
| 51 | |
Colin Cross | 1474741 | 2016-04-27 16:10:38 -0700 | [diff] [blame] | 52 | export SRCDIR_FROM_BUILDDIR=$(build/soong/scripts/reverse_path.py "$BUILDDIR") |
Dan Willemsen | 87b17d1 | 2015-07-14 00:39:06 -0700 | [diff] [blame] | 53 | |
| 54 | sed -e "s|@@BuildDir@@|${BUILDDIR}|" \ |
| 55 | -e "s|@@SrcDirFromBuildDir@@|${SRCDIR_FROM_BUILDDIR}|" \ |
Colin Cross | e441b9d | 2015-01-26 16:30:13 -0800 | [diff] [blame] | 56 | -e "s|@@PrebuiltOS@@|${PREBUILTOS}|" \ |
Dan Willemsen | 87b17d1 | 2015-07-14 00:39:06 -0700 | [diff] [blame] | 57 | "$SRCDIR/build/soong/soong.bootstrap.in" > $BUILDDIR/.soong.bootstrap |
| 58 | ln -sf "${SRCDIR_FROM_BUILDDIR}/build/soong/soong.bash" $BUILDDIR/soong |
Colin Cross | e441b9d | 2015-01-26 16:30:13 -0800 | [diff] [blame] | 59 | fi |
| 60 | |
Dan Willemsen | 87b17d1 | 2015-07-14 00:39:06 -0700 | [diff] [blame] | 61 | "$SRCDIR/build/blueprint/bootstrap.bash" "$@" |