| #!/usr/bin/env bash |
| # Copyright 2021 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| set -euxo pipefail |
| |
| if [ ! -x "$FUCHSIA_BUILD_DIR" ]; then |
| echo "error: did you fx exec? missing \$FUCHSIA_BUILD_DIR" 1>&2 |
| exit 1 |
| fi |
| |
| ZX_IR="$(mktemp /tmp/zx.XXXX.fidl.json)" |
| function cleanup { |
| rm -f "$ZX_IR" |
| } |
| trap cleanup EXIT |
| |
| FIDLC=$(fx list-build-artifacts --expect-one --name fidlc tools) |
| GOFMT=$(fx list-build-artifacts --expect-one --name gofmt tools) |
| ZITHER=$(fx list-build-artifacts --expect-one --name zither tools) |
| |
| fx ninja -C "$FUCHSIA_BUILD_DIR" "$FIDLC" "$ZITHER" |
| |
| "$FUCHSIA_BUILD_DIR/$FIDLC" \ |
| --available fuchsia:HEAD \ |
| --experimental zx_c_types \ |
| --json "$ZX_IR" \ |
| --files "$FUCHSIA_DIR/zircon/vdso/"*.fidl |
| |
| "$FUCHSIA_BUILD_DIR/$ZITHER" \ |
| -backend go_runtime \ |
| -ir "$ZX_IR" \ |
| -source-dir "$FUCHSIA_DIR" \ |
| -output-dir . \ |
| -formatter "$FUCHSIA_BUILD_DIR/$GOFMT" |