mirror of
https://github.com/dart-lang/sdk
synced 2024-09-21 02:51:31 +00:00
89fe12b12a
The workflow of using tools/gn.py followed-by tools/build.py is no longer working as it used to (the latter will override whatever the former configured). Instead one should pick between: tools/gn.py & ninja tools/build.py => Both tools/gn.py and tools/build.py suport the same options. This CL also makes tools/build.py stop using tools/generate_buildfiles.py (which would get just overriden by the re-run of GN). Change-Id: Ie698d7395e8c5862ae04a479c7c820c76ac5565d Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/154323 Commit-Queue: Martin Kustermann <kustermann@google.com> Reviewed-by: William Hesse <whesse@google.com>
69 lines
2.1 KiB
Bash
Executable file
69 lines
2.1 KiB
Bash
Executable file
#!/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 " "$FILE" -n | head -n 1 | sed "s/^\([0-9]*\):.*/\1/")
|
|
TEMP="${FILE}.temp"
|
|
TEMP_HEADER="${FILE}.header.temp"
|
|
TEMP_JIT="${FILE}.jit.temp"
|
|
TEMP_AOT="${FILE}.aot.temp"
|
|
head -n $(expr $LINE - 1) "$FILE" >"$TEMP_HEADER"
|
|
|
|
# Run offsets_extractor for every architecture and append the results.
|
|
run() {
|
|
tools/build.py --mode=$1 --arch=$2 offsets_extractor offsets_extractor_precompiled_runtime
|
|
echo "" >>"$TEMP_JIT"
|
|
out/$3/offsets_extractor >>"$TEMP_JIT"
|
|
echo "" >>"$TEMP_AOT"
|
|
out/$3/offsets_extractor_precompiled_runtime >>"$TEMP_AOT"
|
|
}
|
|
echo "" >>"$TEMP_JIT"
|
|
echo "" >>"$TEMP_AOT"
|
|
echo "#if !defined(PRODUCT)" >>"$TEMP_JIT"
|
|
echo "#if !defined(PRODUCT)" >>"$TEMP_AOT"
|
|
run release simarm ReleaseSIMARM
|
|
run release x64 ReleaseX64
|
|
run release ia32 ReleaseIA32
|
|
run release simarm64 ReleaseSIMARM64
|
|
echo "" >>"$TEMP_JIT"
|
|
echo "" >>"$TEMP_AOT"
|
|
echo "#else // !defined(PRODUCT)" >>"$TEMP_JIT"
|
|
echo "#else // !defined(PRODUCT)" >>"$TEMP_AOT"
|
|
run product simarm ProductSIMARM
|
|
run product x64 ProductX64
|
|
run product ia32 ProductIA32
|
|
run product simarm64 ProductSIMARM64
|
|
echo "" >>"$TEMP_JIT"
|
|
echo "" >>"$TEMP_AOT"
|
|
echo "#endif // !defined(PRODUCT)" >>"$TEMP_JIT"
|
|
echo "#endif // !defined(PRODUCT)" >>"$TEMP_AOT"
|
|
|
|
cat $TEMP_HEADER >>"$TEMP"
|
|
cat $TEMP_JIT >>"$TEMP"
|
|
cat $TEMP_AOT >>"$TEMP"
|
|
|
|
echo "" >>"$TEMP"
|
|
echo "#endif // RUNTIME_VM_COMPILER_RUNTIME_OFFSETS_EXTRACTED_H_" >>"$TEMP"
|
|
mv "$TEMP" "$FILE"
|
|
|
|
# Cleanup.
|
|
git cl format "$FILE"
|
|
rm "$TEMP_HEADER"
|
|
rm "$TEMP_JIT"
|
|
rm "$TEMP_AOT"
|
|
echo -e "\n\nSuccessfully generated $FILE :)"
|