OLD | NEW |
| (Empty) |
1 # Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | |
2 # Use of this source code is governed by a BSD-style license that can be | |
3 # found in the LICENSE file. | |
4 | |
5 Import('env', 'env_res') | |
6 | |
7 env = env.Clone() | |
8 env_res = env_res.Clone() | |
9 | |
10 if env.Bit('windows'): | |
11 env_res.Append( | |
12 CPPPATH = [ | |
13 '.', | |
14 '$CHROME_SRC_DIR', | |
15 '$NET_DIR', | |
16 ], | |
17 RCFLAGS = [ | |
18 ['/l', '0x409'], | |
19 ], | |
20 ) | |
21 | |
22 env.Append( | |
23 CPPPATH = [ | |
24 '$BREAKPAD_DIR/src', | |
25 '$WEBKIT_DIR/glue', | |
26 '$GTEST_DIR/include', | |
27 ], | |
28 LIBS = [ | |
29 'glue', | |
30 'port', | |
31 'base', | |
32 'base_gfx', | |
33 'browser', | |
34 'googleurl', | |
35 'net', | |
36 'sdch', | |
37 'skia', | |
38 'gtest', | |
39 'V8Bindings', | |
40 'WebCore', | |
41 'WebKit', | |
42 'WTF', | |
43 env['ICU_LIBS'], # TODO(sgk): '$ICU_LIBS' when scons is fixed | |
44 'libjpeg', | |
45 'libpng', | |
46 'libxslt', | |
47 'modp_b64', | |
48 'zlib', | |
49 'sqlite', | |
50 'JavaScriptCore_pcre', | |
51 'default_plugin', | |
52 ], | |
53 ) | |
54 | |
55 if env.Bit('windows'): | |
56 # TODO(port): put portable libs in above declaration. | |
57 env.Append( | |
58 LIBS = [ | |
59 'activex_shim', | |
60 'breakpad_handler', | |
61 'breakpad_sender', | |
62 ] | |
63 ) | |
64 | |
65 if env.Bit('windows'): | |
66 env.Append( | |
67 LIBS = [ | |
68 'comctl32.lib', | |
69 'rpcrt4.lib', | |
70 'shlwapi.lib', | |
71 'winmm.lib', | |
72 'Urlmon', | |
73 ], | |
74 | |
75 LINKFLAGS = [ | |
76 '/DELAYLOAD:"ws2_32.dll"', | |
77 '/DELAYLOAD:"dwmapi.dll"', | |
78 '/DELAYLOAD:"uxtheme.dll"', | |
79 '/FIXED:No', | |
80 '/SUBSYSTEM:CONSOLE', | |
81 '/MACHINE:X86', | |
82 '/safeseh', | |
83 '/dynamicbase', | |
84 '/ignore:4199', | |
85 '/nxcompat', | |
86 ], | |
87 ) | |
88 elif env.Bit('posix'): | |
89 env.Append( | |
90 LIBS = [ | |
91 'event', | |
92 ] | |
93 ) | |
94 | |
95 if env.Bit('mac'): | |
96 env.Append( | |
97 CPPPATH = [ | |
98 '$THIRD_PARTY_DIR/WebKit/WebKit/mac/WebCoreSupport', | |
99 ], | |
100 ) | |
101 | |
102 env_lib = env.Clone() | |
103 | |
104 env.SConscript([ | |
105 '$BZIP2_DIR/using_bzip2.scons', | |
106 '$LIBXML_DIR/using_libxml.scons', | |
107 '$CHROME_SRC_DIR/build/using_v8.scons', | |
108 ], {'env':env}) | |
109 | |
110 env_lib.SConscript([ | |
111 '$BZIP2_DIR/using_bzip2.scons', | |
112 '$LIBXML_DIR/using_libxml.scons', | |
113 ], {'env':env_lib}) | |
114 | |
115 input_files = [ | |
116 'event_sending_controller.cc', | |
117 'layout_test_controller.cc', | |
118 'simple_resource_loader_bridge.cc', | |
119 | |
120 # This file is only used by test_shell/test_shell_tests. It should | |
121 # probably be moved to the test_shell directory like | |
122 # simple_resource_loader_bridge.cc. | |
123 '$WEBKIT_DIR/glue/simple_clipboard_impl.cc', | |
124 'test_navigation_controller.cc', | |
125 'test_shell_request_context.cc', | |
126 'test_shell_switches.cc', | |
127 'test_shell.cc', | |
128 'test_webview_delegate.cc', | |
129 'text_input_controller.cc', | |
130 ] | |
131 if env.Bit('windows'): | |
132 # TODO(port): Consider porting drag_delegate.cc and drop_delegate.cc. | |
133 input_files.extend([ | |
134 'drag_delegate.cc', | |
135 'drop_delegate.cc', | |
136 'test_shell_platform_delegate_win.cc', | |
137 'test_shell_win.cc', | |
138 'test_webview_delegate_win.cc', | |
139 'webview_host_win.cc', | |
140 'webwidget_host_win.cc', | |
141 ]) | |
142 elif env.Bit('linux'): | |
143 input_files.extend([ | |
144 'webview_host_gtk.cc', | |
145 'webwidget_host_gtk.cc', | |
146 'test_shell_gtk.cc', | |
147 'test_shell_platform_delegate_gtk.cc', | |
148 'test_webview_delegate_gtk.cc', | |
149 ]) | |
150 | |
151 lib = env_lib.ChromeLibrary('test_shell', input_files) | |
152 | |
153 env.Append(LIBS = ['test_shell']) | |
154 | |
155 env.ChromeMSVSProject('$WEBKIT_DIR/tools/test_shell/test_shell.vcproj', | |
156 dependencies = [ | |
157 '$BASE_DIR/build/base.vcproj', | |
158 '$WEBKIT_DIR/build/WebCore/WebCore.vcproj', | |
159 '$LIBJPEG_DIR/libjpeg.vcproj', | |
160 '$BZIP2_DIR/bzip2.vcproj', | |
161 '$NET_DIR/build/net.vcproj', | |
162 ('$WEBKIT_DIR/build/JavaScriptCore/' + | |
163 'JavaScriptCore_pcre.vcproj'), | |
164 '$WEBKIT_DIR/build/port/port.vcproj', | |
165 '$WEBKIT_DIR/default_plugin/default_plugin.vcproj', | |
166 '$WEBKIT_DIR/build/V8Bindings/V8Bindings.vcproj', | |
167 '$MODP_B64_DIR/modp_b64.vcproj', | |
168 '$ZLIB_DIR/zlib.vcproj', | |
169 '$ICU38_DIR/build/icu.vcproj', | |
170 '$BASE_DIR/build/base_gfx.vcproj', | |
171 '$WEBKIT_DIR/build/JavaScriptCore/WTF.vcproj', | |
172 '$BREAKPAD_DIR/breakpad_handler.vcproj', | |
173 ('$WEBKIT_DIR/tools/npapi_layout_test_plugin/' + | |
174 'npapi_layout_test_plugin.vcproj'), | |
175 '$TESTING_DIR/gtest.vcproj', | |
176 '$V8_DIR/tools/visual_studio/v8_snapshot.vcproj', | |
177 '$LIBPNG_DIR/libpng.vcproj', | |
178 '$WEBKIT_DIR/build/glue/glue.vcproj', | |
179 '$SKIA_DIR/skia.vcproj', | |
180 '$GOOGLEURL_DIR/build/googleurl.vcproj', | |
181 '$WEBKIT_DIR/activex_shim/activex_shim.vcproj', | |
182 '$SDCH_DIR/sdch.vcproj', | |
183 '$LIBXSLT_DIR/build/libxslt.vcproj', | |
184 ], | |
185 guid='{FA39524D-3067-4141-888D-28A86C66F2B9}') | |
186 | |
187 | |
188 resources = [] | |
189 exe_input_files = [ | |
190 'test_shell_main.cc', | |
191 ] | |
192 | |
193 if env.Bit('windows'): | |
194 resources = [ | |
195 env_res.RES('resources/test_shell.rc'), | |
196 '$TARGET_ROOT/grit_derived_sources/net_resources.res', | |
197 '$TARGET_ROOT/grit_derived_sources/webkit_strings_en-US.res', | |
198 ] | |
199 | |
200 exe_input_files += [ | |
201 '$V8_DIR/snapshot-empty$OBJSUFFIX' | |
202 ] | |
203 | |
204 test_shell = env.ChromeProgram('test_shell', resources + exe_input_files) | |
205 | |
206 i = env.Install('$TARGET_ROOT', test_shell) | |
207 env.Alias('webkit', i) | |
208 | |
209 if env.Bit('windows'): | |
210 env.Depends(test_shell, '$V8_DIR/vc80.pdb') | |
211 | |
212 if env.Bit('linux'): | |
213 # Build the linux resource files. | |
214 env_grd = env.Clone() | |
215 # This dummy target is used to tell the emitter where to put the target | |
216 # files. | |
217 generated = env_grd.GRIT( | |
218 '$TARGET_ROOT/grit_derived_sources/fake_test_shell_resources', | |
219 '$CHROME_SRC_DIR/webkit/tools/test_shell/test_shell_resources.grd') | |
220 | |
221 test_shell_data = env.Repack( | |
222 '$TARGET_ROOT/test_shell.pak', | |
223 ['$TARGET_ROOT/grit_derived_sources/net_resources.pak', | |
224 '$TARGET_ROOT/grit_derived_sources/test_shell_resources.pak', | |
225 '$TARGET_ROOT/grit_derived_sources/webkit_resources.pak', | |
226 '$TARGET_ROOT/grit_derived_sources/webkit_strings_en-US.pak', | |
227 ] | |
228 ) | |
229 env.Depends(test_shell, test_shell_data) | |
230 | |
231 i = env.Install('$DESTINATION_ROOT', test_shell_data) | |
232 env.Requires(test_shell, i) | |
233 env.Alias('webkit', i) | |
234 | |
235 # We need the npapi plugin stuffed into the right place. | |
236 # TODO(evanm): find a cleaner way of requiring this. | |
237 env.Requires(test_shell, | |
238 '$DESTINATION_ROOT/plugins/libnpapi_test_plugin.so') | |
239 env.Requires(test_shell, | |
240 '$DESTINATION_ROOT/plugins/libnpapi_layout_test_plugin.so') | |
241 | |
242 test_files = [ | |
243 'image_decoder_unittest.cc', | |
244 'keyboard_unittest.cc', | |
245 'layout_test_controller_unittest.cc', | |
246 'node_leak_test.cc', | |
247 'run_all_tests.cc', | |
248 'test_shell_test.cc', | |
249 'text_input_controller_unittest.cc', | |
250 '$SKIA_DIR/ext/convolver_unittest.cc', | |
251 '$WEBKIT_DIR/glue/bookmarklet_unittest.cc', | |
252 '$WEBKIT_DIR/glue/context_menu_unittest.cc', | |
253 '$WEBKIT_DIR/glue/cpp_bound_class_unittest.cc', | |
254 '$WEBKIT_DIR/glue/cpp_variant_unittest.cc', | |
255 '$WEBKIT_DIR/glue/devtools/devtools_rpc_unittest.cc', | |
256 '$WEBKIT_DIR/glue/devtools/dom_agent_unittest.cc', | |
257 '$WEBKIT_DIR/glue/dom_operations_unittest.cc', | |
258 '$WEBKIT_DIR/glue/dom_serializer_unittest.cc', | |
259 '$WEBKIT_DIR/glue/glue_serialize_unittest.cc', | |
260 '$WEBKIT_DIR/glue/iframe_redirect_unittest.cc', | |
261 '$WEBKIT_DIR/glue/mimetype_unittest.cc', | |
262 '$WEBKIT_DIR/glue/multipart_response_delegate_unittest.cc', | |
263 '$WEBKIT_DIR/glue/password_autocomplete_listener_unittest.cc', | |
264 '$WEBKIT_DIR/glue/regular_expression_unittest.cc', | |
265 '$WEBKIT_DIR/glue/resource_fetcher_unittest.cc', | |
266 '$WEBKIT_DIR/glue/webframe_unittest.cc', | |
267 '$WEBKIT_DIR/tools/webcore_unit_tests/GKURL_unittest.cpp', | |
268 '$WEBKIT_DIR/tools/webcore_unit_tests/BMPImageDecoder_unittest.cpp', | |
269 '$WEBKIT_DIR/tools/webcore_unit_tests/ICOImageDecoder_unittest.cpp', | |
270 '$WEBKIT_DIR/tools/webcore_unit_tests/XBMImageDecoder_unittest.cpp', | |
271 '$V8_DIR/snapshot-empty$OBJSUFFIX', | |
272 ] | |
273 | |
274 if env.Bit('windows'): | |
275 # TODO(port): put portable files in above test_files declaration. | |
276 test_files.extend([ | |
277 '$SKIA_DIR/ext/platform_canvas_unittest.cc', | |
278 'plugin_tests.cc', | |
279 # Commented out until a regression is fixed and this file is restored. | |
280 #'$WEBKIT_DIR/glue/stringimpl_unittest.cc', | |
281 '$SKIA_DIR/ext/vector_canvas_unittest.cc', | |
282 '$WEBKIT_DIR/glue/webplugin_impl_unittest.cc', | |
283 '$WEBKIT_DIR/tools/webcore_unit_tests/UniscribeHelper_unittest.cpp', | |
284 ]) | |
285 | |
286 test_shell_tests = env.ChromeTestProgram('test_shell_tests', | |
287 resources + test_files) | |
288 # We need the npapi plugin stuffed into the right place. | |
289 # TODO(evanm): find a cleaner way of requiring this. | |
290 env.Requires(test_shell, | |
291 '$DESTINATION_ROOT/plugins/libnpapi_test_plugin.so') | |
292 env.Requires(test_shell_tests, | |
293 '$DESTINATION_ROOT/plugins/libnpapi_layout_test_plugin.so') | |
294 | |
295 i = env.Install('$TARGET_ROOT', test_shell_tests) | |
296 env.Alias('webkit', i) | |
297 | |
298 env.ChromeMSVSProject('$WEBKIT_DIR/tools/test_shell/test_shell_tests.vcproj', | |
299 dependencies = [ | |
300 '$WEBKIT_DIR/glue/plugins/test/npapi_test_plugin.vcproj', | |
301 '$BASE_DIR/build/base.vcproj', | |
302 '$WEBKIT_DIR/build/WebCore/WebCore.vcproj', | |
303 '$LIBJPEG_DIR/libjpeg.vcproj', | |
304 '$BZIP2_DIR/bzip2.vcproj', | |
305 '$NET_DIR/build/net.vcproj' , | |
306 ('$WEBKIT_DIR/build/JavaScriptCore/' + | |
307 'JavaScriptCore_pcre.vcproj'), | |
308 '$WEBKIT_DIR/build/port/port.vcproj', | |
309 '$WEBKIT_DIR/default_plugin/default_plugin.vcproj', | |
310 '$WEBKIT_DIR/build/V8Bindings/V8Bindings.vcproj', | |
311 '$MODP_B64_DIR/modp_b64.vcproj', | |
312 '$ZLIB_DIR/zlib.vcproj', | |
313 '$ICU38_DIR/build/icu.vcproj', | |
314 '$BASE_DIR/build/base_gfx.vcproj', | |
315 '$WEBKIT_DIR/build/JavaScriptCore/WTF.vcproj', | |
316 '$BREAKPAD_DIR/breakpad_handler.vcproj', | |
317 '$TESTING_DIR/gtest.vcproj', | |
318 '$V8_DIR/tools/visual_studio/v8_snapshot.vcproj', | |
319 '$LIBPNG_DIR/libpng.vcproj', | |
320 '$WEBKIT_DIR/build/glue/glue.vcproj', | |
321 '$SKIA_DIR/skia.vcproj', | |
322 '$GOOGLEURL_DIR/build/googleurl.vcproj', | |
323 '$WEBKIT_DIR/activex_shim/activex_shim.vcproj', | |
324 '$SDCH_DIR/sdch.vcproj', | |
325 '$LIBXSLT_DIR/build/libxslt.vcproj', | |
326 ], | |
327 guid='{E6766F81-1FCD-4CD7-BC16-E36964A14867}') | |
OLD | NEW |