xref: /aosp_15_r20/external/mesa3d/meson_to_hermetic/build-fuchsia-turnip.sh (revision 6104692788411f58d303aa86923a9ff6ecaded22)
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