#!/bin/bash # # Copyright (C) 2018 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. if [[ -z $ANDROID_BUILD_TOP ]]; then pushd . else pushd $ANDROID_BUILD_TOP fi if [ ! -d art ]; then echo "Script needs to be run at the root of the android tree" exit 1 fi soong_args="" # Switch the build system to unbundled mode in the reduced manifest branch. if [ ! -d frameworks/base ]; then soong_args="$soong_args TARGET_BUILD_UNBUNDLED=true" fi source build/envsetup.sh >&/dev/null # for get_build_var out_dir=$(get_build_var OUT_DIR) host_out=$(get_build_var HOST_OUT) # TODO(b/31559095) Figure out a better way to do this. # # There is no good way to force soong to generate host-bionic builds currently # so this is a hacky workaround. # First build all the targets still in .mk files (also build normal glibc host # targets so we know what's needed to run the tests). build/soong/soong_ui.bash --make-mode $soong_args "$@" test-art-host-run-test-dependencies build-art-host-tests if [ $? != 0 ]; then exit 1 fi tmp_soong_var=$(mktemp --tmpdir soong.variables.bak.XXXXXX) echo "Saving soong.variables to " $tmp_soong_var cat $out_dir/soong/soong.variables > ${tmp_soong_var} python3 <