]> git.saurik.com Git - apple/javascriptcore.git/blame - gyp/JavaScriptCore.gyp
JavaScriptCore-903.5.tar.gz
[apple/javascriptcore.git] / gyp / JavaScriptCore.gyp
CommitLineData
14957cd0
A
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}