Merge pull request #9039 from electron/extract-renderer-base-class
[platform/framework/web/crosswalk-tizen.git] / script / dump-symbols.py
1 #!/usr/bin/env python
2
3 import os
4 import sys
5
6 from lib.config import PLATFORM
7 from lib.util import electron_gyp, execute, rm_rf
8
9
10 SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
11 DIST_DIR = os.path.join(SOURCE_ROOT, 'dist')
12 OUT_DIR = os.path.join(SOURCE_ROOT, 'out', 'R')
13 CHROMIUM_DIR = os.path.join(SOURCE_ROOT, 'vendor', 'brightray', 'vendor',
14                             'download', 'libchromiumcontent', 'static_library')
15
16
17 def main(destination):
18   # if PLATFORM == 'win32':
19   #   register_required_dll()
20
21   rm_rf(destination)
22   (project_name, product_name) = get_names_from_gyp()
23
24   if PLATFORM in ['darwin', 'linux']:
25     generate_breakpad_symbols = os.path.join(SOURCE_ROOT, 'tools', 'posix',
26                                              'generate_breakpad_symbols.py')
27     if PLATFORM == 'darwin':
28       start = os.path.join(OUT_DIR, '{0}.app'.format(product_name), 'Contents',
29                            'MacOS', product_name)
30     else:
31       start = os.path.join(OUT_DIR, project_name)
32     args = [
33       '--build-dir={0}'.format(OUT_DIR),
34       '--binary={0}'.format(start),
35       '--symbols-dir={0}'.format(destination),
36       '--libchromiumcontent-dir={0}'.format(CHROMIUM_DIR),
37       '--clear',
38       '--jobs=16',
39     ]
40   else:
41     generate_breakpad_symbols = os.path.join(SOURCE_ROOT, 'tools', 'win',
42                                              'generate_breakpad_symbols.py')
43     args = [
44       '--symbols-dir={0}'.format(destination),
45       '--jobs=16',
46       os.path.relpath(OUT_DIR),
47     ]
48
49   execute([sys.executable, generate_breakpad_symbols] + args)
50
51
52 def register_required_dll():
53   register = os.path.join(SOURCE_ROOT, 'tools', 'win',
54                           'register_msdia80_dll.js')
55   execute(['node.exe', os.path.relpath(register)]);
56
57
58 def get_names_from_gyp():
59   variables = electron_gyp()
60   return (variables['project_name%'], variables['product_name%'])
61
62
63 if __name__ == '__main__':
64   sys.exit(main(sys.argv[1]))