]>
Commit | Line | Data |
---|---|---|
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/(android|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 | } |