Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(69)

Side by Side Diff: build/SConscript.main

Issue 9463: Serialize links on Linux. Should fix http://code.google.com/p/chromium/issue... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 12 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 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 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import os 5 import os
6 import shutil 6 import shutil
7 import sys 7 import sys
8 8
9 9
10 p = ARGUMENTS.get('PROGRESS') 10 p = ARGUMENTS.get('PROGRESS')
(...skipping 441 matching lines...) Expand 10 before | Expand all | Expand 10 after
452 linux_env.Append( 452 linux_env.Append(
453 BUILD_SCONSCRIPTS = [ 453 BUILD_SCONSCRIPTS = [
454 '$LIBEVENT_DIR/libevent.scons', 454 '$LIBEVENT_DIR/libevent.scons',
455 ], 455 ],
456 CCFLAGS = ['-m32', '-g', '-pthread'], 456 CCFLAGS = ['-m32', '-g', '-pthread'],
457 CXXFLAGS = ['-Wall', '-Werror'] + excluded_warnings, 457 CXXFLAGS = ['-Wall', '-Werror'] + excluded_warnings,
458 LINKFLAGS = ['-m32', '-pthread'], 458 LINKFLAGS = ['-m32', '-pthread'],
459 ) 459 )
460 460
461 linux_env.Replace( 461 linux_env.Replace(
462 # Linking of large files uses lots of RAM, so serialize links
463 # using the handy flock command from util-linux.
464 LINK = 'flock ' + linux_env['TARGET_ROOT'] + '/linker.lock ' + linux_env['LI NK'],
Evan Martin 2008/11/10 22:00:16 I wonder if you can get away with the "$FOO" patte
465
462 # We have several cases where archives depend on each other in a cyclic 466 # We have several cases where archives depend on each other in a cyclic
463 # fashion. (V8Bindings, libport and WebCore being the most significant 467 # fashion. (V8Bindings, libport and WebCore being the most significant
464 # example.) Since the GNU linker does only a single pass over the archives 468 # example.) Since the GNU linker does only a single pass over the archives
465 # we need some extra trickery to deal with these unavoidable cycles. That 469 # we need some extra trickery to deal with these unavoidable cycles. That
466 # trickery is --start-group and --end-group (aka -( and -) ). That causes ld 470 # trickery is --start-group and --end-group (aka -( and -) ). That causes ld
467 # to loop over the group until no more undefined symbols are found. In an 471 # to loop over the group until no more undefined symbols are found. In an
468 # ideal world we would only make groups from those libraries which we knew 472 # ideal world we would only make groups from those libraries which we knew
469 # to be in cycles. However, that's tough with SCons, so we bodge it by 473 # to be in cycles. However, that's tough with SCons, so we bodge it by
470 # making all the archives a group by redefining the linking command here. 474 # making all the archives a group by redefining the linking command here.
471 SHLINKCOM = ('$SHLINK -shared -o $TARGET $SHLINKFLAGS $SOURCES ' 475 SHLINKCOM = ('$SHLINK -shared -o $TARGET $SHLINKFLAGS $SOURCES '
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
692 COMPONENT_VS_SOLUTION_DIR='$MAIN_DIR', 696 COMPONENT_VS_SOLUTION_DIR='$MAIN_DIR',
693 COMPONENT_VS_PROJECT_DIR='$MAIN_DIR/projects', 697 COMPONENT_VS_PROJECT_DIR='$MAIN_DIR/projects',
694 COMPONENT_VS_PROJECT_SCRIPT_PATH=( 698 COMPONENT_VS_PROJECT_SCRIPT_PATH=(
695 'cd $$(ProjectDir)/$VS_PROJECT_TO_MAIN_DIR && hammer.bat'), 699 'cd $$(ProjectDir)/$VS_PROJECT_TO_MAIN_DIR && hammer.bat'),
696 ) 700 )
697 701
698 Default(None) # Delete all other default targets. 702 Default(None) # Delete all other default targets.
699 Default([src_solution, solution]) # Build just the solution. 703 Default([src_solution, solution]) # Build just the solution.
700 704
701 # ------------------------------------------------------------------------- 705 # -------------------------------------------------------------------------
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698