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='fetch_server') 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 ], 47 CXXFLAGS = [ 48 '-fno-rtti', 49 '-fno-threadsafe-statics', 50 '-fvisibility-inlines-hidden' 51 ], 52 LINKFLAGS = [ 53 '-pthread', 54 '-rdynamic' 55 ], 56 LIBS = [ 57 '-lrt', 58 '-lgtk-x11-2.0', 59 '-lgdk-x11-2.0', 60 '-latk-1.0', 61 '-lgdk_pixbuf-2.0', 62 '-lm', 63 '-lpangocairo-1.0', 64 '-lpango-1.0', 65 '-lcairo', 66 '-lgobject-2.0', 67 '-lgmodule-2.0', 68 '-ldl', 69 '-lgthread-2.0', 70 '-lrt', 71 '-lglib-2.0', 72 '-lnss3', 73 '-lnssutil3', 74 '-lsmime3', 75 '-lssl3', 76 '-lplds4', 77 '-lplc4', 78 '-lnspr4', 79 '-lpthread', 80 '-ldl', 81 '-lrt', 82 '-lgconf-2', 83 '-lglib-2.0', 84 '-lgdk-x11-2.0', 85 '-lgdk_pixbuf-2.0', 86 '-lm', 87 '-lpangocairo-1.0', 88 '-lpango-1.0', 89 '-lcairo', 90 '-lgobject-2.0', 91 '-lgmodule-2.0', 92 '-ldl', 93 '-lglib-2.0', 94 '-lrt', 95 'net', 96 'base', 97 'gtest', 98 'event', 99 'base_i18n', 100 'icui18n', 101 'icuuc', 102 'icudata', 103 'googleurl', 104 'sdch', 105 'chrome_bz2', 106 'modp_b64', 107 'chrome_zlib', 108 'net_base', 109 'v8_snapshot', 110 'v8_base' 111 ], 112 ), 113 'FilterOut' : dict( 114 ), 115 'Replace' : dict( 116 FLOCK_LDMODULE = ['flock', '$TOP_BUILDDIR/linker.lock', '$LDMODULE'], 117 FLOCK_LINK = ['flock', '$TOP_BUILDDIR/linker.lock', '$LINK'], 118 FLOCK_SHLINK = ['flock', '$TOP_BUILDDIR/linker.lock', '$SHLINK'], 119 IMPLICIT_COMMAND_DEPENDENCIES = '0', 120 LDMODULECOM = [['$FLOCK_LDMODULE', 121 '-o', 122 '$TARGET', 123 '$_LIBDIRFLAGS', 124 '$LDMODULEFLAGS', 125 '$SOURCES', 126 '-Wl,--start-group', 127 '$_LIBFLAGS', 128 '-Wl,--end-group']], 129 LIBPATH = ['$LIB_DIR'], 130 LINKCOM = [['$FLOCK_LINK', 131 '-o', 132 '$TARGET', 133 '$_LIBDIRFLAGS', 134 '$LINKFLAGS', 135 '$SOURCES', 136 '-Wl,--start-group', 137 '$_LIBFLAGS', 138 '-Wl,--end-group']], 139 SHLINKCOM = [['$FLOCK_SHLINK', 140 '-o', 141 '$TARGET', 142 '$_LIBDIRFLAGS', 143 '$SHLINKFLAGS', 144 '$SOURCES', 145 '-Wl,--start-group', 146 '$_LIBFLAGS', 147 '-Wl,--end-group']], 148 ), 149 'ImportExternal' : [ 150 'AS', 151 'CC', 152 'CXX', 153 'LINK', 154 ], 155 'PropagateExternal' : [ 156 'AS', 157 'CC', 158 'CCACHE_DIR', 159 'CXX', 160 'DISTCC_DIR', 161 'DISTCC_HOSTS', 162 'HOME', 163 'INCLUDE_SERVER_ARGS', 164 'INCLUDE_SERVER_PORT', 165 'LINK', 166 'CHROME_BUILD_TYPE', 167 'CHROMIUM_BUILD', 168 'OFFICIAL_BUILD', 169 ], 170 }, 171 'Release' : { 172 'Append' : dict( 173 CCFLAGS = [ 174 '-Werror', 175 '-pthread', 176 '-fno-exceptions', 177 '-fno-asynchronous-unwind-tables', 178 '-fvisibility=hidden', 179 '-Wall', 180 '-D_FILE_OFFSET_BITS=64', 181 '-DPNG_NO_MMX_CODE', 182 '-pthread', 183 '-I/usr/include/gtk-2.0', 184 '-I/usr/lib/gtk-2.0/include', 185 '-I/usr/include/atk-1.0', 186 '-I/usr/include/cairo', 187 '-I/usr/include/pango-1.0', 188 '-I/usr/include/glib-2.0', 189 '-I/usr/lib/glib-2.0/include', 190 '-I/usr/include/freetype2', 191 '-I/usr/include/libpng12', 192 '-I/usr/include/pixman-1', 193 '-O2', 194 '-fno-ident', 195 '-fdata-sections', 196 '-ffunction-sections' 197 ], 198 CPPDEFINES = [ 199 '__STDC_FORMAT_MACROS', 200 'CHROMIUM_BUILD', 201 'UNIT_TEST', 202 'GTEST_HAS_RTTI=0', 203 'NDEBUG', 204 'NVALGRIND' 205 ], 206 CPPPATH = [ 207 env.Dir('$SRC_DIR/net/..'), 208 env.Dir('$SRC_DIR/net/../testing/gtest/include') 209 ], 210 CXXFLAGS = [ 211 '-fno-rtti', 212 '-fno-threadsafe-statics', 213 '-fvisibility-inlines-hidden' 214 ], 215 LINKFLAGS = [ 216 '-pthread', 217 '-Wl,--gc-sections' 218 ], 219 LIBS = [ 220 '-lrt', 221 '-lgtk-x11-2.0', 222 '-lgdk-x11-2.0', 223 '-latk-1.0', 224 '-lgdk_pixbuf-2.0', 225 '-lm', 226 '-lpangocairo-1.0', 227 '-lpango-1.0', 228 '-lcairo', 229 '-lgobject-2.0', 230 '-lgmodule-2.0', 231 '-ldl', 232 '-lgthread-2.0', 233 '-lrt', 234 '-lglib-2.0', 235 '-lnss3', 236 '-lnssutil3', 237 '-lsmime3', 238 '-lssl3', 239 '-lplds4', 240 '-lplc4', 241 '-lnspr4', 242 '-lpthread', 243 '-ldl', 244 '-lrt', 245 '-lgconf-2', 246 '-lglib-2.0', 247 '-lgdk-x11-2.0', 248 '-lgdk_pixbuf-2.0', 249 '-lm', 250 '-lpangocairo-1.0', 251 '-lpango-1.0', 252 '-lcairo', 253 '-lgobject-2.0', 254 '-lgmodule-2.0', 255 '-ldl', 256 '-lglib-2.0', 257 '-lrt', 258 'net', 259 'base', 260 'gtest', 261 'event', 262 'base_i18n', 263 'icui18n', 264 'icuuc', 265 'icudata', 266 'googleurl', 267 'sdch', 268 'chrome_bz2', 269 'modp_b64', 270 'chrome_zlib', 271 'net_base', 272 'v8_snapshot', 273 'v8_base' 274 ], 275 ), 276 'FilterOut' : dict( 277 ), 278 'Replace' : dict( 279 FLOCK_LDMODULE = ['flock', '$TOP_BUILDDIR/linker.lock', '$LDMODULE'], 280 FLOCK_LINK = ['flock', '$TOP_BUILDDIR/linker.lock', '$LINK'], 281 FLOCK_SHLINK = ['flock', '$TOP_BUILDDIR/linker.lock', '$SHLINK'], 282 IMPLICIT_COMMAND_DEPENDENCIES = '0', 283 LDMODULECOM = [['$FLOCK_LDMODULE', 284 '-o', 285 '$TARGET', 286 '$_LIBDIRFLAGS', 287 '$LDMODULEFLAGS', 288 '$SOURCES', 289 '-Wl,--start-group', 290 '$_LIBFLAGS', 291 '-Wl,--end-group']], 292 LIBPATH = ['$LIB_DIR'], 293 LINKCOM = [['$FLOCK_LINK', 294 '-o', 295 '$TARGET', 296 '$_LIBDIRFLAGS', 297 '$LINKFLAGS', 298 '$SOURCES', 299 '-Wl,--start-group', 300 '$_LIBFLAGS', 301 '-Wl,--end-group']], 302 SHLINKCOM = [['$FLOCK_SHLINK', 303 '-o', 304 '$TARGET', 305 '$_LIBDIRFLAGS', 306 '$SHLINKFLAGS', 307 '$SOURCES', 308 '-Wl,--start-group', 309 '$_LIBFLAGS', 310 '-Wl,--end-group']], 311 ), 312 'ImportExternal' : [ 313 'AS', 314 'CC', 315 'CXX', 316 'LINK', 317 ], 318 'PropagateExternal' : [ 319 'AS', 320 'CC', 321 'CCACHE_DIR', 322 'CXX', 323 'DISTCC_DIR', 324 'DISTCC_HOSTS', 325 'HOME', 326 'INCLUDE_SERVER_ARGS', 327 'INCLUDE_SERVER_PORT', 328 'LINK', 329 'CHROME_BUILD_TYPE', 330 'CHROMIUM_BUILD', 331 'OFFICIAL_BUILD', 332 ], 333 }, 334 } 335 336 config = configurations[env['CONFIG_NAME']] 337 env.Append(**config['Append']) 338 env.FilterOut(**config['FilterOut']) 339 env.Replace(**config['Replace']) 340 341 # Scons forces -fPIC for SHCCFLAGS on some platforms. 342 # Disable that so we can control it from cflags in gyp. 343 # Note that Scons itself is inconsistent with its -fPIC 344 # setting. SHCCFLAGS forces -fPIC, and SHCFLAGS does not. 345 # This will make SHCCFLAGS consistent with SHCFLAGS. 346 env['SHCCFLAGS'] = ['$CCFLAGS'] 347 348 for _var in config['ImportExternal']: 349 if _var in ARGUMENTS: 350 env[_var] = ARGUMENTS[_var] 351 elif _var in os.environ: 352 env[_var] = os.environ[_var] 353 for _var in config['PropagateExternal']: 354 if _var in ARGUMENTS: 355 env[_var] = ARGUMENTS[_var] 356 elif _var in os.environ: 357 env['ENV'][_var] = os.environ[_var] 358 359 env['ENV']['LD_LIBRARY_PATH'] = env.subst('$LIB_DIR') 360 361 if ARGUMENTS.get('COVERAGE') not in (None, '0'): 362 env.AppendUnique( 363 CCFLAGS = [ 364 '-fprofile-arcs', 365 '-ftest-coverage' 366 ], 367 LINKFLAGS = [ 368 '-fprofile-arcs' 369 ], 370 ) 371 372 if ARGUMENTS.get('PROFILE') not in (None, '0'): 373 env.AppendUnique( 374 CCFLAGS = [ 375 '-pg', 376 '-g' 377 ], 378 LINKFLAGS = [ 379 '-pg' 380 ], 381 ) 382 383 if ARGUMENTS.get('SYMBOLS') not in (None, '0'): 384 env.AppendUnique( 385 CCFLAGS = [ 386 '-g' 387 ], 388 ) 389 390 input_files = [ 391 'tools/fetch/fetch_server.cc', 392 'tools/fetch/http_listen_socket.cc', 393 'tools/fetch/http_listen_socket.h', 394 'tools/fetch/http_server.cc', 395 'tools/fetch/http_server.h', 396 'tools/fetch/http_server_request_info.h', 397 'tools/fetch/http_server_response_info.h', 398 'tools/fetch/http_session.cc', 399 'tools/fetch/http_session.h', 400 ] 401 402 target_files = [] 403 prerequisites = [] 404 405 _program = env.File('${PROGPREFIX}fetch_server${PROGSUFFIX}') 406 _result = [] 407 for infile in input_files: 408 if env.compilable(infile): 409 if (type(infile) == type('') 410 and (infile.startswith('$SRC_DIR/net/') 411 or not os.path.isabs(env.subst(infile)))): 412 # Force files below the build directory by replacing all '..' 413 # elements in the path with '__': 414 base, ext = os.path.splitext(os.path.normpath(infile)) 415 base = [d == '..' and '__' or d for d in base.split('/')] 416 base = os.path.join(*base) 417 object = '${OBJ_DIR}/${COMPONENT_NAME}/${TARGET_NAME}/' + base 418 if not infile.startswith('$SRC_DIR/net/'): 419 infile = '$SRC_DIR/net/' + infile 420 infile = env.StaticObject(object, infile)[0] 421 else: 422 infile = env.StaticObject(infile)[0] 423 _result.append(infile) 424 input_files = _result 425 426 _outputs = env.GypProgram(_program, input_files) 427 target_files.extend(_outputs) 428 429 if GetOption('verbose'): 430 _action = Action([['cd', 431 '"/usr/local/google/chromium/src/net"', 432 '&&', 433 '$TARGET_NAME', 434 '--gtest_print_time']]) 435 else: 436 _action = Action([['cd', 437 '"/usr/local/google/chromium/src/net"', 438 '&&', 439 '$TARGET_NAME', 440 '--gtest_print_time']], ) 441 442 gyp_target = env.Alias('fetch_server', target_files) 443 dependencies = [ 444 Alias('net'), 445 Alias('base'), 446 Alias('gtest'), 447 Alias('gtk'), 448 Alias('nss'), 449 Alias('libevent'), 450 Alias('base_i18n'), 451 Alias('icui18n'), 452 Alias('icuuc'), 453 Alias('icudata'), 454 Alias('googleurl'), 455 Alias('sdch'), 456 Alias('bzip2'), 457 Alias('modp_b64'), 458 Alias('zlib'), 459 Alias('net_base'), 460 Alias('gconf'), 461 Alias('gdk'), 462 Alias('v8_snapshot'), 463 Alias('v8_base') 464 ] 465 env.Requires(target_files, dependencies) 466 env.Requires(gyp_target, dependencies) 467 for prerequisite in prerequisites: 468 env.Requires(prerequisite, dependencies) 469 env.Requires(gyp_target, prerequisites) 470 471 _run_as_target = env.Alias('run_fetch_server', target_files, _action) 472 env.Requires(_run_as_target, [ 473 Alias('fetch_server'), 474 ]) 475 env.AlwaysBuild(_run_as_target) 476 Return("gyp_target") 477