| 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 |