1*61046927SAndroid Build Coastguard Worker#!/bin/bash 2*61046927SAndroid Build Coastguard Worker 3*61046927SAndroid Build Coastguard Workerset -e 4*61046927SAndroid Build Coastguard Worker 5*61046927SAndroid Build Coastguard Workerif [ ! -f meson_options.txt ]; then 6*61046927SAndroid Build Coastguard Worker echo "Run this script from the repo root" 7*61046927SAndroid Build Coastguard Worker exit 1 8*61046927SAndroid Build Coastguard Workerfi 9*61046927SAndroid Build Coastguard Worker 10*61046927SAndroid Build Coastguard WorkerBIN_DIR=$(dirname "$0") 11*61046927SAndroid Build Coastguard WorkerROOT_DIR=$BIN_DIR/../../.. 12*61046927SAndroid Build Coastguard WorkerPYTHON_BUILD=generate_fuchsia_build.py 13*61046927SAndroid Build Coastguard Worker 14*61046927SAndroid Build Coastguard Workerfunction unwrap_zlib { 15*61046927SAndroid Build Coastguard Worker rm -rf fuchsia-build/third_party/download fuchsia-build/third_party/zlib-* 16*61046927SAndroid Build Coastguard Worker SOURCE_URL=`grep -Eo 'http://[^ ]+zlib[0-9\.-]+\.tar\.gz' subprojects/zlib.wrap` 17*61046927SAndroid Build Coastguard Worker wget -P fuchsia-build/third_party/download $SOURCE_URL 18*61046927SAndroid Build Coastguard Worker tar -C fuchsia-build/third_party -xf fuchsia-build/third_party/download/zlib-* 19*61046927SAndroid Build Coastguard Worker 20*61046927SAndroid Build Coastguard Worker PATCH_URL=`grep -Eo 'https://[^ ]+get_patch' subprojects/zlib.wrap` 21*61046927SAndroid Build Coastguard Worker wget -P fuchsia-build/third_party/download $PATCH_URL 22*61046927SAndroid Build Coastguard Worker # get_patch is a zip file 23*61046927SAndroid Build Coastguard Worker unzip -d fuchsia-build/third_party fuchsia-build/third_party/download/get_patch 24*61046927SAndroid Build Coastguard Worker 25*61046927SAndroid Build Coastguard Worker pushd fuchsia-build/third_party/zlib-* 26*61046927SAndroid Build Coastguard Worker # Create an empty workspace 27*61046927SAndroid Build Coastguard Worker touch WORKSPACE.bazel 28*61046927SAndroid Build Coastguard Worker ln -s ../../../meson_to_hermetic meson_to_hermetic 29*61046927SAndroid Build Coastguard Worker python3 meson_to_hermetic/generate_python_build.py --target fuchsia 30*61046927SAndroid Build Coastguard Worker PYTHONPATH=$PWD/meson_to_hermetic python3 generate_fuchsia_build.py --config=meson_to_hermetic/fuchsia.toml 31*61046927SAndroid Build Coastguard Worker popd 32*61046927SAndroid Build Coastguard Worker} 33*61046927SAndroid Build Coastguard Worker 34*61046927SAndroid Build Coastguard WorkerREGEN=0 35*61046927SAndroid Build Coastguard Workerif [ "$1" == "-regen" ]; then 36*61046927SAndroid Build Coastguard Worker REGEN=1 37*61046927SAndroid Build Coastguard Workerfi 38*61046927SAndroid Build Coastguard Workerif [ ! -f $PYTHON_BUILD ]; then 39*61046927SAndroid Build Coastguard Worker REGEN=1 40*61046927SAndroid Build Coastguard Workerfi 41*61046927SAndroid Build Coastguard Workerif [ ! -d fuchsia-build/third_party/zlib-* ]; then 42*61046927SAndroid Build Coastguard Worker REGEN=1 43*61046927SAndroid Build Coastguard Workerfi 44*61046927SAndroid Build Coastguard Worker 45*61046927SAndroid Build Coastguard Workerif [ "$REGEN" == "1" ]; then 46*61046927SAndroid Build Coastguard Worker unwrap_zlib 47*61046927SAndroid Build Coastguard Worker time python3 $BIN_DIR/generate_python_build.py --target fuchsia 48*61046927SAndroid Build Coastguard Workerelse 49*61046927SAndroid Build Coastguard Worker echo "Python build found; use -regen to regenerate it" 50*61046927SAndroid Build Coastguard Workerfi 51*61046927SAndroid Build Coastguard Worker 52*61046927SAndroid Build Coastguard Worker# Always generate Android.bp because it's fast 53*61046927SAndroid Build Coastguard WorkerPYTHONPATH=$BIN_DIR python3 generate_fuchsia_build.py --config=meson_to_hermetic/fuchsia.toml 54*61046927SAndroid Build Coastguard Worker 55*61046927SAndroid Build Coastguard Worker$BIN_DIR/../tools/bazel --bazelrc=fuchsia-build/third_party/fuchsia-infra-bazel-rules/config/common_config.bazelrc \ 56*61046927SAndroid Build Coastguard Worker build --config=fuchsia_arm64 --platforms=@fuchsia_sdk//fuchsia/constraints/platforms:fuchsia_arm64 \ 57*61046927SAndroid Build Coastguard Worker //:vulkan_freedreno 58