#!/usr/bin/env bash # Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file # for details. All rights reserved. Use of this source code is governed by a # BSD-style license that can be found in the LICENSE file. set -e FILE="runtime/vm/compiler/runtime_offsets_extracted.h" # Make sure we're running in the SDK directory. if ! test -f "$FILE"; then echo "Couldn't find $FILE" echo "Make sure to run this script from the Dart SDK directory." exit 1 fi # We're regenerating the file, but we want to keep all the comments etc at the # top of the file. So just delete everything after the first "#if defined". LINE=$(grep "#if defined" "$FILE" -n | head -n 1 | sed "s/^\([0-9]*\):.*/\1/") TEMP="${FILE}.temp" head -n $(expr $LINE - 1) "$FILE" >"$TEMP" # Run offsets_extractor for every architecture and append the results. run() { echo "" >>"$TEMP" tools/gn.py --mode=release --arch=$1 tools/build.py --mode=release --arch=$1 offsets_extractor out/$2/offsets_extractor >>"$TEMP" } run simarm ReleaseSIMARM run x64 ReleaseX64 run ia32 ReleaseIA32 run simarm64 ReleaseSIMARM64 run simdbc64 ReleaseSIMDBC64 run simdbc ReleaseSIMDBC # Cleanup. echo "" >>"$TEMP" echo "#endif // RUNTIME_VM_COMPILER_RUNTIME_OFFSETS_EXTRACTED_H_" >>"$TEMP" mv "$TEMP" "$FILE" git cl format "$FILE" echo -e "\n\nSuccessfully generated $FILE :)"