1 # This file is generated; do not edit. 2 3 import os 4 5 Import("env") 6 7 env = env.Clone(COMPONENT_NAME='net', 8 TARGET_NAME='net_unittests') 9 10 configurations = { 11 'Debug' : { 12 'Append' : dict( 13 CCFLAGS = [ 14 '-Werror', 15 '-pthread', 16 '-fno-exceptions', 17 '-fno-asynchronous-unwind-tables', 18 '-fvisibility=hidden', 19 '-Wall', 20 '-D_FILE_OFFSET_BITS=64', 21 '-DPNG_NO_MMX_CODE', 22 '-pthread', 23 '-I/usr/include/gtk-2.0', 24 '-I/usr/lib/gtk-2.0/include', 25 '-I/usr/include/atk-1.0', 26 '-I/usr/include/cairo', 27 '-I/usr/include/pango-1.0', 28 '-I/usr/include/glib-2.0', 29 '-I/usr/lib/glib-2.0/include', 30 '-I/usr/include/freetype2', 31 '-I/usr/include/libpng12', 32 '-I/usr/include/pixman-1', 33 '-O0', 34 '-g' 35 ], 36 CPPDEFINES = [ 37 '__STDC_FORMAT_MACROS', 38 'CHROMIUM_BUILD', 39 'UNIT_TEST', 40 'GTEST_HAS_RTTI=0', 41 '_DEBUG' 42 ], 43 CPPPATH = [ 44 env.Dir('$SRC_DIR/net/..'), 45 env.Dir('$SRC_DIR/net/../testing/gtest/include'), 46 env.Dir('$SRC_DIR/net/../third_party/zlib'), 47 env.Dir('$SRC_DIR/net/../third_party/bzip2') 48 ], 49 CXXFLAGS = [ 50 '-fno-rtti', 51 '-fno-threadsafe-statics', 52 '-fvisibility-inlines-hidden' 53 ], 54 LINKFLAGS = [ 55 '-pthread', 56 '-rdynamic' 57 ], 58 LIBS = [ 59 '-lrt', 60 '-lgtk-x11-2.0', 61 '-lgdk-x11-2.0', 62 '-latk-1.0', 63 '-lgdk_pixbuf-2.0', 64 '-lm', 65 '-lpangocairo-1.0', 66 '-lpango-1.0', 67 '-lcairo', 68 '-lgobject-2.0', 69 '-lgmodule-2.0', 70 '-ldl', 71 '-lgthread-2.0', 72 '-lrt', 73 '-lglib-2.0', 74 '-lnss3', 75 '-lnssutil3', 76 '-lsmime3', 77 '-lssl3', 78 '-lplds4', 79 '-lplc4', 80 '-lnspr4', 81 '-lpthread', 82 '-ldl', 83 '-lrt', 84 '-lgconf-2', 85 '-lglib-2.0', 86 '-lgdk-x11-2.0', 87 '-lgdk_pixbuf-2.0', 88 '-lm', 89 '-lpangocairo-1.0', 90 '-lpango-1.0', 91 '-lcairo', 92 '-lgobject-2.0', 93 '-lgmodule-2.0', 94 '-ldl', 95 '-lglib-2.0', 96 '-lrt', 97 'net', 98 'net_test_support', 99 'base', 100 'base_i18n', 101 'gtest', 102 'chrome_zlib', 103 'chrome_bz2', 104 'event', 105 'icui18n', 106 'icuuc', 107 'icudata', 108 'googleurl', 109 'sdch', 110 'modp_b64', 111 'net_base', 112 'v8_snapshot', 113 'v8_base' 114 ], 115 ), 116 'FilterOut' : dict( 117 ), 118 'Replace' : dict( 119 FLOCK_LDMODULE = ['flock', '$TOP_BUILDDIR/linker.lock', '$LDMODULE'], 120 FLOCK_LINK = ['flock', '$TOP_BUILDDIR/linker.lock', '$LINK'], 121 FLOCK_SHLINK = ['flock', '$TOP_BUILDDIR/linker.lock', '$SHLINK'], 122 IMPLICIT_COMMAND_DEPENDENCIES = '0', 123 LDMODULECOM = [['$FLOCK_LDMODULE', 124 '-o', 125 '$TARGET', 126 '$_LIBDIRFLAGS', 127 '$LDMODULEFLAGS', 128 '$SOURCES', 129 '-Wl,--start-group', 130 '$_LIBFLAGS', 131 '-Wl,--end-group']], 132 LIBPATH = ['$LIB_DIR'], 133 LINKCOM = [['$FLOCK_LINK', 134 '-o', 135 '$TARGET', 136 '$_LIBDIRFLAGS', 137 '$LINKFLAGS', 138 '$SOURCES', 139 '-Wl,--start-group', 140 '$_LIBFLAGS', 141 '-Wl,--end-group']], 142 SHLINKCOM = [['$FLOCK_SHLINK', 143 '-o', 144 '$TARGET', 145 '$_LIBDIRFLAGS', 146 '$SHLINKFLAGS', 147 '$SOURCES', 148 '-Wl,--start-group', 149 '$_LIBFLAGS', 150 '-Wl,--end-group']], 151 ), 152 'ImportExternal' : [ 153 'AS', 154 'CC', 155 'CXX', 156 'LINK', 157 ], 158 'PropagateExternal' : [ 159 'AS', 160 'CC', 161 'CCACHE_DIR', 162 'CXX', 163 'DISTCC_DIR', 164 'DISTCC_HOSTS', 165 'HOME', 166 'INCLUDE_SERVER_ARGS', 167 'INCLUDE_SERVER_PORT', 168 'LINK', 169 'CHROME_BUILD_TYPE', 170 'CHROMIUM_BUILD', 171 'OFFICIAL_BUILD', 172 ], 173 }, 174 'Release' : { 175 'Append' : dict( 176 CCFLAGS = [ 177 '-Werror', 178 '-pthread', 179 '-fno-exceptions', 180 '-fno-asynchronous-unwind-tables', 181 '-fvisibility=hidden', 182 '-Wall', 183 '-D_FILE_OFFSET_BITS=64', 184 '-DPNG_NO_MMX_CODE', 185 '-pthread', 186 '-I/usr/include/gtk-2.0', 187 '-I/usr/lib/gtk-2.0/include', 188 '-I/usr/include/atk-1.0', 189 '-I/usr/include/cairo', 190 '-I/usr/include/pango-1.0', 191 '-I/usr/include/glib-2.0', 192 '-I/usr/lib/glib-2.0/include', 193 '-I/usr/include/freetype2', 194 '-I/usr/include/libpng12', 195 '-I/usr/include/pixman-1', 196 '-O2', 197 '-fno-ident', 198 '-fdata-sections', 199 '-ffunction-sections' 200 ], 201 CPPDEFINES = [ 202 '__STDC_FORMAT_MACROS', 203 'CHROMIUM_BUILD', 204 'UNIT_TEST', 205 'GTEST_HAS_RTTI=0', 206 'NDEBUG', 207 'NVALGRIND' 208 ], 209 CPPPATH = [ 210 env.Dir('$SRC_DIR/net/..'), 211 env.Dir('$SRC_DIR/net/../testing/gtest/include'), 212 env.Dir('$SRC_DIR/net/../third_party/zlib'), 213 env.Dir('$SRC_DIR/net/../third_party/bzip2') 214 ], 215 CXXFLAGS = [ 216 '-fno-rtti', 217 '-fno-threadsafe-statics', 218 '-fvisibility-inlines-hidden' 219 ], 220 LINKFLAGS = [ 221 '-pthread', 222 '-Wl,--gc-sections' 223 ], 224 LIBS = [ 225 '-lrt', 226 '-lgtk-x11-2.0', 227 '-lgdk-x11-2.0', 228 '-latk-1.0', 229 '-lgdk_pixbuf-2.0', 230 '-lm', 231 '-lpangocairo-1.0', 232 '-lpango-1.0', 233 '-lcairo', 234 '-lgobject-2.0', 235 '-lgmodule-2.0', 236 '-ldl', 237 '-lgthread-2.0', 238 '-lrt', 239 '-lglib-2.0', 240 '-lnss3', 241 '-lnssutil3', 242 '-lsmime3', 243 '-lssl3', 244 '-lplds4', 245 '-lplc4', 246 '-lnspr4', 247 '-lpthread', 248 '-ldl', 249 '-lrt', 250 '-lgconf-2', 251 '-lglib-2.0', 252 '-lgdk-x11-2.0', 253 '-lgdk_pixbuf-2.0', 254 '-lm', 255 '-lpangocairo-1.0', 256 '-lpango-1.0', 257 '-lcairo', 258 '-lgobject-2.0', 259 '-lgmodule-2.0', 260 '-ldl', 261 '-lglib-2.0', 262 '-lrt', 263 'net', 264 'net_test_support', 265 'base', 266 'base_i18n', 267 'gtest', 268 'chrome_zlib', 269 'chrome_bz2', 270 'event', 271 'icui18n', 272 'icuuc', 273 'icudata', 274 'googleurl', 275 'sdch', 276 'modp_b64', 277 'net_base', 278 'v8_snapshot', 279 'v8_base' 280 ], 281 ), 282 'FilterOut' : dict( 283 ), 284 'Replace' : dict( 285 FLOCK_LDMODULE = ['flock', '$TOP_BUILDDIR/linker.lock', '$LDMODULE'], 286 FLOCK_LINK = ['flock', '$TOP_BUILDDIR/linker.lock', '$LINK'], 287 FLOCK_SHLINK = ['flock', '$TOP_BUILDDIR/linker.lock', '$SHLINK'], 288 IMPLICIT_COMMAND_DEPENDENCIES = '0', 289 LDMODULECOM = [['$FLOCK_LDMODULE', 290 '-o', 291 '$TARGET', 292 '$_LIBDIRFLAGS', 293 '$LDMODULEFLAGS', 294 '$SOURCES', 295 '-Wl,--start-group', 296 '$_LIBFLAGS', 297 '-Wl,--end-group']], 298 LIBPATH = ['$LIB_DIR'], 299 LINKCOM = [['$FLOCK_LINK', 300 '-o', 301 '$TARGET', 302 '$_LIBDIRFLAGS', 303 '$LINKFLAGS', 304 '$SOURCES', 305 '-Wl,--start-group', 306 '$_LIBFLAGS', 307 '-Wl,--end-group']], 308 SHLINKCOM = [['$FLOCK_SHLINK', 309 '-o', 310 '$TARGET', 311 '$_LIBDIRFLAGS', 312 '$SHLINKFLAGS', 313 '$SOURCES', 314 '-Wl,--start-group', 315 '$_LIBFLAGS', 316 '-Wl,--end-group']], 317 ), 318 'ImportExternal' : [ 319 'AS', 320 'CC', 321 'CXX', 322 'LINK', 323 ], 324 'PropagateExternal' : [ 325 'AS', 326 'CC', 327 'CCACHE_DIR', 328 'CXX', 329 'DISTCC_DIR', 330 'DISTCC_HOSTS', 331 'HOME', 332 'INCLUDE_SERVER_ARGS', 333 'INCLUDE_SERVER_PORT', 334 'LINK', 335 'CHROME_BUILD_TYPE', 336 'CHROMIUM_BUILD', 337 'OFFICIAL_BUILD', 338 ], 339 }, 340 } 341 342 config = configurations[env['CONFIG_NAME']] 343 env.Append(**config['Append']) 344 env.FilterOut(**config['FilterOut']) 345 env.Replace(**config['Replace']) 346 347 # Scons forces -fPIC for SHCCFLAGS on some platforms. 348 # Disable that so we can control it from cflags in gyp. 349 # Note that Scons itself is inconsistent with its -fPIC 350 # setting. SHCCFLAGS forces -fPIC, and SHCFLAGS does not. 351 # This will make SHCCFLAGS consistent with SHCFLAGS. 352 env['SHCCFLAGS'] = ['$CCFLAGS'] 353 354 for _var in config['ImportExternal']: 355 if _var in ARGUMENTS: 356 env[_var] = ARGUMENTS[_var] 357 elif _var in os.environ: 358 env[_var] = os.environ[_var] 359 for _var in config['PropagateExternal']: 360 if _var in ARGUMENTS: 361 env[_var] = ARGUMENTS[_var] 362 elif _var in os.environ: 363 env['ENV'][_var] = os.environ[_var] 364 365 env['ENV']['LD_LIBRARY_PATH'] = env.subst('$LIB_DIR') 366 367 if ARGUMENTS.get('COVERAGE') not in (None, '0'): 368 env.AppendUnique( 369 CCFLAGS = [ 370 '-fprofile-arcs', 371 '-ftest-coverage' 372 ], 373 LINKFLAGS = [ 374 '-fprofile-arcs' 375 ], 376 ) 377 378 if ARGUMENTS.get('PROFILE') not in (None, '0'): 379 env.AppendUnique( 380 CCFLAGS = [ 381 '-pg', 382 '-g' 383 ], 384 LINKFLAGS = [ 385 '-pg' 386 ], 387 ) 388 389 if ARGUMENTS.get('SYMBOLS') not in (None, '0'): 390 env.AppendUnique( 391 CCFLAGS = [ 392 '-g' 393 ], 394 ) 395 396 input_files = [ 397 'base/address_list_unittest.cc', 398 'base/base64_unittest.cc', 399 'base/bzip2_filter_unittest.cc', 400 'base/cookie_monster_unittest.cc', 401 'base/cookie_policy_unittest.cc', 402 'base/data_url_unittest.cc', 403 'base/directory_lister_unittest.cc', 404 'base/dns_util_unittest.cc', 405 'base/escape_unittest.cc', 406 'base/file_stream_unittest.cc', 407 'base/filter_unittest.cc', 408 'base/filter_unittest.h', 409 'base/gzip_filter_unittest.cc', 410 'base/host_cache_unittest.cc', 411 'base/host_resolver_impl_unittest.cc', 412 'base/load_log_unittest.cc', 413 'base/load_log_unittest.h', 414 'base/load_log_util_unittest.cc', 415 'base/listen_socket_unittest.cc', 416 'base/listen_socket_unittest.h', 417 'base/mime_sniffer_unittest.cc', 418 'base/mime_util_unittest.cc', 419 'base/net_util_unittest.cc', 420 'base/registry_controlled_domain_unittest.cc', 421 'base/run_all_unittests.cc', 422 'base/ssl_client_auth_cache_unittest.cc', 423 'base/strict_transport_security_state_unittest.cc', 424 'base/telnet_server_unittest.cc', 425 'base/test_completion_callback_unittest.cc', 426 'base/x509_certificate_unittest.cc', 427 'disk_cache/addr_unittest.cc', 428 'disk_cache/backend_unittest.cc', 429 'disk_cache/bitmap_unittest.cc', 430 'disk_cache/block_files_unittest.cc', 431 'disk_cache/disk_cache_test_base.cc', 432 'disk_cache/disk_cache_test_base.h', 433 'disk_cache/entry_unittest.cc', 434 'disk_cache/mapped_file_unittest.cc', 435 'disk_cache/storage_block_unittest.cc', 436 'ftp/ftp_auth_cache_unittest.cc', 437 'ftp/ftp_ctrl_response_buffer_unittest.cc', 438 'ftp/ftp_directory_listing_buffer_unittest.cc', 439 'ftp/ftp_directory_listing_parsers_unittest.cc', 440 'ftp/ftp_network_transaction_unittest.cc', 441 'ftp/ftp_util_unittest.cc', 442 'http/des_unittest.cc', 443 'flip/flip_framer_test.cc', 444 'flip/flip_network_transaction_unittest.cc', 445 'flip/flip_session_unittest.cc', 446 'http/http_auth_cache_unittest.cc', 447 'http/http_auth_handler_basic_unittest.cc', 448 'http/http_auth_handler_digest_unittest.cc', 449 'http/http_auth_unittest.cc', 450 'http/http_byte_range_unittest.cc', 451 'http/http_cache_unittest.cc', 452 'http/http_chunked_decoder_unittest.cc', 453 'http/http_network_layer_unittest.cc', 454 'http/http_network_transaction_unittest.cc', 455 'http/http_response_headers_unittest.cc', 456 'http/http_transaction_unittest.cc', 457 'http/http_transaction_unittest.h', 458 'http/http_util_unittest.cc', 459 'http/http_vary_data_unittest.cc', 460 'proxy/init_proxy_resolver_unittest.cc', 461 'proxy/mock_proxy_resolver.h', 462 'proxy/proxy_config_service_linux_unittest.cc', 463 'proxy/proxy_config_unittest.cc', 464 'proxy/proxy_list_unittest.cc', 465 'proxy/proxy_resolver_js_bindings_unittest.cc', 466 'proxy/proxy_resolver_v8_unittest.cc', 467 'proxy/proxy_script_fetcher_unittest.cc', 468 'proxy/proxy_server_unittest.cc', 469 'proxy/proxy_service_unittest.cc', 470 'proxy/single_threaded_proxy_resolver_unittest.cc', 471 'socket/client_socket_pool_base_unittest.cc', 472 'socket/socks5_client_socket_unittest.cc', 473 'socket/socks_client_socket_unittest.cc', 474 'socket/ssl_client_socket_unittest.cc', 475 'socket/tcp_client_socket_pool_unittest.cc', 476 'socket/tcp_client_socket_unittest.cc', 477 'socket/tcp_pinger_unittest.cc', 478 'socket_stream/socket_stream_unittest.cc', 479 'url_request/request_tracker_unittest.cc', 480 'url_request/url_request_unittest.cc', 481 'url_request/url_request_unittest.h', 482 'websockets/websocket_throttle_unittest.cc', 483 'websockets/websocket_unittest.cc', 484 ] 485 486 target_files = [] 487 prerequisites = [] 488 489 _program = env.File('${PROGPREFIX}net_unittests${PROGSUFFIX}') 490 _result = [] 491 for infile in input_files: 492 if env.compilable(infile): 493 if (type(infile) == type('') 494 and (infile.startswith('$SRC_DIR/net/') 495 or not os.path.isabs(env.subst(infile)))): 496 # Force files below the build directory by replacing all '..' 497 # elements in the path with '__': 498 base, ext = os.path.splitext(os.path.normpath(infile)) 499 base = [d == '..' and '__' or d for d in base.split('/')] 500 base = os.path.join(*base) 501 object = '${OBJ_DIR}/${COMPONENT_NAME}/${TARGET_NAME}/' + base 502 if not infile.startswith('$SRC_DIR/net/'): 503 infile = '$SRC_DIR/net/' + infile 504 infile = env.StaticObject(object, infile)[0] 505 else: 506 infile = env.StaticObject(infile)[0] 507 _result.append(infile) 508 input_files = _result 509 510 _outputs = env.GypProgram(_program, input_files) 511 target_files.extend(_outputs) 512 513 if GetOption('verbose'): 514 _action = Action([['cd', 515 '"/usr/local/google/chromium/src/net"', 516 '&&', 517 '$TARGET_NAME', 518 '--gtest_print_time']]) 519 else: 520 _action = Action([['cd', 521 '"/usr/local/google/chromium/src/net"', 522 '&&', 523 '$TARGET_NAME', 524 '--gtest_print_time']], ) 525 526 gyp_target = env.Alias('net_unittests', target_files) 527 dependencies = [ 528 Alias('net'), 529 Alias('net_test_support'), 530 Alias('base'), 531 Alias('base_i18n'), 532 Alias('gtest'), 533 Alias('zlib'), 534 Alias('bzip2'), 535 Alias('gtk'), 536 Alias('nss'), 537 Alias('libevent'), 538 Alias('icui18n'), 539 Alias('icuuc'), 540 Alias('icudata'), 541 Alias('googleurl'), 542 Alias('sdch'), 543 Alias('modp_b64'), 544 Alias('net_base'), 545 Alias('gconf'), 546 Alias('gdk'), 547 Alias('v8_snapshot'), 548 Alias('v8_base') 549 ] 550 env.Requires(target_files, dependencies) 551 env.Requires(gyp_target, dependencies) 552 for prerequisite in prerequisites: 553 env.Requires(prerequisite, dependencies) 554 env.Requires(gyp_target, prerequisites) 555 556 _run_as_target = env.Alias('run_net_unittests', target_files, _action) 557 env.Requires(_run_as_target, [ 558 Alias('net_unittests'), 559 ]) 560 env.AlwaysBuild(_run_as_target) 561 Return("gyp_target") 562