summaryrefslogtreecommitdiffstats
path: root/build/v8.xcodeproj/v8-arm_prebuild.sh
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