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

Side by Side Diff: build/SConscript.main

Issue 28207: Start stitching GYP-generated files into the Linux build:... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 9 months 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 | « base/gfx/base_gfx.scons ('k') | skia/skia.gyp » ('j') | 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 if sys.platform == 'win32': 10 if sys.platform == 'win32':
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 PERL = 'perl', 142 PERL = 'perl',
143 PERL_INCLUDE_FLAG = '-I ', 143 PERL_INCLUDE_FLAG = '-I ',
144 PERL_INCLUDE_SUFFIX = '', 144 PERL_INCLUDE_SUFFIX = '',
145 _PERL_INCLUDE_FLAGS = ('${_concat(PERL_INCLUDE_FLAG, ' 145 _PERL_INCLUDE_FLAGS = ('${_concat(PERL_INCLUDE_FLAG, '
146 'PERL_INCLUDE_PATH, ' 146 'PERL_INCLUDE_PATH, '
147 'PERL_INCLUDE_SUFFIX,' 147 'PERL_INCLUDE_SUFFIX,'
148 '__env__, RDirs, TARGET, SOURCE)}'), 148 '__env__, RDirs, TARGET, SOURCE)}'),
149 ) 149 )
150 150
151 root_env['req_system_libs'] = ARGUMENTS.get('SYSTEM_LIBS', '').split(',') 151 root_env['req_system_libs'] = ARGUMENTS.get('SYSTEM_LIBS', '').split(',')
152 root_env['_GYP'] = ARGUMENTS.get('GYP') and '_gyp' or ''
152 153
153 def WantSystemLib(env, lib): 154 def WantSystemLib(env, lib):
154 """ 155 """
155 Return true if lib has been requested as a system library in SYSTEM_LIBS. 156 Return true if lib has been requested as a system library in SYSTEM_LIBS.
156 """ 157 """
157 if lib not in env['all_system_libs']: 158 if lib not in env['all_system_libs']:
158 env['all_system_libs'].append(lib) 159 env['all_system_libs'].append(lib)
159 return (lib in env['req_system_libs']) 160 return (lib in env['req_system_libs'])
160 root_env.AddMethod(WantSystemLib, "WantSystemLib") 161 root_env.AddMethod(WantSystemLib, "WantSystemLib")
161 162
(...skipping 19 matching lines...) Expand all
181 root_env.ApplySConscript(['$CHROME_SRC_DIR/build/common.scons']) 182 root_env.ApplySConscript(['$CHROME_SRC_DIR/build/common.scons'])
182 183
183 # The list of all leaf (fully described) environments. 184 # The list of all leaf (fully described) environments.
184 environment_list = [] 185 environment_list = []
185 components = [] 186 components = []
186 187
187 # Figure out what SConscript files to load based on the user's request. 188 # Figure out what SConscript files to load based on the user's request.
188 # Default is to load all SConscript files for a full-tree build. 189 # Default is to load all SConscript files for a full-tree build.
189 # The keyword arguments in the call below (base, breakpad, etc.) can be 190 # The keyword arguments in the call below (base, breakpad, etc.) can be
190 # specified in the LOAD= argument to cut down on the build. 191 # specified in the LOAD= argument to cut down on the build.
191 sconscripts = root_env.ChromiumLoadComponentSConscripts( 192 sconscript_map = dict(
192 base = '$BASE_DIR/base.scons', 193 base = '$BASE_DIR/base_main${_GYP}.scons',
193 breakpad = '$BREAKPAD_DIR/SConscript', 194 breakpad = '$BREAKPAD_DIR/SConscript',
194 chrome = '$CHROME_DIR/chrome.scons', 195 chrome = '$CHROME_DIR/chrome.scons',
195 gears = '$GEARS_DIR/SConscript', 196 gears = '$GEARS_DIR/SConscript',
196 google_update = '$GOOGLE_UPDATE_DIR/SConscript', 197 google_update = '$GOOGLE_UPDATE_DIR/SConscript',
197 googleurl = '$GOOGLEURL_DIR/googleurl.scons', 198 googleurl = '$GOOGLEURL_DIR/googleurl.scons',
198 media = '$MEDIA_DIR/media.scons', 199 media = '$MEDIA_DIR/media.scons',
199 net = '$NET_DIR/net.scons', 200 net = '$NET_DIR/net.scons',
200 printing = '$PRINTING_DIR/printing.scons', 201 printing = '$PRINTING_DIR/printing.scons',
201 rlz = '$RLZ_DIR/SConscript', 202 rlz = '$RLZ_DIR/SConscript',
202 sandbox = '$SANDBOX_DIR/sandbox.scons', 203 sandbox = '$SANDBOX_DIR/sandbox.scons',
203 sdch = '$SDCH_DIR/SConscript', 204 sdch = '$SDCH_DIR/SConscript',
204 skia = '$SKIA_DIR/SConscript', 205 skia = '$SKIA_DIR/SConscript',
205 testing = '$TESTING_DIR/SConscript.gtest', 206 testing = '$TESTING_DIR/SConscript.gtest',
206 third_party = [ 207 third_party = [
207 '$BSDIFF_DIR/bsdiff.scons', 208 '$BSDIFF_DIR/bsdiff.scons',
208 '$BSPATCH_DIR/bspatch.scons', 209 '$BSPATCH_DIR/bspatch.scons',
209 '$BZIP2_DIR/bzip2.scons', 210 '$BZIP2_DIR/bzip2.scons',
210 '$ICU38_DIR/icu38.scons', 211 '$ICU38_DIR/icu38_main${_GYP}.scons',
211 '$LIBJPEG_DIR/libjpeg.scons', 212 '$LIBJPEG_DIR/libjpeg${_GYP}.scons',
212 '$LIBPNG_DIR/libpng.scons', 213 '$LIBPNG_DIR/libpng${_GYP}.scons',
213 '$LIBXML_DIR/libxml.scons', 214 '$LIBXML_DIR/libxml.scons',
214 '$LIBXSLT_DIR/libxslt.scons', 215 '$LIBXSLT_DIR/libxslt.scons',
215 '$LZMA_SDK_DIR/lzma_sdk.scons', 216 '$LZMA_SDK_DIR/lzma_sdk.scons',
216 '$MODP_B64_DIR/modp_b64.scons', 217 '$MODP_B64_DIR/modp_b64.scons',
217 '$ZLIB_DIR/zlib.scons', 218 '$ZLIB_DIR/zlib${_GYP}.scons',
218 ], 219 ],
219 tools = '$GTK_CLIP_DUMP_DIR/gcd.scons', 220 tools = '$GTK_CLIP_DUMP_DIR/gcd.scons',
220 v8 = '$OBJ_ROOT/build/SConscript.v8', 221 v8 = '$OBJ_ROOT/build/SConscript.v8',
221 webkit = '$WEBKIT_DIR/webkit.scons', 222 webkit = '$WEBKIT_DIR/webkit.scons',
222 ) 223 )
223 224
225 if root_env.get('_GYP'):
226 Import('build_component')
227 sconscripts = [sconscript_map[build_component]]
228 components = [build_component]
229 else:
230 sconscripts = root_env.ChromiumLoadComponentSConscripts(**sconscript_map)
231
224 # Add the final list into the root environment to be build in BuildComponents. 232 # Add the final list into the root environment to be build in BuildComponents.
225 root_env.Append(BUILD_SCONSCRIPTS = sconscripts) 233 root_env.Append(BUILD_SCONSCRIPTS = sconscripts)
226 234
227 if not root_env.WantSystemLib('sqlite'): 235 if not root_env.WantSystemLib('sqlite') and not root_env.get('_GYP'):
228 root_env.Append(BUILD_SCONSCRIPTS = ['$SQLITE_DIR/SConscript']) 236 root_env.Append(BUILD_SCONSCRIPTS = ['$SQLITE_DIR/SConscript'])
229 237
230 238
231 # -------------------------------------------------------------------------- 239 # --------------------------------------------------------------------------
232 # Windows specific 240 # Windows specific
233 241
234 windows_env = root_env.Clone() 242 windows_env = root_env.Clone()
235 243
236 # TODO(siggi) Remove this code once SCons plays well when the 244 # TODO(siggi) Remove this code once SCons plays well when the
237 # Platform SDK 6.1 is installed with VS2005 but not VS2008. 245 # Platform SDK 6.1 is installed with VS2005 but not VS2008.
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
446 'INTERCEPTOR_SOCKET', 'ENFORGE_DIGEST_CACHE', 454 'INTERCEPTOR_SOCKET', 'ENFORGE_DIGEST_CACHE',
447 'ENFORGE_CACHE_HOST', 'ENFORGE_CACHE_PORT'): 455 'ENFORGE_CACHE_HOST', 'ENFORGE_CACHE_PORT'):
448 if envvar in os.environ: 456 if envvar in os.environ:
449 linux_env['ENV'][envvar] = os.environ[envvar] 457 linux_env['ENV'][envvar] = os.environ[envvar]
450 458
451 excluded_warnings = [ 459 excluded_warnings = [
452 # TODO: Clean up uses of ext/hash_map and remove this. 460 # TODO: Clean up uses of ext/hash_map and remove this.
453 # (see unordered_map and base/hash_tables.h) 461 # (see unordered_map and base/hash_tables.h)
454 '-Wno-deprecated', # Needed for using ext/hash_map on GCC 4.3 462 '-Wno-deprecated', # Needed for using ext/hash_map on GCC 4.3
455 ] 463 ]
464 if not root_env.get('_GYP'):
465 linux_env.Append(
466 BUILD_SCONSCRIPTS = [
467 '$LIBEVENT_DIR/libevent${_GYP}.scons',
468 ],
469 )
456 linux_env.Append( 470 linux_env.Append(
457 BUILD_SCONSCRIPTS = [ 471 ASFLAGS = ['-32'],
458 '$LIBEVENT_DIR/libevent.scons',
459 ],
460 CCFLAGS = ['-m32', '-pthread', '-march=i686', '-fno-exceptions'], 472 CCFLAGS = ['-m32', '-pthread', '-march=i686', '-fno-exceptions'],
461 # GCC will generate ident directives with the GCC version. Accumulate 473 # GCC will generate ident directives with the GCC version. Accumulate
462 # these all up and you end up with ~80K repeated in a .comment section. 474 # these all up and you end up with ~80K repeated in a .comment section.
463 CCFLAGS_OPTIMIZED = ['-fno-ident'], 475 CCFLAGS_OPTIMIZED = ['-fno-ident'],
464 CXXFLAGS = ['-Wall', '-Werror', '-march=i686'] + excluded_warnings, 476 CXXFLAGS = ['-Wall', '-Werror', '-march=i686'] + excluded_warnings,
465 LINKFLAGS = ['-m32', '-pthread'], 477 LINKFLAGS = ['-m32', '-pthread'],
466 ) 478 )
467 479
468 linux_env.Replace( 480 linux_env.Replace(
469 # Linking of large files uses lots of RAM, so serialize links 481 # Linking of large files uses lots of RAM, so serialize links
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
637 '$RLZ_DIR/SConscript', 649 '$RLZ_DIR/SConscript',
638 '$SANDBOX_DIR/sandbox.scons', 650 '$SANDBOX_DIR/sandbox.scons',
639 '$WEBKIT_DIR/SConscript', 651 '$WEBKIT_DIR/SConscript',
640 'build/SConscript.v8', 652 'build/SConscript.v8',
641 ], 653 ],
642 ) 654 )
643 # TODO(bradnelson): this is needed for now because target_platform_mac has 655 # TODO(bradnelson): this is needed for now because target_platform_mac has
644 # OS_MACOSX defined in a weird way. 656 # OS_MACOSX defined in a weird way.
645 mac_env.FilterOut(CPPDEFINES = ['OS_MACOSX=OS_MACOSX']) 657 mac_env.FilterOut(CPPDEFINES = ['OS_MACOSX=OS_MACOSX'])
646 658
647 if not root_env.WantSystemLib('libevent'): 659 if not root_env.WantSystemLib('libevent') and not root_env.get('_GYP'):
648 mac_env.Append( 660 mac_env.Append(
649 BUILD_SCONSCRIPTS = [ 661 BUILD_SCONSCRIPTS = [
650 '$LIBEVENT_DIR/libevent.scons', 662 '$LIBEVENT_DIR/libevent${_GYP}.scons',
651 ], 663 ],
652 ) 664 )
653 mac_env.Append( 665 mac_env.Append(
654 CFLAGS = [ 666 CFLAGS = [
655 '-std=c99', 667 '-std=c99',
656 ], 668 ],
657 CXXFLAGS = [ 669 CXXFLAGS = [
658 '-fvisibility-inlines-hidden', 670 '-fvisibility-inlines-hidden',
659 '${str(SOURCE).endswith(".mm") and "-fobjc-gc" or ""}', 671 '${str(SOURCE).endswith(".mm") and "-fobjc-gc" or ""}',
660 ], 672 ],
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
740 LOAD=[module,...] Comma-separated list of components to load in the 752 LOAD=[module,...] Comma-separated list of components to load in the
741 dependency graph ('-' prefix excludes): 753 dependency graph ('-' prefix excludes):
742 %s 754 %s
743 SYSTEM_LIBS=[lib,...] Comma-separated list of system libraries to link 755 SYSTEM_LIBS=[lib,...] Comma-separated list of system libraries to link
744 dynamically (by default they are built in from 756 dynamically (by default they are built in from
745 included sources): 757 included sources):
746 %s 758 %s
747 PROGRESS=type Display a progress indicator: 759 PROGRESS=type Display a progress indicator:
748 name: print each evaluated target name 760 name: print each evaluated target name
749 spinner: print a spinner every 5 targets 761 spinner: print a spinner every 5 targets
762 GYP=1 Any non-null value uses GYP-generated files
763 (*_gyp.scons).
750 """ 764 """
751 765
752 if GetOption('help'): 766 if GetOption('help'):
753 import textwrap 767 import textwrap
754 tw = textwrap.TextWrapper( 768 tw = textwrap.TextWrapper(
755 width = 78, 769 width = 78,
756 initial_indent = ' '*32, 770 initial_indent = ' '*32,
757 subsequent_indent = ' '*32, 771 subsequent_indent = ' '*32,
758 ) 772 )
759 components = tw.fill(', '.join(components)) 773 components = tw.fill(', '.join(components))
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
839 'all_libraries', 853 'all_libraries',
840 'all_languages', 854 'all_languages',
841 'all_programs', 855 'all_programs',
842 'all_test_programs', 856 'all_test_programs',
843 ], projects = [p], 857 ], projects = [p],
844 COMPONENT_VS_PROJECT_SCRIPT_PATH=( 858 COMPONENT_VS_PROJECT_SCRIPT_PATH=(
845 'cd $$(ProjectDir)/$VS_PROJECT_TO_MAIN_DIR && hammer.bat'), 859 'cd $$(ProjectDir)/$VS_PROJECT_TO_MAIN_DIR && hammer.bat'),
846 ) 860 )
847 861
848 # ------------------------------------------------------------------------- 862 # -------------------------------------------------------------------------
OLDNEW
« no previous file with comments | « base/gfx/base_gfx.scons ('k') | skia/skia.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698