blob: c61e01cffa4836fba4fca7a0eb38dc7e96a9515e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
#!/bin/sh
# Copyright (c) 2008 The Chromium 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 -ex
JS_FILES="runtime.js \
v8natives.js \
array.js \
string.js \
uri.js \
math.js \
messages.js \
apinatives.js \
debug-delay.js \
mirror-delay.js \
date-delay.js \
regexp-delay.js \
macros.py"
V8ROOT="${SRCROOT}/../v8"
SRC_DIR="${V8ROOT}/src"
NATIVE_JS_FILES=""
for i in ${JS_FILES} ; do
NATIVE_JS_FILES+="${SRC_DIR}/${i} "
done
V8_GENERATED_SOURCES_DIR="${CONFIGURATION_TEMP_DIR}/generated"
mkdir -p "${V8_GENERATED_SOURCES_DIR}"
LIBRARIES_CC="${V8_GENERATED_SOURCES_DIR}/libraries.cc"
LIBRARIES_EMPTY_CC="${V8_GENERATED_SOURCES_DIR}/libraries-empty.cc"
python "${V8ROOT}/tools/js2c.py" \
"${LIBRARIES_CC}.new" \
"${LIBRARIES_EMPTY_CC}.new" \
${NATIVE_JS_FILES}
# Only use the new files if they're different from the existing files (if any),
# preserving the existing files' timestamps when there are no changes. This
# minimizes unnecessary build activity for a no-change build.
if ! diff -q "${LIBRARIES_CC}.new" "${LIBRARIES_CC}" >& /dev/null
then
mv "${LIBRARIES_CC}.new" "${LIBRARIES_CC}"
else
rm "${LIBRARIES_CC}.new"
fi
if ! diff -q "${LIBRARIES_EMPTY_CC}.new" "${LIBRARIES_EMPTY_CC}" >& /dev/null
then
mv "${LIBRARIES_EMPTY_CC}.new" "${LIBRARIES_EMPTY_CC}"
else
rm "${LIBRARIES_EMPTY_CC}.new"
fi
|