initial import
[vuplus_webkit] / Source / JavaScriptCore / gyp / JavaScriptCore.gyp
1 {
2   'includes': [
3     '../../gyp/common.gypi',
4     '../JavaScriptCore.gypi',
5   ],
6   'configurations': {
7     'Production': {
8       'xcode_config_file': '<(project_dir)/Configurations/Base.xcconfig',
9     },
10     'Profiling': {
11       'xcode_config_file': '<(project_dir)/Configurations/DebugRelease.xcconfig',
12       'xcode_settings': {
13         'STRIP_INSTALLED_PRODUCT': 'NO',
14       },
15     },
16     'Release': {
17       'xcode_config_file': '<(project_dir)/Configurations/DebugRelease.xcconfig',
18       'xcode_settings': {
19         'STRIP_INSTALLED_PRODUCT': 'NO',
20       },
21     },
22     'Debug': {
23       'xcode_config_file': '<(project_dir)/Configurations/DebugRelease.xcconfig',
24       'xcode_settings': {
25         'DEAD_CODE_STRIPPING': '$(DEAD_CODE_STRIPPING_debug)',
26         'DEBUG_DEFINES': '$(DEBUG_DEFINES_debug)',
27         'GCC_OPTIMIZATION_LEVEL': '$(GCC_OPTIMIZATION_LEVEL_debug)',
28         'STRIP_INSTALLED_PRODUCT': '$(STRIP_INSTALLED_PRODUCT_debug)',
29       },
30     },
31   },
32   'variables': {
33     'javascriptcore_include_dirs': [
34       '<(project_dir)',
35       '<(project_dir)/icu',
36     ],
37   },
38   'target_defaults': {
39     'configurations': {
40       'Profiling': {},
41     },
42   },
43   'targets': [
44     {
45       'target_name': 'JavaScriptCore',
46       'type': 'shared_library',
47       'dependencies': [
48         'Derived Sources',
49         'Update Version',
50       ],
51       'include_dirs': [
52         '<@(javascriptcore_include_dirs)',
53         '<(PRODUCT_DIR)/DerivedSources/JavaScriptCore',
54       ],
55       'configurations': {
56         'Production': {
57           'INSTALL_PATH': '$(BUILT_PRODUCTS_DIR)',
58         },
59       },
60       'sources': [
61         '<@(javascriptcore_files)',
62         '<@(javascriptcore_publicheader_files)',
63         '<@(javascriptcore_privateheader_files)',
64         '<@(javascriptcore_derived_source_files)',
65         '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
66         '$(SDKROOT)/System/Library/Frameworks/Foundation.framework',
67         '/usr/lib/libicucore.dylib',
68         '/usr/lib/libobjc.dylib',
69       ],
70       'mac_framework_headers': [
71         '<@(javascriptcore_publicheader_files)',
72       ],
73       'mac_framework_private_headers': [
74         '<@(javascriptcore_privateheader_files)',
75       ],
76       'xcode_config_file': '<(project_dir)/Configurations/JavaScriptCore.xcconfig',
77       'sources/': [
78         ['exclude', 'API/tests/'],
79         ['exclude', 'ForwardingHeaders/'],
80         ['exclude', '(?<!unicode)/icu/'],
81         ['exclude', 'os-win32/'],
82         ['exclude', 'qt/'],
83         ['exclude', 'wtf/(brew|efl|gtk|haiku|qt|wince|wx)/'],
84         ['exclude', 'wtf/unicode/brew/'],
85         ['exclude', 'wtf/unicode/glib/'],
86         ['exclude', 'wtf/unicode/qt4/'],
87         ['exclude', 'wtf/unicode/wince/'],
88         ['exclude', 'wtf/url/'],
89         ['exclude', '/(gtk|glib|gobject)/.*\\.(cpp|h)$'],
90         ['exclude', '(Default|Gtk|Chromium|None|Qt|Win|Wx|Symbian)\\.(cpp|mm|h)$'],
91         ['exclude', 'GCActivityCallback\.cpp$'],
92         ['exclude', 'BSTR[^/]*$'],
93       ],
94       'postbuilds': [
95         {
96           'postbuild_name': 'Check For Global Initializers',
97           'action': [
98             'sh', '<(project_dir)/gyp/run-if-exists.sh', '<(DEPTH)/../Tools/Scripts/check-for-global-initializers'
99           ],
100         },
101         {
102           'postbuild_name': 'Check For Exit Time Destructors',
103           'action': [
104             'sh', '<(project_dir)/gyp/run-if-exists.sh', '<(DEPTH)/../Tools/Scripts/check-for-exit-time-destructors'
105           ],
106         },
107         {
108           'postbuild_name': 'Check For Weak VTables and Externals',
109           'action': [
110             'sh', '<(project_dir)/gyp/run-if-exists.sh', '<(DEPTH)/../Tools/Scripts/check-for-weak-vtables-and-externals'
111           ],
112         },
113       ],
114       'conditions': [
115         ['OS=="mac"', {
116           'mac_bundle': 1,
117           'xcode_settings': {
118             # FIXME: Remove these overrides once JavaScriptCore.xcconfig is
119             # used only by this project.
120             'GCC_PREFIX_HEADER': '<(project_dir)/JavaScriptCorePrefix.h',
121             'INFOPLIST_FILE': '<(project_dir)/Info.plist',
122           },
123         }],
124       ],
125     },
126     {
127       'target_name': 'Derived Sources',
128       'type': 'none',
129       'actions': [
130         {
131           'action_name': 'Generate Derived Sources',
132           'inputs': [],
133           'outputs': [
134             '<@(javascriptcore_derived_source_files)',
135           ],
136           'action': [
137             'sh', 'generate-derived-sources.sh'
138           ],
139         },
140         {
141           'action_name': 'Generate DTrace Header',
142           'inputs': [],
143            'outputs': [],
144            'action': [
145              'sh', '<(project_dir)/gyp/generate-dtrace-header.sh', '<(project_dir)'
146             ]
147         }
148       ],
149     },
150     {
151       'target_name': 'Update Version',
152       'type': 'none',
153       'actions': [{
154         'action_name': 'Update Info.plist with version information',
155         'inputs': [],
156          'outputs': [],
157          'action': [
158            'sh', '<(project_dir)/gyp/update-info-plist.sh', '<(project_dir)/Info.plist'
159           ]
160       }],
161     },
162     {
163       'target_name': 'minidom',
164       'type': 'executable',
165       'dependencies': [
166         'JavaScriptCore',
167       ],
168       # FIXME: We should use a header map instead of listing these explicitly.
169       'include_dirs': [
170         '<@(javascriptcore_include_dirs)',
171       ],
172       'sources': [
173         '<@(minidom_files)',
174         '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
175       ],
176       'copies': [{
177         'destination': '<(PRODUCT_DIR)',
178         'files': [
179           '<@(minidom_support_files)',
180         ],
181       }],
182     },
183     {
184       'target_name': 'testapi',
185       'type': 'executable',
186       'dependencies': [
187         'JavaScriptCore',
188       ],
189       # FIXME: We should use a header map instead of listing these explicitly.
190       'include_dirs': [
191         '<@(javascriptcore_include_dirs)',
192       ],
193       'sources': [
194         '<@(testapi_files)',
195         '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
196       ],
197       'copies': [{
198         'destination': '<(PRODUCT_DIR)',
199         'files': [
200           '<@(testapi_support_files)',
201         ],
202       }],
203     },
204     {
205       'target_name': 'jsc',
206       'type': 'executable',
207       'dependencies': [
208         'JavaScriptCore',
209       ],
210       # FIXME: We should use a header map instead of listing these explicitly.
211       'include_dirs': [
212         '<@(javascriptcore_include_dirs)',
213       ],
214       'configurations': {
215         'Production': {
216           'xcode_settings': {
217             'INSTALL_PATH': '$(JAVASCRIPTCORE_FRAMEWORKS_DIR)/JavaScriptCore.framework/Resources',
218           },
219         },
220       },
221       'sources': [
222         '<@(jsc_files)',
223         '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
224         '/usr/lib/libedit.dylib',
225       ],
226     },
227   ], # targets
228 }