apollo_config.sh 1.6 KB
Newer Older
1 2 3 4 5 6 7 8
#! /usr/bin/env bash

TOP_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd -P)"
source "${TOP_DIR}/scripts/apollo.bashrc"

# STAGE="${STAGE:-dev}"
: ${STAGE:=dev}

9 10
IFS='' read -r -d '' STARTUP_TXT << EOF
startup --output_user_root="${APOLLO_CACHE_DIR}/bazel"
S
storypku 已提交
11
common --distdir="${APOLLO_CACHE_DIR}/distdir"
12 13 14 15
EOF

set -e

16
function config_noninteractive() {
17 18
    local bzl_cfg_file="${APOLLO_ROOT_DIR}/.apollo.bazelrc"
    echo "${STARTUP_TXT}" > "${bzl_cfg_file}"
19 20 21
    # determine_gpu_use
    # FIXME(all): Disable gpu mode for aarch64 until we are ready.
    if [ "$(uname -m)" = "aarch64" ]; then
22
        echo "build --config=cpu" >> "${bzl_cfg_file}"
23
    else
24 25 26 27 28
        if [ "${USE_GPU}" -eq 1 ]; then
            echo "build --config=gpu" >> "${bzl_cfg_file}"
        else
            echo "build --config=cpu" >> "${bzl_cfg_file}"
        fi
29
    fi
30

31
    cat "${APOLLO_ROOT_DIR}/tools/apollo.bazelrc.sample" >> "${bzl_cfg_file}"
32 33 34
}

function config_interactive() {
35 36 37 38 39 40 41 42
    if [ -z "$PYTHON_BIN_PATH" ]; then
        PYTHON_BIN_PATH=$(which python3 || true)
    fi
    local bzl_cfg_file="${APOLLO_ROOT_DIR}/.apollo.bazelrc"

    # Set all env variables
    "$PYTHON_BIN_PATH" "${TOP_DIR}/tools/bootstrap.py" "$@"
    echo "${STARTUP_TXT}" >> "${bzl_cfg_file}"
43 44 45 46
}

function config() {
    local stage="${STAGE}"
47
    if [ $# -eq 0 ]; then
48
        config_noninteractive
49 50
    else
        local mode="$1" ; shift
51 52
        if [[ "${mode}" == "--interactive" || "${mode}" == "-i" ]]; then
            config_interactive "$@"
53
        else
54
            config_noninteractive
55
        fi
56 57 58 59 60 61 62 63
    fi
}

function main() {
    config "$@"
}

main "$@"