From 3345a6884c488ff3a535c2c9acdd33d74b37e311 Mon Sep 17 00:00:00 2001 From: Iain Merrick Date: Tue, 19 Oct 2010 14:37:37 +0100 Subject: Merge Chromium at 7.0.540.0 : Initial merge by git Not including third_party/icu as it contains huge data files that break Gerrit, and aren't actually used. Change-Id: I428a386e70f3b58cacd28677b8cfda282e891e15 --- build/All.target.mk | 2 +- build/all.gyp | 32 ++++++- build/build-bisect.py | 4 +- build/common.gypi | 138 +++++++++++++++++++-------- build/features_override.gypi | 16 +++- build/linux/system.Makefile | 2 +- build/linux/system.gyp | 49 +++++++++- build/temp_gyp/googleurl.target.mk | 7 +- build/temp_gyp/googleurl_unittests.target.mk | 7 +- build/util/lastchange.target.mk | 2 + build/whitespace_file.txt | 6 +- 11 files changed, 205 insertions(+), 60 deletions(-) (limited to 'build') diff --git a/build/All.target.mk b/build/All.target.mk index e826557..c7b452d 100644 --- a/build/All.target.mk +++ b/build/All.target.mk @@ -4,7 +4,7 @@ TOOLSET := target TARGET := All ### Rules for final target. $(obj).target/build/All.stamp: TOOLSET := $(TOOLSET) -$(obj).target/build/All.stamp: app_unittests $(obj).target/app/app_strings.stamp $(obj).target/app/app_resources.stamp $(obj).target/app/libapp_base.a $(obj).target/app/app_unittest_strings.stamp $(obj).target/base/libbase_i18n.a base_unittests $(obj).target/base/libtest_support_base.a $(obj).target/base/libtest_support_perf.a $(obj).target/base/libbase.a $(obj).target/base/libsymbolize.a $(obj).target/base/libxdg_mime.a sync_listen_notifications $(obj).target/chrome/chrome_resources.stamp $(obj).target/chrome/chrome_strings.stamp $(obj).target/chrome/theme_resources.stamp $(obj).target/chrome/platform_locale_settings.stamp $(obj).target/chrome/chrome_extra_resources.stamp $(obj).target/chrome/default_extensions.stamp $(obj).target/chrome/libdebugger.a $(obj).target/chrome/libplugin.a $(obj).target/chrome/libutility.a $(obj).target/chrome/libprofile_import.a $(obj).target/chrome/libchrome_gpu.a $(obj).target/chrome/libworker.a $(obj).target/chrome/libsyncapi.a $(obj).target/chrome/libsync.a $(obj).target/chrome/libsync_notifier.a $(obj).target/chrome/libservice.a $(obj).target/chrome/libbrowser.a $(obj).target/chrome/component_extensions.stamp $(obj).target/chrome/userfeedback_proto.stamp $(obj).target/chrome/libcommon.a $(obj).target/chrome/libcommon_net.a chrome $(obj).target/chrome/libchrome_version_info.a $(obj).target/chrome/librenderer.a interactive_ui_tests $(obj).target/chrome/libtest_support_common.a $(obj).target/chrome/libtest_support_ui.a $(obj).target/chrome/libtest_support_unit.a automated_ui_tests ui_tests libnacl_security_tests.so nacl_sandbox_tests nacl_ui_tests unit_tests browser_tests startup_tests reliability_tests page_cycler_tests tab_switching_test memory_test url_fetch_test sync_unit_tests sync_integration_tests plugin_tests $(obj).target/chrome/libcommon_constants.a $(obj).target/chrome/libnacl.a convert_dict $(obj).target/chrome/libconvert_dict.a flush_cache $(obj).target/chrome/packed_extra_resources.stamp $(obj).target/chrome/linux_symbols.stamp $(obj).target/chrome/packed_resources.stamp $(obj).target/chrome/libinstaller_util.a perf_tests gfx_unittests $(obj).target/gfx/libgfx.a $(obj).target/gpu/libcommand_buffer_common.a $(obj).target/gpu/libgles2_cmd_helper.a $(obj).target/gpu/libgles2_implementation.a $(obj).target/gpu/libgles2_lib.a $(obj).target/gpu/libgles2_c_lib.a $(obj).target/gpu/libcommand_buffer_client.a $(obj).target/gpu/libcommand_buffer_service.a $(obj).target/gpu/libgpu_plugin.a gpu_unittests $(obj).target/gpu/libgles2_demo_lib.a $(obj).target/gpu/libpgl.a $(obj).target/gpu/demos/libgpu_demo_framework.a $(obj).target/gpu/demos/libgpu_demo_framework_exe.a hello_triangle_exe mip_map_2d_exe simple_texture_2d_exe simple_texture_cubemap_exe simple_vertex_shader_exe stencil_test_exe texture_wrap_exe ipc_tests $(obj).target/ipc/libipc.a $(obj).target/jingle/libnotifier.a notifier_unit_tests $(obj).target/media/libmedia.a media_unittests media_bench scaler_bench ffmpeg_tests wav_ola_test qt_faststart omx_test omx_unittests $(obj).target/media/libomx_wrapper.a player_x11 $(obj).target/net/libnet_base.a $(obj).target/net/libnet.a net_unittests net_perftests stress_cache tld_cleanup crash_cache run_testserver $(obj).target/net/libnet_test_support.a $(obj).target/net/net_resources.stamp fetch_client fetch_server $(obj).target/net/libhttp_listen_socket.a hresolv $(obj).target/net/third_party/nss/libssl.a $(obj).target/printing/libprinting.a printing_unittests $(obj).target/sdch/libsdch.a $(obj).target/skia/libskia.a $(obj).target/skia/libskia_opts.a $(obj).target/testing/libgmock.a $(obj).target/testing/libgmockmain.a $(obj).target/testing/libgtest.a $(obj).target/testing/libgtestmain.a $(obj).target/third_party/cacheinvalidation/cacheinvalidation_proto.stamp $(obj).target/third_party/cacheinvalidation/libcacheinvalidation.a cacheinvalidation_unittests $(obj).target/third_party/cld/libcld.a codesighs maptsvdifftool nm2tsv $(obj).target/third_party/ffmpeg/libffmpeg.a libffmpegsumo.so $(obj).target/third_party/ffmpeg/assemble_ffmpeg_asm.stamp $(obj).target/third_party/ffmpeg/make_ffmpeg_asm_lib.stamp ffmpegsumo_nolink $(obj).target/third_party/icu/libicudata.a $(obj).target/third_party/icu/libicui18n.a $(obj).target/third_party/icu/libicuuc.a $(obj).target/third_party/libxml/libxml2.a $(obj).target/third_party/libxslt/libxslt.a $(obj).target/third_party/lzma_sdk/liblzma_sdk.a $(obj).target/third_party/mesa/libmesa.a libosmesa.so $(obj).target/third_party/modp_b64/libmodp_b64.a $(obj).target/third_party/npapi/npapi.stamp $(obj).target/third_party/ppapi/ppapi_c.stamp $(obj).target/third_party/ppapi/libppapi_cpp_objects.a $(obj).target/third_party/ppapi/libppapi_cpp.a libppapi_example.so libppapi_tests.so $(obj).target/third_party/ots/libots.a $(obj).target/third_party/sqlite/libsqlite3.a sqlite_shell $(obj).target/third_party/WebKit/WebKit/chromium/libwebkit.a $(obj).target/third_party/WebKit/WebKit/chromium/inspector_resources.stamp $(obj).target/third_party/WebKit/WebKit/chromium/devtools_html.stamp $(obj).target/third_party/WebKit/WebKit/chromium/concatenated_devtools_js.stamp webkit_unit_tests ImageDiff DumpRenderTree $(obj).target/third_party/zlib/libzlib.a $(obj).target/webkit/support/libappcache.a $(obj).target/webkit/support/libdatabase.a $(obj).target/webkit/support/webkit_resources.stamp $(obj).target/webkit/support/webkit_strings.stamp $(obj).target/webkit/support/libglue.a libnpapi_layout_test_plugin.so $(obj).target/webkit/support/copy_npapi_layout_test_plugin.stamp $(obj).target/webkit/support/libwebkit_support.a $(obj).target/webkit/pull_in_webkit_unit_tests.stamp $(obj).target/webkit/pull_in_DumpRenderTree.stamp $(obj).target/webkit/libtest_shell_common.a $(obj).target/webkit/test_shell_pak.stamp test_shell test_shell_tests $(obj).target/webkit/test_shell_resources.stamp $(obj).target/build/util/lastchange.stamp $(obj).target/build/temp_gyp/libgoogleurl.a googleurl_unittests $(obj).target/v8/tools/gyp/v8.stamp $(obj).target/v8/tools/gyp/libv8_snapshot.a $(obj).target/v8/tools/gyp/libv8_nosnapshot.a $(obj).target/v8/tools/gyp/libv8_base.a v8_shell yasm $(obj).host/third_party/yasm/config_sources.stamp $(obj).host/third_party/yasm/generate_files.stamp $(obj).host/third_party/yasm/libgenperf_libs.a genstring genperf genmacro genversion re2c genmodule $(obj).target/breakpad/libbreakpad_client.a breakpad_unittests generate_test_dump $(obj).target/courgette/libcourgette_lib.a courgette courgette_minimal_tool courgette_unittests courgette_fuzz chrome_sandbox $(obj).target/sandbox/libsandbox.a gtk_clipboard_dump xdisplaycheck $(obj).target/third_party/libevent/libevent.a $(obj).target/remoting/libchromoting_plugin.a $(obj).target/remoting/libchromoting_base.a $(obj).target/remoting/libchromoting_host.a $(obj).target/remoting/libchromoting_client.a chromoting_simple_host chromoting_host_keygen $(obj).target/remoting/libchromoting_jingle_glue.a chromoting_jingle_test_client remoting_unittests chromoting_client_test_webserver chromoting_x11_client $(obj).target/chrome/libnacl_security_tests.so $(obj).target/third_party/ffmpeg/libffmpegsumo.so $(obj).target/third_party/ppapi/libppapi_example.so FORCE_DO_CMD +$(obj).target/build/All.stamp: app_unittests $(obj).target/app/app_strings.stamp $(obj).target/app/app_resources.stamp $(obj).target/app/libapp_base.a $(obj).target/app/app_unittest_strings.stamp $(obj).target/base/libbase_i18n.a base_unittests $(obj).target/base/libtest_support_base.a $(obj).target/base/libtest_support_perf.a $(obj).target/base/libbase.a $(obj).target/base/libsymbolize.a $(obj).target/base/libxdg_mime.a sync_listen_notifications $(obj).target/chrome/chrome_resources.stamp $(obj).target/chrome/chrome_strings.stamp $(obj).target/chrome/theme_resources.stamp $(obj).target/chrome/platform_locale_settings.stamp $(obj).target/chrome/chrome_extra_resources.stamp $(obj).target/chrome/default_extensions.stamp $(obj).target/chrome/libdebugger.a $(obj).target/chrome/libplugin.a $(obj).target/chrome/libutility.a $(obj).target/chrome/libprofile_import.a $(obj).target/chrome/libchrome_gpu.a $(obj).target/chrome/libworker.a $(obj).target/chrome/libsyncapi.a $(obj).target/chrome/libsync.a $(obj).target/chrome/libsync_notifier.a $(obj).target/chrome/libservice.a $(obj).target/chrome/libbrowser.a $(obj).target/chrome/component_extensions.stamp $(obj).target/chrome/userfeedback_proto.stamp $(obj).target/chrome/libcommon.a $(obj).target/chrome/libcommon_net.a chrome $(obj).target/chrome/librenderer.a $(obj).target/chrome/safe_browsing_proto.stamp interactive_ui_tests $(obj).target/chrome/libtest_support_common.a $(obj).target/chrome/libtest_support_ui.a $(obj).target/chrome/libtest_support_unit.a automated_ui_tests ui_tests chromedriver libnacl_security_tests.so nacl_sandbox_tests nacl_ui_tests unit_tests browser_tests safe_browsing_tests startup_tests reliability_tests page_cycler_tests tab_switching_test memory_test url_fetch_test sync_unit_tests sync_integration_tests plugin_tests $(obj).target/chrome/libcommon_constants.a $(obj).target/chrome/libnacl.a convert_dict $(obj).target/chrome/libconvert_dict.a flush_cache $(obj).target/chrome/packed_extra_resources.stamp $(obj).target/chrome/linux_symbols.stamp $(obj).target/chrome/policy_templates.stamp $(obj).target/chrome/packed_resources.stamp $(obj).target/chrome/libinstaller_util.a perf_tests gfx_unittests $(obj).target/gfx/libgfx.a $(obj).target/gfx/gfx_resources.stamp $(obj).target/gpu/libcommand_buffer_common.a $(obj).target/gpu/libgles2_cmd_helper.a $(obj).target/gpu/libgles2_implementation.a $(obj).target/gpu/libgles2_lib.a $(obj).target/gpu/libgles2_c_lib.a $(obj).target/gpu/libcommand_buffer_client.a $(obj).target/gpu/libcommand_buffer_service.a $(obj).target/gpu/libgpu_plugin.a gpu_unittests $(obj).target/gpu/libgles2_demo_lib.a $(obj).target/gpu/libpgl.a $(obj).target/gpu/demos/libgpu_demo_framework.a $(obj).target/gpu/demos/libgpu_demo_framework_exe.a $(obj).target/gpu/demos/libgpu_demo_framework_ppapi.a hello_triangle_exe mip_map_2d_exe simple_texture_2d_exe simple_texture_cubemap_exe simple_vertex_shader_exe stencil_test_exe texture_wrap_exe ipc_tests $(obj).target/ipc/libipc.a $(obj).target/jingle/libnotifier.a notifier_unit_tests $(obj).target/media/libmedia.a ffmpeg_unittests media_unittests $(obj).target/media/libmedia_test_support.a media_bench scaler_bench ffmpeg_tests wav_ola_test qt_faststart omx_test omx_unittests $(obj).target/media/libomx_wrapper.a player_x11 $(obj).target/net/libnet_base.a $(obj).target/net/libnet.a net_unittests net_perftests stress_cache tld_cleanup crash_cache run_testserver $(obj).target/net/libnet_test_support.a $(obj).target/net/net_resources.stamp fetch_client fetch_server $(obj).target/net/libhttp_listen_socket.a hresolv dnssec_chain_verify $(obj).target/net/third_party/nss/libssl.a $(obj).target/printing/libprinting.a printing_unittests $(obj).target/sdch/libsdch.a $(obj).target/skia/libskia.a $(obj).target/skia/libskia_opts.a $(obj).target/testing/libgmock.a $(obj).target/testing/libgmockmain.a $(obj).target/testing/libgtest.a $(obj).target/testing/libgtestmain.a $(obj).target/third_party/cacheinvalidation/cacheinvalidation_proto.stamp $(obj).target/third_party/cacheinvalidation/libcacheinvalidation.a cacheinvalidation_unittests $(obj).target/third_party/cld/libcld.a codesighs maptsvdifftool nm2tsv $(obj).target/third_party/ffmpeg/libffmpeg.a libffmpegsumo.so $(obj).target/third_party/ffmpeg/assemble_ffmpeg_asm.stamp $(obj).target/third_party/ffmpeg/make_ffmpeg_asm_lib.stamp ffmpegsumo_nolink $(obj).target/third_party/icu/libicudata.a $(obj).target/third_party/icu/libicui18n.a $(obj).target/third_party/icu/libicuuc.a $(obj).target/third_party/libxml/libxml2.a $(obj).target/third_party/libxslt/libxslt.a $(obj).target/third_party/lzma_sdk/liblzma_sdk.a $(obj).target/third_party/mesa/libmesa.a libosmesa.so $(obj).target/third_party/modp_b64/libmodp_b64.a $(obj).target/third_party/npapi/npapi.stamp $(obj).target/third_party/ppapi/ppapi_c.stamp $(obj).target/third_party/ppapi/libppapi_cpp_objects.a $(obj).target/third_party/ppapi/libppapi_cpp.a libppapi_example.so libppapi_tests.so $(obj).target/third_party/ots/libots.a $(obj).target/third_party/sqlite/libsqlite3.a sqlite_shell $(obj).target/third_party/WebKit/WebKit/chromium/libwebkit.a $(obj).target/third_party/WebKit/WebKit/chromium/inspector_resources.stamp $(obj).target/third_party/WebKit/WebKit/chromium/devtools_html.stamp $(obj).target/third_party/WebKit/WebKit/chromium/concatenated_devtools_js.stamp webkit_unit_tests ImageDiff DumpRenderTree $(obj).target/third_party/zlib/libzlib.a $(obj).target/webkit/support/libappcache.a $(obj).target/webkit/support/libblob.a $(obj).target/webkit/support/libfileapi.a $(obj).target/webkit/support/libdatabase.a $(obj).target/webkit/support/webkit_resources.stamp $(obj).target/webkit/support/webkit_strings.stamp $(obj).target/webkit/support/libwebkit_user_agent.a $(obj).target/webkit/support/libglue.a libnpapi_layout_test_plugin.so $(obj).target/webkit/support/copy_npapi_layout_test_plugin.stamp $(obj).target/webkit/support/libwebkit_support.a $(obj).target/webkit/pull_in_webkit_unit_tests.stamp $(obj).target/webkit/pull_in_DumpRenderTree.stamp $(obj).target/webkit/libtest_shell_common.a $(obj).target/webkit/test_shell_pak.stamp test_shell test_shell_tests $(obj).target/webkit/test_shell_resources.stamp $(obj).target/build/util/lastchange.stamp $(obj).target/build/temp_gyp/libgoogleurl.a googleurl_unittests $(obj).target/v8/tools/gyp/v8.stamp $(obj).target/v8/tools/gyp/libv8_snapshot.a $(obj).target/v8/tools/gyp/libv8_nosnapshot.a $(obj).target/v8/tools/gyp/libv8_base.a v8_shell yasm $(obj).host/third_party/yasm/config_sources.stamp $(obj).host/third_party/yasm/generate_files.stamp $(obj).host/third_party/yasm/libgenperf_libs.a genstring genperf genmacro genversion re2c genmodule $(obj).target/breakpad/libbreakpad_client.a $(obj).target/breakpad/libbreakpad_processor_support.a breakpad_unittests generate_test_dump minidump-2-core $(obj).target/courgette/libcourgette_lib.a courgette courgette_minimal_tool courgette_unittests courgette_fuzz chrome_sandbox $(obj).target/sandbox/libsandbox.a gtk_clipboard_dump xdisplaycheck $(obj).target/third_party/libevent/libevent.a $(obj).target/remoting/libchromoting_plugin.a $(obj).target/remoting/libchromoting_base.a $(obj).target/remoting/libchromoting_host.a $(obj).target/remoting/libchromoting_client.a chromoting_simple_host chromoting_host_keygen $(obj).target/remoting/libchromoting_jingle_glue.a chromoting_jingle_test_client $(obj).target/remoting/libchromoting_protocol.a chromotocol_test_client remoting_unittests chromoting_client_test_webserver chromoting_x11_client $(obj).target/chrome/libnacl_security_tests.so $(obj).target/third_party/ffmpeg/libffmpegsumo.so $(obj).target/third_party/ppapi/libppapi_example.so FORCE_DO_CMD $(call do_cmd,touch) all_deps += $(obj).target/build/All.stamp diff --git a/build/all.gyp b/build/all.gyp index e762965..5348c74 100644 --- a/build/all.gyp +++ b/build/all.gyp @@ -107,6 +107,7 @@ '../gears/gears.gyp:*', '../rlz/rlz.gyp:*', '../sandbox/sandbox.gyp:*', + '../third_party/angle/src/build_angle.gyp:*', '../third_party/bsdiff/bsdiff.gyp:*', '../third_party/bspatch/bspatch.gyp:*', '../third_party/gles2_book/gles2_book.gyp:*', @@ -156,7 +157,11 @@ 'dependencies': [ '../app/app.gyp:app_unittests', '../chrome/chrome.gyp:browser_tests', + '../chrome/chrome.gyp:interactive_ui_tests', '../chrome/chrome.gyp:nacl_ui_tests', + '../chrome/chrome.gyp:nacl_sandbox_tests', + '../chrome/chrome.gyp:safe_browsing_tests', + '../chrome/chrome.gyp:sync_integration_tests', '../chrome/chrome.gyp:sync_unit_tests', '../chrome/chrome.gyp:ui_tests', '../chrome/chrome.gyp:unit_tests', @@ -179,9 +184,12 @@ '../chrome/chrome.gyp:browser_tests', '../chrome/chrome.gyp:memory_test', '../chrome/chrome.gyp:nacl_ui_tests', + '../chrome/chrome.gyp:nacl_sandbox_tests', '../chrome/chrome.gyp:page_cycler_tests', '../chrome/chrome.gyp:plugin_tests', + '../chrome/chrome.gyp:safe_browsing_tests', '../chrome/chrome.gyp:startup_tests', + '../chrome/chrome.gyp:sync_integration_tests', '../chrome/chrome.gyp:sync_unit_tests', '../chrome/chrome.gyp:tab_switching_test', '../chrome/chrome.gyp:ui_tests', @@ -213,6 +221,25 @@ '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation_unittests', ], }, + { + 'target_name': 'chromium_builder_dbg_valgrind_mac', + 'type': 'none', + 'dependencies': [ + '../app/app.gyp:app_unittests', + '../base/base.gyp:base_unittests', + 'temp_gyp/googleurl.gyp:googleurl_unittests', + '../ipc/ipc.gyp:ipc_tests', + '../media/media.gyp:media_unittests', + '../net/net.gyp:net_unittests', + '../printing/printing.gyp:printing_unittests', + '../remoting/remoting.gyp:remoting_unittests', + '../chrome/chrome.gyp:sync_unit_tests', + '../chrome/chrome.gyp:unit_tests', + '../chrome/chrome.gyp:ui_tests', + '../jingle/jingle.gyp:notifier_unit_tests', + '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation_unittests', + ], + }, ], # targets }], # OS="mac" ['OS=="win"', { @@ -230,10 +257,13 @@ '../chrome/chrome.gyp:memory_test', '../chrome/chrome.gyp:mini_installer_test', '../chrome/chrome.gyp:nacl_ui_tests', + '../chrome/chrome.gyp:nacl_sandbox_tests', '../chrome/chrome.gyp:page_cycler_tests', '../chrome/chrome.gyp:plugin_tests', + '../chrome/chrome.gyp:safe_browsing_tests', '../chrome/chrome.gyp:selenium_tests', '../chrome/chrome.gyp:startup_tests', + '../chrome/chrome.gyp:sync_integration_tests', '../chrome/chrome.gyp:sync_unit_tests', '../chrome/chrome.gyp:tab_switching_test', '../chrome/chrome.gyp:ui_tests', @@ -264,7 +294,6 @@ '../chrome_frame/chrome_frame.gyp:chrome_frame_tests', '../chrome_frame/chrome_frame.gyp:chrome_frame_unittests', '../chrome_frame/chrome_frame.gyp:npchrome_frame', - '../third_party/angle/src/build_angle.gyp:*', ], }, { @@ -308,6 +337,7 @@ '../chrome/chrome.gyp:interactive_ui_tests', '../chrome/chrome.gyp:memory_test', '../chrome/chrome.gyp:page_cycler_tests', + '../chrome/chrome.gyp:safe_browsing_tests', '../chrome/chrome.gyp:startup_tests', '../chrome/chrome.gyp:sync_unit_tests', '../chrome/chrome.gyp:tab_switching_test', diff --git a/build/build-bisect.py b/build/build-bisect.py index 64504bc..f44846a 100755 --- a/build/build-bisect.py +++ b/build/build-bisect.py @@ -97,7 +97,7 @@ def SetArchiveVars(archive): BUILD_ARCHIVE_TYPE = archive BUILD_ARCHIVE_DIR = 'chromium-rel-' + BUILD_ARCHIVE_TYPE - if BUILD_ARCHIVE_TYPE in ('linux', 'linux-64'): + if BUILD_ARCHIVE_TYPE in ('linux', 'linux-64', 'linux-chromiumos'): BUILD_ZIP_NAME = 'chrome-linux.zip' BUILD_DIR_NAME = 'chrome-linux' BUILD_EXE_NAME = 'chrome' @@ -178,7 +178,7 @@ def main(): 'Perform binary search on the snapshot builds.') parser = optparse.OptionParser(usage=usage) # Strangely, the default help output doesn't include the choice list. - choices = ['mac', 'xp', 'linux', 'linux-64'] + choices = ['mac', 'xp', 'linux', 'linux-64', 'linux-chromiumos'] parser.add_option('-a', '--archive', choices = choices, help = 'The buildbot archive to bisect [%s].' % diff --git a/build/common.gypi b/build/common.gypi index 3026274..1665600 100644 --- a/build/common.gypi +++ b/build/common.gypi @@ -61,6 +61,9 @@ # toolkit_views test below. 'chromeos%': '0', + # Disable touch support by default. + 'touchui%': 0, + # To do a shared build on linux we need to be able to choose between # type static_library and shared_library. We default to doing a static # build but you can override this with "gyp -Dlibrary=shared_library" @@ -70,15 +73,26 @@ 'library%': 'static_library', }, - # Set default value of toolkit_views on for Windows and Chrome OS. - # We set it at this level of nesting so the value is available for + # We set those at this level of nesting so the values are available for # other conditionals below. 'conditions': [ - ['OS=="win" or chromeos==1', { + # Set default value of toolkit_views on for Windows, Chrome OS + # and the touch UI. + ['OS=="win" or chromeos==1 or touchui==1', { 'toolkit_views%': 1, }, { 'toolkit_views%': 0, }], + + # A flag to enable or disable our compile-time dependency + # on gnome-keyring. If that dependency is disabled, no gnome-keyring + # support will be available. This option is useful + # for Linux distributions. + ['chromeos==1', { + 'use_gnome_keyring%': 0, + }, { + 'use_gnome_keyring%': 1, + }], ], 'host_arch%': '<(host_arch)', @@ -87,15 +101,9 @@ # building on. 'target_arch%': '<(host_arch)', - # We do want to build Chromium with Breakpad support in certain - # situations. I.e. for Chrome bot. - 'linux_chromium_breakpad%': 0, - # And if we want to dump symbols. - 'linux_chromium_dump_symbols%': 0, - # Also see linux_strip_binary below. - - # Copy conditionally-set chromeos variable out one scope. + # Copy conditionally-set chromeos and touchui variables out one scope. 'chromeos%': '<(chromeos)', + 'touchui%': '<(touchui)', # This variable tells WebCore.gyp and JavaScriptCore.gyp whether they are # are built under a chromium full build (1) or a webkit.org chromium @@ -145,7 +153,9 @@ 'target_arch%': '<(target_arch)', 'host_arch%': '<(host_arch)', 'toolkit_views%': '<(toolkit_views)', + 'use_gnome_keyring%': '<(use_gnome_keyring)', 'chromeos%': '<(chromeos)', + 'touchui%': '<(touchui)', 'inside_chromium_build%': '<(inside_chromium_build)', 'fastbuild%': '<(fastbuild)', 'linux_fpic%': '<(linux_fpic)', @@ -241,8 +251,20 @@ # Set this to true to enable SELinux support. 'selinux%': 0, - # Strip the binary after dumping symbols. + # Set this to true when building with Clang. + # See http://code.google.com/p/chromium/wiki/Clang for details. + # TODO: eventually clang should behave identically to gcc, and this + # won't be necessary. + 'clang%': 0, + + # Override whether we should use Breakpad on Linux. I.e. for Chrome bot. + 'linux_breakpad%': 0, + # And if we want to dump symbols for Breakpad-enabled builds. + 'linux_dump_symbols%': 0, + # And if we want to strip the binary after dumping symbols. 'linux_strip_binary%': 0, + # Strip the test binaries needed for Linux reliability tests. + 'linux_strip_reliability_tests%': 0, # Enable TCMalloc. 'linux_use_tcmalloc%': 1, @@ -253,6 +275,10 @@ # Disable TCMalloc's heapchecker. 'linux_use_heapchecker%': 0, + # Disable shadow stack keeping used by heapcheck to unwind the stacks + # better. + 'linux_keep_shadow_stacks%': 0, + # Set to 1 to turn on seccomp sandbox by default. # (Note: this is ignored for official builds.) 'linux_use_seccomp_sandbox%': 0, @@ -284,6 +310,9 @@ # whether to compile in the sources for the GPU plugin / process. 'enable_gpu%': 1, + # Use OpenSSL instead of NSS. Currently in developement. + 'use_openssl%': 0, + 'conditions': [ ['OS=="linux" or OS=="freebsd" or OS=="openbsd"', { # This will set gcc_version to XY if you are running gcc X.Y.*. @@ -292,21 +321,13 @@ # Figure out the python architecture to decide if we build pyauto. 'python_arch%': '(debug_optimize)', '-g', - # One can use '-gstabs' to enable building the debugging - # information in STABS format for breakpad's dumpsyms. - ], - 'ldflags': [ - '-rdynamic', # Allows backtrace to resolve symbols. ], }, 'Release_Base': { @@ -947,6 +970,12 @@ '-fdata-sections', '-ffunction-sections', ], + 'ldflags': [ + # Specifically tell the linker to perform optimizations. + # See http://lwn.net/Articles/192624/ . + '-Wl,-O1', + '-Wl,--as-needed', + ], 'conditions' : [ ['no_gc_sections==0', { 'ldflags': [ @@ -1094,13 +1123,30 @@ ], }]] }], + ['clang==1', { + 'cflags': [ + # Don't warn about unused variables, due to a common pattern: + # scoped_deleter unused_variable(&thing_to_delete); + '-Wno-unused-variable', + # Clang spots more unused functions. + '-Wno-unused-function', + # gtest confuses clang. + '-Wno-bool-conversions', + # Don't die on dtoa code that uses a char as an array index. + '-Wno-char-subscripts', + ], + 'cflags!': [ + # Clang doesn't seem to know know this flag. + '-mfpmath=sse', + ], + }], ['no_strict_aliasing==1', { 'cflags': [ '-fno-strict-aliasing', ], }], ['linux_breakpad==1', { - 'cflags': [ '-gstabs' ], + 'cflags': [ '-g' ], 'defines': ['USE_LINUX_BREAKPAD'], }], ['linux_use_seccomp_sandbox==1 and buildtype!="Official"', { @@ -1126,6 +1172,10 @@ ['linux_use_heapchecker==0', { 'defines': ['NO_HEAPCHECKER'], }], + ['linux_keep_shadow_stacks==1', { + 'defines': ['KEEP_SHADOW_STACKS'], + 'cflags': ['-finstrument-functions'], + }], ], }, }], @@ -1145,9 +1195,10 @@ ['OS=="mac"', { 'target_defaults': { 'variables': { - # This should be 'mac_real_dsym%', but there seems to be a bug - # with % in variables that are intended to be set to different - # values in different targets, like this one. + # These should be 'mac_real_dsym%' and 'mac_strip%', but there + # seems to be a bug with % in variables that are intended to be + # set to different values in different targets, like these two. + 'mac_strip': 1, # Strip debugging symbols from the target. 'mac_real_dsym': 0, # Fake .dSYMs are fine in most cases. }, 'mac_bundle': 0, @@ -1186,6 +1237,13 @@ ['chromium_mac_pch', {'GCC_PRECOMPILE_PREFIX_HEADER': 'YES'}, {'GCC_PRECOMPILE_PREFIX_HEADER': 'NO'} ], + ['clang==1', { + 'WARNING_CFLAGS': [ + # Don't die on dtoa code that uses a char as an array index. + # This is required solely for base/third_party/dmg_fp/dtoa.cc. + '-Wno-char-subscripts', + ], + }], ], }, 'target_conditions': [ @@ -1195,7 +1253,8 @@ ['_mac_bundle', { 'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-ObjC']}, }], - ['_type=="executable" or _type=="shared_library" or _type=="loadable_module"', { + ['(_type=="executable" or _type=="shared_library" or \ + _type=="loadable_module") and mac_strip!=0', { 'target_conditions': [ ['mac_real_dsym == 1', { # To get a real .dSYM bundle produced by dsymutil, set the @@ -1239,7 +1298,8 @@ ], # postbuilds }], # mac_real_dsym ], # target_conditions - }], # _type=="executable" or _type=="shared_library" or _type=="loadable_module" + }], # (_type=="executable" or _type=="shared_library" or + # _type=="loadable_module") and mac_strip!=0 ], # target_conditions }, # target_defaults }], # OS=="mac" @@ -1265,7 +1325,6 @@ ], }], ], - 'msvs_system_include_dirs': [ '<(DEPTH)/third_party/platformsdk_win7/files/Include', '<(DEPTH)/third_party/directxsdk/files/Include', @@ -1286,7 +1345,6 @@ [ 'msvs_multi_core_compile', { 'AdditionalOptions': ['/MP'], }], - ['component=="shared_library"', { 'ExceptionHandling': '1', # /EHsc }, { diff --git a/build/features_override.gypi b/build/features_override.gypi index 2e19776..6c38efa 100644 --- a/build/features_override.gypi +++ b/build/features_override.gypi @@ -11,21 +11,25 @@ # but not listed below, it will revert to its hardcoded webkit value. 'feature_defines': [ 'ENABLE_3D_CANVAS=1', + 'ENABLE_BLOB=1', 'ENABLE_BLOB_SLICE=1', 'ENABLE_CHANNEL_MESSAGING=1', 'ENABLE_DASHBOARD_SUPPORT=0', 'ENABLE_DATABASE=1', 'ENABLE_DATAGRID=0', + 'ENABLE_DEVICE_ORIENTATION=1', 'ENABLE_DIRECTORY_UPLOAD=1', 'ENABLE_DOM_STORAGE=1', 'ENABLE_EVENTSOURCE=1', - 'ENABLE_FILE_READER=1', + 'ENABLE_FILE_SYSTEM=1', 'ENABLE_FILTERS=1', 'ENABLE_GEOLOCATION=1', 'ENABLE_ICONDATABASE=0', 'ENABLE_INDEXED_DATABASE=1', + 'ENABLE_INPUT_SPEECH=1', 'ENABLE_JAVASCRIPT_DEBUGGER=1', 'ENABLE_JSC_MULTIPLE_THREADS=0', + 'ENABLE_LINK_PREFETCH=1', 'ENABLE_METER_TAG=1', 'ENABLE_NOTIFICATIONS=1', 'ENABLE_OFFLINE_WEB_APPLICATIONS=1', @@ -47,13 +51,14 @@ 'ENABLE_WEB_SOCKETS=1', 'ENABLE_WEB_TIMING=1', 'ENABLE_WORKERS=1', + 'ENABLE_XHR_RESPONSE_BLOB=1', 'ENABLE_XPATH=1', 'ENABLE_XSLT=1', ], # We have to nest variables inside variables so that they can be overridden # through GYP_DEFINES. 'variables': { - 'use_accelerated_compositing%': 0, + 'use_accelerated_compositing%': 1, 'enable_svg%': 1, 'enable_touch_events%': 1, }, @@ -61,10 +66,11 @@ 'enable_svg%': '<(enable_svg)', 'enable_touch_events%': '<(enable_touch_events)', 'conditions': [ - ['OS=="win" or OS=="linux" or use_accelerated_compositing==1', { + ['(OS=="win" or OS=="linux" or OS=="mac") and use_accelerated_compositing==1', { 'feature_defines': [ - 'WTF_USE_ACCELERATED_COMPOSITING=1', - 'ENABLE_3D_RENDERING=1', + 'WTF_USE_ACCELERATED_COMPOSITING=1', + 'ENABLE_3D_RENDERING=1', + 'ENABLE_ACCELERATED_2D_CANVAS=1', ], 'use_accelerated_compositing': 1, }], diff --git a/build/linux/system.Makefile b/build/linux/system.Makefile index 4eebf76..b93aff2 100644 --- a/build/linux/system.Makefile +++ b/build/linux/system.Makefile @@ -3,4 +3,4 @@ export builddir_name ?= /usr/local/google/src/chromium-merge/src/build/linux/out .PHONY: all all: - $(MAKE) -C ../.. xext dbus-glib gtk gnome-keyring fontconfig x11 gconf gdk freetype2 gtkprint nss + $(MAKE) -C ../.. libresolv freetype2 xext dbus-glib gtkprint gtk fontconfig gdk gconf gnome-keyring x11 nss diff --git a/build/linux/system.gyp b/build/linux/system.gyp index 876579a..ed88a0a 100644 --- a/build/linux/system.gyp +++ b/build/linux/system.gyp @@ -15,7 +15,7 @@ }], [ 'OS=="linux" or OS=="freebsd" or OS=="openbsd"', { 'variables': { - # We use our own copy of libssl, although we still need to link against + # We use our own copy of libssl3, although we still need to link against # the rest of NSS. 'use_system_ssl%': 0, }, @@ -81,7 +81,7 @@ ], 'direct_dependent_settings': { 'cflags': [ - # We need for our local copies of the libssl headers to come + # We need for our local copies of the libssl3 headers to come # first, otherwise the code will build, but will fallback to # the set of features advertised in the system headers. # Unfortunately, there's no include path that we can filter @@ -102,7 +102,7 @@ '