summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorKristian Monsen <kristianm@google.com>2011-06-28 21:49:31 +0100
committerKristian Monsen <kristianm@google.com>2011-07-08 17:55:00 +0100
commitddb351dbec246cf1fab5ec20d2d5520909041de1 (patch)
tree158e3fb57bdcac07c7f1e767fde3c70687c9fbb1 /build
parent6b92e04f5f151c896e3088e86f70db7081009308 (diff)
downloadexternal_chromium-ddb351dbec246cf1fab5ec20d2d5520909041de1.zip
external_chromium-ddb351dbec246cf1fab5ec20d2d5520909041de1.tar.gz
external_chromium-ddb351dbec246cf1fab5ec20d2d5520909041de1.tar.bz2
Merge Chromium at r12.0.742.93: Initial merge by git
Change-Id: Ic5ee2fec31358bbee305f7e915442377bfa6cda6
Diffstat (limited to 'build')
-rw-r--r--build/README.chromium15
-rw-r--r--build/all.gyp506
-rwxr-xr-xbuild/apply_locales.py45
-rwxr-xr-xbuild/branding_value.sh51
-rw-r--r--build/common.croc127
-rw-r--r--build/common.gypi1627
-rwxr-xr-xbuild/compiler_version.py50
-rw-r--r--build/dir_exists.py10
-rw-r--r--build/extract_from_cab.py27
-rw-r--r--build/features_override.gypi108
-rwxr-xr-xbuild/gyp_chromium143
-rwxr-xr-xbuild/install-build-deps.sh508
-rwxr-xr-xbuild/install-chroot.sh325
-rw-r--r--build/internal/README.chromium24
-rw-r--r--build/internal/release_defaults.gypi15
-rw-r--r--build/internal/release_impl.gypi3
-rw-r--r--build/internal/release_impl_official.gypi21
-rw-r--r--build/linux/chrome_linux.croc29
-rwxr-xr-xbuild/linux/dump_app_syms36
-rwxr-xr-xbuild/linux/pkg-config-wrapper37
-rwxr-xr-xbuild/linux/python_arch.sh42
-rwxr-xr-xbuild/linux/rewrite_dirs.py68
-rw-r--r--build/linux/system.gyp380
-rw-r--r--build/mac/chrome_mac.croc36
-rwxr-xr-xbuild/mac/strip_from_xcode62
-rwxr-xr-xbuild/mac/strip_save_dsym341
-rw-r--r--build/output_dll_copy.rules17
-rw-r--r--build/release.gypi19
-rw-r--r--build/sanitize-mac-build-log.sed32
-rwxr-xr-xbuild/sanitize-mac-build-log.sh6
-rw-r--r--build/sanitize-win-build-log.sed14
-rwxr-xr-xbuild/sanitize-win-build-log.sh6
-rw-r--r--build/temp_gyp/README.chromium3
-rw-r--r--build/temp_gyp/googleurl.gyp116
-rw-r--r--build/temp_gyp/pdfsqueeze.gyp46
-rw-r--r--build/util/build_util.gyp43
-rwxr-xr-xbuild/util/lastchange.py286
-rw-r--r--build/whitespace_file.txt11
-rw-r--r--build/win/chrome_win.croc26
-rw-r--r--build/win/system.gyp33
40 files changed, 0 insertions, 5294 deletions
diff --git a/build/README.chromium b/build/README.chromium
deleted file mode 100644
index 012df35..0000000
--- a/build/README.chromium
+++ /dev/null
@@ -1,15 +0,0 @@
-List of property sheets to be included by projects:
- common.vsprops
- Not used anymore. No-op. Kept for compatibility with current projects.
-
- debug.vsprops
- Enables debug settings. Must be included directly in Debug configuration. Includes internal\essential.vsprops.
-
- external_code.vsprops
- Contains settings made to simplify usage of external (non-Google) code. It relaxes the warning levels. Should be included after debug.vsprops or release.vsprops to override their settings.
-
- output_dll_copy.rules
- Run to enable automatic copy of DLL when they are as an input file in a vcproj project.
-
- release.vsprops
- Enables release settings. Must be included directly in Release configuration. Includes internal\essential.vsprops. Also includes "internal\release_impl$(CHROME_BUILD_TYPE).vsprops". So the behavior is dependant on the CHROME_BUILD_TYPE environment variable.
diff --git a/build/all.gyp b/build/all.gyp
deleted file mode 100644
index 3ea4654..0000000
--- a/build/all.gyp
+++ /dev/null
@@ -1,506 +0,0 @@
-# Copyright (c) 2010 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.
-
-{
- 'targets': [
- {
- 'target_name': 'All',
- 'type': 'none',
- 'xcode_create_dependents_test_runner': 1,
- 'dependencies': [
- '../app/app.gyp:*',
- '../base/base.gyp:*',
- '../chrome/browser/sync/tools/sync_tools.gyp:*',
- '../chrome/chrome.gyp:*',
- '../ui/gfx/gfx.gyp:*',
- '../gpu/gpu.gyp:*',
- '../gpu/demos/demos.gyp:*',
- '../ipc/ipc.gyp:*',
- '../jingle/jingle.gyp:*',
- '../media/media.gyp:*',
- '../net/net.gyp:*',
- '../ppapi/ppapi.gyp:*',
- '../printing/printing.gyp:*',
- '../sdch/sdch.gyp:*',
- '../skia/skia.gyp:*',
- '../testing/gmock.gyp:*',
- '../testing/gtest.gyp:*',
- '../third_party/bzip2/bzip2.gyp:*',
- '../third_party/cacheinvalidation/cacheinvalidation.gyp:*',
- '../third_party/cld/cld.gyp:*',
- '../third_party/codesighs/codesighs.gyp:*',
- '../third_party/ffmpeg/ffmpeg.gyp:*',
- '../third_party/iccjpeg/iccjpeg.gyp:*',
- '../third_party/icu/icu.gyp:*',
- '../third_party/libpng/libpng.gyp:*',
- '../third_party/libwebp/libwebp.gyp:*',
- '../third_party/libxml/libxml.gyp:*',
- '../third_party/libxslt/libxslt.gyp:*',
- '../third_party/lzma_sdk/lzma_sdk.gyp:*',
- '../third_party/mesa/mesa.gyp:*',
- '../third_party/modp_b64/modp_b64.gyp:*',
- '../third_party/npapi/npapi.gyp:*',
- '../third_party/ots/ots.gyp:*',
- '../third_party/qcms/qcms.gyp:*',
- '../third_party/sqlite/sqlite.gyp:*',
- '../third_party/WebKit/Source/WebKit/chromium/WebKit.gyp:*',
- '../third_party/zlib/zlib.gyp:*',
- '../webkit/support/webkit_support.gyp:*',
- '../webkit/webkit.gyp:*',
- 'util/build_util.gyp:*',
- 'temp_gyp/googleurl.gyp:*',
- '<(libjpeg_gyp_path):*',
- ],
- 'conditions': [
- ['javascript_engine=="v8"', {
- 'dependencies': [
- '../v8/tools/gyp/v8.gyp:*',
- ],
- }],
- ['OS=="mac" or OS=="linux" or OS=="freebsd" or OS=="openbsd"', {
- 'dependencies': [
- '../third_party/yasm/yasm.gyp:*#host',
- ],
- }],
- ['OS=="mac" or OS=="win"', {
- 'dependencies': [
- '../third_party/nss/nss.gyp:*',
- ],
- }],
- ['OS=="mac"', {
- 'dependencies': [
- '../third_party/ocmock/ocmock.gyp:*',
- ],
- }],
- ['OS=="linux"', {
- 'dependencies': [
- '../breakpad/breakpad.gyp:*',
- '../courgette/courgette.gyp:*',
- '../sandbox/sandbox.gyp:*',
- ],
- 'conditions': [
- ['branding=="Chrome"', {
- 'dependencies': [
- '../chrome/chrome.gyp:linux_packages_<(channel)',
- ],
- }],
- ],
- }],
- ['OS=="linux" or OS=="freebsd" or OS=="openbsd"', {
- 'dependencies': [
- '../tools/gtk_clipboard_dump/gtk_clipboard_dump.gyp:*',
- '../tools/xdisplaycheck/xdisplaycheck.gyp:*',
- ],
- }],
- ['OS=="win"', {
- 'conditions': [
- ['win_use_allocator_shim==1', {
- 'dependencies': [
- '../base/allocator/allocator.gyp:*',
- ],
- }],
- ],
- 'dependencies': [
- '../breakpad/breakpad.gyp:*',
- '../chrome/app/locales/locales.gyp:*',
- '../chrome_frame/chrome_frame.gyp:*',
- '../courgette/courgette.gyp:*',
- '../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:*',
- '../tools/memory_watcher/memory_watcher.gyp:*',
- ],
- }, {
- 'dependencies': [
- '../third_party/libevent/libevent.gyp:*',
- ],
- }],
- ['toolkit_views==1', {
- 'dependencies': [
- '../views/views.gyp:*',
- ],
- }],
- ['chromeos==1', {
- 'dependencies': [
- '../chrome/browser/chromeos/input_method/candidate_window.gyp:*',
- ],
- }],
- ['remoting==1', {
- 'dependencies': [
- '../remoting/remoting.gyp:*',
- ],
- }],
- ['use_openssl!=1', {
- 'dependencies': [
- '../net/third_party/nss/ssl.gyp:*',
- ],
- }],
- ],
- }, # target_name: All
- {
- 'target_name': 'chromium_builder_tests',
- 'type': 'none',
- 'dependencies': [
- '../app/app.gyp:app_unittests',
- '../base/base.gyp:base_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',
- '../ui/gfx/gfx.gyp:gfx_unittests',
- '../gpu/gpu.gyp:gpu_unittests',
- '../ipc/ipc.gyp:ipc_tests',
- '../jingle/jingle.gyp:notifier_unit_tests',
- '../media/media.gyp:media_unittests',
- '../net/net.gyp:net_unittests',
- '../printing/printing.gyp:printing_unittests',
- '../remoting/remoting.gyp:remoting_unittests',
- '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation_unittests',
- 'temp_gyp/googleurl.gyp:googleurl_unittests',
- ],
- 'conditions': [
- ['OS=="win"', {
- 'dependencies': [
- '../chrome/chrome.gyp:installer_util_unittests',
- '../chrome/chrome.gyp:mini_installer_test',
- # mini_installer_tests depends on mini_installer. This should be
- # defined in installer.gyp.
- '../chrome/installer/mini_installer.gyp:mini_installer',
- '../chrome_frame/chrome_frame.gyp:chrome_frame_net_tests',
- '../chrome_frame/chrome_frame.gyp:chrome_frame_perftests',
- '../chrome_frame/chrome_frame.gyp:chrome_frame_reliability_tests',
- '../chrome_frame/chrome_frame.gyp:chrome_frame_tests',
- '../chrome_frame/chrome_frame.gyp:chrome_frame_unittests',
- '../chrome_frame/chrome_frame.gyp:npchrome_frame',
- '../courgette/courgette.gyp:courgette_unittests',
- '../sandbox/sandbox.gyp:sbox_integration_tests',
- '../sandbox/sandbox.gyp:sbox_unittests',
- '../sandbox/sandbox.gyp:sbox_validation_tests',
- '../views/views.gyp:views_unittests',
- '../third_party/WebKit/Source/WebKit/chromium/WebKit.gyp:copy_TestNetscapePlugIn',
- # TODO(nsylvain) ui_tests.exe depends on test_shell_common.
- # This should:
- # 1) not be the case. OR.
- # 2) be expressed in the ui tests dependencies.
- '../webkit/webkit.gyp:test_shell_common',
- ],
- }],
- ],
- }, # target_name: chromium_builder_tests
- {
- 'target_name': 'chromium_builder_perf',
- 'type': 'none',
- 'dependencies': [
- '../chrome/chrome.gyp:memory_test',
- '../chrome/chrome.gyp:page_cycler_tests',
- '../chrome/chrome.gyp:plugin_tests',
- '../chrome/chrome.gyp:startup_tests',
- '../chrome/chrome.gyp:tab_switching_test',
- '../chrome/chrome.gyp:ui_tests', # needed for dromaeo, sunspider, v8
- '../chrome/chrome.gyp:url_fetch_test',
- ],
- }, # target_name: chromium_builder_perf
- {
- 'target_name': 'chromium_gpu_builder',
- 'type': 'none',
- 'dependencies': [
- '../chrome/chrome.gyp:gpu_tests',
- '../third_party/WebKit/Source/WebKit/chromium/WebKit.gyp:DumpRenderTree',
- ],
- }, # target_name: chromium_gpu_builder
- {
- 'target_name': 'chromium_builder_qa',
- 'type': 'none',
- 'dependencies': [
- '../chrome/chrome.gyp:chromedriver',
- ],
- 'conditions': [
- ['OS=="mac" or OS=="win" or (OS=="linux" and target_arch==python_arch)', {
- 'dependencies': [
- '../chrome/chrome.gyp:pyautolib',
- ],
- }], # 'OS=="mac" or OS=="win" or (OS=="linux" and target_arch==python_arch)'
- ],
- }, # target_name: chromium_builder_qa
- ],
- 'conditions': [
- ['OS=="mac"', {
- 'targets': [
- {
- # Target to build everything plus the dmg. We don't put the dmg
- # in the All target because developers really don't need it.
- 'target_name': 'all_and_dmg',
- 'type': 'none',
- 'dependencies': [
- 'All',
- '../chrome/chrome.gyp:build_app_dmg',
- ],
- },
- # These targets are here so the build bots can use them to build
- # subsets of a full tree for faster cycle times.
- {
- 'target_name': 'chromium_builder_dbg',
- 'type': 'none',
- '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',
- '../ui/gfx/gfx.gyp:gfx_unittests',
- '../gpu/gpu.gyp:gpu_unittests',
- '../ipc/ipc.gyp:ipc_tests',
- '../jingle/jingle.gyp:notifier_unit_tests',
- '../media/media.gyp:media_unittests',
- '../printing/printing.gyp:printing_unittests',
- '../remoting/remoting.gyp:remoting_unittests',
- '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation_unittests',
- 'temp_gyp/googleurl.gyp:googleurl_unittests',
- ],
- },
- {
- 'target_name': 'chromium_builder_rel',
- 'type': 'none',
- 'dependencies': [
- '../app/app.gyp:app_unittests',
- '../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',
- '../chrome/chrome.gyp:unit_tests',
- '../chrome/chrome.gyp:url_fetch_test',
- '../ui/gfx/gfx.gyp:gfx_unittests',
- '../gpu/gpu.gyp:gpu_unittests',
- '../ipc/ipc.gyp:ipc_tests',
- '../jingle/jingle.gyp:notifier_unit_tests',
- '../media/media.gyp:media_unittests',
- '../printing/printing.gyp:printing_unittests',
- '../remoting/remoting.gyp:remoting_unittests',
- '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation_unittests',
- 'temp_gyp/googleurl.gyp:googleurl_unittests',
- ],
- },
- {
- 'target_name': 'chromium_builder_dbg_tsan_mac',
- 'type': 'none',
- 'dependencies': [
- '../base/base.gyp:base_unittests',
- 'temp_gyp/googleurl.gyp:googleurl_unittests',
- '../net/net.gyp:net_unittests',
- '../ipc/ipc.gyp:ipc_tests',
- '../jingle/jingle.gyp:notifier_unit_tests',
- '../media/media.gyp:media_unittests',
- '../printing/printing.gyp:printing_unittests',
- '../remoting/remoting.gyp:remoting_unittests',
- '../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:safe_browsing_tests',
- '../chrome/chrome.gyp:sync_unit_tests',
- '../chrome/chrome.gyp:unit_tests',
- '../chrome/chrome.gyp:ui_tests',
- '../ui/gfx/gfx.gyp:gfx_unittests',
- '../jingle/jingle.gyp:notifier_unit_tests',
- '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation_unittests',
- ],
- },
- ], # targets
- }], # OS="mac"
- ['OS=="win"', {
- 'targets': [
- # These targets are here so the build bots can use them to build
- # subsets of a full tree for faster cycle times.
- {
- 'target_name': 'chromium_builder',
- 'type': 'none',
- 'dependencies': [
- '../app/app.gyp:app_unittests',
- '../chrome/chrome.gyp:browser_tests',
- '../chrome/chrome.gyp:installer_util_unittests',
- '../chrome/chrome.gyp:interactive_ui_tests',
- '../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',
- '../chrome/chrome.gyp:unit_tests',
- '../chrome/chrome.gyp:url_fetch_test',
- # mini_installer_tests depends on mini_installer. This should be
- # defined in installer.gyp.
- '../chrome/installer/mini_installer.gyp:mini_installer',
- '../chrome_frame/chrome_frame.gyp:chrome_frame_net_tests',
- '../chrome_frame/chrome_frame.gyp:chrome_frame_perftests',
- '../chrome_frame/chrome_frame.gyp:chrome_frame_reliability_tests',
- '../chrome_frame/chrome_frame.gyp:chrome_frame_tests',
- '../chrome_frame/chrome_frame.gyp:chrome_frame_unittests',
- '../chrome_frame/chrome_frame.gyp:npchrome_frame',
- '../courgette/courgette.gyp:courgette_unittests',
- '../ui/gfx/gfx.gyp:gfx_unittests',
- '../gpu/gpu.gyp:gpu_unittests',
- '../ipc/ipc.gyp:ipc_tests',
- '../jingle/jingle.gyp:notifier_unit_tests',
- '../media/media.gyp:media_unittests',
- '../printing/printing.gyp:printing_unittests',
- '../remoting/remoting.gyp:remoting_unittests',
- '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation_unittests',
- '../third_party/WebKit/Source/WebKit/chromium/WebKit.gyp:copy_TestNetscapePlugIn',
- '../views/views.gyp:views_unittests',
- # TODO(nsylvain) ui_tests.exe depends on test_shell_common.
- # This should:
- # 1) not be the case. OR.
- # 2) be expressed in the ui tests dependencies.
- '../webkit/webkit.gyp:test_shell_common',
- 'temp_gyp/googleurl.gyp:googleurl_unittests',
- ],
- },
- {
- 'target_name': 'chromium_builder_dbg_tsan_win',
- 'type': 'none',
- 'dependencies': [
- '../app/app.gyp:app_unittests',
- # TODO(bradnelson): app_unittests should depend on locales.
- # However, we can't add dependencies on chrome/ to app/
- # See http://crbug.com/43603
- '../base/base.gyp:base_unittests',
- '../chrome/app/locales/locales.gyp:*',
- '../chrome/chrome.gyp:sync_unit_tests',
- '../ipc/ipc.gyp:ipc_tests',
- '../jingle/jingle.gyp:notifier_unit_tests',
- '../media/media.gyp:media_unittests',
- '../net/net.gyp:net_unittests',
- '../printing/printing.gyp:printing_unittests',
- '../remoting/remoting.gyp:remoting_unittests',
- '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation_unittests',
- 'temp_gyp/googleurl.gyp:googleurl_unittests',
- ],
- },
- ], # targets
- 'conditions': [
- ['branding=="Chrome"', {
- 'targets': [
- {
- 'target_name': 'chrome_official_builder',
- 'type': 'none',
- 'dependencies': [
- '../chrome/app/locales/locales.gyp:*',
- '../chrome/chrome.gyp:chromedriver',
- '../chrome/chrome.gyp:crash_service',
- '../chrome/chrome.gyp:page_cycler_tests',
- '../chrome/chrome.gyp:policy_templates',
- '../chrome/chrome.gyp:pyautolib',
- '../chrome/chrome.gyp:reliability_tests',
- '../chrome/chrome.gyp:startup_tests',
- '../chrome/chrome.gyp:automated_ui_tests',
- '../chrome/installer/mini_installer.gyp:mini_installer',
- '../chrome_frame/chrome_frame.gyp:chrome_frame_unittests',
- '../chrome_frame/chrome_frame.gyp:npchrome_frame',
- '../courgette/courgette.gyp:courgette',
- '../courgette/courgette.gyp:courgette64',
- '../third_party/adobe/flash/flash_player.gyp:flash_player',
- '../webkit/webkit.gyp:test_shell',
- ],
- 'conditions': [
- ['internal_pdf', {
- 'dependencies': [
- '../pdf/pdf.gyp:pdf',
- ],
- }], # internal_pdf
- ]
- },
- ], # targets
- }], # branding=="Chrome"
- ], # conditions
- }], # OS="win"
- ['chromeos==1', {
- 'targets': [
- {
- 'target_name': 'chromeos_builder',
- 'type': 'none',
- 'sources': [
- # TODO(bradnelson): This is here to work around gyp issue 137.
- # Remove this sources list when that issue has been fixed.
- 'all.gyp',
- ],
- 'dependencies': [
- '../app/app.gyp:app_unittests',
- '../base/base.gyp:base_unittests',
- '../chrome/browser/chromeos/input_method/candidate_window.gyp:candidate_window',
- '../chrome/chrome.gyp:browser_tests',
- '../chrome/chrome.gyp:chrome',
- '../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',
- '../chrome/chrome.gyp:ui_tests',
- '../chrome/chrome.gyp:unit_tests',
- '../chrome/chrome.gyp:url_fetch_test',
- '../ui/gfx/gfx.gyp:gfx_unittests',
- '../ipc/ipc.gyp:ipc_tests',
- '../jingle/jingle.gyp:notifier_unit_tests',
- '../media/media.gyp:ffmpeg_tests',
- '../media/media.gyp:media_unittests',
- '../media/media.gyp:omx_test',
- '../net/net.gyp:net_unittests',
- '../printing/printing.gyp:printing_unittests',
- '../remoting/remoting.gyp:remoting_unittests',
- '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation_unittests',
- '../views/views.gyp:views_unittests',
- 'temp_gyp/googleurl.gyp:googleurl_unittests',
- ],
- },
- ], # targets
- }], # "chromeos==1"
- ], # conditions
-}
-
-# Local Variables:
-# tab-width:2
-# indent-tabs-mode:nil
-# End:
-# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/build/apply_locales.py b/build/apply_locales.py
deleted file mode 100755
index 6af7280..0000000
--- a/build/apply_locales.py
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/usr/bin/env python
-# Copyright (c) 2009 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.
-
-# TODO: remove this script when GYP has for loops
-
-import sys
-import optparse
-
-def main(argv):
-
- parser = optparse.OptionParser()
- usage = 'usage: %s [options ...] format_string locale_list'
- parser.set_usage(usage.replace('%s', '%prog'))
- parser.add_option('-d', dest='dash_to_underscore', action="store_true",
- default=False,
- help='map "en-US" to "en" and "-" to "_" in locales')
-
- (options, arglist) = parser.parse_args(argv)
-
- if len(arglist) < 3:
- print 'ERROR: need string and list of locales'
- return 1
-
- str_template = arglist[1]
- locales = arglist[2:]
-
- results = []
- for locale in locales:
- # For Cocoa to find the locale at runtime, it needs to use '_' instead
- # of '-' (http://crbug.com/20441). Also, 'en-US' should be represented
- # simply as 'en' (http://crbug.com/19165, http://crbug.com/25578).
- if options.dash_to_underscore:
- if locale == 'en-US':
- locale = 'en'
- locale = locale.replace('-', '_')
- results.append(str_template.replace('ZZLOCALE', locale))
-
- # Quote each element so filename spaces don't mess up GYP's attempt to parse
- # it into a list.
- print ' '.join(["'%s'" % x for x in results])
-
-if __name__ == '__main__':
- sys.exit(main(sys.argv))
diff --git a/build/branding_value.sh b/build/branding_value.sh
deleted file mode 100755
index 9fcb550..0000000
--- a/build/branding_value.sh
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/bin/sh
-
-# Copyright (c) 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.
-
-# This is a wrapper for fetching values from the BRANDING files. Pass the
-# value of GYP's branding variable followed by the key you want and the right
-# file is checked.
-#
-# branding_value.sh Chromium COPYRIGHT
-# branding_value.sh Chromium PRODUCT_FULLNAME
-#
-
-set -e
-
-if [ $# -ne 2 ] ; then
- echo "error: expect two arguments, branding and key" >&2
- exit 1
-fi
-
-BUILD_BRANDING=$1
-THE_KEY=$2
-
-pushd $(dirname "${0}") > /dev/null
-BUILD_DIR=$(pwd)
-popd > /dev/null
-
-TOP="${BUILD_DIR}/.."
-
-case ${BUILD_BRANDING} in
- Chromium)
- BRANDING_FILE="${TOP}/chrome/app/theme/chromium/BRANDING"
- ;;
- Chrome)
- BRANDING_FILE="${TOP}/chrome/app/theme/google_chrome/BRANDING"
- ;;
- *)
- echo "error: unknown branding: ${BUILD_BRANDING}" >&2
- exit 1
- ;;
-esac
-
-BRANDING_VALUE=$(sed -n -e "s/^${THE_KEY}=\(.*\)\$/\1/p" "${BRANDING_FILE}")
-
-if [ -z "${BRANDING_VALUE}" ] ; then
- echo "error: failed to find key '${THE_KEY}'" >&2
- exit 1
-fi
-
-echo "${BRANDING_VALUE}"
diff --git a/build/common.croc b/build/common.croc
deleted file mode 100644
index 90b9cb9..0000000
--- a/build/common.croc
+++ /dev/null
@@ -1,127 +0,0 @@
-# -*- python -*-
-# Crocodile config file for Chromium - settings common to all platforms
-#
-# This should be speicified before the platform-specific config, for example:
-# croc -c chrome_common.croc -c linux/chrome_linux.croc
-
-{
- # List of root directories, applied in order
- 'roots' : [
- # Sub-paths we specifically care about and want to call out
- {
- 'root' : '_/src',
- 'altname' : 'CHROMIUM',
- },
- ],
-
- # List of rules, applied in order
- # Note that any 'include':0 rules here will be overridden by the 'include':1
- # rules in the platform-specific configs.
- 'rules' : [
- # Don't scan for executable lines in uninstrumented C++ header files
- {
- 'regexp' : '.*\\.(h|hpp)$',
- 'add_if_missing' : 0,
- },
-
- # Groups
- {
- 'regexp' : '',
- 'group' : 'source',
- },
- {
- 'regexp' : '.*_(test|unittest)\\.',
- 'group' : 'test',
- },
-
- # Languages
- {
- 'regexp' : '.*\\.(c|h)$',
- 'language' : 'C',
- },
- {
- 'regexp' : '.*\\.(cc|cpp|hpp)$',
- 'language' : 'C++',
- },
-
- # Files/paths to include. Specify these before the excludes, since rules
- # are in order.
- {
- 'regexp' : '^CHROMIUM/(base|media|net|printing|remoting|chrome|webkit/glue|native_client)/',
- 'include' : 1,
- },
- # Don't include subversion or mercurial SCM dirs
- {
- 'regexp' : '.*/(\\.svn|\\.hg)/',
- 'include' : 0,
- },
- # Don't include output dirs
- {
- 'regexp' : '.*/(Debug|Release|sconsbuild|out|xcodebuild)/',
- 'include' : 0,
- },
- # Don't include third-party source
- {
- 'regexp' : '.*/third_party/',
- 'include' : 0,
- },
- # We don't run the V8 test suite, so we don't care about V8 coverage.
- {
- 'regexp' : '.*/v8/',
- 'include' : 0,
- },
- ],
-
- # Paths to add source from
- 'add_files' : [
- 'CHROMIUM'
- ],
-
- # Statistics to print
- 'print_stats' : [
- {
- 'stat' : 'files_executable',
- 'format' : '*RESULT FilesKnown: files_executable= %d files',
- },
- {
- 'stat' : 'files_instrumented',
- 'format' : '*RESULT FilesInstrumented: files_instrumented= %d files',
- },
- {
- 'stat' : '100.0 * files_instrumented / files_executable',
- 'format' : '*RESULT FilesInstrumentedPercent: files_instrumented_percent= %g',
- },
- {
- 'stat' : 'lines_executable',
- 'format' : '*RESULT LinesKnown: lines_known= %d lines',
- },
- {
- 'stat' : 'lines_instrumented',
- 'format' : '*RESULT LinesInstrumented: lines_instrumented= %d lines',
- },
- {
- 'stat' : 'lines_covered',
- 'format' : '*RESULT LinesCoveredSource: lines_covered_source= %d lines',
- 'group' : 'source',
- },
- {
- 'stat' : 'lines_covered',
- 'format' : '*RESULT LinesCoveredTest: lines_covered_test= %d lines',
- 'group' : 'test',
- },
- {
- 'stat' : '100.0 * lines_covered / lines_executable',
- 'format' : '*RESULT PercentCovered: percent_covered= %g',
- },
- {
- 'stat' : '100.0 * lines_covered / lines_executable',
- 'format' : '*RESULT PercentCoveredSource: percent_covered_source= %g',
- 'group' : 'source',
- },
- {
- 'stat' : '100.0 * lines_covered / lines_executable',
- 'format' : '*RESULT PercentCoveredTest: percent_covered_test= %g',
- 'group' : 'test',
- },
- ],
-}
diff --git a/build/common.gypi b/build/common.gypi
deleted file mode 100644
index 39ee2a9..0000000
--- a/build/common.gypi
+++ /dev/null
@@ -1,1627 +0,0 @@
-# Copyright (c) 2010 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.
-
-# IMPORTANT:
-# Please don't directly include this file if you are building via gyp_chromium,
-# since gyp_chromium is automatically forcing its inclusion.
-{
- # Variables expected to be overriden on the GYP command line (-D) or by
- # ~/.gyp/include.gypi.
- 'variables': {
- # Putting a variables dict inside another variables dict looks kind of
- # weird. This is done so that 'host_arch', 'chromeos', etc are defined as
- # variables within the outer variables dict here. This is necessary
- # to get these variables defined for the conditions within this variables
- # dict that operate on these variables (e.g., for setting 'toolkit_views',
- # we need to have 'chromeos' already set).
- 'variables': {
- 'variables': {
- 'variables': {
- # Whether we're building a ChromeOS build.
- 'chromeos%': 0,
-
- # Disable touch support by default.
- 'touchui%': 0,
-
- # Disable file manager component extension by default.
- 'file_manager_extension%': 0,
- },
- # Copy conditionally-set variables out one scope.
- 'chromeos%': '<(chromeos)',
- 'touchui%': '<(touchui)',
- 'file_manager_extension%': '<(file_manager_extension)',
-
- # 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"
- # or you can add the following line (without the #) to
- # ~/.gyp/include.gypi {'variables': {'library': 'shared_library'}}
- # to compile as shared by default
- 'library%': 'static_library',
-
- # Compute the architecture that we're building on.
- 'conditions': [
- [ 'OS=="linux" or OS=="freebsd" or OS=="openbsd"', {
- # This handles the Linux platforms we generally deal with. Anything
- # else gets passed through, which probably won't work very well; such
- # hosts should pass an explicit target_arch to gyp.
- 'host_arch%':
- '<!(uname -m | sed -e "s/i.86/ia32/;s/x86_64/x64/;s/amd64/x64/;s/arm.*/arm/")',
- }, { # OS!="linux"
- 'host_arch%': 'ia32',
- }],
-
- # 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,
- }],
- ],
- },
-
- # Copy conditionally-set variables out one scope.
- 'chromeos%': '<(chromeos)',
- 'touchui%': '<(touchui)',
- 'file_manager_extension%': '<(file_manager_extension)',
- 'host_arch%': '<(host_arch)',
- 'library%': '<(library)',
- 'toolkit_views%': '<(toolkit_views)',
-
- # Override branding to select the desired branding flavor.
- 'branding%': 'Chromium',
-
- # Override buildtype to select the desired build flavor.
- # Dev - everyday build for development/testing
- # Official - release build (generally implies additional processing)
- # TODO(mmoss) Once 'buildtype' is fully supported (e.g. Windows gyp
- # conversion is done), some of the things which are now controlled by
- # 'branding', such as symbol generation, will need to be refactored based
- # on 'buildtype' (i.e. we don't care about saving symbols for non-Official
- # builds).
- 'buildtype%': 'Dev',
-
- # Default architecture we're building for is the architecture we're
- # building on.
- 'target_arch%': '<(host_arch)',
-
- # This variable tells WebCore.gyp and JavaScriptCore.gyp whether they are
- # are built under a chromium full build (1) or a webkit.org chromium
- # build (0).
- 'inside_chromium_build%': 1,
-
- # Set to 1 to enable fast builds. It disables debug info for fastest
- # compilation.
- 'fastbuild%': 0,
-
- # Python version.
- 'python_ver%': '2.5',
-
- # Set ARM-v7 compilation flags
- 'armv7%': 0,
-
- # Set Neon compilation flags (only meaningful if armv7==1).
- 'arm_neon%': 1,
-
- # The system root for cross-compiles. Default: none.
- 'sysroot%': '',
-
- # On Linux, we build with sse2 for Chromium builds.
- 'disable_sse2%': 0,
-
- # Use libjpeg-turbo as the JPEG codec used by Chromium.
- 'use_libjpeg_turbo%': 1,
-
- # Variable 'component' is for cases where we would like to build some
- # components as dynamic shared libraries but still need variable
- # 'library' for static libraries.
- # By default, component is set to whatever library is set to and
- # it can be overriden by the GYP command line or by ~/.gyp/include.gypi.
- 'component%': '<(library)',
-
- # Set to select the Title Case versions of strings in GRD files.
- 'use_titlecase_in_grd_files%': 0,
-
- # Use translations provided by volunteers at launchpad.net. This
- # currently only works on Linux.
- 'use_third_party_translations%': 0,
-
- # Remoting compilation is enabled by default. Set to 0 to disable.
- 'remoting%': 1,
-
- # If this is set, the clang plugins used on the buildbot will be used.
- # Run tools/clang/scripts/update.sh to make sure they are compiled.
- # This causes 'clang_chrome_plugins_flags' to be set.
- # Has no effect if 'clang' is not set as well.
- 'clang_use_chrome_plugins%': 0,
-
- 'conditions': [
- # 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,
- }],
-
- # Set to 1 compile with -fPIC cflag on linux. This is a must for shared
- # libraries on linux x86-64 and arm.
- ['host_arch=="ia32"', {
- 'linux_fpic%': 0,
- }, {
- 'linux_fpic%': 1,
- }],
-
- ['toolkit_views==0 or OS=="mac"', {
- # GTK+ and Mac wants Title Case strings
- 'use_titlecase_in_grd_files%': 1,
- }],
-
- # Enable some hacks to support Flapper only on Chrome OS.
- ['chromeos==1', {
- 'enable_flapper_hacks%': 1,
- }, {
- 'enable_flapper_hacks%': 0,
- }],
- ],
- },
-
- # Copy conditionally-set variables out one scope.
- 'branding%': '<(branding)',
- 'buildtype%': '<(buildtype)',
- 'target_arch%': '<(target_arch)',
- 'host_arch%': '<(host_arch)',
- 'toolkit_views%': '<(toolkit_views)',
- 'use_gnome_keyring%': '<(use_gnome_keyring)',
- 'linux_fpic%': '<(linux_fpic)',
- 'enable_flapper_hacks%': '<(enable_flapper_hacks)',
- 'chromeos%': '<(chromeos)',
- 'touchui%': '<(touchui)',
- 'file_manager_extension%': '<(file_manager_extension)',
- 'inside_chromium_build%': '<(inside_chromium_build)',
- 'fastbuild%': '<(fastbuild)',
- 'python_ver%': '<(python_ver)',
- 'armv7%': '<(armv7)',
- 'arm_neon%': '<(arm_neon)',
- 'sysroot%': '<(sysroot)',
- 'disable_sse2%': '<(disable_sse2)',
- 'library%': '<(library)',
- 'component%': '<(component)',
- 'use_titlecase_in_grd_files%': '<(use_titlecase_in_grd_files)',
- 'use_third_party_translations%': '<(use_third_party_translations)',
- 'remoting%': '<(remoting)',
- 'clang_use_chrome_plugins%': '<(clang_use_chrome_plugins)',
-
- # The release channel that this build targets. This is used to restrict
- # channel-specific build options, like which installer packages to create.
- # The default is 'all', which does no channel-specific filtering.
- 'channel%': 'all',
-
- # Override chromium_mac_pch and set it to 0 to suppress the use of
- # precompiled headers on the Mac. Prefix header injection may still be
- # used, but prefix headers will not be precompiled. This is useful when
- # using distcc to distribute a build to compile slaves that don't
- # share the same compiler executable as the system driving the compilation,
- # because precompiled headers rely on pointers into a specific compiler
- # executable's image. Setting this to 0 is needed to use an experimental
- # Linux-Mac cross compiler distcc farm.
- 'chromium_mac_pch%': 1,
-
- # Mac OS X SDK and deployment target support.
- # The SDK identifies the version of the system headers that will be used,
- # and corresponds to the MAC_OS_X_VERSION_MAX_ALLOWED compile-time macro.
- # "Maximum allowed" refers to the operating system version whose APIs are
- # available in the headers.
- # The deployment target identifies the minimum system version that the
- # built products are expected to function on. It corresponds to the
- # MAC_OS_X_VERSION_MIN_REQUIRED compile-time macro.
- # To ensure these macros are available, #include <AvailabilityMacros.h>.
- # Additional documentation on these macros is available at
- # http://developer.apple.com/mac/library/technotes/tn2002/tn2064.html#SECTION3
- # Chrome normally builds with the Mac OS X 10.5 SDK and sets the
- # deployment target to 10.5. Other projects, such as O3D, may override
- # these defaults.
- 'mac_sdk%': '10.5',
- 'mac_deployment_target%': '10.5',
-
- # Set to 1 to enable code coverage. In addition to build changes
- # (e.g. extra CFLAGS), also creates a new target in the src/chrome
- # project file called "coverage".
- # Currently ignored on Windows.
- 'coverage%': 0,
-
- # Overridable specification for potential use of alternative
- # JavaScript engines.
- 'javascript_engine%': 'v8',
-
- # Although base/allocator lets you select a heap library via an
- # environment variable, the libcmt shim it uses sometimes gets in
- # the way. To disable it entirely, and switch to normal msvcrt, do e.g.
- # 'win_use_allocator_shim': 0,
- # 'win_release_RuntimeLibrary': 2
- # to ~/.gyp/include.gypi, gclient runhooks --force, and do a release build.
- 'win_use_allocator_shim%': 1, # 1 = shim allocator via libcmt; 0 = msvcrt
-
- # Whether usage of OpenMAX is enabled.
- 'enable_openmax%': 0,
-
- # Whether proprietary audio/video codecs are assumed to be included with
- # this build (only meaningful if branding!=Chrome).
- 'proprietary_codecs%': 0,
-
- # TODO(bradnelson): eliminate this when possible.
- # To allow local gyp files to prevent release.vsprops from being included.
- # Yes(1) means include release.vsprops.
- # Once all vsprops settings are migrated into gyp, this can go away.
- 'msvs_use_common_release%': 1,
-
- # TODO(bradnelson): eliminate this when possible.
- # To allow local gyp files to override additional linker options for msvs.
- # Yes(1) means set use the common linker options.
- 'msvs_use_common_linker_extras%': 1,
-
- # TODO(sgk): eliminate this if possible.
- # It would be nicer to support this via a setting in 'target_defaults'
- # in chrome/app/locales/locales.gypi overriding the setting in the
- # 'Debug' configuration in the 'target_defaults' dict below,
- # but that doesn't work as we'd like.
- 'msvs_debug_link_incremental%': '2',
-
- # Needed for some of the largest modules.
- 'msvs_debug_link_nonincremental%': '1',
-
- # This is the location of the sandbox binary. Chrome looks for this before
- # running the zygote process. If found, and SUID, it will be used to
- # sandbox the zygote process and, thus, all renderer processes.
- 'linux_sandbox_path%': '',
-
- # Set this to true to enable SELinux support.
- 'selinux%': 0,
-
- # 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,
-
- # These two variables can be set in GYP_DEFINES while running
- # |gclient runhooks| to let clang run a plugin in every compilation.
- # Only has an effect if 'clang=1' is in GYP_DEFINES as well.
- # Example:
- # GYP_DEFINES='clang=1 clang_load=/abs/path/to/libPrintFunctionNames.dylib clang_add_plugin=print-fns' gclient runhooks
-
- 'clang_load%': '',
- 'clang_add_plugin%': '',
-
- # Enable sampling based profiler.
- # See http://google-perftools.googlecode.com/svn/trunk/doc/cpuprofile.html
- 'profiling%': '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,
-
- # Disable TCMalloc's debugallocation.
- 'linux_use_debugallocation%': 0,
-
- # 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,
-
- # Set to 1 to link against libgnome-keyring instead of using dlopen().
- 'linux_link_gnome_keyring%': 0,
-
- # Used to disable Native Client at compile time, for platforms where it
- # isn't supported
- 'disable_nacl%': 0,
-
- # Set Thumb compilation flags.
- 'arm_thumb%': 0,
-
- # Set ARM fpu compilation flags (only meaningful if armv7==1 and
- # arm_neon==0).
- 'arm_fpu%': 'vfpv3',
-
- # Enable new NPDevice API.
- 'enable_new_npdevice_api%': 0,
-
- # Enable EGLImage support in OpenMAX
- 'enable_eglimage%': 1,
-
- # Enable a variable used elsewhere throughout the GYP files to determine
- # whether to compile in the sources for the GPU plugin / process.
- 'enable_gpu%': 1,
-
- # Use OpenSSL instead of NSS. Under development: see http://crbug.com/62803
- 'use_openssl%': 0,
-
- # .gyp files or targets should set chromium_code to 1 if they build
- # Chromium-specific code, as opposed to external code. This variable is
- # used to control such things as the set of warnings to enable, and
- # whether warnings are treated as errors.
- 'chromium_code%': 0,
-
- # Set to 1 to compile with the built in pdf viewer.
- 'internal_pdf%': 0,
-
- # This allows to use libcros from the current system, ie. /usr/lib/
- # The cros_api will be pulled in as a static library, and all headers
- # from the system include dirs.
- 'system_libcros%': 0,
-
- # NOTE: When these end up in the Mac bundle, we need to replace '-' for '_'
- # so Cocoa is happy (http://crbug.com/20441).
- 'locales': [
- 'am', 'ar', 'bg', 'bn', 'ca', 'cs', 'da', 'de', 'el', 'en-GB',
- 'en-US', 'es-419', 'es', 'et', 'fa', 'fi', 'fil', 'fr', 'gu', 'he',
- 'hi', 'hr', 'hu', 'id', 'it', 'ja', 'kn', 'ko', 'lt', 'lv',
- 'ml', 'mr', 'nb', 'nl', 'pl', 'pt-BR', 'pt-PT', 'ro', 'ru',
- 'sk', 'sl', 'sr', 'sv', 'sw', 'ta', 'te', 'th', 'tr', 'uk',
- 'vi', 'zh-CN', 'zh-TW',
- ],
-
- 'grit_defines': [],
-
- # Use Harfbuzz-NG instead of Harfbuzz.
- # Under development: http://crbug.com/68551
- 'use_harfbuzz_ng%': 0,
-
- # Point to ICU directory.
- 'icu_src_dir': '../third_party/icu',
-
- 'conditions': [
- ['OS=="linux" or OS=="freebsd" or OS=="openbsd"', {
- # This will set gcc_version to XY if you are running gcc X.Y.*.
- # This is used to tweak build flags for gcc 4.4.
- 'gcc_version%': '<!(python <(DEPTH)/build/compiler_version.py)',
- # Figure out the python architecture to decide if we build pyauto.
- 'python_arch%': '<!(<(DEPTH)/build/linux/python_arch.sh <(sysroot)/usr/lib/libpython<(python_ver).so.1.0)',
- 'conditions': [
- ['branding=="Chrome"', {
- 'linux_breakpad%': 1,
- }],
- # All Chrome builds have breakpad symbols, but only process the
- # symbols from official builds.
- ['(branding=="Chrome" and buildtype=="Official")', {
- 'linux_dump_symbols%': 1,
- }],
- ],
- }], # OS=="linux" or OS=="freebsd" or OS=="openbsd"
-
- ['OS=="mac"', {
- 'conditions': [
- # mac_product_name is set to the name of the .app bundle as it should
- # appear on disk. This duplicates data from
- # chrome/app/theme/chromium/BRANDING and
- # chrome/app/theme/google_chrome/BRANDING, but is necessary to get
- # these names into the build system.
- ['branding=="Chrome"', {
- 'mac_product_name%': 'Google Chrome',
- }, { # else: branding!="Chrome"
- 'mac_product_name%': 'Chromium',
- }],
-
- # Feature variables for enabling Mac Breakpad and Keystone auto-update
- # support. Both features are on by default in official builds with
- # Chrome branding.
- ['branding=="Chrome" and buildtype=="Official"', {
- 'mac_breakpad%': 1,
- 'mac_keystone%': 1,
- }, { # else: branding!="Chrome" or buildtype!="Official"
- 'mac_breakpad%': 0,
- 'mac_keystone%': 0,
- }],
- ],
- }], # OS=="mac"
-
- # Whether to use multiple cores to compile with visual studio. This is
- # optional because it sometimes causes corruption on VS 2005.
- # It is on by default on VS 2008 and off on VS 2005.
- ['OS=="win"', {
- 'conditions': [
- ['component=="shared_library"', {
- 'win_use_allocator_shim%': 0,
- }],
- ['MSVS_VERSION=="2005"', {
- 'msvs_multi_core_compile%': 0,
- },{
- 'msvs_multi_core_compile%': 1,
- }],
- # Don't do incremental linking for large modules on 32-bit.
- ['MSVS_OS_BITS==32', {
- 'msvs_large_module_debug_link_mode%': '1', # No
- },{
- 'msvs_large_module_debug_link_mode%': '2', # Yes
- }],
- ],
- 'nacl_win64_defines': [
- # This flag is used to minimize dependencies when building
- # Native Client loader for 64-bit Windows.
- 'NACL_WIN64',
- ],
- }],
-
- ['OS=="mac" or (OS=="linux" and chromeos==0 and target_arch!="arm")', {
- 'use_cups%': 1,
- }, {
- 'use_cups%': 0,
- }],
-
- # Set the relative path from this file to the GYP file of the JPEG
- # library used by Chromium.
- ['use_libjpeg_turbo==1', {
- 'libjpeg_gyp_path': '../third_party/libjpeg_turbo/libjpeg.gyp',
- }, {
- 'libjpeg_gyp_path': '../third_party/libjpeg/libjpeg.gyp',
- }], # use_libjpeg_turbo==1
-
- # Use GConf, the GNOME configuration system.
- ['chromeos==1', {
- 'use_gconf%': 0,
- }, {
- 'use_gconf%': 1,
- }],
-
- # Setup -D flags passed into grit.
- ['chromeos==1', {
- 'grit_defines': ['-D', 'chromeos'],
- }],
- ['toolkit_views==1', {
- 'grit_defines': ['-D', 'toolkit_views'],
- }],
- ['touchui==1', {
- 'grit_defines': ['-D', 'touchui'],
- }],
- ['file_manager_extension==1', {
- 'grit_defines': ['-D', 'file_manager_extension'],
- }],
- ['remoting==1', {
- 'grit_defines': ['-D', 'remoting'],
- }],
- ['use_titlecase_in_grd_files==1', {
- 'grit_defines': ['-D', 'use_titlecase'],
- }],
- ['use_third_party_translations==1', {
- 'grit_defines': ['-D', 'use_third_party_translations'],
- 'locales': ['ast', 'eu', 'gl', 'ka', 'ku', 'ug'],
- }],
-
- ['clang_use_chrome_plugins==1', {
- 'clang_chrome_plugins_flags':
- '<!(<(DEPTH)/tools/clang/scripts/plugin_flags.sh)',
- }],
- ],
- },
- 'target_defaults': {
- 'variables': {
- # The condition that operates on chromium_code is in a target_conditions
- # section, and will not have access to the default fallback value of
- # chromium_code at the top of this file, or to the chromium_code
- # variable placed at the root variables scope of .gyp files, because
- # those variables are not set at target scope. As a workaround,
- # if chromium_code is not set at target scope, define it in target scope
- # to contain whatever value it has during early variable expansion.
- # That's enough to make it available during target conditional
- # processing.
- 'chromium_code%': '<(chromium_code)',
-
- # See http://gcc.gnu.org/onlinedocs/gcc-4.4.2/gcc/Optimize-Options.html
- 'mac_release_optimization%': '3', # Use -O3 unless overridden
- 'mac_debug_optimization%': '0', # Use -O0 unless overridden
- # See http://msdn.microsoft.com/en-us/library/aa652360(VS.71).aspx
- 'win_release_Optimization%': '2', # 2 = /Os
- 'win_debug_Optimization%': '0', # 0 = /Od
- # See http://msdn.microsoft.com/en-us/library/8wtf2dfz(VS.71).aspx
- 'win_debug_RuntimeChecks%': '3', # 3 = all checks enabled, 0 = off
- # See http://msdn.microsoft.com/en-us/library/47238hez(VS.71).aspx
- 'win_debug_InlineFunctionExpansion%': '', # empty = default, 0 = off,
- 'win_release_InlineFunctionExpansion%': '2', # 1 = only __inline, 2 = max
- # VS inserts quite a lot of extra checks to algorithms like
- # std::partial_sort in Debug build which make them O(N^2)
- # instead of O(N*logN). This is particularly slow under memory
- # tools like ThreadSanitizer so we want it to be disablable.
- # See http://msdn.microsoft.com/en-us/library/aa985982(v=VS.80).aspx
- 'win_debug_disable_iterator_debugging%': '0',
-
- 'release_extra_cflags%': '',
- 'debug_extra_cflags%': '',
- 'release_valgrind_build%': 0,
-
- 'conditions': [
- ['OS=="win" and component=="shared_library"', {
- # See http://msdn.microsoft.com/en-us/library/aa652367.aspx
- 'win_release_RuntimeLibrary%': '2', # 2 = /MT (nondebug DLL)
- 'win_debug_RuntimeLibrary%': '3', # 3 = /MTd (debug DLL)
- }, {
- # See http://msdn.microsoft.com/en-us/library/aa652367.aspx
- 'win_release_RuntimeLibrary%': '0', # 0 = /MT (nondebug static)
- 'win_debug_RuntimeLibrary%': '1', # 1 = /MTd (debug static)
- }],
- ],
- },
- 'conditions': [
- ['branding=="Chrome"', {
- 'defines': ['GOOGLE_CHROME_BUILD'],
- }, { # else: branding!="Chrome"
- 'defines': ['CHROMIUM_BUILD'],
- }],
- ['toolkit_views==1', {
- 'defines': ['TOOLKIT_VIEWS=1'],
- }],
- ['chromeos==1', {
- 'defines': ['OS_CHROMEOS=1'],
- }],
- ['touchui==1', {
- 'defines': ['TOUCH_UI=1'],
- }],
- ['file_manager_extension==1', {
- 'defines': ['FILE_MANAGER_EXTENSION=1'],
- }],
- ['profiling==1', {
- 'defines': ['ENABLE_PROFILING=1'],
- }],
- ['remoting==1', {
- 'defines': ['ENABLE_REMOTING=1'],
- }],
- ['proprietary_codecs==1', {
- 'defines': ['USE_PROPRIETARY_CODECS'],
- }],
- ['enable_flapper_hacks==1', {
- 'defines': ['ENABLE_FLAPPER_HACKS=1'],
- }],
- ['fastbuild!=0', {
- 'conditions': [
- # For Windows, we don't genererate debug information.
- ['OS=="win"', {
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'GenerateDebugInformation': 'false',
- },
- 'VCCLCompilerTool': {
- 'DebugInformationFormat': '0',
- }
- }
- }, { # else: OS != "win", generate less debug information.
- 'variables': {
- 'debug_extra_cflags': '-g1',
- },
- }],
- # Clang creates chubby debug information, which makes linking very
- # slow. For now, don't create debug information with clang. See
- # http://crbug.com/70000
- ['OS=="linux" and clang==1', {
- 'variables': {
- 'debug_extra_cflags': '-g0',
- },
- }],
- ], # conditions for fastbuild.
- }], # fastbuild!=0
- ['selinux==1', {
- 'defines': ['CHROMIUM_SELINUX=1'],
- }],
- ['win_use_allocator_shim==0', {
- 'conditions': [
- ['OS=="win"', {
- 'defines': ['NO_TCMALLOC'],
- }],
- ],
- }],
- ['enable_gpu==1', {
- 'defines': [
- 'ENABLE_GPU=1',
- ],
- }],
- ['use_openssl==1', {
- 'defines': [
- 'USE_OPENSSL=1',
- ],
- }],
- ['enable_eglimage==1', {
- 'defines': [
- 'ENABLE_EGLIMAGE=1',
- ],
- }],
- ['coverage!=0', {
- 'conditions': [
- ['OS=="mac"', {
- 'xcode_settings': {
- 'GCC_INSTRUMENT_PROGRAM_FLOW_ARCS': 'YES', # -fprofile-arcs
- 'GCC_GENERATE_TEST_COVERAGE_FILES': 'YES', # -ftest-coverage
- },
- # Add -lgcov for types executable, shared_library, and
- # loadable_module; not for static_library.
- # This is a delayed conditional.
- 'target_conditions': [
- ['_type!="static_library"', {
- 'xcode_settings': { 'OTHER_LDFLAGS': [ '-lgcov' ] },
- }],
- ],
- }],
- ['OS=="linux"', {
- 'cflags': [ '-ftest-coverage',
- '-fprofile-arcs' ],
- 'link_settings': { 'libraries': [ '-lgcov' ] },
- }],
- # Finally, for Windows, we simply turn on profiling.
- ['OS=="win"', {
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'Profile': 'true',
- },
- 'VCCLCompilerTool': {
- # /Z7, not /Zi, so coverage is happyb
- 'DebugInformationFormat': '1',
- 'AdditionalOptions': ['/Yd'],
- }
- }
- }], # OS==win
- ], # conditions for coverage
- }], # coverage!=0
- ['OS=="win"', {
- 'defines': [
- '__STD_C',
- '_CRT_SECURE_NO_DEPRECATE',
- '_SCL_SECURE_NO_DEPRECATE',
- ],
- 'include_dirs': [
- '<(DEPTH)/third_party/wtl/include',
- ],
- }], # OS==win
- ], # conditions for 'target_defaults'
- 'target_conditions': [
- ['chromium_code==0', {
- 'conditions': [
- [ 'OS=="linux" or OS=="freebsd" or OS=="openbsd"', {
- # We don't want to get warnings from third-party code,
- # so remove any existing warning-enabling flags like -Wall.
- 'cflags!': [
- '-Wall',
- '-Wextra',
- '-Werror',
- ],
- 'cflags': [
- # Don't warn about hash_map in third-party code.
- '-Wno-deprecated',
- # Don't warn about printf format problems.
- # This is off by default in gcc but on in Ubuntu's gcc(!).
- '-Wno-format',
- ],
- }],
- [ 'OS=="win"', {
- 'defines': [
- '_CRT_SECURE_NO_DEPRECATE',
- '_CRT_NONSTDC_NO_WARNINGS',
- '_CRT_NONSTDC_NO_DEPRECATE',
- '_SCL_SECURE_NO_DEPRECATE',
- ],
- 'msvs_disabled_warnings': [4800],
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'WarnAsError': 'false',
- 'Detect64BitPortabilityProblems': 'false',
- },
- },
- }],
- [ 'OS=="mac"', {
- 'xcode_settings': {
- 'GCC_TREAT_WARNINGS_AS_ERRORS': 'NO',
- 'WARNING_CFLAGS!': ['-Wall', '-Wextra'],
- },
- }],
- ],
- }, {
- # In Chromium code, we define __STDC_FORMAT_MACROS in order to get the
- # C99 macros on Mac and Linux.
- 'defines': [
- '__STDC_FORMAT_MACROS',
- ],
- 'conditions': [
- ['OS!="win"', {
- 'sources/': [ ['exclude', '_win(_unittest)?\\.(h|cc)$'],
- ['exclude', '(^|/)win/'],
- ['exclude', '(^|/)win_[^/]*\\.(h|cc)$'] ],
- }],
- ['OS!="mac"', {
- 'sources/': [ ['exclude', '_(cocoa|mac)(_unittest)?\\.(h|cc)$'],
- ['exclude', '(^|/)(cocoa|mac)/'],
- ['exclude', '\\.mm?$' ] ],
- }],
- ['OS!="linux" and OS!="freebsd" and OS!="openbsd"', {
- 'sources/': [
- ['exclude', '_(chromeos|gtk|x|x11|xdg)(_unittest)?\\.(h|cc)$'],
- ['exclude', '(^|/)gtk/'],
- ['exclude', '(^|/)(gtk|x11)_[^/]*\\.(h|cc)$'],
- ],
- }],
- ['OS!="linux"', {
- 'sources/': [
- ['exclude', '_linux(_unittest)?\\.(h|cc)$'],
- ['exclude', '(^|/)linux/'],
- ],
- }],
- # We use "POSIX" to refer to all non-Windows operating systems.
- ['OS=="win"', {
- 'sources/': [ ['exclude', '_posix\\.(h|cc)$'] ],
- # turn on warnings for signed/unsigned mismatch on chromium code.
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'AdditionalOptions': ['/we4389'],
- },
- },
- }],
- ['chromeos!=1', {
- 'sources/': [ ['exclude', '_chromeos\\.(h|cc)$'] ]
- }],
- ['toolkit_views==0', {
- 'sources/': [ ['exclude', '_views\\.(h|cc)$'] ]
- }],
- ],
- }],
- ], # target_conditions for 'target_defaults'
- 'default_configuration': 'Debug',
- 'configurations': {
- # VCLinkerTool LinkIncremental values below:
- # 0 == default
- # 1 == /INCREMENTAL:NO
- # 2 == /INCREMENTAL
- # Debug links incremental, Release does not.
- #
- # Abstract base configurations to cover common attributes.
- #
- 'Common_Base': {
- 'abstract': 1,
- 'msvs_configuration_attributes': {
- 'OutputDirectory': '$(SolutionDir)$(ConfigurationName)',
- 'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)',
- 'CharacterSet': '1',
- },
- },
- 'x86_Base': {
- 'abstract': 1,
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'TargetMachine': '1',
- },
- },
- 'msvs_configuration_platform': 'Win32',
- },
- 'x64_Base': {
- 'abstract': 1,
- 'msvs_configuration_platform': 'x64',
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'TargetMachine': '17', # x86 - 64
- 'AdditionalLibraryDirectories!':
- ['<(DEPTH)/third_party/platformsdk_win7/files/Lib'],
- 'AdditionalLibraryDirectories':
- ['<(DEPTH)/third_party/platformsdk_win7/files/Lib/x64'],
- },
- 'VCLibrarianTool': {
- 'AdditionalLibraryDirectories!':
- ['<(DEPTH)/third_party/platformsdk_win7/files/Lib'],
- 'AdditionalLibraryDirectories':
- ['<(DEPTH)/third_party/platformsdk_win7/files/Lib/x64'],
- },
- },
- 'defines': [
- # Not sure if tcmalloc works on 64-bit Windows.
- 'NO_TCMALLOC',
- ],
- },
- 'Debug_Base': {
- 'abstract': 1,
- 'defines': ['DYNAMIC_ANNOTATIONS_ENABLED=1'],
- 'xcode_settings': {
- 'COPY_PHASE_STRIP': 'NO',
- 'GCC_OPTIMIZATION_LEVEL': '<(mac_debug_optimization)',
- 'OTHER_CFLAGS': [ '<@(debug_extra_cflags)', ],
- },
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'Optimization': '<(win_debug_Optimization)',
- 'PreprocessorDefinitions': ['_DEBUG'],
- 'BasicRuntimeChecks': '<(win_debug_RuntimeChecks)',
- 'RuntimeLibrary': '<(win_debug_RuntimeLibrary)',
- 'conditions': [
- # According to MSVS, InlineFunctionExpansion=0 means
- # "default inlining", not "/Ob0".
- # Thus, we have to handle InlineFunctionExpansion==0 separately.
- ['win_debug_InlineFunctionExpansion==0', {
- 'AdditionalOptions': ['/Ob0'],
- }],
- ['win_debug_InlineFunctionExpansion!=""', {
- 'InlineFunctionExpansion':
- '<(win_debug_InlineFunctionExpansion)',
- }],
- ['win_debug_disable_iterator_debugging==1', {
- 'PreprocessorDefinitions': ['_HAS_ITERATOR_DEBUGGING=0'],
- }],
- ],
- },
- 'VCLinkerTool': {
- 'LinkIncremental': '<(msvs_debug_link_incremental)',
- },
- 'VCResourceCompilerTool': {
- 'PreprocessorDefinitions': ['_DEBUG'],
- },
- },
- 'conditions': [
- ['OS=="linux"', {
- 'cflags': [
- '<@(debug_extra_cflags)',
- ],
- }],
- ],
- },
- 'Release_Base': {
- 'abstract': 1,
- 'defines': [
- 'NDEBUG',
- ],
- 'xcode_settings': {
- 'DEAD_CODE_STRIPPING': 'YES', # -Wl,-dead_strip
- 'GCC_OPTIMIZATION_LEVEL': '<(mac_release_optimization)',
- 'OTHER_CFLAGS': [ '<@(release_extra_cflags)', ],
- },
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'Optimization': '<(win_release_Optimization)',
- 'RuntimeLibrary': '<(win_release_RuntimeLibrary)',
- 'conditions': [
- # According to MSVS, InlineFunctionExpansion=0 means
- # "default inlining", not "/Ob0".
- # Thus, we have to handle InlineFunctionExpansion==0 separately.
- ['win_release_InlineFunctionExpansion==0', {
- 'AdditionalOptions': ['/Ob0'],
- }],
- ['win_release_InlineFunctionExpansion!=""', {
- 'InlineFunctionExpansion':
- '<(win_release_InlineFunctionExpansion)',
- }],
- ],
- },
- 'VCLinkerTool': {
- 'LinkIncremental': '1',
- },
- },
- 'conditions': [
- ['release_valgrind_build==0', {
- 'defines': ['NVALGRIND', 'DYNAMIC_ANNOTATIONS_ENABLED=0'],
- }, {
- 'defines': ['DYNAMIC_ANNOTATIONS_ENABLED=1'],
- }],
- ['win_use_allocator_shim==0', {
- 'defines': ['NO_TCMALLOC'],
- }],
- ['OS=="linux"', {
- 'cflags': [
- '<@(release_extra_cflags)',
- ],
- }],
- ],
- },
- 'Purify_Base': {
- 'abstract': 1,
- 'defines': [
- 'PURIFY',
- 'NO_TCMALLOC',
- ],
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'Optimization': '0',
- 'RuntimeLibrary': '0',
- 'BufferSecurityCheck': 'false',
- },
- 'VCLinkerTool': {
- 'EnableCOMDATFolding': '1',
- 'LinkIncremental': '1',
- },
- },
- },
- #
- # Concrete configurations
- #
- 'Debug': {
- 'inherit_from': ['Common_Base', 'x86_Base', 'Debug_Base'],
- },
- 'Release': {
- 'inherit_from': ['Common_Base', 'x86_Base', 'Release_Base'],
- 'conditions': [
- ['msvs_use_common_release', {
- 'includes': ['release.gypi'],
- }],
- ]
- },
- 'conditions': [
- [ 'OS=="win"', {
- # TODO(bradnelson): add a gyp mechanism to make this more graceful.
- 'Purify': {
- 'inherit_from': ['Common_Base', 'x86_Base', 'Release_Base', 'Purify'],
- },
- 'Debug_x64': {
- 'inherit_from': ['Common_Base', 'x64_Base', 'Debug_Base'],
- },
- 'Release_x64': {
- 'inherit_from': ['Common_Base', 'x64_Base', 'Release_Base'],
- },
- 'Purify_x64': {
- 'inherit_from': ['Common_Base', 'x64_Base', 'Release_Base', 'Purify_Base'],
- },
- }],
- ],
- },
- },
- 'conditions': [
- ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"', {
- 'target_defaults': {
- # Enable -Werror by default, but put it in a variable so it can
- # be disabled in ~/.gyp/include.gypi on the valgrind builders.
- 'variables': {
- # Use -fno-strict-aliasing by default since gcc 4.4 has periodic
- # issues that slip through the cracks. We could do this just for
- # gcc 4.4 but it makes more sense to be consistent on all
- # compilers in use. TODO(Craig): turn this off again when
- # there is some 4.4 test infrastructure in place and existing
- # aliasing issues have been fixed.
- 'no_strict_aliasing%': 1,
- 'conditions': [['OS=="linux"', {'werror%': '-Werror',}],
- ['OS=="freebsd"', {'werror%': '',}],
- ['OS=="openbsd"', {'werror%': '',}],
- ],
- },
- 'cflags': [
- '<(werror)', # See note above about the werror variable.
- '-pthread',
- '-fno-exceptions',
- '-Wall',
- # TODO(evan): turn this back on once all the builds work.
- # '-Wextra',
- # Don't warn about unused function params. We use those everywhere.
- '-Wno-unused-parameter',
- # Don't warn about the "struct foo f = {0};" initialization pattern.
- '-Wno-missing-field-initializers',
- '-D_FILE_OFFSET_BITS=64',
- # Don't export any symbols (for example, to plugins we dlopen()).
- # Note: this is *required* to make some plugins work.
- '-fvisibility=hidden',
- '-pipe',
- ],
- 'cflags_cc': [
- '-fno-rtti',
- '-fno-threadsafe-statics',
- # Make inline functions have hidden visiblity by default.
- # Surprisingly, not covered by -fvisibility=hidden.
- '-fvisibility-inlines-hidden',
- ],
- 'ldflags': [
- '-pthread', '-Wl,-z,noexecstack',
- ],
- 'configurations': {
- 'Debug_Base': {
- 'variables': {
- 'debug_optimize%': '0',
- },
- 'defines': [
- '_DEBUG',
- ],
- 'cflags': [
- '-O>(debug_optimize)',
- '-g',
- ],
- },
- 'Release_Base': {
- 'variables': {
- 'release_optimize%': '2',
- # Binaries become big and gold is unable to perform GC
- # and remove unused sections for some of test targets
- # on 32 bit platform.
- # (This is currently observed only in chromeos valgrind bots)
- # The following flag is to disable --gc-sections linker
- # option for these bots.
- 'no_gc_sections%': 0,
- },
- 'cflags': [
- '-O>(release_optimize)',
- # Don't emit the GCC version ident directives, they just end up
- # in the .comment section taking up binary size.
- '-fno-ident',
- # Put data and code in their own sections, so that unused symbols
- # can be removed at link time with --gc-sections.
- '-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': [
- '-Wl,--gc-sections',
- ],
- }],
- ['clang==1', {
- 'cflags!': [
- '-fno-ident',
- ],
- }],
- ['profiling==1', {
- 'cflags': [
- '-fno-omit-frame-pointer',
- '-g',
- ],
- }],
- ]
- },
- },
- 'variants': {
- 'coverage': {
- 'cflags': ['-fprofile-arcs', '-ftest-coverage'],
- 'ldflags': ['-fprofile-arcs'],
- },
- 'profile': {
- 'cflags': ['-pg', '-g'],
- 'ldflags': ['-pg'],
- },
- 'symbols': {
- 'cflags': ['-g'],
- },
- },
- 'conditions': [
- [ 'target_arch=="ia32"', {
- 'asflags': [
- # Needed so that libs with .s files (e.g. libicudata.a)
- # are compatible with the general 32-bit-ness.
- '-32',
- ],
- # All floating-point computations on x87 happens in 80-bit
- # precision. Because the C and C++ language standards allow
- # the compiler to keep the floating-point values in higher
- # precision than what's specified in the source and doing so
- # is more efficient than constantly rounding up to 64-bit or
- # 32-bit precision as specified in the source, the compiler,
- # especially in the optimized mode, tries very hard to keep
- # values in x87 floating-point stack (in 80-bit precision)
- # as long as possible. This has important side effects, that
- # the real value used in computation may change depending on
- # how the compiler did the optimization - that is, the value
- # kept in 80-bit is different than the value rounded down to
- # 64-bit or 32-bit. There are possible compiler options to make
- # this behavior consistent (e.g. -ffloat-store would keep all
- # floating-values in the memory, thus force them to be rounded
- # to its original precision) but they have significant runtime
- # performance penalty.
- #
- # -mfpmath=sse -msse2 makes the compiler use SSE instructions
- # which keep floating-point values in SSE registers in its
- # native precision (32-bit for single precision, and 64-bit for
- # double precision values). This means the floating-point value
- # used during computation does not change depending on how the
- # compiler optimized the code, since the value is always kept
- # in its specified precision.
- 'conditions': [
- ['branding=="Chromium" and disable_sse2==0', {
- 'cflags': [
- '-march=pentium4',
- '-msse2',
- '-mfpmath=sse',
- ],
- }],
- # ChromeOS targets Pinetrail, which is sse3, but most of the
- # benefit comes from sse2 so this setting allows ChromeOS
- # to build on other CPUs. In the future -march=atom would help
- # but requires a newer compiler.
- ['chromeos==1 and disable_sse2==0', {
- 'cflags': [
- '-msse2',
- ],
- }],
- # Install packages have started cropping up with
- # different headers between the 32-bit and 64-bit
- # versions, so we have to shadow those differences off
- # and make sure a 32-bit-on-64-bit build picks up the
- # right files.
- ['host_arch!="ia32"', {
- 'include_dirs+': [
- '/usr/include32',
- ],
- }],
- ],
- # -mmmx allows mmintrin.h to be used for mmx intrinsics.
- # video playback is mmx and sse2 optimized.
- 'cflags': [
- '-m32',
- '-mmmx',
- ],
- 'ldflags': [
- '-m32',
- ],
- }],
- ['target_arch=="arm"', {
- 'target_conditions': [
- ['_toolset=="target"', {
- 'cflags_cc': [
- # The codesourcery arm-2009q3 toolchain warns at that the ABI
- # has changed whenever it encounters a varargs function. This
- # silences those warnings, as they are not helpful and
- # clutter legitimate warnings.
- '-Wno-abi',
- ],
- 'conditions': [
- ['arm_thumb == 1', {
- 'cflags': [
- '-mthumb',
- # TODO(piman): -Wa,-mimplicit-it=thumb is needed for
- # inline assembly that uses condition codes but it's
- # suboptimal. Better would be to #ifdef __thumb__ at the
- # right place and have a separate thumb path.
- '-Wa,-mimplicit-it=thumb',
- ]
- }],
- ['armv7==1', {
- 'cflags': [
- '-march=armv7-a',
- '-mtune=cortex-a8',
- '-mfloat-abi=softfp',
- ],
- 'conditions': [
- ['arm_neon==1', {
- 'cflags': [ '-mfpu=neon', ],
- }, {
- 'cflags': [ '-mfpu=<(arm_fpu)', ],
- }]
- ],
- }],
- ],
- }],
- ],
- }],
- ['linux_fpic==1', {
- 'cflags': [
- '-fPIC',
- ],
- }],
- ['sysroot!=""', {
- 'target_conditions': [
- ['_toolset=="target"', {
- 'cflags': [
- '--sysroot=<(sysroot)',
- ],
- 'ldflags': [
- '--sysroot=<(sysroot)',
- ],
- }]]
- }],
- ['clang==1', {
- 'target_conditions': [
- ['_toolset=="target"', {
- 'cflags': [
- # Clang spots more unused functions.
- '-Wno-unused-function',
- # Don't die on dtoa code that uses a char as an array index.
- '-Wno-char-subscripts',
- # Survive EXPECT_EQ(unnamed_enum, unsigned int) -- see
- # http://code.google.com/p/googletest/source/detail?r=446 .
- # TODO(thakis): Use -isystem instead (http://crbug.com/58751 )
- '-Wno-unnamed-type-template-args',
- ],
- 'cflags!': [
- # Clang doesn't seem to know know this flag.
- '-mfpmath=sse',
- ],
- }]],
- }],
- ['clang==1 and clang_use_chrome_plugins==1', {
- 'target_conditions': [
- ['_toolset=="target"', {
- 'cflags': [
- '<(clang_chrome_plugins_flags)',
- ],
- }]],
- }],
- ['clang==1 and clang_load!="" and clang_add_plugin!=""', {
- 'target_conditions': [
- ['_toolset=="target"', {
- 'cflags': [
- '-Xclang', '-load', '-Xclang', '<(clang_load)',
- '-Xclang', '-add-plugin', '-Xclang', '<(clang_add_plugin)',
- ],
- }]],
- }],
- ['no_strict_aliasing==1', {
- 'cflags': [
- '-fno-strict-aliasing',
- ],
- }],
- ['linux_breakpad==1', {
- 'cflags': [ '-g' ],
- 'defines': ['USE_LINUX_BREAKPAD'],
- }],
- ['library=="shared_library"', {
- # When building with shared libraries, remove the visiblity-hiding
- # flag.
- 'cflags!': [ '-fvisibility=hidden' ],
- 'conditions': [
- ['target_arch=="x64" or target_arch=="arm"', {
- # Shared libraries need -fPIC on x86-64 and arm
- 'cflags': ['-fPIC']
- }]
- ],
- 'ldflags!': [
- # --as-needed confuses library interdependencies.
- # See http://code.google.com/p/chromium/issues/detail?id=61430
- '-Wl,--as-needed',
- ],
- }],
- ['linux_use_heapchecker==1', {
- 'variables': {'linux_use_tcmalloc%': 1},
- }],
- ['linux_use_tcmalloc==0', {
- 'defines': ['NO_TCMALLOC'],
- }],
- ['linux_use_heapchecker==0', {
- 'defines': ['NO_HEAPCHECKER'],
- }],
- ['linux_keep_shadow_stacks==1', {
- 'defines': ['KEEP_SHADOW_STACKS'],
- 'cflags': ['-finstrument-functions'],
- }],
- ],
- },
- }],
- # FreeBSD-specific options; note that most FreeBSD options are set above,
- # with Linux.
- ['OS=="freebsd"', {
- 'target_defaults': {
- 'ldflags': [
- '-Wl,--no-keep-memory',
- ],
- },
- }],
- ['OS=="solaris"', {
- 'cflags!': ['-fvisibility=hidden'],
- 'cflags_cc!': ['-fvisibility-inlines-hidden'],
- }],
- ['OS=="mac"', {
- 'target_defaults': {
- 'variables': {
- # 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,
- 'xcode_settings': {
- 'ALWAYS_SEARCH_USER_PATHS': 'NO',
- 'GCC_C_LANGUAGE_STANDARD': 'c99', # -std=c99
- 'GCC_CW_ASM_SYNTAX': 'NO', # No -fasm-blocks
- 'GCC_DYNAMIC_NO_PIC': 'NO', # No -mdynamic-no-pic
- # (Equivalent to -fPIC)
- 'GCC_ENABLE_CPP_EXCEPTIONS': 'NO', # -fno-exceptions
- 'GCC_ENABLE_CPP_RTTI': 'NO', # -fno-rtti
- 'GCC_ENABLE_PASCAL_STRINGS': 'NO', # No -mpascal-strings
- # GCC_INLINES_ARE_PRIVATE_EXTERN maps to -fvisibility-inlines-hidden
- 'GCC_INLINES_ARE_PRIVATE_EXTERN': 'YES',
- 'GCC_OBJC_CALL_CXX_CDTORS': 'YES', # -fobjc-call-cxx-cdtors
- 'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden
- 'GCC_THREADSAFE_STATICS': 'NO', # -fno-threadsafe-statics
- 'GCC_TREAT_WARNINGS_AS_ERRORS': 'YES', # -Werror
- 'GCC_VERSION': '4.2',
- 'GCC_WARN_ABOUT_MISSING_NEWLINE': 'YES', # -Wnewline-eof
- # MACOSX_DEPLOYMENT_TARGET maps to -mmacosx-version-min
- 'MACOSX_DEPLOYMENT_TARGET': '<(mac_deployment_target)',
- 'PREBINDING': 'NO', # No -Wl,-prebind
- 'USE_HEADERMAP': 'NO',
- 'WARNING_CFLAGS': [
- '-Wall',
- '-Wendif-labels',
- '-Wextra',
- # Don't warn about unused function parameters.
- '-Wno-unused-parameter',
- # Don't warn about the "struct foo f = {0};" initialization
- # pattern.
- '-Wno-missing-field-initializers',
- ],
- 'conditions': [
- ['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',
- # Clang spots more unused functions.
- '-Wno-unused-function',
- # Survive EXPECT_EQ(unnamed_enum, unsigned int) -- see
- # http://code.google.com/p/googletest/source/detail?r=446 .
- # TODO(thakis): Use -isystem instead (http://crbug.com/58751 ).
- '-Wno-unnamed-type-template-args',
- ],
- 'OTHER_CFLAGS': [
- # TODO(thakis): Causes many warnings - http://crbug.com/75001
- '-fobjc-exceptions',
- ],
- }],
- ['clang==1 and clang_use_chrome_plugins==1', {
- 'OTHER_CFLAGS': [
- '<(clang_chrome_plugins_flags)',
- ],
- }],
- ['clang==1 and clang_load!="" and clang_add_plugin!=""', {
- 'OTHER_CFLAGS': [
- '-Xclang', '-load', '-Xclang', '<(clang_load)',
- '-Xclang', '-add-plugin', '-Xclang', '<(clang_add_plugin)',
- ],
- }],
- ],
- },
- 'target_conditions': [
- ['_type!="static_library"', {
- 'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-search_paths_first']},
- }],
- ['_mac_bundle', {
- 'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-ObjC']},
- }],
- ['(_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
- # debug information format to dwarf-with-dsym. Since
- # strip_from_xcode will not be used, set Xcode to do the
- # stripping as well.
- 'configurations': {
- 'Release_Base': {
- 'xcode_settings': {
- 'DEBUG_INFORMATION_FORMAT': 'dwarf-with-dsym',
- 'DEPLOYMENT_POSTPROCESSING': 'YES',
- 'STRIP_INSTALLED_PRODUCT': 'YES',
- 'target_conditions': [
- ['_type=="shared_library" or _type=="loadable_module"', {
- # The Xcode default is to strip debugging symbols
- # only (-S). Local symbols should be stripped as
- # well, which will be handled by -x. Xcode will
- # continue to insert -S when stripping even when
- # additional flags are added with STRIPFLAGS.
- 'STRIPFLAGS': '-x',
- }], # _type=="shared_library" or _type=="loadable_module"'
- ], # target_conditions
- }, # xcode_settings
- }, # configuration "Release"
- }, # configurations
- }, { # mac_real_dsym != 1
- # To get a fast fake .dSYM bundle, use a post-build step to
- # produce the .dSYM and strip the executable. strip_from_xcode
- # only operates in the Release configuration.
- 'postbuilds': [
- {
- 'variables': {
- # Define strip_from_xcode in a variable ending in _path
- # so that gyp understands it's a path and performs proper
- # relativization during dict merging.
- 'strip_from_xcode_path': 'mac/strip_from_xcode',
- },
- 'postbuild_name': 'Strip If Needed',
- 'action': ['<(strip_from_xcode_path)'],
- },
- ], # postbuilds
- }], # mac_real_dsym
- ], # target_conditions
- }], # (_type=="executable" or _type=="shared_library" or
- # _type=="loadable_module") and mac_strip!=0
- ], # target_conditions
- }, # target_defaults
- }], # OS=="mac"
- ['OS=="win"', {
- 'target_defaults': {
- 'defines': [
- '_WIN32_WINNT=0x0600',
- 'WINVER=0x0600',
- 'WIN32',
- '_WINDOWS',
- 'NOMINMAX',
- '_CRT_RAND_S',
- 'CERT_CHAIN_PARA_HAS_EXTRA_FIELDS',
- 'WIN32_LEAN_AND_MEAN',
- '_SECURE_ATL',
- '_ATL_NO_OPENGL',
- '_HAS_TR1=0',
- ],
- 'conditions': [
- ['component=="static_library"', {
- 'defines': [
- '_HAS_EXCEPTIONS=0',
- ],
- }],
- ],
- 'msvs_system_include_dirs': [
- '<(DEPTH)/third_party/platformsdk_win7/files/Include',
- '<(DEPTH)/third_party/directxsdk/files/Include',
- '$(VSInstallDir)/VC/atlmfc/include',
- ],
- 'msvs_cygwin_dirs': ['<(DEPTH)/third_party/cygwin'],
- 'msvs_disabled_warnings': [4351, 4396, 4503, 4819],
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'MinimalRebuild': 'false',
- 'BufferSecurityCheck': 'true',
- 'EnableFunctionLevelLinking': 'true',
- 'RuntimeTypeInfo': 'false',
- 'WarningLevel': '3',
- 'WarnAsError': 'true',
- 'DebugInformationFormat': '3',
- 'conditions': [
- [ 'msvs_multi_core_compile', {
- 'AdditionalOptions': ['/MP'],
- }],
- ['component=="shared_library"', {
- 'ExceptionHandling': '1', # /EHsc
- }, {
- 'ExceptionHandling': '0',
- }],
- ],
- },
- 'VCLibrarianTool': {
- 'AdditionalOptions': ['/ignore:4221'],
- 'AdditionalLibraryDirectories': [
- '<(DEPTH)/third_party/platformsdk_win7/files/Lib',
- '<(DEPTH)/third_party/directxsdk/files/Lib/x86',
- ],
- },
- 'VCLinkerTool': {
- 'AdditionalDependencies': [
- 'wininet.lib',
- 'dnsapi.lib',
- 'version.lib',
- 'msimg32.lib',
- 'ws2_32.lib',
- 'usp10.lib',
- 'psapi.lib',
- 'dbghelp.lib',
- ],
- 'AdditionalLibraryDirectories': [
- '<(DEPTH)/third_party/platformsdk_win7/files/Lib',
- '<(DEPTH)/third_party/directxsdk/files/Lib/x86',
- ],
- 'GenerateDebugInformation': 'true',
- 'MapFileName': '$(OutDir)\\$(TargetName).map',
- 'ImportLibrary': '$(OutDir)\\lib\\$(TargetName).lib',
- 'FixedBaseAddress': '1',
- # SubSystem values:
- # 0 == not set
- # 1 == /SUBSYSTEM:CONSOLE
- # 2 == /SUBSYSTEM:WINDOWS
- # Most of the executables we'll ever create are tests
- # and utilities with console output.
- 'SubSystem': '1',
- },
- 'VCMIDLTool': {
- 'GenerateStublessProxies': 'true',
- 'TypeLibraryName': '$(InputName).tlb',
- 'OutputDirectory': '$(IntDir)',
- 'HeaderFileName': '$(InputName).h',
- 'DLLDataFileName': 'dlldata.c',
- 'InterfaceIdentifierFileName': '$(InputName)_i.c',
- 'ProxyFileName': '$(InputName)_p.c',
- },
- 'VCResourceCompilerTool': {
- 'Culture' : '1033',
- 'AdditionalIncludeDirectories': [
- '<(DEPTH)',
- '<(SHARED_INTERMEDIATE_DIR)',
- ],
- },
- },
- },
- }],
- ['disable_nacl==1 or OS=="freebsd" or OS=="openbsd" or OS=="solaris"', {
- 'target_defaults': {
- 'defines': [
- 'DISABLE_NACL',
- ],
- },
- }],
- ['OS=="win" and msvs_use_common_linker_extras', {
- 'target_defaults': {
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'DelayLoadDLLs': [
- 'dbghelp.dll',
- 'dwmapi.dll',
- 'uxtheme.dll',
- ],
- },
- },
- 'configurations': {
- 'x86_Base': {
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'AdditionalOptions': [
- '/safeseh',
- '/dynamicbase',
- '/ignore:4199',
- '/ignore:4221',
- '/nxcompat',
- ],
- },
- },
- },
- 'x64_Base': {
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'AdditionalOptions': [
- # safeseh is not compatible with x64
- '/dynamicbase',
- '/ignore:4199',
- '/ignore:4221',
- '/nxcompat',
- ],
- },
- },
- },
- },
- },
- }],
- ['enable_new_npdevice_api==1', {
- 'target_defaults': {
- 'defines': [
- 'ENABLE_NEW_NPDEVICE_API',
- ],
- },
- }],
- ],
- 'xcode_settings': {
- # DON'T ADD ANYTHING NEW TO THIS BLOCK UNLESS YOU REALLY REALLY NEED IT!
- # This block adds *project-wide* configuration settings to each project
- # file. It's almost always wrong to put things here. Specify your
- # custom xcode_settings in target_defaults to add them to targets instead.
-
- # In an Xcode Project Info window, the "Base SDK for All Configurations"
- # setting sets the SDK on a project-wide basis. In order to get the
- # configured SDK to show properly in the Xcode UI, SDKROOT must be set
- # here at the project level.
- 'SDKROOT': 'macosx<(mac_sdk)', # -isysroot
-
- # The Xcode generator will look for an xcode_settings section at the root
- # of each dict and use it to apply settings on a file-wide basis. Most
- # settings should not be here, they should be in target-specific
- # xcode_settings sections, or better yet, should use non-Xcode-specific
- # settings in target dicts. SYMROOT is a special case, because many other
- # Xcode variables depend on it, including variables such as
- # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something
- # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the
- # files to appear (when present) in the UI as actual files and not red
- # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR,
- # and therefore SYMROOT, needs to be set at the project level.
- 'SYMROOT': '<(DEPTH)/xcodebuild',
- },
-}
-
-# Local Variables:
-# tab-width:2
-# indent-tabs-mode:nil
-# End:
-# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/build/compiler_version.py b/build/compiler_version.py
deleted file mode 100755
index 69f0a50..0000000
--- a/build/compiler_version.py
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (c) 2009 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.
-
-"""Compiler version checking tool for gcc
-
-Print gcc version as XY if you are running gcc X.Y.*.
-This is used to tweak build flags for gcc 4.4.
-"""
-
-import os
-import re
-import subprocess
-import sys
-
-def GetVersion(compiler):
- try:
- # Note that compiler could be something tricky like "distcc g++".
- compiler = compiler + " -dumpversion"
- pipe = subprocess.Popen(compiler, stdout=subprocess.PIPE, shell=True)
- gcc_output = pipe.communicate()[0]
- result = re.match(r"(\d+)\.(\d+)", gcc_output)
- return result.group(1) + result.group(2)
- except Exception, e:
- print >> sys.stderr, "compiler_version.py failed to execute:", compiler
- print >> sys.stderr, e
- return ""
-
-def main():
- # Check if CXX environment variable exists and
- # if it does use that compiler.
- cxx = os.getenv("CXX", None)
- if cxx:
- cxxversion = GetVersion(cxx)
- if cxxversion != "":
- print cxxversion
- return 0
- else:
- # Otherwise we check the g++ version.
- gccversion = GetVersion("g++")
- if gccversion != "":
- print gccversion
- return 0
-
- return 1
-
-if __name__ == "__main__":
- sys.exit(main())
diff --git a/build/dir_exists.py b/build/dir_exists.py
deleted file mode 100644
index d1c194f..0000000
--- a/build/dir_exists.py
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/usr/bin/env python
-# Copyright (c) 2009 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.path
-import sys
-
-sys.stdout.write(str(os.path.isdir(sys.argv[1])))
-sys.exit(0)
diff --git a/build/extract_from_cab.py b/build/extract_from_cab.py
deleted file mode 100644
index fd99184..0000000
--- a/build/extract_from_cab.py
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/usr/bin/env python
-# Copyright (c) 2009 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.
-
-# Extracts a single file from a CAB archive.
-
-import os
-import subprocess
-import sys
-
-if len(sys.argv) != 4:
- print 'Usage: extract_from_cab.py cab_path archived_file output_dir'
- sys.exit(1)
-
-[cab_path, archived_file, output_dir] = sys.argv[1:]
-
-# Invoke the Windows expand utility to extract the file.
-level = subprocess.call(['expand', cab_path, '-F:' + archived_file, output_dir])
-if level != 0:
- sys.exit(level)
-
-# The expand utility preserves the modification date and time of the archived
-# file. Touch the extracted file. This helps build systems that compare the
-# modification times of input and output files to determine whether to do an
-# action.
-os.utime(os.path.join(output_dir, archived_file), None)
diff --git a/build/features_override.gypi b/build/features_override.gypi
deleted file mode 100644
index 3030d43..0000000
--- a/build/features_override.gypi
+++ /dev/null
@@ -1,108 +0,0 @@
-# Copyright (c) 2009 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.
-
-# This file is only included in full-chromium builds, and overrides the
-# feature_defines variable in
-# third_party/WebKit/Source/WebKit/chromium/features.gypi.
-{
- 'variables': {
- # WARNING: This list of strings completely replaces the list in
- # features.gypi. Therefore, if an enable is listed in features.gypi
- # but not listed below, it will revert to its hardcoded webkit value.
- 'feature_defines': [
- # TODO(kbr): remove ENABLE_3D_CANVAS after renaming to ENABLE_WEBGL lands.
- 'ENABLE_3D_CANVAS=1',
- 'ENABLE_3D_PLUGIN=1',
- 'ENABLE_BLOB=1',
- 'ENABLE_BLOB_SLICE=1',
- 'ENABLE_CHANNEL_MESSAGING=1',
- 'ENABLE_CLIENT_BASED_GEOLOCATION=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_JAVASCRIPT_I18N_API=1',
- 'ENABLE_FILE_SYSTEM=1',
- 'ENABLE_FILTERS=1',
- 'ENABLE_FULLSCREEN_API=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_MEDIA_STATISTICS=1',
- 'ENABLE_NOTIFICATIONS=1',
- 'ENABLE_OFFLINE_WEB_APPLICATIONS=1',
- 'ENABLE_OPENTYPE_SANITIZER=1',
- 'ENABLE_ORIENTATION_EVENTS=0',
- 'ENABLE_PROGRESS_TAG=1',
- 'ENABLE_REQUEST_ANIMATION_FRAME=1',
- 'ENABLE_RUBY=1',
- 'ENABLE_SANDBOX=1',
- 'ENABLE_SHARED_WORKERS=1',
- 'ENABLE_SKIA_GPU=<(use_skia_gpu)',
- 'ENABLE_SVG=<(enable_svg)',
- 'ENABLE_SVG_ANIMATION=<(enable_svg)',
- 'ENABLE_SVG_AS_IMAGE=<(enable_svg)',
- 'ENABLE_SVG_FONTS=<(enable_svg)',
- 'ENABLE_SVG_FOREIGN_OBJECT=<(enable_svg)',
- 'ENABLE_SVG_USE=<(enable_svg)',
- 'ENABLE_TOUCH_EVENTS=<(enable_touch_events)',
- 'ENABLE_V8_SCRIPT_DEBUG_SERVER=1',
- 'ENABLE_VIDEO=1',
- 'ENABLE_WEB_SOCKETS=1',
- 'ENABLE_WEB_TIMING=1',
- 'ENABLE_WEBGL=1',
- 'ENABLE_WORKERS=1',
- 'ENABLE_XHR_RESPONSE_BLOB=1',
- 'ENABLE_XPATH=1',
- 'ENABLE_XSLT=1',
- 'WTF_USE_BUILTIN_UTF8_CODEC=1',
- 'WTF_USE_WEBP=1',
- 'WTF_USE_WEBKIT_IMAGE_DECODERS=1',
- ],
- # We have to nest variables inside variables so that they can be overridden
- # through GYP_DEFINES.
- 'variables': {
- 'use_accelerated_compositing%': 1,
- 'enable_svg%': 1,
- 'enable_touch_events%': 1,
- 'use_skia_gpu%': 0,
- },
- 'use_accelerated_compositing%': '<(use_accelerated_compositing)',
- 'enable_svg%': '<(enable_svg)',
- 'enable_touch_events%': '<(enable_touch_events)',
- 'conditions': [
- ['(OS=="win" or OS=="linux" or OS=="mac") and use_accelerated_compositing==1', {
- 'feature_defines': [
- 'WTF_USE_ACCELERATED_COMPOSITING=1',
- 'ENABLE_3D_RENDERING=1',
- 'ENABLE_ACCELERATED_2D_CANVAS=1',
- ],
- 'use_accelerated_compositing': 1,
- }],
- ['OS=="mac"', {
- 'feature_defines': [
- 'ENABLE_WEB_AUDIO=1',
- ],
- }],
- ],
- # TODO: If the need arises, create a mechanism that will intelligently
- # merge the lists rather than replace one with the other. This may
- # require changes in gyp.
- },
-
-}
-
-# Local Variables:
-# tab-width:2
-# indent-tabs-mode:nil
-# End:
-# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/build/gyp_chromium b/build/gyp_chromium
deleted file mode 100755
index 7709d07..0000000
--- a/build/gyp_chromium
+++ /dev/null
@@ -1,143 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (c) 2009 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.
-
-# This script is wrapper for Chromium that adds some support for how GYP
-# is invoked by Chromium beyond what can be done in the gclient hooks.
-
-import glob
-import os
-import shlex
-import subprocess
-import sys
-
-script_dir = os.path.dirname(__file__)
-chrome_src = os.path.normpath(os.path.join(script_dir, os.pardir))
-
-sys.path.insert(0, os.path.join(chrome_src, 'tools', 'gyp', 'pylib'))
-import gyp
-
-def apply_gyp_environment(file_path=None):
- """
- Reads in a *.gyp_env file and applies the valid keys to os.environ.
- """
- if not file_path or not os.path.exists(file_path):
- return
- file_contents = open(file_path).read()
- try:
- file_data = eval(file_contents, {'__builtins__': None}, None)
- except SyntaxError, e:
- e.filename = os.path.abspath(file_path)
- raise
- supported_vars = ( 'CHROMIUM_GYP_FILE',
- 'CHROMIUM_GYP_SYNTAX_CHECK',
- 'GYP_DEFINES',
- 'GYP_GENERATOR_FLAGS',
- 'GYP_GENERATOR_OUTPUT', )
- for var in supported_vars:
- val = file_data.get(var)
- if val:
- if var in os.environ:
- print 'INFO: Environment value for "%s" overrides value in %s.' % (
- var, os.path.abspath(file_path)
- )
- else:
- os.environ[var] = val
-
-def additional_include_files(args=[]):
- """
- Returns a list of additional (.gypi) files to include, without
- duplicating ones that are already specified on the command line.
- """
- # Determine the include files specified on the command line.
- # This doesn't cover all the different option formats you can use,
- # but it's mainly intended to avoid duplicating flags on the automatic
- # makefile regeneration which only uses this format.
- specified_includes = set()
- for arg in args:
- if arg.startswith('-I') and len(arg) > 2:
- specified_includes.add(os.path.realpath(arg[2:]))
-
- result = []
- def AddInclude(path):
- if os.path.realpath(path) not in specified_includes:
- result.append(path)
-
- # Always include common.gypi & features_override.gypi
- AddInclude(os.path.join(script_dir, 'common.gypi'))
- AddInclude(os.path.join(script_dir, 'features_override.gypi'))
-
- # Optionally add supplemental .gypi files if present.
- supplements = glob.glob(os.path.join(chrome_src, '*', 'supplement.gypi'))
- for supplement in supplements:
- AddInclude(supplement)
-
- return result
-
-if __name__ == '__main__':
- args = sys.argv[1:]
-
- # Fall back on hermetic python if we happen to get run under cygwin.
- # TODO(bradnelson): take this out once this issue is fixed:
- # http://code.google.com/p/gyp/issues/detail?id=177
- if sys.platform == 'cygwin':
- python_dir = os.path.join(chrome_src, 'third_party', 'python_26')
- env = os.environ.copy()
- env['PATH'] = python_dir + os.pathsep + env.get('PATH', '')
- p = subprocess.Popen(
- [os.path.join(python_dir, 'python.exe')] + sys.argv,
- env=env, shell=False)
- p.communicate()
- sys.exit(p.returncode)
-
- if 'SKIP_CHROMIUM_GYP_ENV' not in os.environ:
- # Update the environment based on chromium.gyp_env
- gyp_env_path = os.path.join(os.path.dirname(chrome_src), 'chromium.gyp_env')
- apply_gyp_environment(gyp_env_path)
-
- # This could give false positives since it doesn't actually do real option
- # parsing. Oh well.
- gyp_file_specified = False
- for arg in args:
- if arg.endswith('.gyp'):
- gyp_file_specified = True
- break
-
- # If we didn't get a file, check an env var, and then fall back to
- # assuming 'all.gyp' from the same directory as the script.
- if not gyp_file_specified:
- gyp_file = os.environ.get('CHROMIUM_GYP_FILE')
- if gyp_file:
- # Note that CHROMIUM_GYP_FILE values can't have backslashes as
- # path separators even on Windows due to the use of shlex.split().
- args.extend(shlex.split(gyp_file))
- else:
- args.append(os.path.join(script_dir, 'all.gyp'))
-
- args.extend(['-I' + i for i in additional_include_files(args)])
-
- # There shouldn't be a circular dependency relationship between .gyp files,
- # but in Chromium's .gyp files, on non-Mac platforms, circular relationships
- # currently exist. The check for circular dependencies is currently
- # bypassed on other platforms, but is left enabled on the Mac, where a
- # violation of the rule causes Xcode to misbehave badly.
- # TODO(mark): Find and kill remaining circular dependencies, and remove this
- # option. http://crbug.com/35878.
- # TODO(tc): Fix circular dependencies in ChromiumOS then add linux2 to the
- # list.
- if sys.platform not in ('darwin',):
- args.append('--no-circular-check')
-
- # If CHROMIUM_GYP_SYNTAX_CHECK is set to 1, it will invoke gyp with --check
- # to enfore syntax checking.
- syntax_check = os.environ.get('CHROMIUM_GYP_SYNTAX_CHECK')
- if syntax_check and int(syntax_check):
- args.append('--check')
-
- print 'Updating projects from gyp files...'
- sys.stdout.flush()
-
- # Off we go...
- sys.exit(gyp.main(args))
diff --git a/build/install-build-deps.sh b/build/install-build-deps.sh
deleted file mode 100755
index 4663763..0000000
--- a/build/install-build-deps.sh
+++ /dev/null
@@ -1,508 +0,0 @@
-#!/bin/bash -e
-
-# Copyright (c) 2009 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.
-
-# Script to install everything needed to build chromium (well, ideally, anyway)
-# See http://code.google.com/p/chromium/wiki/LinuxBuildInstructions
-# and http://code.google.com/p/chromium/wiki/LinuxBuild64Bit
-
-usage() {
- echo "Usage: $0 [--options]"
- echo "Options:"
- echo "--[no-]syms: enable or disable installation of debugging symbols"
- echo "--[no-]gold: enable or disable installation of gold linker"
- echo "--[no-]lib32: enable or disable installation of 32 bit libraries"
- echo "Script will prompt interactively if options not given."
- exit 1
-}
-
-while test "$1" != ""
-do
- case "$1" in
- --syms) do_inst_syms=1;;
- --no-syms) do_inst_syms=0;;
- --gold) do_inst_gold=1;;
- --no-gold) do_inst_gold=0;;
- --lib32) do_inst_lib32=1;;
- --no-lib32) do_inst_lib32=0;;
- *) usage;;
- esac
- shift
-done
-
-install_gold() {
- # Gold is optional; it's a faster replacement for ld,
- # and makes life on 2GB machines much more pleasant.
-
- # First make sure root can access this directory, as that's tripped
- # up some folks.
- if sudo touch xyz.$$
- then
- sudo rm xyz.$$
- else
- echo root cannot write to the current directory, not installing gold
- return
- fi
-
- BINUTILS=binutils-2.21
- BINUTILS_URL=http://ftp.gnu.org/gnu/binutils/$BINUTILS.tar.bz2
- BINUTILS_SHA1=ef93235588eb443e4c4a77f229a8d131bccaecc6
-
- test -f $BINUTILS.tar.bz2 || wget $BINUTILS_URL
- if test "`sha1sum $BINUTILS.tar.bz2|cut -d' ' -f1`" != "$BINUTILS_SHA1"
- then
- echo Bad sha1sum for $BINUTILS.tar.bz2
- exit 1
- fi
-
- tar -xjvf $BINUTILS.tar.bz2
- cd $BINUTILS
- patch -p1 <<EOF
-diff -u -r1.103 -r1.103.2.1
---- src/gold/object.h 2010/09/08 23:54:51 1.103
-+++ src/gold/object.h 2011/02/10 01:15:28 1.103.2.1
-@@ -1,6 +1,6 @@
- // object.h -- support for an object file for linking in gold -*- C++ -*-
-
--// Copyright 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
-+// Copyright 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
- // Written by Ian Lance Taylor <iant@google.com>.
-
- // This file is part of gold.
-@@ -2165,15 +2165,6 @@
- Output_symtab_xindex*,
- Output_symtab_xindex*);
-
-- // Clear the local symbol information.
-- void
-- clear_local_symbols()
-- {
-- this->local_values_.clear();
-- this->local_got_offsets_.clear();
-- this->local_plt_offsets_.clear();
-- }
--
- // Record a mapping from discarded section SHNDX to the corresponding
- // kept section.
- void
-diff -u -r1.60 -r1.60.2.1
---- src/gold/reloc.cc 2010/10/14 22:10:22 1.60
-+++ src/gold/reloc.cc 2011/02/10 01:15:28 1.60.2.1
-@@ -1,6 +1,6 @@
- // reloc.cc -- relocate input files for gold.
-
--// Copyright 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
-+// Copyright 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
- // Written by Ian Lance Taylor <iant@google.com>.
-
- // This file is part of gold.
-@@ -685,9 +685,6 @@
- // Write out the local symbols.
- this->write_local_symbols(of, layout->sympool(), layout->dynpool(),
- layout->symtab_xindex(), layout->dynsym_xindex());
--
-- // We should no longer need the local symbol values.
-- this->clear_local_symbols();
- }
-
- // Sort a Read_multiple vector by file offset.
-EOF
- ./configure --prefix=/usr/local/gold --enable-gold --enable-threads
- make maybe-all-binutils maybe-all-gold -j4
- if sudo make maybe-install-binutils maybe-install-gold
- then
- # Still need to figure out graceful way of pointing gyp to use
- # /usr/local/gold/bin/ld without requiring him to set environment
- # variables. That will go into bootstrap-linux.sh when it's ready.
- echo "Installing gold as /usr/bin/ld."
- echo "To uninstall, do 'cd /usr/bin; sudo rm ld; sudo mv ld.orig ld'"
- test -f /usr/bin/ld && test ! -f /usr/bin/ld.orig && \
- sudo mv /usr/bin/ld /usr/bin/ld.orig
- sudo strip /usr/local/gold/bin/ld
- sudo ln -fs /usr/local/gold/bin/ld /usr/bin/ld.gold
- sudo ln -fs /usr/bin/ld.gold /usr/bin/ld
- else
- echo "make install failed, not installing gold"
- fi
-}
-
-if ! egrep -q \
- 'Ubuntu (8\.04|8\.10|9\.04|9\.10|10\.04|10\.10|karmic|lucid|maverick)' \
- /etc/issue; then
- echo "Only Ubuntu 8.04 (hardy) through 10.10 (maverick) are currently" \
- "supported" >&2
- exit 1
-fi
-
-if ! uname -m | egrep -q "i686|x86_64"; then
- echo "Only x86 architectures are currently supported" >&2
- exit
-fi
-
-if [ "x$(id -u)" != x0 ]; then
- echo "Running as non-root user."
- echo "You might have to enter your password one or more times for 'sudo'."
- echo
-fi
-
-# Packages needed for chromeos only
-chromeos_dev_list="libpulse-dev"
-
-# Packages need for development
-dev_list="apache2 bison fakeroot flex g++ gperf libapache2-mod-php5
- libasound2-dev libbz2-dev libcairo2-dev libdbus-glib-1-dev
- libgconf2-dev libgl1-mesa-dev libglu1-mesa-dev libglib2.0-dev
- libgnome-keyring-dev libgtk2.0-dev libjpeg62-dev libnspr4-dev
- libnss3-dev libpam0g-dev libsqlite3-dev libxslt1-dev libxss-dev
- libxtst-dev lighttpd mesa-common-dev msttcorefonts patch perl
- php5-cgi pkg-config python python-dev rpm subversion ttf-dejavu-core
- ttf-kochi-gothic ttf-kochi-mincho wdiff libcurl4-gnutls-dev
- $chromeos_dev_list"
-
-# Run-time libraries required by chromeos only
-chromeos_lib_list="libpulse0 libbz2-1.0 libcurl4-gnutls-dev"
-
-# Full list of required run-time libraries
-lib_list="libatk1.0-0 libc6 libasound2 libcairo2 libdbus-glib-1-2 libexpat1
- libfontconfig1 libfreetype6 libglib2.0-0 libgnome-keyring0 libgtk2.0-0
- libnspr4-0d libnss3-1d libpam0g libpango1.0-0 libpcre3 libpixman-1-0
- libpng12-0 libstdc++6 libsqlite3-0 libx11-6 libxau6 libxcb1
- libxcomposite1 libxcursor1 libxdamage1 libxdmcp6 libxext6 libxfixes3
- libxi6 libxinerama1 libxrandr2 libxrender1 libxtst6 zlib1g
- $chromeos_lib_list"
-
-# Debugging symbols for all of the run-time libraries
-dbg_list="libatk1.0-dbg libc6-dbg libcairo2-dbg
- libfontconfig1-dbg libglib2.0-0-dbg libgtk2.0-0-dbg libnspr4-0d-dbg
- libnss3-1d-dbg libpango1.0-0-dbg libpcre3-dbg libpixman-1-0-dbg
- libx11-6-dbg libxau6-dbg libxcb1-dbg libxcomposite1-dbg
- libxcursor1-dbg libxdamage1-dbg libxdmcp6-dbg libxext6-dbg
- libxfixes3-dbg libxi6-dbg libxinerama1-dbg libxrandr2-dbg
- libxrender1-dbg libxtst6-dbg zlib1g-dbg"
-
-# CUPS package changed its name from hardy to the next version. Include
-# proper package here depending on the system.
-if egrep -q 'Ubuntu (8\.04|8\.10)' /etc/issue; then
- dev_list="${dev_list} libcupsys2-dev"
-else
- dev_list="${dev_list} libcups2-dev"
-fi
-
-# Waits for the user to press 'Y' or 'N'. Either uppercase of lowercase is
-# accepted. Returns 0 for 'Y' and 1 for 'N'. If an optional parameter has
-# been provided to yes_no(), the function also accepts RETURN as a user input.
-# The parameter specifies the exit code that should be returned in that case.
-# The function will echo the user's selection followed by a newline character.
-# Users can abort the function by pressing CTRL-C. This will call "exit 1".
-yes_no() {
- local c
- while :; do
- c="$(trap 'stty echo -iuclc icanon 2>/dev/null' EXIT INT TERM QUIT
- stty -echo iuclc -icanon 2>/dev/null
- dd count=1 bs=1 2>/dev/null | od -An -tx1)"
- case "$c" in
- " 0a") if [ -n "$1" ]; then
- [ $1 -eq 0 ] && echo "Y" || echo "N"
- return $1
- fi
- ;;
- " 79") echo "Y"
- return 0
- ;;
- " 6e") echo "N"
- return 1
- ;;
- "") echo "Aborted" >&2
- exit 1
- ;;
- *) # The user pressed an unrecognized key. As we are not echoing
- # any incorrect user input, alert the user by ringing the bell.
- (tput bel) 2>/dev/null
- ;;
- esac
- done
-}
-
-if test "$do_inst_syms" = ""
-then
- echo "This script installs all tools and libraries needed to build Chromium."
- echo ""
- echo "For most of the libraries, it can also install debugging symbols, which"
- echo "will allow you to debug code in the system libraries. Most developers"
- echo "won't need these symbols."
- echo -n "Do you want me to install them for you (y/N) "
- if yes_no 1; then
- do_inst_syms=1
- fi
-fi
-if test "$do_inst_syms" = "1"; then
- echo "Installing debugging symbols."
-else
- echo "Skipping installation of debugging symbols."
- dbg_list=
-fi
-
-sudo apt-get update
-
-# We initially run "apt-get" with the --reinstall option and parse its output.
-# This way, we can find all the packages that need to be newly installed
-# without accidentally promoting any packages from "auto" to "manual".
-# We then re-run "apt-get" with just the list of missing packages.
-echo "Finding missing packages..."
-packages="${dev_list} ${lib_list} ${dbg_list}"
-# Intentially leaving $packages unquoted so it's more readable.
-echo "Packages required: " $packages
-echo
-new_list_cmd="sudo apt-get install --reinstall $(echo $packages)"
-if new_list="$(yes n | LANG=C $new_list_cmd)"; then
- # We probably never hit this following line.
- echo "No missing packages, and the packages are up-to-date."
-elif [ $? -eq 1 ]; then
- # We expect apt-get to have exit status of 1.
- # This indicates that we canceled the install with "yes n|".
- new_list=$(echo "$new_list" |
- sed -e '1,/The following NEW packages will be installed:/d;s/^ //;t;d')
- new_list=$(echo "$new_list" | sed 's/ *$//')
- if [ -z "$new_list" ] ; then
- echo "No missing packages, and the packages are up-to-date."
- else
- echo "Installing missing packages: $new_list."
- sudo apt-get install ${new_list}
- fi
- echo
-else
- # An apt-get exit status of 100 indicates that a real error has occurred.
-
- # I am intentionally leaving out the '"'s around new_list_cmd,
- # as this makes it easier to cut and paste the output
- echo "The following command failed: " ${new_list_cmd}
- echo
- echo "It produces the following output:"
- yes n | $new_list_cmd || true
- echo
- echo "You will have to install the above packages yourself."
- echo
- exit 100
-fi
-
-# Some operating systems already ship gold (on recent Debian and
-# Ubuntu you can do "apt-get install binutils-gold" to get it), but
-# older releases didn't. Additionally, gold 2.20 (included in Ubuntu
-# Lucid) makes binaries that just segfault, and 2.20.1 does not support
-# --map-whole-files.
-# So install from source if we don't have a good version.
-
-case `ld --version` in
-*gold*2.2[1-9].*) ;;
-* )
- if test "$do_inst_gold" = ""
- then
- echo "Gold is a new linker that links Chrome 5x faster than ld."
- echo "Don't use it if you need to link other apps (e.g. valgrind, wine)"
- echo -n "REPLACE SYSTEM LINKER ld with gold and back up ld? (y/N) "
- if yes_no 1; then
- do_inst_gold=1
- fi
- fi
- if test "$do_inst_gold" = "1"
- then
- # If the system provides a good version of gold, just install it.
- if apt-cache show binutils-gold | grep -Eq 'Version: 2.2[1-9].*'; then
- echo "Installing binutils-gold. Backing up ld as ld.single."
- sudo apt-get install binutils-gold
- else
- # FIXME: avoid installing as /usr/bin/ld
- echo "Building binutils. Backing up ld as ld.orig."
- install_gold || exit 99
- fi
- else
- echo "Not installing gold."
- fi
-esac
-
-# Install 32bit backwards compatibility support for 64bit systems
-if [ "$(uname -m)" = "x86_64" ]; then
- if test "$do_inst_lib32" = ""
- then
- echo "Installing 32bit libraries not already provided by the system"
- echo
- echo "This is only needed to build a 32-bit Chrome on your 64-bit system."
- echo
- echo "While we only need to install a relatively small number of library"
- echo "files, we temporarily need to download a lot of large *.deb packages"
- echo "that contain these files. We will create new *.deb packages that"
- echo "include just the 32bit libraries. These files will then be found on"
- echo "your system in places like /lib32, /usr/lib32, /usr/lib/debug/lib32,"
- echo "/usr/lib/debug/usr/lib32. If you ever need to uninstall these files,"
- echo "look for packages named *-ia32.deb."
- echo "Do you want me to download all packages needed to build new 32bit"
- echo -n "package files (Y/n) "
- if yes_no 0; then
- do_inst_lib32=1
- fi
- fi
- if test "$do_inst_lib32" != "1"
- then
- echo "Exiting without installing any 32bit libraries."
- exit 0
- fi
-
- # Standard 32bit compatibility libraries
- echo "First, installing the limited existing 32-bit support..."
- cmp_list="ia32-libs lib32asound2-dev lib32readline5-dev lib32stdc++6 lib32z1
- lib32z1-dev libc6-dev-i386 libc6-i386 g++-multilib"
- sudo apt-get install $cmp_list
-
- tmp=/tmp/install-32bit.$$
- trap 'rm -rf "${tmp}"' EXIT INT TERM QUIT
- mkdir -p "${tmp}/apt/lists/partial" "${tmp}/cache" "${tmp}/partial"
- touch "${tmp}/status"
-
- [ -r /etc/apt/apt.conf ] && cp /etc/apt/apt.conf "${tmp}/apt/"
- cat >>"${tmp}/apt/apt.conf" <<EOF
- Apt::Architecture "i386";
- Dir::Cache "${tmp}/cache";
- Dir::Cache::Archives "${tmp}/";
- Dir::State::Lists "${tmp}/apt/lists/";
- Dir::State::status "${tmp}/status";
-EOF
-
- # Download 32bit packages
- echo "Computing list of available 32bit packages..."
- sudo apt-get -c="${tmp}/apt/apt.conf" update
-
- echo "Downloading available 32bit packages..."
- sudo apt-get -c="${tmp}/apt/apt.conf" \
- --yes --download-only --force-yes --reinstall install \
- ${lib_list} ${dbg_list}
-
- # Open packages, remove everything that is not a library, move the
- # library to a lib32 directory and package everything as a *.deb file.
- echo "Repackaging and installing 32bit packages for use on 64bit systems..."
- for i in ${lib_list} ${dbg_list}; do
- orig="$(echo "${tmp}/${i}"_*_i386.deb)"
- compat="$(echo "${orig}" |
- sed -e 's,\(_[^_/]*_\)i386\(.deb\),-ia32\1amd64\2,')"
- rm -rf "${tmp}/staging"
- msg="$(fakeroot -u sh -exc '
- # Unpack 32bit Debian archive
- umask 022
- mkdir -p "'"${tmp}"'/staging/dpkg/DEBIAN"
- cd "'"${tmp}"'/staging"
- ar x "'${orig}'"
- tar zCfx dpkg data.tar.gz
- tar zCfx dpkg/DEBIAN control.tar.gz
-
- # Create a posix extended regular expression fragment that will
- # recognize the includes which have changed. Should be rare,
- # will almost always be empty.
- includes=`sed -n -e "s/^[0-9a-z]* //g" \
- -e "\,usr/include/,p" dpkg/DEBIAN/md5sums |
- xargs -n 1 -I FILE /bin/sh -c \
- "cmp -s dpkg/FILE /FILE || echo FILE" |
- tr "\n" "|" |
- sed -e "s,|$,,"`
-
- # If empty, set it to not match anything.
- test -z "$includes" && includes="^//"
-
- # Turn the conflicts into an extended RE for removal from the
- # Provides line.
- conflicts=`sed -n -e "/Conflicts/s/Conflicts: *//;T;s/, */|/g;p" \
- dpkg/DEBIAN/control`
-
- # Rename package, change architecture, remove conflicts and dependencies
- sed -r -i \
- -e "/Package/s/$/-ia32/" \
- -e "/Architecture/s/:.*$/: amd64/" \
- -e "/Depends/s/:.*/: ia32-libs/" \
- -e "/Provides/s/($conflicts)(, *)?//g;T1;s/, *$//;:1" \
- -e "/Recommends/d" \
- -e "/Conflicts/d" \
- dpkg/DEBIAN/control
-
- # Only keep files that live in "lib" directories or the includes
- # that have changed.
- sed -r -i \
- -e "/\/lib64\//d" -e "/\/.?bin\//d" \
- -e "\,$includes,s,[ /]include/,&32/,g;s,include/32/,include32/,g" \
- -e "s, lib/, lib32/,g" \
- -e "s,/lib/,/lib32/,g" \
- -e "t;d" \
- -e "\,^/usr/lib32/debug\(.*/lib32\),s,^/usr/lib32/debug,/usr/lib/debug," \
- dpkg/DEBIAN/md5sums
-
- # Re-run ldconfig after installation/removal
- { echo "#!/bin/sh"; echo "[ \"x\$1\" = xconfigure ]&&ldconfig||:"; } \
- >dpkg/DEBIAN/postinst
- { echo "#!/bin/sh"; echo "[ \"x\$1\" = xremove ]&&ldconfig||:"; } \
- >dpkg/DEBIAN/postrm
- chmod 755 dpkg/DEBIAN/postinst dpkg/DEBIAN/postrm
-
- # Remove any other control files
- find dpkg/DEBIAN -mindepth 1 "(" -name control -o -name md5sums -o \
- -name postinst -o -name postrm ")" -o -print |
- xargs -r rm -rf
-
- # Remove any files/dirs that live outside of "lib" directories,
- # or are not in our list of changed includes.
- find dpkg -mindepth 1 -regextype posix-extended \
- "(" -name DEBIAN -o -name lib -o -regex "dpkg/($includes)" ")" \
- -prune -o -print | tac |
- xargs -r -n 1 sh -c "rm \$0 2>/dev/null || rmdir \$0 2>/dev/null || : "
- find dpkg -name lib64 -o -name bin -o -name "?bin" |
- tac | xargs -r rm -rf
-
- # Remove any symbolic links that were broken by the above steps.
- find -L dpkg -type l -print | tac | xargs -r rm -rf
-
- # Rename lib to lib32, but keep debug symbols in /usr/lib/debug/usr/lib32
- # That is where gdb looks for them.
- find dpkg -type d -o -path "*/lib/*" -print |
- xargs -r -n 1 sh -c "
- i=\$(echo \"\${0}\" |
- sed -e s,/lib/,/lib32/,g \
- -e s,/usr/lib32/debug\\\\\(.*/lib32\\\\\),/usr/lib/debug\\\\1,);
- mkdir -p \"\${i%/*}\";
- mv \"\${0}\" \"\${i}\""
-
- # Rename include to include32.
- [ -d "dpkg/usr/include" ] && mv "dpkg/usr/include" "dpkg/usr/include32"
-
- # Prune any empty directories
- find dpkg -type d | tac | xargs -r -n 1 rmdir 2>/dev/null || :
-
- # Create our own Debian package
- cd ..
- dpkg --build staging/dpkg .' 2>&1)"
- compat="$(eval echo $(echo "${compat}" |
- sed -e 's,_[^_/]*_amd64.deb,_*_amd64.deb,'))"
- [ -r "${compat}" ] || {
- echo "${msg}" >&2
- echo "Failed to build new Debian archive!" >&2
- exit 1
- }
-
- msg="$(sudo dpkg -i "${compat}" 2>&1)" && {
- echo "Installed ${compat##*/}"
- } || {
- # echo "${msg}" >&2
- echo "Skipped ${compat##*/}"
- }
- done
-
- # Add symbolic links for developing 32bit code
- echo "Adding missing symbolic links, enabling 32bit code development..."
- for i in $(find /lib32 /usr/lib32 -maxdepth 1 -name \*.so.\* |
- sed -e 's/[.]so[.][0-9].*/.so/' |
- sort -u); do
- [ "x${i##*/}" = "xld-linux.so" ] && continue
- [ -r "$i" ] && continue
- j="$(ls "$i."* | sed -e 's/.*[.]so[.]\([^.]*\)$/\1/;t;d' |
- sort -n | tail -n 1)"
- [ -r "$i.$j" ] || continue
- sudo ln -s "${i##*/}.$j" "$i"
- done
-fi
diff --git a/build/install-chroot.sh b/build/install-chroot.sh
deleted file mode 100755
index b80aea0..0000000
--- a/build/install-chroot.sh
+++ /dev/null
@@ -1,325 +0,0 @@
-#!/bin/bash -e
-
-# Copyright (c) 2010 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.
-
-# This script installs Debian-derived distributions in a chroot environment.
-# It can for example be used to have an accurate 32bit build and test
-# environment when otherwise working on a 64bit machine.
-# N. B. it is unlikely that this script will ever work on anything other than a
-# Debian-derived system.
-
-usage() {
- echo "usage: ${0##*/} [-m mirror] [-g group,...] [-s] [-c]"
- echo "-g group,... groups that can use the chroot unauthenticated"
- echo " Default: 'admin' and current user's group ('$(id -gn)')"
- echo "-m mirror an alternate repository mirror for package downloads"
- echo "-s configure default deb-srcs"
- echo "-c always copy 64bit helper binaries to 32bit chroot"
- echo "-h this help message"
-}
-
-process_opts() {
- local OPTNAME OPTIND OPTERR OPTARG
- while getopts ":g:m:sch" OPTNAME; do
- case "$OPTNAME" in
- g)
- [ -n "${OPTARG}" ] &&
- chroot_groups="${chroot_groups}${chroot_groups:+,}${OPTARG}"
- ;;
- m)
- if [ -n "${mirror}" ]; then
- echo "You can only specify exactly one mirror location"
- usage
- exit 1
- fi
- mirror="$OPTARG"
- ;;
- s)
- add_srcs="y"
- ;;
- c)
- copy_64="y"
- ;;
- h)
- usage
- exit 0
- ;;
- \:)
- echo "'-$OPTARG' needs an argument."
- usage
- exit 1
- ;;
- *)
- echo "invalid command-line option: $OPTARG"
- usage
- exit 1
- ;;
- esac
- done
-
- if [ $# -ge ${OPTIND} ]; then
- eval echo "Unexpected command line argument: \${${OPTIND}}"
- usage
- exit 1
- fi
-}
-
-
-# Check that we are running as a regular user
-[ "$(id -nu)" = root ] && {
- echo "Run this script as a regular user and provide your \"sudo\"" \
- "password if requested" >&2
- exit 1
-}
-mkdir -p "$HOME/chroot/"
-
-process_opts "$@"
-
-# Error handler
-trap 'exit 1' INT TERM QUIT
-trap 'sudo apt-get clean; tput bel; echo; echo Failed' EXIT
-
-# Install any missing applications that this script relies on. If these packages
-# are already installed, don't force another "apt-get install". That would
-# prevent them from being auto-removed, if they ever become eligible for that.
-# And as this script only needs the packages once, there is no good reason to
-# introduce a hard dependency on things such as dchroot and debootstrap.
-dep=
-for i in dchroot debootstrap; do
- [ -d /usr/share/doc/"$i" ] || dep="$dep $i"
-done
-[ -n "$dep" ] && sudo apt-get -y install $dep
-sudo apt-get -y install schroot
-
-# Create directory for chroot
-sudo mkdir -p /var/lib/chroot
-
-# Find chroot environments that can be installed with debootstrap
-targets="$(cd /usr/share/debootstrap/scripts
- ls | grep '^[a-z]*$')"
-
-# Ask user to pick one of the available targets
-echo "The following targets are available to be installed in a chroot:"
-j=1; for i in $targets; do
- printf '%4d: %s\n' "$j" "$i"
- j=$(($j+1))
-done
-while :; do
- printf "Which target would you like to install: "
- read n
- [ "$n" -gt 0 -a "$n" -lt "$j" ] >&/dev/null && break
-done
-j=1; for i in $targets; do
- [ "$j" -eq "$n" ] && { distname="$i"; break; }
- j=$(($j+1))
-done
-
-# On x86-64, ask whether the user wants to install x86-32 or x86-64
-archflag=
-arch=
-if [ "$(uname -m)" = x86_64 ]; then
- while :; do
- echo "You are running a 64bit kernel. This allows you to install either a"
- printf "32bit or a 64bit chroot environment. %s" \
- "Which one do you want (32, 64) "
- read arch
- [ "${arch}" == 32 -o "${arch}" == 64 ] && break
- done
- [ "${arch}" == 32 ] && archflag="--arch i386" || archflag="--arch amd64"
- arch="${arch}bit"
-fi
-target="${distname}${arch}"
-
-# Don't overwrite an existing installation
-[ -d /var/lib/chroot/"${target}" ] && {
- echo "This chroot already exists on your machine." >&2
- echo "Delete /var/lib/chroot/${target} if you want to start over." >&2
- exit 1
-}
-sudo mkdir -p /var/lib/chroot/"${target}"
-
-# Offer to include additional standard repositories for Ubuntu-based chroots.
-alt_repos=
-grep ubuntu.com /usr/share/debootstrap/scripts/"${distname}" >&/dev/null && {
- while :; do
- echo "Would you like to add ${distname}-updates and ${distname}-security "
- echo -n "to the chroot's sources.list (y/n)? "
- read alt_repos
- case "${alt_repos}" in
- y|Y)
- alt_repos="y"
- break
- ;;
- n|N)
- break
- ;;
- esac
- done
-}
-
-# Remove stale entry from /etc/schroot/schroot.conf. Entries start
-# with the target name in square brackets, followed by an arbitrary
-# number of lines. The entry stops when either the end of file has
-# been reached, or when the beginning of a new target is encountered.
-# This means, we cannot easily match for a range of lines in
-# "sed". Instead, we actually have to iterate over each line and check
-# whether it is the beginning of a new entry.
-sudo sed -ni '/^[[]'"${target%bit}"']$/,${:1;n;/^[[]/b2;b1;:2;p;n;b2};p' \
- /etc/schroot/schroot.conf
-
-# Download base system. This takes some time
-if [ -z "${mirror}" ]; then
- grep ubuntu.com /usr/share/debootstrap/scripts/"${distname}" >&/dev/null &&
- mirror="http://archive.ubuntu.com/ubuntu" ||
- mirror="http://ftp.us.debian.org/debian"
-fi
- sudo debootstrap ${archflag} "${distname}" /var/lib/chroot/"${target}" \
- "$mirror"
-
-# Add new entry to /etc/schroot/schroot.conf
-grep ubuntu.com /usr/share/debootstrap/scripts/"${distname}" >&/dev/null &&
- brand="Ubuntu" || brand="Debian"
-if [ -z "${chroot_groups}" ]; then
- chroot_groups="admin,$(id -gn)"
-fi
-sudo sh -c 'cat >>/etc/schroot/schroot.conf' <<EOF
-[${target%bit}]
-description=${brand} ${distname} ${arch}
-type=directory
-directory=/var/lib/chroot/${target}
-priority=3
-users=root
-groups=${chroot_groups}
-root-groups=${chroot_groups}
-personality=linux$([ "${arch}" != 64bit ] && echo 32)
-script-config=script-${target}
-
-EOF
-
-# Set up a special directory that changes contents depending on the target
-# that is executing.
-sed '/^FSTAB=/s,/mount-defaults",/mount-'"${target}"'",' \
- /etc/schroot/script-defaults |
- sudo sh -c 'cat >/etc/schroot/script-'"${target}"
-sudo cp /etc/schroot/mount-defaults /etc/schroot/mount-"${target}"
-echo "$HOME/chroot/.${target} $HOME/chroot none rw,bind 0 0" |
- sudo sh -c 'cat >>/etc/schroot/mount-'"${target}"
-mkdir -p "$HOME/chroot/.${target}"
-
-# Install a helper script to launch commands in the chroot
-sudo sh -c 'cat >/usr/local/bin/'"${target%bit}" <<EOF
-#!/bin/bash
-if [ \$# -eq 0 ]; then
- exec schroot -c ${target%bit} -p
-else
- p="\$1"; shift
- exec schroot -c ${target%bit} -p "\$p" -- "\$@"
-fi
-exit 1
-EOF
-sudo chown root:root /usr/local/bin/"${target%bit}"
-sudo chmod 755 /usr/local/bin/"${target%bit}"
-
-# Add the standard Ubuntu update repositories if requested.
-[ "${alt_repos}" = "y" -a \
- -r "/var/lib/chroot/${target}/etc/apt/sources.list" ] &&
-sudo sed -i '/^deb .* [^ -]\+ main$/p
- s/^\(deb .* [^ -]\+\) main/\1-security main/
- p
- t1
- d
- :1;s/-security main/-updates main/
- t
- d' "/var/lib/chroot/${target}/etc/apt/sources.list"
-
-# Add a few more repositories to the chroot
-[ "${add_srcs}" = "y" -a \
- -r "/var/lib/chroot/${target}/etc/apt/sources.list" ] &&
-sudo sed -i 's/ main$/ main restricted universe multiverse/
- p
- t1
- d
- :1;s/^deb/deb-src/
- t
- d' "/var/lib/chroot/${target}/etc/apt/sources.list"
-
-# Update packages
-sudo schroot -c "${target%bit}" -p -- /bin/sh -c '
- apt-get update; apt-get -y dist-upgrade' || :
-
-# Install a couple of missing packages
-for i in debian-keyring ubuntu-keyring locales sudo; do
- [ -d "/var/lib/chroot/${target}/usr/share/doc/$i" ] ||
- sudo schroot -c "${target%bit}" -p -- apt-get -y install "$i" || :
-done
-
-# Configure locales
-sudo schroot -c "${target%bit}" -p -- /bin/sh -c '
- l='"${LANG:-en_US}"'; l="${l%%.*}"
- [ -r /etc/locale.gen ] &&
- sed -i "s/^# \($l\)/\1/" /etc/locale.gen
- locale-gen $LANG en_US en_US.UTF-8' || :
-
-# Configure "sudo" package
-sudo schroot -c "${target%bit}" -p -- /bin/sh -c '
- egrep '"'^$(id -nu) '"' /etc/sudoers >/dev/null 2>&1 ||
- echo '"'$(id -nu) ALL=(ALL) ALL'"' >>/etc/sudoers'
-
-# Install a few more commonly used packages
-sudo schroot -c "${target%bit}" -p -- apt-get -y install \
- autoconf automake1.9 dpkg-dev g++-multilib gcc-multilib gdb less libtool \
- strace
-
-# If running a 32bit environment on a 64bit machine, install a few binaries
-# as 64bit. This is only done automatically if the chroot distro is the same as
-# the host, otherwise there might be incompatibilities in build settings or
-# runtime dependencies. The user can force it with the '-c' flag.
-host_distro=$(grep DISTRIB_CODENAME /etc/lsb-release 2>/dev/null | \
- cut -d "=" -f 2)
-if [ "${copy_64}" = "y" -o \
- "${host_distro}" = "${distname}" -a "${arch}" = 32bit ] && \
- file /bin/bash 2>/dev/null | grep -q x86-64; then
- readlinepkg=$(sudo schroot -c "${target%bit}" -p -- sh -c \
- 'apt-cache search "lib64readline.\$" | sort | tail -n 1 | cut -d " " -f 1')
- sudo schroot -c "${target%bit}" -p -- apt-get -y install \
- lib64expat1 lib64ncurses5 ${readlinepkg} lib64z1
- dep=
- for i in binutils gdb strace; do
- [ -d /usr/share/doc/"$i" ] || dep="$dep $i"
- done
- [ -n "$dep" ] && sudo apt-get -y install $dep
- sudo cp /usr/bin/gdb "/var/lib/chroot/${target}/usr/local/bin/"
- sudo cp /usr/bin/ld "/var/lib/chroot/${target}/usr/local/bin/"
- for i in libbfd libpython; do
- lib="$({ ldd /usr/bin/ld; ldd /usr/bin/gdb; } |
- grep "$i" | awk '{ print $3 }')"
- if [ -n "$lib" -a -r "$lib" ]; then
- sudo cp "$lib" "/var/lib/chroot/${target}/usr/lib64/"
- fi
- done
- for lib in libssl libcrypt; do
- sudo cp /usr/lib/$lib* "/var/lib/chroot/${target}/usr/lib64/" || :
- done
-fi
-
-# Clean up package files
-sudo schroot -c "${target%bit}" -p -- apt-get clean
-sudo apt-get clean
-
-# Let the user know what we did
-trap '' INT TERM QUIT
-trap '' EXIT
-cat <<EOF
-
-
-Successfully installed ${distname} ${arch}
-
-You can run programs inside of the chroot by invoking the "${target%bit}"
-command.
-
-Your home directory is shared between the host and the chroot. But I configured
-$HOME/chroot to be private to the chroot environment. You can use it
-for files that need to differ between environments.
-EOF
diff --git a/build/internal/README.chromium b/build/internal/README.chromium
deleted file mode 100644
index 4624830..0000000
--- a/build/internal/README.chromium
+++ /dev/null
@@ -1,24 +0,0 @@
-Internal property sheets:
- essential.vsprops
- Contains the common settings used throughout the projects. Is included by either ..\debug.vsprops or ..\release.vsprops, so in general, it is not included directly.
-
- release_defaults.vsprops
- Included by ..\release.vsprops. Its settings are overriden by release_impl$(CHROME_BUILD_TYPE).vsprops. Uses the default VS setting which is "Maximize Speed". Results in relatively fast build with reasonable optimization level but without whole program optimization to reduce build time.
-
- release_impl.vsprops
- Included by ..\release.vsprops by default when CHROME_BUILD_TYPE is undefined. Includes release_defaults.vsprops.
-
- release_impl_checksenabled.vsprops
- Included by ..\release.vsprops when CHROME_BUILD_TYPE=_checksenabled. Matches what release_defaults.vsprops does, but doesn't actually inherit from it as we couldn't quite get that working. The only difference is that _DEBUG is set instead of NDEBUG. Used for keeping debug checks enabled with a build that is fast enough to dogfood with.
-
- release_impl_official.vsprops
- Included by ..\release.vsprops when CHROME_BUILD_TYPE=_official. Includes release_defaults.vsprops. Enables Whole Program Optimizations (WPO), which doubles the build time. Results in much more optimized build. Uses "Full Optimization" and "Flavor small code".
-
- release_impl_pgo_instrument.vsprops
- Included by ..\release.vsprops when CHROME_BUILD_TYPE=_pgo_instrument. Includes release_defaults.vsprops. Enables Profile Guided Optimization (PGO) instrumentation (first pass). Uses "Full Optimization" and "Flavor small code".
-
- release_impl_pgo_optimize.vsprops
- Included by ..\release.vsprops when CHROME_BUILD_TYPE=_pgo_optimize. Includes release_defaults.vsprops. Enables Profile Guided Optimization (PGO) optimization (second pass). Uses "Full Optimization" and "Flavor small code".
-
- release_impl_purify.vsprops
- Included by ..\release.vsprops when CHROME_BUILD_TYPE=_purify. Includes release_defaults.vsprops. Disables optimizations. Used with Purify to test without debug tools and without optimization; i.e. NDEBUG is defined but the compiler doesn't optimize the binary.
diff --git a/build/internal/release_defaults.gypi b/build/internal/release_defaults.gypi
deleted file mode 100644
index 1bf6bbe..0000000
--- a/build/internal/release_defaults.gypi
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'Optimization': '2',
- 'StringPooling': 'true',
- 'OmitFramePointers': 'true',
- },
- 'VCLinkerTool': {
- 'LinkIncremental': '1',
- 'OptimizeReferences': '2',
- 'EnableCOMDATFolding': '2',
- 'OptimizeForWindows98': '1',
- },
- },
-}
diff --git a/build/internal/release_impl.gypi b/build/internal/release_impl.gypi
deleted file mode 100644
index aff06dc..0000000
--- a/build/internal/release_impl.gypi
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- 'includes': ['release_defaults.gypi'],
-}
diff --git a/build/internal/release_impl_official.gypi b/build/internal/release_impl_official.gypi
deleted file mode 100644
index 18f7928..0000000
--- a/build/internal/release_impl_official.gypi
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- 'includes': ['release_defaults.gypi'],
- 'defines': ['OFFICIAL_BUILD'],
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'Optimization': '3',
- 'InlineFunctionExpansion': '2',
- 'EnableIntrinsicFunctions': 'true',
- 'FavorSizeOrSpeed': '2',
- 'OmitFramePointers': 'true',
- 'EnableFiberSafeOptimizations': 'true',
- 'WholeProgramOptimization': 'true',
- },
- 'VCLibrarianTool': {
- 'AdditionalOptions': ['/ltcg', '/expectedoutputsize:120000000'],
- },
- 'VCLinkerTool': {
- 'LinkTimeCodeGeneration': '1',
- },
- },
-}
diff --git a/build/linux/chrome_linux.croc b/build/linux/chrome_linux.croc
deleted file mode 100644
index f400306..0000000
--- a/build/linux/chrome_linux.croc
+++ /dev/null
@@ -1,29 +0,0 @@
-# -*- python -*-
-# Crocodile config file for Chromium linux
-
-# TODO(jhawkins): We'll need to add a chromeos.croc once we get a coverage bot
-# for that platform.
-
-{
- # List of rules, applied in order
- 'rules' : [
- # Specify inclusions before exclusions, since rules are in order.
-
- # Don't include non-Linux platform dirs
- {
- 'regexp' : '.*/(chromeos|views)/',
- 'include' : 0,
- },
- # Don't include chromeos, windows, or mac specific files
- {
- 'regexp' : '.*(_|/)(chromeos|mac|win|views)(\\.|_)',
- 'include' : 0,
- },
-
- # Groups
- {
- 'regexp' : '.*_test_linux\\.',
- 'group' : 'test',
- },
- ],
-}
diff --git a/build/linux/dump_app_syms b/build/linux/dump_app_syms
deleted file mode 100755
index 632bcc7..0000000
--- a/build/linux/dump_app_syms
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/sh
-
-# Copyright (c) 2010 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.
-#
-# Helper script to run dump_syms on Chrome Linux executables and strip
-# them if needed.
-
-set -e
-
-usage() {
- echo -n "$0 <dump_syms_exe> <strip_binary> " >&2
- echo "<binary_with_symbols> <symbols_output>" >&2
-}
-
-
-if [ $# -ne 4 ]; then
- usage
- exit 1
-fi
-
-SCRIPTDIR="$(readlink -f "$(dirname "$0")")"
-DUMPSYMS="$1"
-STRIP_BINARY="$2"
-INFILE="$3"
-OUTFILE="$4"
-
-# Dump the symbols from the given binary.
-if [ ! -e "$OUTFILE" -o "$INFILE" -nt "$OUTFILE" ]; then
- "$DUMPSYMS" "$INFILE" > "$OUTFILE"
-fi
-
-if [ "$STRIP_BINARY" != "0" ]; then
- strip "$INFILE"
-fi
diff --git a/build/linux/pkg-config-wrapper b/build/linux/pkg-config-wrapper
deleted file mode 100755
index 4b5455b..0000000
--- a/build/linux/pkg-config-wrapper
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/bash
-# Copyright (c) 2010 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.
-
-# This program wraps around pkg-config to generate the correct include and
-# library paths when cross-compiling using a sysroot.
-# The assumption is that the sysroot contains the .pc files in usr/lib/pkgconfig
-# and usr/share/pkgconfig (relative to the sysroot) and that they output paths
-# relative to some parent path of the sysroot.
-# This assumption is valid for a range of sysroots, in particular: a
-# LSB-compliant root filesystem mounted at the sysroot, and a board build
-# directory of a Chromium OS chroot.
-
-root="$1"
-if [ -z "$root" ]
-then
- echo "usage: $0 /path/to/sysroot [pkg-config-arguments] package" >&2
- exit 1
-fi
-
-rewrite=`dirname $0`/rewrite_dirs.py
-package=${!#}
-
-shift
-config_path=$root/usr/lib/pkgconfig:$root/usr/share/pkgconfig
-set -e
-# Some sysroots, like the Chromium OS ones, may generate paths that are not
-# relative to the sysroot. For example,
-# /path/to/chroot/build/x86-generic/usr/lib/pkgconfig/pkg.pc may have all paths
-# relative to /path/to/chroot (i.e. prefix=/build/x86-generic/usr) instead of
-# relative to /path/to/chroot/build/x86-generic (i.e prefix=/usr).
-# To support this correctly, it's necessary to extract the prefix to strip from
-# pkg-config's |prefix| variable.
-prefix=`PKG_CONFIG_PATH=$config_path pkg-config --variable=prefix "$package" | sed -e 's|/usr$||'`
-result=`PKG_CONFIG_PATH=$config_path pkg-config "$@"`
-echo "$result"| $rewrite --sysroot "$root" --strip-prefix "$prefix"
diff --git a/build/linux/python_arch.sh b/build/linux/python_arch.sh
deleted file mode 100755
index f364469..0000000
--- a/build/linux/python_arch.sh
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/bin/bash
-# Copyright (c) 2010 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.
-
-# This figures out the architecture of the version of Python we are building
-# pyautolib against.
-#
-# python_arch.sh /usr/lib/libpython2.5.so.1.0
-# python_arch.sh /path/to/sysroot/usr/lib/libpython2.4.so.1.0
-#
-
-python=$(readlink -f "$1")
-if [ ! -r "$python" ]; then
- echo unknown
- exit 0;
-fi
-file_out=$(file "$python")
-if [ $? -ne 0 ]; then
- echo unknown
- exit 0;
-fi
-
-echo $file_out | grep -qs "ARM"
-if [ $? -eq 0 ]; then
- echo arm
- exit 0
-fi
-
-echo $file_out | grep -qs "x86-64"
-if [ $? -eq 0 ]; then
- echo x64
- exit 0
-fi
-
-echo $file_out | grep -qs "Intel 80386"
-if [ $? -eq 0 ]; then
- echo ia32
- exit 0
-fi
-
-exit 1
diff --git a/build/linux/rewrite_dirs.py b/build/linux/rewrite_dirs.py
deleted file mode 100755
index 9e166d0..0000000
--- a/build/linux/rewrite_dirs.py
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/usr/bin/python
-# Copyright (c) 2009 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.
-
-"""Rewrites paths in -I, -L and other option to be relative to a sysroot."""
-
-import sys
-import os
-import optparse
-
-REWRITE_PREFIX = ['-I',
- '-idirafter',
- '-imacros',
- '-imultilib',
- '-include',
- '-iprefix',
- '-iquote',
- '-isystem',
- '-L']
-
-def RewritePath(path, opts):
- """Rewrites a path by stripping the prefix and prepending the sysroot."""
- sysroot = opts.sysroot
- prefix = opts.strip_prefix
- if os.path.isabs(path) and not path.startswith(sysroot):
- if path.startswith(prefix):
- path = path[len(prefix):]
- path = path.lstrip('/')
- return os.path.join(sysroot, path)
- else:
- return path
-
-def RewriteLine(line, opts):
- """Rewrites all the paths in recognized options."""
- args = line.split()
- count = len(args)
- i = 0
- while i < count:
- for prefix in REWRITE_PREFIX:
- # The option can be either in the form "-I /path/to/dir" or
- # "-I/path/to/dir" so handle both.
- if args[i] == prefix:
- i += 1
- try:
- args[i] = RewritePath(args[i], opts)
- except IndexError:
- sys.stderr.write('Missing argument following %s\n' % prefix)
- break
- elif args[i].startswith(prefix):
- args[i] = prefix + RewritePath(args[i][len(prefix):], opts)
- i += 1
-
- return ' '.join(args)
-
-def main(argv):
- parser = optparse.OptionParser()
- parser.add_option('-s', '--sysroot', default='/', help='sysroot to prepend')
- parser.add_option('-p', '--strip-prefix', default='', help='prefix to strip')
- opts, args = parser.parse_args(argv[1:])
-
- for line in sys.stdin.readlines():
- line = RewriteLine(line.strip(), opts)
- print line
- return 0
-
-if __name__ == '__main__':
- sys.exit(main(sys.argv))
diff --git a/build/linux/system.gyp b/build/linux/system.gyp
deleted file mode 100644
index a52083b..0000000
--- a/build/linux/system.gyp
+++ /dev/null
@@ -1,380 +0,0 @@
-# Copyright (c) 2009 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.
-
-{
- 'conditions': [
- ['sysroot!=""', {
- 'variables': {
- 'pkg-config': './pkg-config-wrapper "<(sysroot)"',
- },
- }, {
- 'variables': {
- 'pkg-config': 'pkg-config'
- },
- }],
- [ 'OS=="linux" or OS=="freebsd" or OS=="openbsd"', {
- 'variables': {
- # We use our own copy of libssl3, although we still need to link against
- # the rest of NSS.
- 'use_system_ssl%': 0,
- },
- }, { # OS!="linux"
- 'variables': {
- 'use_system_ssl%': 1,
- },
- }],
- ],
-
-
- 'targets': [
- {
- 'target_name': 'gtk',
- 'type': 'settings',
- 'conditions': [
- ['_toolset=="target"', {
- 'direct_dependent_settings': {
- 'cflags': [
- '<!@(<(pkg-config) --cflags gtk+-2.0 gthread-2.0)',
- ],
- },
- 'link_settings': {
- 'ldflags': [
- '<!@(<(pkg-config) --libs-only-L --libs-only-other gtk+-2.0 gthread-2.0)',
- ],
- 'libraries': [
- '<!@(<(pkg-config) --libs-only-l gtk+-2.0 gthread-2.0)',
- ],
- },
- }],
- [ 'chromeos==1', {
- 'link_settings': {
- 'libraries': [ '-lXtst' ]
- }
- }]]
- },
- {
- 'target_name': 'gtkprint',
- 'type': 'settings',
- 'conditions': [
- ['_toolset=="target"', {
- 'direct_dependent_settings': {
- 'cflags': [
- '<!@(<(pkg-config) --cflags gtk+-unix-print-2.0)',
- ],
- },
- 'link_settings': {
- 'ldflags': [
- '<!@(<(pkg-config) --libs-only-L --libs-only-other gtk+-unix-print-2.0)',
- ],
- 'libraries': [
- '<!@(<(pkg-config) --libs-only-l gtk+-unix-print-2.0)',
- ],
- },
- }]]
- },
- {
- 'target_name': 'nss',
- 'type': 'settings',
- 'conditions': [
- ['_toolset=="target"', {
- 'conditions': [
- ['use_system_ssl==0', {
- 'dependencies': [
- '../../net/third_party/nss/ssl.gyp:ssl',
- '../../third_party/zlib/zlib.gyp:zlib',
- ],
- 'direct_dependent_settings': {
- 'cflags': [
- # 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
- # out of $(pkg-config --cflags nss) and GYP include paths
- # come after cflags on the command line. So we have these
- # bodges:
- '-Inet/third_party/nss/ssl', # for make
- '-ISource/WebKit/chromium/net/third_party/nss/ssl', # for make in webkit
- '<!@(<(pkg-config) --cflags nss)',
- ],
- },
- 'link_settings': {
- 'ldflags': [
- '<!@(<(pkg-config) --libs-only-L --libs-only-other nss)',
- ],
- 'libraries': [
- '<!@(<(pkg-config) --libs-only-l nss | sed -e "s/-lssl3//")',
- ],
- },
- }, {
- 'direct_dependent_settings': {
- 'cflags': [
- '<!@(<(pkg-config) --cflags nss)',
- ],
- 'defines': [
- 'USE_SYSTEM_SSL',
- ],
- },
- 'link_settings': {
- 'ldflags': [
- '<!@(<(pkg-config) --libs-only-L --libs-only-other nss)',
- ],
- 'libraries': [
- '<!@(<(pkg-config) --libs-only-l nss)',
- ],
- },
- }
- ]]
- }],
- ],
- },
- {
- 'target_name': 'freetype2',
- 'type': 'settings',
- 'conditions': [
- ['_toolset=="target"', {
- 'direct_dependent_settings': {
- 'cflags': [
- '<!@(<(pkg-config) --cflags freetype2)',
- ],
- },
- 'link_settings': {
- 'ldflags': [
- '<!@(<(pkg-config) --libs-only-L --libs-only-other freetype2)',
- ],
- 'libraries': [
- '<!@(<(pkg-config) --libs-only-l freetype2)',
- ],
- },
- }]]
- },
- {
- 'target_name': 'fontconfig',
- 'type': 'settings',
- 'conditions': [
- ['_toolset=="target"', {
- 'direct_dependent_settings': {
- 'cflags': [
- '<!@(<(pkg-config) --cflags fontconfig)',
- ],
- },
- 'link_settings': {
- 'ldflags': [
- '<!@(<(pkg-config) --libs-only-L --libs-only-other fontconfig)',
- ],
- 'libraries': [
- '<!@(<(pkg-config) --libs-only-l fontconfig)',
- ],
- },
- }]]
- },
- {
- 'target_name': 'gdk',
- 'type': 'settings',
- 'conditions': [
- ['_toolset=="target"', {
- 'direct_dependent_settings': {
- 'cflags': [
- '<!@(<(pkg-config) --cflags gdk-2.0)',
- ],
- },
- 'link_settings': {
- 'ldflags': [
- '<!@(<(pkg-config) --libs-only-L --libs-only-other gdk-2.0)',
- ],
- 'libraries': [
- '<!@(<(pkg-config) --libs-only-l gdk-2.0)',
- ],
- },
- }]]
- },
- {
- 'target_name': 'gconf',
- 'type': 'settings',
- 'conditions': [
- ['use_gconf==1 and _toolset=="target"', {
- 'direct_dependent_settings': {
- 'cflags': [
- '<!@(<(pkg-config) --cflags gconf-2.0)',
- ],
- 'defines': [
- 'USE_GCONF',
- ],
- },
- 'link_settings': {
- 'ldflags': [
- '<!@(<(pkg-config) --libs-only-L --libs-only-other gconf-2.0)',
- ],
- 'libraries': [
- '<!@(<(pkg-config) --libs-only-l gconf-2.0)',
- ],
- },
- }]]
- },
- {
- 'target_name': 'x11',
- 'type': 'settings',
- 'conditions': [
- ['_toolset=="target"', {
- 'direct_dependent_settings': {
- 'cflags': [
- '<!@(<(pkg-config) --cflags x11)',
- ],
- },
- 'link_settings': {
- 'ldflags': [
- '<!@(<(pkg-config) --libs-only-L --libs-only-other x11)',
- ],
- 'libraries': [
- '<!@(<(pkg-config) --libs-only-l x11)',
- ],
- },
- }],
- # When XInput2 is available (i.e. inputproto version is 2.0), the
- # pkg-config command will succeed, so the output will be empty.
- ['"<!@(<(pkg-config) --atleast-version=2.0 inputproto || echo $?)"==""', {
- 'direct_dependent_settings': {
- 'defines': [
- 'HAVE_XINPUT2',
- ],
- },
- 'link_settings': {
- 'ldflags': [
- '<!@(<(pkg-config) --libs-only-L --libs-only-other xi)',
- ],
- 'libraries': [
- '<!@(<(pkg-config) --libs-only-l xi)',
- ],
- }
- }],
- ],
- },
- {
- 'target_name': 'xext',
- 'type': 'settings',
- 'conditions': [
- ['_toolset=="target"', {
- 'direct_dependent_settings': {
- 'cflags': [
- '<!@(<(pkg-config) --cflags xext)',
- ],
- },
- 'link_settings': {
- 'ldflags': [
- '<!@(<(pkg-config) --libs-only-L --libs-only-other xext)',
- ],
- 'libraries': [
- '<!@(<(pkg-config) --libs-only-l xext)',
- ],
- },
- }]]
- },
- {
- 'target_name': 'selinux',
- 'type': 'settings',
- 'conditions': [
- ['_toolset=="target"', {
- 'link_settings': {
- 'libraries': [
- '-lselinux',
- ],
- },
- }]]
- },
- {
- 'target_name': 'gnome-keyring',
- 'type': 'settings',
- 'conditions': [
- ['use_gnome_keyring==1', {
- 'direct_dependent_settings': {
- 'cflags': [
- '<!@(<(pkg-config) --cflags gnome-keyring-1)',
- ],
- 'defines': [
- 'USE_GNOME_KEYRING',
- ],
- 'conditions': [
- ['linux_link_gnome_keyring==0', {
- 'defines': ['DLOPEN_GNOME_KEYRING'],
- }],
- ],
- },
- 'conditions': [
- ['linux_link_gnome_keyring!=0', {
- 'link_settings': {
- 'ldflags': [
- '<!@(<(pkg-config) --libs-only-L --libs-only-other gnome-keyring-1)',
- ],
- 'libraries': [
- '<!@(<(pkg-config) --libs-only-l gnome-keyring-1)',
- ],
- },
- }, {
- 'link_settings': {
- 'libraries': [
- '-ldl',
- ],
- },
- }],
- ],
- }],
- ],
- },
- {
- 'target_name': 'dbus-glib',
- 'type': 'settings',
- 'direct_dependent_settings': {
- 'cflags': [
- '<!@(<(pkg-config) --cflags dbus-glib-1)',
- ],
- },
- 'link_settings': {
- 'ldflags': [
- '<!@(<(pkg-config) --libs-only-L --libs-only-other dbus-glib-1)',
- ],
- 'libraries': [
- '<!@(<(pkg-config) --libs-only-l dbus-glib-1)',
- ],
- },
- },
- {
- 'target_name': 'libresolv',
- 'type': 'settings',
- 'link_settings': {
- 'libraries': [
- '-lresolv',
- ],
- },
- },
- {
- 'target_name': 'ibus',
- 'type': 'settings',
- 'conditions': [
- ['"<!@(<(pkg-config) --atleast-version=1.3.99 ibus-1.0 || echo $?)"==""', {
- 'variables': {
- 'ibus': 1
- },
- 'direct_dependent_settings': {
- 'cflags': [
- '<!@(<(pkg-config) --cflags ibus-1.0)',
- ],
- },
- 'link_settings': {
- 'ldflags': [
- '<!@(<(pkg-config) --libs-only-L --libs-only-other ibus-1.0)',
- ],
- 'libraries': [
- '<!@(<(pkg-config) --libs-only-l ibus-1.0)',
- ],
- },
- }],
- ],
- },
- ],
-}
-
-# Local Variables:
-# tab-width:2
-# indent-tabs-mode:nil
-# End:
-# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/build/mac/chrome_mac.croc b/build/mac/chrome_mac.croc
deleted file mode 100644
index 8cde00c..0000000
--- a/build/mac/chrome_mac.croc
+++ /dev/null
@@ -1,36 +0,0 @@
-# -*- python -*-
-# Crocodile config file for Chromium mac
-
-{
- # List of rules, applied in order
- 'rules' : [
- # Specify inclusions before exclusions, since rules are in order.
-
- # Don't include chromeos, linux, or windows specific files
- {
- 'regexp' : '.*(_|/)(chromeos|linux|win|views)(\\.|_)',
- 'include' : 0,
- },
- # Don't include ChromeOS dirs
- {
- 'regexp' : '.*/chromeos/',
- 'include' : 0,
- },
-
- # Groups
- {
- 'regexp' : '.*_test_mac\\.',
- 'group' : 'test',
- },
-
- # Languages
- {
- 'regexp' : '.*\\.m$',
- 'language' : 'ObjC',
- },
- {
- 'regexp' : '.*\\.mm$',
- 'language' : 'ObjC++',
- },
- ],
-}
diff --git a/build/mac/strip_from_xcode b/build/mac/strip_from_xcode
deleted file mode 100755
index c26b9fb..0000000
--- a/build/mac/strip_from_xcode
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/bin/bash
-
-# Copyright (c) 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.
-
-# This is a handy wrapper script that figures out how to call the strip
-# utility (strip_save_dsym in this case), if it even needs to be called at all,
-# and then does it. This script should be called by a post-link phase in
-# targets that might generate Mach-O executables, dynamic libraries, or
-# loadable bundles.
-#
-# An example "Strip If Needed" build phase placed after "Link Binary With
-# Libraries" would do:
-# exec "${XCODEPROJ_DEPTH}/build/mac/strip_from_xcode"
-
-if [ "${CONFIGURATION}" != "Release" ] ; then
- # Only strip in release mode.
- exit 0
-fi
-
-declare -a FLAGS
-
-# MACH_O_TYPE is not set for a command-line tool, so check PRODUCT_TYPE too.
-# Weird.
-if [ "${MACH_O_TYPE}" = "mh_execute" ] || \
- [ "${PRODUCT_TYPE}" = "com.apple.product-type.tool" ] ; then
- # Strip everything (no special flags). No-op.
- true
-elif [ "${MACH_O_TYPE}" = "mh_dylib" ] || \
- [ "${MACH_O_TYPE}" = "mh_bundle" ]; then
- # Strip debugging symbols and local symbols
- FLAGS[${#FLAGS[@]}]=-S
- FLAGS[${#FLAGS[@]}]=-x
-elif [ "${MACH_O_TYPE}" = "staticlib" ] ; then
- # Don't strip static libraries.
- exit 0
-else
- # Warn, but don't treat this as an error.
- echo $0: warning: unrecognized MACH_O_TYPE ${MACH_O_TYPE}
- exit 0
-fi
-
-if [ -n "${STRIPFLAGS}" ] ; then
- # Pick up the standard STRIPFLAGS Xcode setting, used for "Additional Strip
- # Flags".
- for stripflag in "${STRIPFLAGS}" ; do
- FLAGS[${#FLAGS[@]}]="${stripflag}"
- done
-fi
-
-if [ -n "${CHROMIUM_STRIP_SAVE_FILE}" ] ; then
- # An Xcode project can communicate a file listing symbols to saved in this
- # environment variable by setting it as a build setting. This isn't a
- # standard Xcode setting. It's used in preference to STRIPFLAGS to
- # eliminate quoting ambiguity concerns.
- FLAGS[${#FLAGS[@]}]=-s
- FLAGS[${#FLAGS[@]}]="${CHROMIUM_STRIP_SAVE_FILE}"
-fi
-
-exec "$(dirname ${0})/strip_save_dsym" "${FLAGS[@]}" \
- "${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}"
diff --git a/build/mac/strip_save_dsym b/build/mac/strip_save_dsym
deleted file mode 100755
index 3904c17..0000000
--- a/build/mac/strip_save_dsym
+++ /dev/null
@@ -1,341 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (c) 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.
-
-# Usage: strip_save_dsym <whatever-arguments-you-would-pass-to-strip>
-#
-# strip_save_dsym is a wrapper around the standard strip utility. Given an
-# input Mach-O file, strip_save_dsym will save a copy of the file in a "fake"
-# .dSYM bundle for debugging, and then call strip to strip the Mach-O file.
-# Note that the .dSYM file is a "fake" in that it's not a self-contained
-# .dSYM bundle, it just contains a copy of the original (unstripped) Mach-O
-# file, and therefore contains references to object files on the filesystem.
-# The generated .dSYM bundle is therefore unsuitable for debugging in the
-# absence of these .o files.
-#
-# If a .dSYM already exists and has a newer timestamp than the Mach-O file,
-# this utility does nothing. That allows strip_save_dsym to be run on a file
-# that has already been stripped without trashing the .dSYM.
-#
-# Rationale: the "right" way to generate dSYM bundles, dsymutil, is incredibly
-# slow. On the other hand, doing a file copy (which is really all that
-# dsymutil does) is comparatively fast. Since we usually just want to strip
-# a release-mode executable but still be able to debug it, and we don't care
-# so much about generating a hermetic dSYM bundle, we'll prefer the file copy.
-# If a real dSYM is ever needed, it's still possible to create one by running
-# dsymutil and pointing it at the original Mach-O file inside the "fake"
-# bundle, provided that the object files are available.
-
-import errno
-import os
-import re
-import shutil
-import subprocess
-import sys
-import time
-
-# Returns a list of architectures contained in a Mach-O file. The file can be
-# a universal (fat) file, in which case there will be one list element for
-# each contained architecture, or it can be a thin single-architecture Mach-O
-# file, in which case the list will contain a single element identifying the
-# architecture. On error, returns an empty list. Determines the architecture
-# list by calling file.
-def macho_archs(macho):
- macho_types = ["executable",
- "dynamically linked shared library",
- "bundle"]
- macho_types_re = "Mach-O (?:64-bit )?(?:" + "|".join(macho_types) + ")"
-
- file_cmd = subprocess.Popen(["/usr/bin/file", "-b", "--", macho],
- stdout=subprocess.PIPE)
-
- archs = []
-
- type_line = file_cmd.stdout.readline()
- type_match = re.match("^%s (.*)$" % macho_types_re, type_line)
- if type_match:
- archs.append(type_match.group(1))
- return [type_match.group(1)]
- else:
- type_match = re.match("^Mach-O universal binary with (.*) architectures$",
- type_line)
- if type_match:
- for i in range(0, int(type_match.group(1))):
- arch_line = file_cmd.stdout.readline()
- arch_match = re.match(
- "^.* \(for architecture (.*)\):\t%s .*$" % macho_types_re,
- arch_line)
- if arch_match:
- archs.append(arch_match.group(1))
-
- if file_cmd.wait() != 0:
- archs = []
-
- if len(archs) == 0:
- print >> sys.stderr, "No architectures in %s" % macho
-
- return archs
-
-# Returns a dictionary mapping architectures contained in the file as returned
-# by macho_archs to the LC_UUID load command for that architecture.
-# Architectures with no LC_UUID load command are omitted from the dictionary.
-# Determines the UUID value by calling otool.
-def macho_uuids(macho):
- uuids = {}
-
- archs = macho_archs(macho)
- if len(archs) == 0:
- return uuids
-
- for arch in archs:
- if arch == "":
- continue
-
- otool_cmd = subprocess.Popen(["/usr/bin/otool", "-arch", arch, "-l", "-",
- macho],
- stdout=subprocess.PIPE)
- # state 0 is when nothing UUID-related has been seen yet. State 1 is
- # entered after a load command begins, but it may not be an LC_UUID load
- # command. States 2, 3, and 4 are intermediate states while reading an
- # LC_UUID command. State 5 is the terminal state for a successful LC_UUID
- # read. State 6 is the error state.
- state = 0
- uuid = ""
- for otool_line in otool_cmd.stdout:
- if state == 0:
- if re.match("^Load command .*$", otool_line):
- state = 1
- elif state == 1:
- if re.match("^ cmd LC_UUID$", otool_line):
- state = 2
- else:
- state = 0
- elif state == 2:
- if re.match("^ cmdsize 24$", otool_line):
- state = 3
- else:
- state = 6
- elif state == 3:
- # The UUID display format changed in the version of otool shipping
- # with the Xcode 3.2.2 prerelease. The new format is traditional:
- # uuid 4D7135B2-9C56-C5F5-5F49-A994258E0955
- # The old format, from cctools-750 and older's otool, breaks the UUID
- # up into a sequence of bytes:
- # uuid 0x4d 0x71 0x35 0xb2 0x9c 0x56 0xc5 0xf5
- # 0x5f 0x49 0xa9 0x94 0x25 0x8e 0x09 0x55
- new_uuid_match = re.match("^ uuid (.{8}-.{4}-.{4}-.{4}-.{12})$",
- otool_line)
- if new_uuid_match:
- uuid = new_uuid_match.group(1)
-
- # Skip state 4, there is no second line to read.
- state = 5
- else:
- old_uuid_match = re.match("^ uuid 0x(..) 0x(..) 0x(..) 0x(..) "
- "0x(..) 0x(..) 0x(..) 0x(..)$",
- otool_line)
- if old_uuid_match:
- state = 4
- uuid = old_uuid_match.group(1) + old_uuid_match.group(2) + \
- old_uuid_match.group(3) + old_uuid_match.group(4) + "-" + \
- old_uuid_match.group(5) + old_uuid_match.group(6) + "-" + \
- old_uuid_match.group(7) + old_uuid_match.group(8) + "-"
- else:
- state = 6
- elif state == 4:
- old_uuid_match = re.match("^ 0x(..) 0x(..) 0x(..) 0x(..) "
- "0x(..) 0x(..) 0x(..) 0x(..)$",
- otool_line)
- if old_uuid_match:
- state = 5
- uuid += old_uuid_match.group(1) + old_uuid_match.group(2) + "-" + \
- old_uuid_match.group(3) + old_uuid_match.group(4) + \
- old_uuid_match.group(5) + old_uuid_match.group(6) + \
- old_uuid_match.group(7) + old_uuid_match.group(8)
- else:
- state = 6
-
- if otool_cmd.wait() != 0:
- state = 6
-
- if state == 5:
- uuids[arch] = uuid.upper()
-
- if len(uuids) == 0:
- print >> sys.stderr, "No UUIDs in %s" % macho
-
- return uuids
-
-# Given a path to a Mach-O file and possible information from the environment,
-# determines the desired path to the .dSYM.
-def dsym_path(macho):
- # If building a bundle, the .dSYM should be placed next to the bundle. Use
- # WRAPPER_NAME to make this determination. If called from xcodebuild,
- # WRAPPER_NAME will be set to the name of the bundle.
- dsym = ""
- if "WRAPPER_NAME" in os.environ:
- if "BUILT_PRODUCTS_DIR" in os.environ:
- dsym = os.path.join(os.environ["BUILT_PRODUCTS_DIR"],
- os.environ["WRAPPER_NAME"])
- else:
- dsym = os.environ["WRAPPER_NAME"]
- else:
- dsym = macho
-
- dsym += ".dSYM"
-
- return dsym
-
-# Creates a fake .dSYM bundle at dsym for macho, a Mach-O image with the
-# architectures and UUIDs specified by the uuids map.
-def make_fake_dsym(macho, dsym):
- uuids = macho_uuids(macho)
- if len(uuids) == 0:
- return False
-
- dwarf_dir = os.path.join(dsym, "Contents", "Resources", "DWARF")
- dwarf_file = os.path.join(dwarf_dir, os.path.basename(macho))
- try:
- os.makedirs(dwarf_dir)
- except OSError, (err, error_string):
- if err != errno.EEXIST:
- raise
- shutil.copyfile(macho, dwarf_file)
-
- # info_template is the same as what dsymutil would have written, with the
- # addition of the fake_dsym key.
- info_template = \
-'''<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
- <dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleIdentifier</key>
- <string>com.apple.xcode.dsym.%(root_name)s</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundlePackageType</key>
- <string>dSYM</string>
- <key>CFBundleSignature</key>
- <string>????</string>
- <key>CFBundleShortVersionString</key>
- <string>1.0</string>
- <key>CFBundleVersion</key>
- <string>1</string>
- <key>dSYM_UUID</key>
- <dict>
-%(uuid_dict)s </dict>
- <key>fake_dsym</key>
- <true/>
- </dict>
-</plist>
-'''
-
- root_name = os.path.basename(dsym)[:-5] # whatever.dSYM without .dSYM
- uuid_dict = ""
- for arch in sorted(uuids):
- uuid_dict += "\t\t\t<key>" + arch + "</key>\n"\
- "\t\t\t<string>" + uuids[arch] + "</string>\n"
- info_dict = {
- "root_name": root_name,
- "uuid_dict": uuid_dict,
- }
- info_contents = info_template % info_dict
- info_file = os.path.join(dsym, "Contents", "Info.plist")
- info_fd = open(info_file, "w")
- info_fd.write(info_contents)
- info_fd.close()
-
- return True
-
-# For a Mach-O file, determines where the .dSYM bundle should be located. If
-# the bundle does not exist or has a modification time older than the Mach-O
-# file, calls make_fake_dsym to create a fake .dSYM bundle there, then strips
-# the Mach-O file and sets the modification time on the .dSYM bundle and Mach-O
-# file to be identical.
-def strip_and_make_fake_dsym(macho):
- dsym = dsym_path(macho)
- macho_stat = os.stat(macho)
- dsym_stat = None
- try:
- dsym_stat = os.stat(dsym)
- except OSError, (err, error_string):
- if err != errno.ENOENT:
- raise
-
- if dsym_stat is None or dsym_stat.st_mtime < macho_stat.st_mtime:
- # Make a .dSYM bundle
- if not make_fake_dsym(macho, dsym):
- return False
-
- # Strip the Mach-O file
- remove_dsym = True
- try:
- strip_path = ""
- if "SYSTEM_DEVELOPER_BIN_DIR" in os.environ:
- strip_path = os.environ["SYSTEM_DEVELOPER_BIN_DIR"]
- else:
- strip_path = "/usr/bin"
- strip_path = os.path.join(strip_path, "strip")
- strip_cmdline = [strip_path] + sys.argv[1:]
- # Print the strip invocation so that it's obvious something is happening
- print " ".join(strip_cmdline)
- strip_cmd = subprocess.Popen(strip_cmdline)
- if strip_cmd.wait() == 0:
- remove_dsym = False
- finally:
- if remove_dsym:
- shutil.rmtree(dsym)
-
- # Update modification time on the Mach-O file and .dSYM bundle
- now = time.time()
- os.utime(macho, (now, now))
- os.utime(dsym, (now, now))
-
- return True
-
-def main(argv=None):
- if argv is None:
- argv = sys.argv
-
- # This only supports operating on one file at a time. Look at the arguments
- # to strip to figure out what the source to be stripped is. Arguments are
- # processed in the same way that strip does, although to reduce complexity,
- # this doesn't do all of the same checking as strip. For example, strip
- # has no -Z switch and would treat -Z on the command line as an error. For
- # the purposes this is needed for, that's fine.
- macho = None
- process_switches = True
- ignore_argument = False
- for arg in argv[1:]:
- if ignore_argument:
- ignore_argument = False
- continue
- if process_switches:
- if arg == "-":
- process_switches = False
- # strip has these switches accept an argument:
- if arg in ["-s", "-R", "-d", "-o", "-arch"]:
- ignore_argument = True
- if arg[0] == "-":
- continue
- if macho is None:
- macho = arg
- else:
- print >> sys.stderr, "Too many things to strip"
- return 1
-
- if macho is None:
- print >> sys.stderr, "Nothing to strip"
- return 1
-
- if not strip_and_make_fake_dsym(macho):
- return 1
-
- return 0
-
-if __name__ == "__main__":
- sys.exit(main(sys.argv))
diff --git a/build/output_dll_copy.rules b/build/output_dll_copy.rules
deleted file mode 100644
index c6e9051..0000000
--- a/build/output_dll_copy.rules
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<VisualStudioToolFile
- Name="Output DLL copy"
- Version="8.00"
- >
- <Rules>
- <CustomBuildRule
- Name="Output DLL copy"
- CommandLine="xcopy /R /C /Y $(InputPath) $(OutDir)"
- Outputs="$(OutDir)\$(InputFileName)"
- FileExtensions="*.dll"
- >
- <Properties>
- </Properties>
- </CustomBuildRule>
- </Rules>
-</VisualStudioToolFile>
diff --git a/build/release.gypi b/build/release.gypi
deleted file mode 100644
index c12526b..0000000
--- a/build/release.gypi
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- 'conditions': [
- # Handle build types.
- ['buildtype=="Dev"', {
- 'includes': ['internal/release_impl.gypi'],
- }],
- ['buildtype=="Official"', {
- 'includes': ['internal/release_impl_official.gypi'],
- }],
- # TODO(bradnelson): may also need:
- # checksenabled
- # coverage
- # dom_stats
- # pgo_instrument
- # pgo_optimize
- # purify
- ],
-}
-
diff --git a/build/sanitize-mac-build-log.sed b/build/sanitize-mac-build-log.sed
deleted file mode 100644
index 2de72bf..0000000
--- a/build/sanitize-mac-build-log.sed
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/echo Use sanitize-mac-build-log.sh or sed -f
-
-# Copyright (c) 2011 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.
-
-# Use this sed script to reduce a Mac build log into something readable.
-
-# Drop uninformative lines.
-/^distcc/d
-/^Check dependencies/d
-/^ setenv /d
-/^ cd /d
-/^make: Nothing to be done/d
-/^$/d
-
-# Xcode prints a short "compiling foobar.o" line followed by the lengthy
-# full command line. These deletions drop the command line.
-\|^ /Developer/usr/bin/|d
-\|^ /Developer/Library/PrivateFrameworks/DevToolsCore.framework/|d
-\|^ /Developer/Library/Xcode/Plug-ins/CoreBuildTasks.xcplugin/|d
-
-# And, if you've overridden something from your own bin directory, remove those
-# full command lines, too.
-\|^ /Users/[^/]*/bin/|d
-
-# There's already a nice note for bindings, don't need the command line.
-\|^python scripts/rule_binding.py|d
-
-# Shorten the "compiling foobar.o" line.
-s|^Distributed-CompileC \(.*\) normal i386 c++ com.apple.compilers.gcc.4_2| CC \1|
-s|^CompileC \(.*\) normal i386 c++ com.apple.compilers.gcc.4_2| CC \1|
diff --git a/build/sanitize-mac-build-log.sh b/build/sanitize-mac-build-log.sh
deleted file mode 100755
index dc743fa..0000000
--- a/build/sanitize-mac-build-log.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-# Copyright (c) 2010 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.
-sed -f `dirname "${0}"`/`basename "${0}" sh`sed
-
diff --git a/build/sanitize-win-build-log.sed b/build/sanitize-win-build-log.sed
deleted file mode 100644
index d6d049c..0000000
--- a/build/sanitize-win-build-log.sed
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/echo Use sanitize-win-build-log.sh or sed -f
-
-# Copyright (c) 2010 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.
-
-# Use this sed script to reduce a Windows build log into something
-# machine-parsable.
-
-# Drop uninformative lines.
-/The operation completed successfully./d
-
-# Drop parallelization indicators on lines.
-s/^[0-9]\+>//
diff --git a/build/sanitize-win-build-log.sh b/build/sanitize-win-build-log.sh
deleted file mode 100755
index dc743fa..0000000
--- a/build/sanitize-win-build-log.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-# Copyright (c) 2010 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.
-sed -f `dirname "${0}"`/`basename "${0}" sh`sed
-
diff --git a/build/temp_gyp/README.chromium b/build/temp_gyp/README.chromium
deleted file mode 100644
index 8045d61..0000000
--- a/build/temp_gyp/README.chromium
+++ /dev/null
@@ -1,3 +0,0 @@
-This directory will be removed once the files in it are committed upstream and
-Chromium imports an upstream revision with these files. Contact mark for
-details.
diff --git a/build/temp_gyp/googleurl.gyp b/build/temp_gyp/googleurl.gyp
deleted file mode 100644
index 8bf7cce..0000000
--- a/build/temp_gyp/googleurl.gyp
+++ /dev/null
@@ -1,116 +0,0 @@
-# Copyright (c) 2009 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.
-
-# TODO(mark): Upstream this file to googleurl.
-{
- 'variables': {
- 'chromium_code': 1,
- },
- 'targets': [
- {
- 'target_name': 'googleurl',
- 'type': '<(component)',
- 'msvs_guid': 'EF5E94AB-B646-4E5B-A058-52EF07B8351C',
- 'dependencies': [
- '../../base/base.gyp:base',
- '../../third_party/icu/icu.gyp:icudata',
- '../../third_party/icu/icu.gyp:icui18n',
- '../../third_party/icu/icu.gyp:icuuc',
- ],
- 'sources': [
- '../../googleurl/src/gurl.cc',
- '../../googleurl/src/gurl.h',
- '../../googleurl/src/url_canon.h',
- '../../googleurl/src/url_canon_etc.cc',
- '../../googleurl/src/url_canon_fileurl.cc',
- '../../googleurl/src/url_canon_host.cc',
- '../../googleurl/src/url_canon_icu.cc',
- '../../googleurl/src/url_canon_icu.h',
- '../../googleurl/src/url_canon_internal.cc',
- '../../googleurl/src/url_canon_internal.h',
- '../../googleurl/src/url_canon_internal_file.h',
- '../../googleurl/src/url_canon_ip.cc',
- '../../googleurl/src/url_canon_ip.h',
- '../../googleurl/src/url_canon_mailtourl.cc',
- '../../googleurl/src/url_canon_path.cc',
- '../../googleurl/src/url_canon_pathurl.cc',
- '../../googleurl/src/url_canon_query.cc',
- '../../googleurl/src/url_canon_relative.cc',
- '../../googleurl/src/url_canon_stdstring.h',
- '../../googleurl/src/url_canon_stdurl.cc',
- '../../googleurl/src/url_file.h',
- '../../googleurl/src/url_parse.cc',
- '../../googleurl/src/url_parse.h',
- '../../googleurl/src/url_parse_file.cc',
- '../../googleurl/src/url_parse_internal.h',
- '../../googleurl/src/url_util.cc',
- '../../googleurl/src/url_util.h',
- ],
- 'direct_dependent_settings': {
- 'include_dirs': [
- '../..',
- ],
- },
- 'conditions': [
- ['OS=="win" and component=="shared_library"', {
- 'defines': [
- 'GURL_DLL',
- 'GURL_IMPLEMENTATION=1',
- ],
- 'direct_dependent_settings': {
- 'defines': [
- 'GURL_DLL',
- ],
- },
- }],
- ],
- },
- {
- 'target_name': 'googleurl_unittests',
- 'dependencies': [
- 'googleurl',
- '../../base/base.gyp:base_i18n',
- '../../base/base.gyp:test_support_base',
- '../../testing/gtest.gyp:gtest',
- '../../third_party/icu/icu.gyp:icuuc',
- ],
- 'sources': [
- '../../googleurl/src/gurl_unittest.cc',
- '../../googleurl/src/url_canon_unittest.cc',
- '../../googleurl/src/url_parse_unittest.cc',
- '../../googleurl/src/url_test_utils.h',
- '../../googleurl/src/url_util_unittest.cc',
- # Make sure base and ICU are started up the 'Chromium way' since the
- # build is using the Chromium base & ICU.
- '../../base/test/run_all_unittests.cc',
- ],
- 'conditions': [
- ['OS=="linux" or OS=="freebsd"', {
- 'conditions': [
- ['linux_use_tcmalloc==1', {
- 'dependencies': [
- '../../base/allocator/allocator.gyp:allocator',
- ],
- }],
- ],
- }],
- # TODO(victorw): The unittest code uses inline functions that access
- # global variables, it also uses internal functions that we may not want
- # to export, so skip building unittests for windows multi dll build.
- # The googleurl functions are tested by the static library build.
- ['OS=="win" and component=="shared_library"', {
- 'type': 'none',
- }, {
- 'type': 'executable',
- }],
- ],
- },
- ],
-}
-
-# Local Variables:
-# tab-width:2
-# indent-tabs-mode:nil
-# End:
-# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/build/temp_gyp/pdfsqueeze.gyp b/build/temp_gyp/pdfsqueeze.gyp
deleted file mode 100644
index d7a742c..0000000
--- a/build/temp_gyp/pdfsqueeze.gyp
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright (c) 2009 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.
-
-{
- 'targets': [
- {
- 'target_name': 'pdfsqueeze',
- 'type': 'executable',
- 'sources': [
- '../../third_party/pdfsqueeze/pdfsqueeze.m',
- ],
- 'defines': [
- # Use defines to map the full path names that will be used for
- # the vars into the short forms expected by pdfsqueeze.m.
- '______third_party_pdfsqueeze_ApplyGenericRGB_qfilter=ApplyGenericRGB_qfilter',
- '______third_party_pdfsqueeze_ApplyGenericRGB_qfilter_len=ApplyGenericRGB_qfilter_len',
- ],
- 'include_dirs': [
- '<(INTERMEDIATE_DIR)',
- ],
- 'libraries': [
- '$(SDKROOT)/System/Library/Frameworks/Foundation.framework',
- '$(SDKROOT)/System/Library/Frameworks/Quartz.framework',
- ],
- 'actions': [
- {
- 'action_name': 'Generate inline filter data',
- 'inputs': [
- '../../third_party/pdfsqueeze/ApplyGenericRGB.qfilter',
- ],
- 'outputs': [
- '<(INTERMEDIATE_DIR)/ApplyGenericRGB.h',
- ],
- 'action': ['xxd', '-i', '<@(_inputs)', '<@(_outputs)'],
- },
- ],
- },
- ],
-}
-
-# Local Variables:
-# tab-width:2
-# indent-tabs-mode:nil
-# End:
-# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/build/util/build_util.gyp b/build/util/build_util.gyp
deleted file mode 100644
index a909177..0000000
--- a/build/util/build_util.gyp
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright (c) 2009 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.
-
-{
- 'targets': [
- {
- 'target_name': 'lastchange',
- 'type': 'none',
- 'variables': {
- 'lastchange_out_path': '<(SHARED_INTERMEDIATE_DIR)/build/LASTCHANGE',
- 'default_lastchange_path': '../LASTCHANGE.in',
- },
- 'actions': [
- {
- 'action_name': 'lastchange',
- 'inputs': [
- # Note: <(default_lastchange_path) is optional,
- # so it doesn't show up in inputs.
- './lastchange.py',
- ],
- 'outputs': [
- '<(lastchange_out_path).always',
- '<(lastchange_out_path)',
- ],
- 'action': [
- 'python', '<@(_inputs)',
- '-o', '<(lastchange_out_path)',
- '-d', '<(default_lastchange_path)',
- ],
- 'message': 'Extracting last change to <(lastchange_out_path)',
- 'process_outputs_as_sources': '1',
- },
- ],
- },
- ]
-}
-
-# Local Variables:
-# tab-width:2
-# indent-tabs-mode:nil
-# End:
-# vim: set expandtab tabstop=2 shiftwidth=2:
diff --git a/build/util/lastchange.py b/build/util/lastchange.py
deleted file mode 100755
index 4d7a1fe..0000000
--- a/build/util/lastchange.py
+++ /dev/null
@@ -1,286 +0,0 @@
-#!/usr/bin/env python
-# Copyright (c) 2011 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.
-
-"""
-lastchange.py -- Chromium revision fetching utility.
-"""
-
-import re
-import optparse
-import os
-import subprocess
-import sys
-
-class VersionInfo(object):
- def __init__(self, url, root, revision):
- self.url = url
- self.root = root
- self.revision = revision
-
-
-def FetchSVNRevision(directory):
- """
- Fetch the Subversion branch and revision for a given directory.
-
- Errors are swallowed.
-
- Returns:
- a VersionInfo object or None on error.
- """
- try:
- proc = subprocess.Popen(['svn', 'info'],
- stdout=subprocess.PIPE,
- stderr=subprocess.PIPE,
- cwd=directory,
- shell=(sys.platform=='win32'))
- except OSError:
- # command is apparently either not installed or not executable.
- return None
- if not proc:
- return None
-
- attrs = {}
- for line in proc.stdout:
- line = line.strip()
- if not line:
- continue
- key, val = line.split(': ', 1)
- attrs[key] = val
-
- try:
- url = attrs['URL']
- root = attrs['Repository Root']
- revision = attrs['Revision']
- except KeyError:
- return None
-
- return VersionInfo(url, root, revision)
-
-
-def RunGitCommand(directory, command):
- """
- Launches git subcommand.
-
- Errors are swallowed.
-
- Returns:
- process object or None.
- """
- command = ['git'] + command
- # Force shell usage under cygwin & win32. This is a workaround for
- # mysterious loss of cwd while invoking cygwin's git.
- # We can't just pass shell=True to Popen, as under win32 this will
- # cause CMD to be used, while we explicitly want a cygwin shell.
- if sys.platform in ('cygwin', 'win32'):
- command = ['sh', '-c', ' '.join(command)]
- try:
- proc = subprocess.Popen(command,
- stdout=subprocess.PIPE,
- stderr=subprocess.PIPE,
- cwd=directory)
- return proc
- except OSError:
- return None
-
-
-def FetchGitRevision(directory):
- """
- Fetch the Git hash for a given directory.
-
- Errors are swallowed.
-
- Returns:
- a VersionInfo object or None on error.
- """
- proc = RunGitCommand(directory, ['rev-parse', 'HEAD'])
- if proc:
- output = proc.communicate()[0].strip()
- if proc.returncode == 0 and output:
- return VersionInfo('git', 'git', output[:7])
- return None
-
-
-def IsGitSVN(directory):
- """
- Checks whether git-svn has been set up.
-
- Errors are swallowed.
-
- Returns:
- whether git-svn has been set up.
- """
- # To test whether git-svn has been set up, query the config for any
- # svn-related configuration. This command exits with an error code
- # if there aren't any matches, so ignore its output.
- proc = RunGitCommand(directory, ['config', '--get-regexp', '^svn'])
- if proc:
- return (proc.wait() == 0)
- return False
-
-
-def FetchGitSVNURL(directory):
- """
- Fetch URL of SVN repository bound to git.
-
- Errors are swallowed.
-
- Returns:
- SVN URL.
- """
- if IsGitSVN(directory):
- proc = RunGitCommand(directory, ['svn', 'info', '--url'])
- if proc:
- output = proc.communicate()[0].strip()
- if proc.returncode == 0:
- match = re.search(r'^\w+://.*$', output, re.M)
- if match:
- return match.group(0)
- return ''
-
-
-def FetchGitSVNRoot(directory):
- """
- Fetch root of SVN repository bound to git.
-
- Errors are swallowed.
-
- Returns:
- SVN root repository.
- """
- if IsGitSVN(directory):
- git_command = ['config', '--get-regexp', '^svn-remote.svn.url$']
- proc = RunGitCommand(directory, git_command)
- if proc:
- output = proc.communicate()[0].strip()
- if proc.returncode == 0:
- # Zero return code implies presence of requested configuration variable.
- # Its value is second (last) field of output.
- match = re.search(r'\S+$', output)
- if match:
- return match.group(0)
- return ''
-
-
-def LookupGitSVNRevision(directory, depth):
- """
- Fetch the Git-SVN identifier for the local tree.
- Parses first |depth| commit messages.
-
- Errors are swallowed.
- """
- if not IsGitSVN(directory):
- return None
- git_re = re.compile(r'^\s*git-svn-id:\s+(\S+)@(\d+)')
- proc = RunGitCommand(directory, ['log', '-' + str(depth)])
- if proc:
- for line in proc.stdout:
- match = git_re.match(line)
- if match:
- id = match.group(2)
- if id:
- proc.stdout.close() # Cut pipe for fast exit.
- return id
- return None
-
-
-def IsGitSVNDirty(directory):
- """
- Checks whether our git-svn tree contains clean trunk or some branch.
-
- Errors are swallowed.
- """
- # For git branches the last commit message is either
- # some local commit or a merge.
- return LookupGitSVNRevision(directory, 1) is None
-
-
-def FetchGitSVNRevision(directory):
- """
- Fetch the Git-SVN identifier for the local tree.
-
- Errors are swallowed.
- """
- # We assume that at least first 999 commit messages contain svn evidence.
- revision = LookupGitSVNRevision(directory, 999)
- if not revision:
- return None
- if IsGitSVNDirty(directory):
- revision = revision + '-dirty'
- url = FetchGitSVNURL(directory)
- root = FetchGitSVNRoot(directory)
- return VersionInfo(url, root, revision)
-
-
-def FetchVersionInfo(default_lastchange, directory=None):
- """
- Returns the last change (in the form of a branch, revision tuple),
- from some appropriate revision control system.
- """
- version_info = (FetchSVNRevision(directory) or
- FetchGitSVNRevision(directory) or FetchGitRevision(directory))
- if not version_info:
- if default_lastchange and os.path.exists(default_lastchange):
- revision = open(default_lastchange, 'r').read().strip()
- version_info = VersionInfo(None, None, revision)
- else:
- version_info = VersionInfo('unknown', '', '0')
- return version_info
-
-
-def WriteIfChanged(file_name, contents):
- """
- Writes the specified contents to the specified file_name
- iff the contents are different than the current contents.
- """
- try:
- old_contents = open(file_name, 'r').read()
- except EnvironmentError:
- pass
- else:
- if contents == old_contents:
- return
- os.unlink(file_name)
- open(file_name, 'w').write(contents)
-
-
-def main(argv=None):
- if argv is None:
- argv = sys.argv
-
- parser = optparse.OptionParser(usage="lastchange.py [options]")
- parser.add_option("-d", "--default-lastchange", metavar="FILE",
- help="default last change input FILE")
- parser.add_option("-o", "--output", metavar="FILE",
- help="write last change to FILE")
- parser.add_option("--revision-only", action='store_true',
- help="just print the SVN revision number")
- opts, args = parser.parse_args(argv[1:])
-
- out_file = opts.output
-
- while len(args) and out_file is None:
- if out_file is None:
- out_file = args.pop(0)
- if args:
- sys.stderr.write('Unexpected arguments: %r\n\n' % args)
- parser.print_help()
- sys.exit(2)
-
- version_info = FetchVersionInfo(opts.default_lastchange)
-
- if opts.revision_only:
- print version_info.revision
- else:
- contents = "LASTCHANGE=%s\n" % version_info.revision
- if out_file:
- WriteIfChanged(out_file, contents)
- else:
- sys.stdout.write(contents)
-
- return 0
-
-
-if __name__ == '__main__':
- sys.exit(main())
diff --git a/build/whitespace_file.txt b/build/whitespace_file.txt
deleted file mode 100644
index f45cad4..0000000
--- a/build/whitespace_file.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-Copyright (c) 2011 The Chromium Authors. All rights reserved.
-Use of this useless file is governed by a BSD-style license that can be
-found in the LICENSE file.
-
-This file is used for making non-code changes to trigger buildbot cycles. Make
-any modification below this line.
-================================================================================
-
-i am somewhat YELLY!
-
-All your base belong to us.
diff --git a/build/win/chrome_win.croc b/build/win/chrome_win.croc
deleted file mode 100644
index e1e3bb7..0000000
--- a/build/win/chrome_win.croc
+++ /dev/null
@@ -1,26 +0,0 @@
-# -*- python -*-
-# Crocodile config file for Chromium windows
-
-{
- # List of rules, applied in order
- 'rules' : [
- # Specify inclusions before exclusions, since rules are in order.
-
- # Don't include chromeos, posix, or linux specific files
- {
- 'regexp' : '.*(_|/)(chromeos|linux|posix)(\\.|_)',
- 'include' : 0,
- },
- # Don't include ChromeOS dirs
- {
- 'regexp' : '.*/chromeos/',
- 'include' : 0,
- },
-
- # Groups
- {
- 'regexp' : '.*_test_win\\.',
- 'group' : 'test',
- },
- ],
-}
diff --git a/build/win/system.gyp b/build/win/system.gyp
deleted file mode 100644
index 0c06849..0000000
--- a/build/win/system.gyp
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright (c) 2009 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.
-
-{
- 'targets': [
- {
- 'target_name': 'cygwin',
- 'type': 'none',
- 'actions': [
- {
- 'action_name': 'setup_mount',
- 'msvs_cygwin_shell': 0,
- 'inputs': [
- '../../third_party/cygwin/setup_mount.bat',
- ],
- # Visual Studio requires an output file, or else the
- # custom build step won't run.
- 'outputs': [
- '../../third_party/cygwin/_always_run_setup_mount.marker',
- ],
- 'action': ['', '<@(_inputs)'],
- },
- ],
- },
- ],
-}
-
-# Local Variables:
-# tab-width:2
-# indent-tabs-mode:nil
-# End:
-# vim: set expandtab tabstop=2 shiftwidth=2: