| Index: webkit/SConscript
|
| ===================================================================
|
| --- webkit/SConscript (revision 12583)
|
| +++ webkit/SConscript (working copy)
|
| @@ -1,287 +0,0 @@
|
| -# 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 = env.Clone()
|
| -env_res = env.Clone()
|
| -
|
| -# We use the SCons addRepository() call (an internal API that will
|
| -# at some point be made public) to "back" the build directory
|
| -# hierarchy with the source directory hierarchies in which we want to
|
| -# find the source .cpp and .h files. Think of this kind of like
|
| -# Make's VPATH, but applied to entire directory hierarchies. The
|
| -# upshot is that when searching for any file (source or target),
|
| -# SCons will search the subdirectory hierarchies under the following
|
| -# paths:
|
| -#
|
| -# webkit/Hammer/port/
|
| -# webkit/port/
|
| -# third_party/WebKit/WebCore/
|
| -#
|
| -# SCons will replicate the compiler and linker -I and -L options so
|
| -# that the tools will find the right .h and library files. This comes
|
| -# at the cost of tripling the number of -I or -L options on a command
|
| -# line, but with the benefit that the build should "just work"
|
| -# regardless of which tree the file lives in, and regardless of whether
|
| -# or not the file involved is a generated file or checked-in source.
|
| -#
|
| -# (Note that because the build/SConscript.main file also calls
|
| -# addRepository() for the entire $OBJ_ROOT tree, that adds an
|
| -# extra -I or -L option for the webkit/port/ subdirectory, after the
|
| -# third_party/WebKit/WebCore/ in the above list. We'd like to
|
| -# eliminate that in the future, but that will require some
|
| -# deeper magic, and maybe a SCons modification.)
|
| -
|
| -port_dir = env.Dir('$WEBKIT_DIR/port')
|
| -port_dir.addRepository(env.Dir('$CHROME_SRC_DIR/webkit/port'))
|
| -port_dir.addRepository(env.Dir('$CHROME_SRC_DIR/third_party/WebKit/WebCore'))
|
| -
|
| -if env.Bit('windows'):
|
| - env['WEBKIT_PLATFORM_SUBDIR'] = 'win'
|
| -elif env.Bit('mac'):
|
| - env['WEBKIT_PLATFORM_SUBDIR'] = 'mac'
|
| - env.Append(
|
| - CCFLAGS = [
|
| - '-Wno-reorder',
|
| - '-Wno-unused',
|
| - ],
|
| - )
|
| - env.Prepend(
|
| - CPPPATH = [env.subst(x) for x in [
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/platform/graphics/cg',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/loader/archive/cf',
|
| - ]]
|
| - )
|
| -elif env.Bit('linux'):
|
| - env.Append(
|
| - CPPDEFINES = [
|
| - # We want webkit to use pthreads rather than gthread.
|
| - 'WTF_USE_PTHREADS=1',
|
| - ],
|
| - )
|
| -
|
| -if env.Bit('posix'):
|
| - env.Append(
|
| - CCFLAGS = [
|
| - '-Wno-parentheses',
|
| - ],
|
| - )
|
| -
|
| -env.Append(
|
| - WEBCORE_DIR = '$THIRD_PARTY_WEBKIT_DIR/WebCore',
|
| - PENDING_DIR = "$WEBKIT_DIR/pending",
|
| - PORT_DIR = "$WEBKIT_DIR/port",
|
| -
|
| - JAVASCRIPTCORE_DIR = "$THIRD_PARTY_WEBKIT_DIR/JavaScriptCore",
|
| - WTF_DIR = "$JAVASCRIPTCORE_DIR/wtf",
|
| - KJS_DIR = "$JAVASCRIPTCORE_DIR/kjs",
|
| - PCRE_DIR = "$JAVASCRIPTCORE_DIR/pcre",
|
| -
|
| - V8BINDINGS_DIR = "$WEBKIT_DIR/V8Bindings",
|
| - DERIVED_DIR = env.Dir("$WEBKIT_DIR/V8Bindings/DerivedSources"),
|
| - SHARED_DIR = env.Dir("$WEBKIT_DIR/V8Bindings/SharedSources"),
|
| -
|
| - WEBKIT_DIR_PORT_INC = env.Dir("$CHROME_SRC_DIR/webkit/port"),
|
| -)
|
| -
|
| -env.Prepend(
|
| - CPPPATH = [env.subst(x) for x in [
|
| -
|
| - # We put our grit generated headers in a common place. This matches
|
| - # what we do in Visual Studios.
|
| - '$TARGET_ROOT/grit_derived_sources',
|
| - '$WEBKIT_DIR/build/JSConfig/WebCore',
|
| -
|
| - # TODO(sgk): This directory was at this point in the /I list
|
| - # in the Visual Studio build of the merged webkit. It breaks
|
| - # the Linux build because of the pthread.h file there.
|
| - # Leaving it out doesn't obviously break the Windows build,
|
| - # but for now I'm leaving it commented out here in case it
|
| - # introduced any hidden problems.
|
| - #'$WEBKIT_DIR/build/JavaScriptCore',
|
| -
|
| - '$ZLIB_DIR',
|
| - '$LIBPNG_DIR',
|
| - '$LIBJPEG_DIR',
|
| - '$LIBXSLT_DIR',
|
| - '$LIBXML_DIR/include',
|
| - '$LIBXML_DIR/DerivedSources/include',
|
| - '$ICU38_DIR/public/common',
|
| - '$ICU38_DIR/public/i18n',
|
| - '$SKIA_DIR/include',
|
| - '$SKIA_DIR/include/corecg',
|
| - '$SKIA_DIR/ext',
|
| - '$SKIA_DIR/platform',
|
| - '$NPAPI_DIR',
|
| - '$V8_DIR/include',
|
| - '$WEBKIT_DIR/V8Bindings/DerivedSources',
|
| - '$WEBKIT_DIR/V8Bindings/SharedSources',
|
| -
|
| - '$WEBKIT_DIR/pending',
|
| - '$WEBKIT_DIR_PORT_INC/bindings/v8',
|
| - '$WEBKIT_DIR_PORT_INC/bindings/v8/custom',
|
| - '$WEBKIT_DIR_PORT_INC/platform',
|
| - '$WEBKIT_DIR_PORT_INC/platform/$WEBKIT_PLATFORM_SUBDIR',
|
| -
|
| - '$JAVASCRIPTCORE_DIR',
|
| - '$JAVASCRIPTCORE_DIR/wtf',
|
| - '$JAVASCRIPTCORE_DIR/wtf/chromium',
|
| -
|
| - # Directories in third_party/WebKit/Webcore that we pull headers
|
| - # from. We don't have to list directories that are listed in the
|
| - # $WEBKIT_DIR_PORT_INC section above because they automatically fall
|
| - # back to third_party/WebKit/Webcore.
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/css',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/dom',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/editing',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/history',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/html',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/inspector',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/loader',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/loader/appcache',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/loader/archive',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/loader/icon',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/page',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/page/animation',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/page/chromium',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/platform',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/platform/animation',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/platform/chromium',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/platform/graphics',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/platform/graphics/chromium',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/platform/graphics/skia',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/platform/graphics/opentype',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/platform/graphics/transforms',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/platform/image-decoders/skia',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/platform/image-encoders/skia',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/platform/network',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/platform/network/chromium',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/platform/sql',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/platform/text',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/plugins',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/rendering',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/rendering/style',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/storage',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/style',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/svg',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/svg/animation',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/svg/graphics',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/workers',
|
| - '$CHROME_SRC_DIR/third_party/WebKit/WebCore/xml',
|
| -
|
| - '$CHROME_SRC_DIR',
|
| - ]],
|
| -)
|
| -
|
| -env.Append(
|
| - CPPDEFINES = [
|
| - 'U_STATIC_IMPLEMENTATION',
|
| - '_SCL_SECURE_NO_DEPRECATE',
|
| - '_SCL_SECURE_NO_WARNINGS',
|
| - ['ENABLE_DASHBOARD_SUPPORT', '0'],
|
| - ['ENABLE_JAVASCRIPT_DEBUGGER', '0'],
|
| - ['ENABLE_JSC_MULTIPLE_THREADS', '0'],
|
| - ['ENABLE_ICONDATABASE', '0'],
|
| - ['ENABLE_DATABASE', '1'],
|
| - ['ENABLE_XSLT', '1'],
|
| - ['ENABLE_XPATH', '1'],
|
| - ['ENABLE_SVG', '1'],
|
| - ['ENABLE_SVG_ANIMATION', '1'],
|
| - ['ENABLE_SVG_AS_IMAGE', '1'],
|
| - ['ENABLE_SVG_USE', '1'],
|
| - ['ENABLE_SVG_FOREIGN_OBJECT', '1'],
|
| - ['ENABLE_SVG_FONTS', '1'],
|
| - ['WEBCORE_NAVIGATOR_PLATFORM', '"\\"Win32\\""'],
|
| - 'USE_GOOGLE_URL_LIBRARY',
|
| - ['BUILDING_CHROMIUM__', '1'],
|
| - 'CHROMIUM_BUILD',
|
| - '_SECURE_ATL',
|
| -
|
| - 'LIBXSLT_STATIC',
|
| - 'LIBXML_STATIC',
|
| - 'PNG_USER_CONFIG',
|
| - 'CHROME_PNG_WRITE_SUPPORT',
|
| - ['__PRETTY_FUNCTION__', '__FUNCTION__'],
|
| - 'DISABLE_ACTIVEX_TYPE_CONVERSION_MPLAYER2',
|
| -
|
| - '__STD_C',
|
| - ['USE_SYSTEM_MALLOC', '1'],
|
| - ],
|
| -)
|
| -
|
| -# This addRepository call causes our webkit/port include paths to include both
|
| -# webkit/port and third_party/WebKit/WebCore.
|
| -webkit_port_inc = env.Dir("$WEBKIT_DIR_PORT_INC")
|
| -webkit_port_inc.addRepository(
|
| - env.Dir('$CHROME_SRC_DIR/third_party/WebKit/WebCore'))
|
| -
|
| -# This list is the SConscripts that work on Windows and Linux.
|
| -sconscript_dirs = env.ChromiumLoadComponentSConscripts(
|
| - LOAD_NAMES = ['webkit'],
|
| - port = 'SConscript.port',
|
| - JavaScriptCore_pcre = 'SConscript.javascriptcore_pcre',
|
| - WebCore_config_h = 'build/JSConfig/SConscript',
|
| - JavaScriptCore = 'build/JavaScriptCore/SConscript',
|
| - webkit_resources = 'build/webkit_resources/SConscript',
|
| - webkit_strings = 'build/webkit_strings/SConscript',
|
| - bindings = 'build/port/SConscript',
|
| - V8Bindings = 'build/V8Bindings/SConscript',
|
| - WebCore = 'build/WebCore/SConscript',
|
| - WebKit = 'build/WebKit/SConscript',
|
| - default_plugin = 'default_plugin/SConscript',
|
| - glue = 'glue/SConscript',
|
| - npapi_test_plugin = 'glue/plugins/test/SConscript',
|
| - npapi_layout_test_plugin = 'tools/npapi_layout_test_plugin/SConscript',
|
| - test_shell = 'tools/test_shell/SConscript',
|
| -)
|
| -
|
| -if env.Bit('windows'):
|
| - # These extra dirs aren't win32-specific, they're just the dirs that
|
| - # haven't yet been made portable.
|
| - sconscript_dirs.extend(env.ChromiumLoadComponentSConscripts(
|
| - LOAD_NAMES = ['webkit'],
|
| - activex_shim = 'activex_shim/SConscript',
|
| - npaxshim = 'activex_shim_dll/SConscript',
|
| - ))
|
| -
|
| - env.Append(
|
| - CPPDEFINES = [
|
| - '_CRT_SECURE_NO_DEPRECATE',
|
| - '_CRT_NONSTDC_NO_WARNINGS',
|
| - '_CRT_NONSTDC_NO_DEPRECATE',
|
| - ['CRASH', '__debugbreak'],
|
| - ])
|
| -
|
| - env.Prepend(
|
| - CPPPATH = [
|
| - # Windows precompiled headers are here
|
| - '$WEBKIT_DIR/build',
|
| -
|
| - '$JAVASCRIPTCORE_DIR/os-win32',
|
| - ])
|
| -else:
|
| - env.Append(
|
| - CXXFLAGS = ['-Wno-multichar'],
|
| - )
|
| -
|
| -env.SConscript(sconscript_dirs, exports=['env', 'env_res'])
|
| -
|
| -# Setup alias for all webkit related targets.
|
| -# We'd like to do this as follows, but it leads to out-of-memory
|
| -# errors when SCons tries to use the entire contents of the
|
| -# directory tree as a huge content-signature string.
|
| -# Instead we're going to let all the subsidiary SConscript files
|
| -# add their own individual targets to the 'webkit' Alias.
|
| -#env.Alias('webkit', ['.', '$DESTINATION_ROOT/icudt38.dll'])
|
| -if env.Bit('windows'):
|
| - env.Alias('webkit', ['$DESTINATION_ROOT/icudt38.dll'])
|
| -
|
| -version = env.Command('$WEBKIT_DIR/build/WebCore/webkit_version.h',
|
| - ['$WEBCORE_DIR/Configurations/Version.xcconfig',
|
| - '$CHROME_SRC_DIR/webkit/build/webkit_version.py'],
|
| - "$PYTHON ${SOURCES[1]} ${SOURCES[0]} ${TARGET.dir}")
|
| -env.AlwaysBuild(version)
|
|
|