blob: 7ddc12a23f13f22ac5378685c9ad6890e3d768ae (
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
|
#!/usr/bin/python
# Copyright (c) 2009 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.
# usage: action_jsconfig.py JS_ENGINE OUTPUT_DIR CONFIG_H_IN FILES_TO_COPY
# JS_ENGINE may be v8 at present. jsc will be added in the future.
# OUTPUT_DIR is the directory to put files in.
# CONFIG_H_IN is the path to config.h.in upon which config.h will be based.
# FILES_TO_COPY is a list of additional headers to be copied. It may be empty.
import errno
import os
import os.path
import shutil
import sys
assert len(sys.argv) >= 4
js_engine = sys.argv[1]
output_dir = sys.argv[2]
config_h_in_path = sys.argv[3]
files_to_copy = sys.argv[4:]
config_h_path = os.path.join(output_dir, 'config.h')
assert js_engine == 'v8'
config_h_in_file = open(config_h_in_path)
config_h_in_contents = config_h_in_file.read()
config_h_in_file.close()
config_h_file = open(config_h_path, 'w')
print >>config_h_file, config_h_in_contents
if js_engine == 'v8':
print >>config_h_file, '#define WTF_USE_V8_BINDING 1'
print >>config_h_file, '#define WTF_USE_NPOBJECT 1'
config_h_file.close()
for file in files_to_copy:
# This is not strictly right for jsc headers, which will want to be in one
# more subdirectory named JavaScriptCore.
basename = os.path.basename(file)
destination = os.path.join(output_dir, basename)
shutil.copy(file, destination)
|