blob: 6856486e15029cb0edb060f1ae3ebb809ba82e36 [file] [log] [blame]
# Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import os
Import(['env'])
env_res = env.Clone()
env_test = env.Clone()
env = env.Clone()
install_targets = []
grit_files = []
env.Prepend(
CPPPATH = [
'app',
'$CHROME_DIR/third_party/wtl/include',
],
)
# TODO(port)
if env_res.Bit('windows'):
env_res.Append(
CPPPATH = [
'.',
'$CHROME_SRC_DIR',
# For app/chrome_dll.res to #include installer_util_strings.rc.
'$CHROME_DIR/installer/util',
],
RCFLAGS = [
['/l', '0x409'],
],
)
browser_res = env_res.RES('browser/browser_resources.rc')
chrome_exe_res = env_res.RES('app/chrome_exe.rc'),
chrome_dll_res = env_res.RES('app/chrome_dll.rc')
env_res.Depends(chrome_dll_res, 'installer/util/installer_util_strings.rc')
common_res = env_res.RES('common/common_resources.rc')
debugger_res = env_res.RES('browser/debugger/resources/debugger_resources.rc')
renderer_res = env_res.RES('renderer/renderer_resources.rc')
test_data_res = env_res.RES('test/data/resource.rc')
net_res = '$TARGET_ROOT/grit_derived_sources/net_resources.res'
webkit_res = '$TARGET_ROOT/grit_derived_sources/webkit_resources.res'
dll_resources = [
browser_res,
chrome_dll_res,
common_res,
debugger_res,
net_res,
renderer_res,
webkit_res,
]
##############################################################################
# TODO(sgk): move to separate .scons file for generated_resources ###########
# TODO(sgk): make a pseudo-Builder for these
import sys
sys.path.append(env.Dir('$CHROME_SRC_DIR/tools/grit').abspath)
env_grd = env.Clone()
env_grd.Tool('scons', toolpath=[env_grd.Dir('$CHROME_SRC_DIR/tools/grit/grit')])
# NOTE: fake target gets replaced with real targets from reading .grd
generated = env_grd.GRIT(
'$TARGET_ROOT/grit_derived_sources/fake_generated_target',
'$CHROME_SRC_DIR/chrome/app/generated_resources.grd')
grit_files.extend(generated)
# NOTE: fake target gets replaced with real targets from reading .grd
chromium = env_grd.GRIT(
'$TARGET_ROOT/grit_derived_sources/fake_chromium_target',
'$CHROME_SRC_DIR/chrome/app/chromium_strings.grd')
grit_files.extend(chromium)
# NOTE: fake target gets replaced with real targets from reading .grd
google_chrome = env_grd.GRIT(
'$TARGET_ROOT/grit_derived_sources/fake_google_chrome_target',
'$CHROME_SRC_DIR/chrome/app/google_chrome_strings.grd')
grit_files.extend(google_chrome)
input_files = ChromeFileList([
'app/generated_resources.grd',
'app/google_chrome_strings.grd',
'app/chromium_strings.grd',
Derived(env.File('$TARGET_ROOT/grit_derived_sources/'
+ 'generated_resources.h')),
])
p = env.ChromeMSVSProject('app/generated_resources.vcproj',
dest=('$CHROME_SRC_DIR/chrome/'
+ 'app/generated_resources.vcproj'),
guid='{D9DDAF60-663F-49CC-90DC-3D08CC3D1B28}',
keyword='Win32Proj',
# TODO(sgk): when we can intuit the hierarchy
# from the built targets.
#buildtargets=TODO,
files=input_files,
relative_path_substitutions = [
('../../../grit_derived_sources', '$(IntDir)'),
],
local_directory_prefix='./',
ConfigurationType='10')
p.AddToolFile('../tools/grit/build/grit_localized_resources.rules')
p.AddConfig('Debug|Win32',
InheritedPropertySheets=[
'$(SolutionDir)../build/common.vsprops',
'$(SolutionDir)../build/debug.vsprops',
])
p.AddConfig('Release|Win32',
InheritedPropertySheets=[
'$(SolutionDir)../build/common.vsprops',
'$(SolutionDir)../build/release.vsprops',
])
##############################################################################
# TODO(sgk): move to separate .scons file for chrome.dll ####################
env_dll = env.Clone()
env_dll.ApplySConscript([
'$CHROME_SRC_DIR/build/using_v8.scons',
'$ICU38_DIR/using_icu38.scons',
])
env_dll.Prepend(
CPPPATH = [
"..",
],
CPPDEFINES = [
'U_STATIC_IMPLEMENTATION',
'PNG_USER_CONFIG',
'CHROME_PNG_WRITE_SUPPORT',
'LIBXSLT_STATIC',
'LIBXML_STATIC',
'_WINDLL',
'BROWSER_DLL',
'RENDERER_DLL',
'PLUGIN_DLL',
],
CCFLAGS = [
'/TP',
'/Wp64',
],
)
env_dll.Append(
CPPPATH = [
'$CHROME_DIR/app',
'$LIBPNG_DIR',
'$SKIA_DIR/include',
'$SKIA_DIR/include/corecg',
'$SKIA_DIR/platform',
'$LIBXSL_DIR',
'$LIBXML_DIR/DerivedSources/include',
'$LIBXML_DIR/include',
'$BREAKPAD_DIR/src',
],
LIBS = [
'base',
'base_gfx',
#'breakpad_handler',
'googleurl',
'net',
'skia',
'bzip2',
'libjpeg',
'libpng',
'libxml',
'libxslt',
'modp_b64',
'zlib',
'activex_shim',
'WTF',
'V8Bindings',
'WebCore',
'default_plugin',
'glue',
'JavaScriptCore_pcre',
'port',
'browser',
'browser_views',
'debugger',
'common',
'util',
#'jscre',
'plugin',
'renderer',
'hunspell',
# TODO(sgk): Windows doesn't use libevent, revisit when Linux gets here
#'libevent',
'sqlite',
'views',
'v8_snapshot',
],
)
if env_dll.Bit('windows'):
env_dll.Append(
LIBS = [
# TODO(sgk): to be ported to Mac and Linux
'sdch',
#'comctl32.lib',
#'dwmapi.lib',
#'rpcrt4.lib',
#'shlwapi.lib',
#'winmm.lib',
#'wsock32.lib',
'Urlmon',
],
LINKFLAGS = [
'/INCREMENTAL',
'/DEBUG',
'/DELAYLOAD:"comdlg32.dll"',
'/DELAYLOAD:"crypt32.dll"',
'/DELAYLOAD:"cryptui.dll"',
'/DELAYLOAD:"dwmapi.dll"',
'/DELAYLOAD:"imagehlp.dll"',
'/DELAYLOAD:"imm32.dll"',
'/DELAYLOAD:"oleacc.dll"',
'/DELAYLOAD:"oleaut32.dll"',
'/DELAYLOAD:"psapi.dll"',
'/DELAYLOAD:"urlmon.dll"',
'/DELAYLOAD:"uxtheme.dll"',
'/DELAYLOAD:"winhttp.dll"',
'/DELAYLOAD:"wininet.dll"',
'/DELAYLOAD:"winspool.drv"',
'/DELAYLOAD:"ws2_32.dll"',
'/DELAYLOAD:"wsock32.dll"',
'/SUBSYSTEM:WINDOWS',
'/BASE:"0x01000000"',
'/MACHINE:X86',
'/FIXED:No',
'/safeseh',
'/dynamicbase',
'/ignore:4199',
'/ignore:4221',
'/nxcompat',
'/PDB:${TARGETS[1]}',
],
)
input_files = ChromeFileList([
# TODO(sgk): violate standard indentation so we don't have to
# reindent too much when we remove the explicit MSVSFilter() calls
# in favor of generating the hierarchy to reflect the file system.
MSVSFilter('resources', [
'$WEBKIT_DIR/glue/resources/aliasb.cur',
'browser/browser_resources.rc',
'$WEBKIT_DIR/glue/resources/cell.cur',
'app/check_dependents.bat',
'app/chrome.dll.deps',
'app/chrome_dll.rc',
'app/chrome_dll_resource.h',
'app/chrome_dll_version.rc.version',
'$WEBKIT_DIR/glue/resources/col_resize.cur',
'common/common_resources.rc',
'$WEBKIT_DIR/glue/resources/copy.cur',
'browser/debugger/resources/debugger_resources.rc',
Derived(env_dll.File('$TARGET_ROOT/grit_derived_sources/net_resources.rc')),
'renderer/renderer_resources.rc',
'$WEBKIT_DIR/glue/resources/row_resize.cur',
'$WEBKIT_DIR/glue/resources/vertical_text.cur',
Derived(env_dll.File('$TARGET_ROOT/'
+ 'grit_derived_sources/webkit_resources.rc')),
'$WEBKIT_DIR/glue/resources/zoom_in.cur',
'$WEBKIT_DIR/glue/resources/zoom_out.cur',
]),
'app/chrome_dll_main.cc',
])
# TODO(port)
if env_dll.Bit('windows'):
additional = [
'$V8_DIR/snapshot-empty$OBJSUFFIX'
]
dll_targets = env_dll.ChromeSharedLibrary('app/chrome_dll/chrome',
#dll_resources + input_files,
input_files + additional,
PDB='chrome_dll.pdb')
install_targets.extend(dll_targets)
for g in [ g for g in grit_files if str(g).endswith('.rc') ]:
env_res.RES(g)
chrome_exe_version_rc = env.ChromeVersionRC(
'chrome_exe_version.rc',
'app/chrome_exe_version.rc.version'
)
chrome_dll_version_rc = env.ChromeVersionRC(
'chrome_dll_version.rc',
'app/chrome_dll_version.rc.version',
)
# TODO(sgk): explicit dependencies => scanned implicit dependencies
Depends(chrome_exe_res, chrome_exe_version_rc)
Depends(chrome_dll_res, chrome_dll_version_rc)
chrome_exe_version_res = env_res.RES(chrome_exe_version_rc)
chrome_dll_version_res = env_res.RES(chrome_dll_version_rc)
install_targets.extend(chrome_exe_version_rc)
install_targets.extend(chrome_exe_version_res)
install_targets.extend(chrome_dll_version_rc)
install_targets.extend(chrome_dll_version_res)
p = env.ChromeMSVSProject('app/chrome_dll.vcproj',
dest='$CHROME_SRC_DIR/chrome/app/chrome_dll.vcproj',
guid='{C0A7EE2C-2A6D-45BE-BA78-6D006FDF52D9}',
keyword='Win32Proj',
dependencies = [
'$BASE_DIR/build/base.vcproj',
'$WEBKIT_DIR/build/WebCore/WebCore.vcproj',
'$CHROME_DIR/plugin/plugin.vcproj',
'$LIBJPEG_DIR/libjpeg.vcproj',
'$BZIP2_DIR/bzip2.vcproj',
'$NET_DIR/build/net.vcproj',
('$WEBKIT_DIR/build/JavaScriptCore/' +
'JavaScriptCore_pcre.vcproj'),
'$WEBKIT_DIR/build/port/port.vcproj',
'$CHROME_DIR/browser/debugger/debugger.vcproj',
'$WEBKIT_DIR/default_plugin/default_plugin.vcproj',
'$CHROME_DIR/browser/browser.vcproj',
'$WEBKIT_DIR/build/V8Bindings/V8Bindings.vcproj',
'$SQLITE_DIR/sqlite.vcproj',
'$CHROME_DIR/views/views.vcproj',
'$MODP_B64_DIR/modp_b64.vcproj',
'$ZLIB_DIR/zlib.vcproj',
'$CHROME_DIR/common/common.vcproj',
'$ICU38_DIR/build/icu.vcproj',
'$CHROME_DIR/renderer/renderer.vcproj',
'$BASE_DIR/build/base_gfx.vcproj',
'$WEBKIT_DIR/build/JavaScriptCore/WTF.vcproj',
('$CHROME_DIR/browser/'
+ 'resources/browser_resources.vcproj'),
'$V8_DIR/tools/visual_studio/v8_snapshot.vcproj',
'$LIBPNG_DIR/libpng.vcproj',
'$WEBKIT_DIR/build/glue/glue.vcproj',
'$SKIA_DIR/skia.vcproj',
'$CHROME_DIR/third_party/hunspell/hunspell.vcproj',
'$GEARS_DIR/gears.vcproj',
'$GOOGLEURL_DIR/build/googleurl.vcproj',
'$CHROME_DIR/installer/util/util.vcproj',
'$WEBKIT_DIR/activex_shim/activex_shim.vcproj',
'$SDCH_DIR/sdch.vcproj',
'$CHROME_DIR/browser/views/browser_views.vcproj',
'$LIBXSLT_DIR/build/libxslt.vcproj',
],
# TODO(sgk): when we can intuit the hierarchy
# from the built targets.
#buildtargets=TODO,
files=input_files,
local_directory_prefix='./',
relative_path_substitutions = [
('../../..', '$(OutDir)'),
],
ConfigurationType='2')
p.AddToolFile('tools/build/win/version.rules')
p.AddConfig('Debug|Win32',
InheritedPropertySheets=[
'$(SolutionDir)../build/debug.vsprops',
'./chrome_dll.vsprops',
'../installer/util/using_util.vsprops',
],
tools=[
'VCPreBuildEventTool',
'VCCustomBuildTool',
'Version',
'VCXMLDataGeneratorTool',
'VCWebServiceProxyGeneratorTool',
'VCMIDLTool',
'VCCLCompilerTool',
'VCManagedResourceCompilerTool',
'VCResourceCompilerTool',
'VCPreLinkEventTool',
MSVSTool('VCLinkerTool',
OutputFile='$(IntDir)/chrome.dll',
ImportLibrary='$(OutDir)/lib/$(ProjectName).lib'),
'VCALinkTool',
MSVSTool('VCManifestTool',
AdditionalManifestFiles=('$(SolutionDir)/app/'
+ 'chrome.dll.manifest')),
'VCXDCMakeTool',
'VCBscMakeTool',
'VCFxCopTool',
'VCAppVerifierTool',
'VCWebDeploymentTool',
MSVSTool('VCPostBuildEventTool',
CommandLine=('call '
+ '$(SolutionDir)/tools/build/'
+ 'win/hardlink_failsafe.bat '
+ '"$(TargetPath)" '
+ '"$(OutDir)/$(TargetFileName)"')),
])
p.AddConfig('Release|Win32',
InheritedPropertySheets=[
'$(SolutionDir)../build/release.vsprops',
'./chrome_dll.vsprops',
'../installer/util/using_util.vsprops',
],
tools=[
'VCPreBuildEventTool',
'VCCustomBuildTool',
'Version',
'VCXMLDataGeneratorTool',
'VCWebServiceProxyGeneratorTool',
'VCMIDLTool',
'VCCLCompilerTool',
'VCManagedResourceCompilerTool',
'VCResourceCompilerTool',
'VCPreLinkEventTool',
MSVSTool('VCLinkerTool',
OutputFile='$(OutDir)/chrome.dll',
ImportLibrary='$(OutDir)/lib/$(ProjectName).lib'),
'VCALinkTool',
MSVSTool('VCManifestTool',
AdditionalManifestFiles=('$(SolutionDir)/app/'
+ 'chrome.dll.manifest')),
'VCXDCMakeTool',
'VCBscMakeTool',
'VCFxCopTool',
'VCAppVerifierTool',
'VCWebDeploymentTool',
MSVSTool('VCPostBuildEventTool',
CommandLine=('check_dependents.bat '
+ '$(TargetPath) chrome.dll.deps')),
])
##############################################################################
# TODO(sgk): move to separate .scons file for chrome.exe ####################
env_exe = env.Clone()
env_exe.Prepend(
CPPPATH = [
'..',
'$BREAKPAD_DIR/src',
],
LIBS = [
'base',
'breakpad_handler',
'chrome',
'common',
'icu',
'sandbox',
'util',
],
)
env_exe.Append(
LINKFLAGS = [
'/INCREMENTAL',
'/DELAYLOAD:"dwmapi.dll"',
'/DELAYLOAD:"uxtheme.dll"',
'/SUBSYSTEM:WINDOWS',
'/MACHINE:X86',
'/FIXED:No',
'/safeseh',
'/dynamicbase',
'/ignore:4199',
'/nxcompat',
'/PDB:${TARGETS[1]}',
#'/IMPLIB:${TARGETS[2]}',
],
)
input_files = ChromeFileList([
# TODO(sgk): violate standard indentation so we don't have to
# reindent too much when we remove the explicit MSVSFilter() calls
# in favor of generating the hierarchy to reflect the file system.
MSVSFilter('resources', [
'app/check_dependents.bat',
'app/chrome.exe.deps',
'app/chrome_exe.rc',
'app/chrome_exe_resource.h',
'app/chrome_exe_version.rc.version',
]),
'app/breakpad.cc',
'app/breakpad.h',
'app/chrome_exe_main.cc',
'common/chrome_switches$OBJSUFFIX',
'app/client_util.cc',
'app/client_util.h',
'common/env_vars$OBJSUFFIX',
'common/env_vars.h',
'app/google_update_client.cc',
'app/google_update_client.h',
'app/result_codes.h',
])
# TODO(port)
if env.Bit('windows'):
chrome_exe = env_exe.ChromeProgram('chrome_exe/chrome', input_files)
install_targets.append(chrome_exe[0])
env.Requires('$DESTINATION_ROOT/chrome.exe',
['$DESTINATION_ROOT/chrome.dll',
'$DESTINATION_ROOT/icudt38.dll',
'$DESTINATION_ROOT/rlz.dll',
'$DESTINATION_ROOT/First Run',
'$DESTINATION_ROOT/themes',
Alias('chrome_locales'),
Alias('chrome_Dictionaries'),
])
env.Install('$DESTINATION_ROOT', '$CHROME_DIR/app/FirstRun')
# For release we want to run dependencies.py, may look something like:
#env.AddPostAction('$TARGET_ROOT/chrome.exe',
# ('$PYTHON tools/build/win/dependencies.py ' +
# '$(TargetPath) chrome.exe.deps'))
p = env.ChromeMSVSProject('app/chrome_exe.vcproj',
dest='$CHROME_SRC_DIR/chrome/app/chrome_exe.vcproj',
guid='{7B219FAA-E360-43C8-B341-804A94EEFFAC}',
keyword='Win32Proj',
dependencies = [
'$BASE_DIR/build/base.vcproj',
'$SANDBOX_DIR/src/sandbox.vcproj',
('$CHROME_DIR/tools/'
+ 'crash_service/crash_service.vcproj'),
'$BREAKPAD_DIR/breakpad_handler.vcproj',
'$CHROME_DIR/app/chrome_dll.vcproj',
'$CHROME_DIR/app/locales/en-US.vcproj',
'$CHROME_DIR/installer/util/util.vcproj',
'$CHROME_DIR/app/theme/theme_dll.vcproj',
],
# TODO(sgk): when we can intuit the hierarchy
# from the built targets.
#buildtargets=TODO,
files=input_files,
local_directory_prefix='./',
ConfigurationType='1')
p.AddToolFile('tools/build/win/version.rules')
p.AddConfig('Debug|Win32',
InheritedPropertySheets=[
'./chrome_exe.vsprops',
'$(SolutionDir)../build/debug.vsprops',
],
tools=[
'VCPreBuildEventTool',
'VCCustomBuildTool',
'Version',
'VCXMLDataGeneratorTool',
'VCWebServiceProxyGeneratorTool',
'VCMIDLTool',
MSVSTool('VCCLCompilerTool',
BasicRuntimeChecks='0',
BufferSecurityCheck='false'),
'VCManagedResourceCompilerTool',
'VCResourceCompilerTool',
'VCPreLinkEventTool',
MSVSTool('VCLinkerTool',
ImportLibrary='$(OutDir)/lib/$(ProjectName).lib'),
'VCALinkTool',
MSVSTool('VCManifestTool',
AdditionalManifestFiles=('$(SolutionDir)/app/'
+ 'chrome.exe.manifest')),
'VCXDCMakeTool',
'VCBscMakeTool',
'VCFxCopTool',
'VCAppVerifierTool',
'VCWebDeploymentTool',
MSVSTool('VCPostBuildEventTool',
CommandLine=('copy '
+ '$(ProjectDir)/FirstRun '
+ '$(OutDir)/"First Run"'),
Description='Copy first run complete sentinel file'),
])
p.AddConfig('Release|Win32',
InheritedPropertySheets=[
'./chrome_exe.vsprops',
'$(SolutionDir)../build/release.vsprops',
],
tools=[
'VCPreBuildEventTool',
'VCCustomBuildTool',
'Version',
'VCXMLDataGeneratorTool',
'VCWebServiceProxyGeneratorTool',
'VCMIDLTool',
'VCCLCompilerTool',
'VCManagedResourceCompilerTool',
'VCResourceCompilerTool',
'VCPreLinkEventTool',
MSVSTool('VCLinkerTool',
ImportLibrary='$(OutDir)/lib/$(ProjectName).lib'),
'VCALinkTool',
MSVSTool('VCManifestTool',
AdditionalManifestFiles=('$(SolutionDir)/app/'
+ 'chrome.exe.manifest')),
'VCXDCMakeTool',
'VCBscMakeTool',
'VCFxCopTool',
'VCAppVerifierTool',
'VCWebDeploymentTool',
MSVSTool('VCPostBuildEventTool',
# TODO(sgk): figure out how to get \r\n through
# Python's XML generation?
#CommandLine=('copy '
# + '$(ProjectDir)/FirstRun '
# + '$(OutDir)/"First Run"\r\n'
# + 'check_dependents.bat '
# + '$(TargetPath) '
# + 'chrome.exe.deps\r\n'),
CommandLine=('copy '
+ '$(ProjectDir)/FirstRun '
+ '$(OutDir)/"First Run" '
+ '&& '
+ 'check_dependents.bat '
+ '$(TargetPath) '
+ 'chrome.exe.deps'),
Description='Copy first run complete sentinel file'),
])
##############################################################################
# TODO(sgk): move to separate .scons file for browser_resources #############
env_flat = env.Clone(
BROWSER_RESOURCES = Dir('browser_resources'),
HTML_INLINE = env.File(
'$CHROME_SRC_DIR/chrome/tools/build/win/html_inline.py'),
FLATTEN_HTML_COM = '$PYTHON $HTML_INLINE $SOURCE $TARGET',
)
def FlatHtmlEmitter(target, source, env):
# When we get the target, it will have the "_flat.html" suffix,
# but will be next to the sourcefile. Replace it with a
# string that puts it in the $BROWSER_RESOURCES directory.
target = [env.File('$BROWSER_RESOURCES/' + target[0].name)]
return target, source
env_flat['BUILDERS']['FlatHtml'] = Builder(action='$FLATTEN_HTML_COM',
suffix='_flat.html',
source_suffix='.html',
emitter=FlatHtmlEmitter)
input_files = ChromeFileList([
'browser/resources/about_credits.html',
'browser/resources/about_memory.html',
'browser/resources/about_stats.html',
'browser/resources/about_version.html',
'browser/resources/history.html',
'browser/resources/incognito_tab.html',
'browser/resources/new_tab.html',
'browser/resources/safe_browsing_malware_block.html',
'browser/resources/safe_browsing_phishing_block.html',
'browser/security/resources/ssl_error.html',
'browser/security/resources/ssl_roadblock.html',
'browser/security/resources/ssl_roadblock_background.png',
'browser/security/resources/ssl_roadblock_icon.png',
])
# TODO(port)
if env_flat.Bit('windows'):
flats_out = []
for i in input_files:
if str(i).endswith('.html'):
flats_out.extend(env_flat.FlatHtml(i))
# TODO(sgk): Remove when we upgrade to SCons 1.1.0, which
# determines implicit dependencies from .rc files.
env_flat.Depends(browser_res, flats_out)
p = env.ChromeMSVSProject('browser/resources/browser_resources.vcproj',
dest=('$CHROME_SRC_DIR/chrome/'
+ 'browser/resources/browser_resources.vcproj'),
guid='{B95AB527-F7DB-41E9-AD91-EB51EE0F56BE}',
# TODO(sgk): when we can intuit the hierarchy
# from the built targets.
#buildtargets=TODO,
files=input_files,
local_directory_prefix='./',
tools=[
'VCPreBuildEventTool',
'Flattened HTML Resource',
'VCCustomBuildTool',
'VCMIDLTool',
'VCPostBuildEventTool',
],
ConfigurationType='10')
p.AddToolFile('tools/build/win/flattened_html_file.rules')
p.AddConfig('Debug|Win32',
InheritedPropertySheets=[
'$(SolutionDir)../build/common.vsprops',
'$(SolutionDir)../build/debug.vsprops',
])
p.AddConfig('Release|Win32',
InheritedPropertySheets=[
'$(SolutionDir)../build/common.vsprops',
'$(SolutionDir)../build/release.vsprops',
])
##############################################################################
# TODO(sgk): move to separate .scons file for browser_resources #############
sconscript_files = [
'views/SConscript',
]
if not env.WantSystemLib('hunspell'):
sconscript_files.append('third_party/hunspell/SConscript')
if not env.WantSystemLib('sqlite'):
sconscript_files.append('$THIRD_PARTY_DIR/sqlite/SConscript')
# TODO(port)
if env.Bit('windows'):
sconscript_files.extend([
'app/resources/SConscript',
'app/theme/SConscript',
'browser/views/SConscript',
])
env.SConscript(sconscript_files, exports=['env', 'env_res', 'env_test'])
# TODO(port)
if env.Bit('windows'):
env.InstallAs('$LIBS_DIR/${LIBPREFIX}jscre${LIBSUFFIX}',
'$WEBKIT_DIR/JavaScriptCore_pcre.lib')
env.Install('$DESTINATION_ROOT', install_targets)
gears_plugins = [
'$GEARS_DIR/binaries/gears.dll',
'$GEARS_DIR/binaries/gears.pdb',
]
# TODO(port)
if env.Bit('windows'):
env.Install('$DESTINATION_ROOT/plugins/gears', gears_plugins)
env.Command('$DESTINATION_ROOT/resources/inspector',
'$CHROME_SRC_DIR/third_party/WebKit/WebCore/inspector/front-end',
Copy('$TARGET', '$SOURCE'),
source_scanner=DirScanner)