| Index: build/common.gypi
|
| diff --git a/build/common.gypi b/build/common.gypi
|
| index cbf994d5a684673522932f17a103d21c309afbdb..f1d412f9579c382bf03626afe4e33e33f5a194b1 100644
|
| --- a/build/common.gypi
|
| +++ b/build/common.gypi
|
| @@ -21,6 +21,9 @@
|
| # Whether we're building a ChromeOS build.
|
| 'chromeos%': 0,
|
|
|
| + # Whether we're building the cast (chromecast) shell
|
| + 'chromecast%': 0,
|
| +
|
| # Whether or not we are using the Aura windowing framework.
|
| 'use_aura%': 0,
|
|
|
| @@ -47,6 +50,7 @@
|
| },
|
| # Copy conditionally-set variables out one scope.
|
| 'chromeos%': '<(chromeos)',
|
| + 'chromecast%': '<(chromecast)',
|
| 'use_aura%': '<(use_aura)',
|
| 'use_ash%': '<(use_ash)',
|
| 'use_cras%': '<(use_cras)',
|
| @@ -97,11 +101,11 @@
|
| 'use_aura%': 1,
|
| }],
|
|
|
| - # ToT Linux should be aura.
|
| + # ToT Linux should be aura (except for chromecast builds).
|
| #
|
| # TODO(erg): Merge this into the previous block once compiling with
|
| # aura safely implies including ash capabilities.
|
| - ['OS=="linux"', {
|
| + ['OS=="linux" and chromecast==0', {
|
| 'use_aura%': 1,
|
| }],
|
|
|
| @@ -117,7 +121,7 @@
|
| 'use_ozone%': 1,
|
| }],
|
|
|
| - ['embedded==1', {
|
| + ['embedded==1 or chromecast==1', {
|
| 'use_system_fontconfig%': 0,
|
| }, {
|
| 'use_system_fontconfig%': 1,
|
| @@ -134,6 +138,7 @@
|
| },
|
| # Copy conditionally-set variables out one scope.
|
| 'chromeos%': '<(chromeos)',
|
| + 'chromecast%': '<(chromecast)',
|
| 'desktop_linux%': '<(desktop_linux)',
|
| 'use_aura%': '<(use_aura)',
|
| 'use_ash%': '<(use_ash)',
|
| @@ -181,7 +186,7 @@
|
| }],
|
|
|
| # Set default value of toolkit_views based on OS.
|
| - ['OS=="win" or chromeos==1 or use_aura==1', {
|
| + ['OS=="win" or chromeos==1 or use_aura==1 or chromecast==1', {
|
| 'toolkit_views%': 1,
|
| }, {
|
| 'toolkit_views%': 0,
|
| @@ -242,6 +247,7 @@
|
|
|
| # Copy conditionally-set variables out one scope.
|
| 'chromeos%': '<(chromeos)',
|
| + 'chromecast%': '<(chromecast)',
|
| 'host_arch%': '<(host_arch)',
|
| 'target_arch%': '<(target_arch)',
|
| 'target_subarch%': '<(target_subarch)',
|
| @@ -557,6 +563,10 @@
|
| 'os_bsd%': 0,
|
| }],
|
|
|
| + ['chromecast==1', {
|
| + 'safe_browsing%': 0,
|
| + }],
|
| +
|
| # NSS usage.
|
| ['(OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris") and use_openssl==0', {
|
| 'use_nss%': 1,
|
| @@ -573,28 +583,28 @@
|
| }],
|
|
|
| # libudev usage. This currently only affects the content layer.
|
| - ['OS=="linux" and embedded==0', {
|
| + ['OS=="linux" and embedded==0 and chromecast==0', {
|
| 'use_udev%': 1,
|
| }, {
|
| 'use_udev%': 0,
|
| }],
|
|
|
| # Flags to use X11 on non-Mac POSIX platforms.
|
| - ['OS=="win" or OS=="mac" or OS=="ios" or OS=="android" or use_ozone==1', {
|
| + ['OS=="win" or OS=="mac" or OS=="ios" or OS=="android" or use_ozone==1 or chromecast==1', {
|
| 'use_x11%': 0,
|
| }, {
|
| 'use_x11%': 1,
|
| }],
|
|
|
| # Flags to use glib.
|
| - ['OS=="win" or OS=="mac" or OS=="ios" or OS=="android" or embedded==1', {
|
| + ['OS=="win" or OS=="mac" or OS=="ios" or OS=="android" or embedded==1 or chromecast==1', {
|
| 'use_glib%': 0,
|
| }, {
|
| 'use_glib%': 1,
|
| }],
|
|
|
| # Flags to use pango and cairo.
|
| - ['OS=="win" or OS=="mac" or OS=="ios" or OS=="android" or embedded==1', {
|
| + ['OS=="win" or OS=="mac" or OS=="ios" or OS=="android" or embedded==1 or chromecast==1', {
|
| 'use_pango%': 0,
|
| 'use_cairo%': 0,
|
| }, {
|
| @@ -603,7 +613,7 @@
|
| }],
|
|
|
| # DBus usage.
|
| - ['OS=="linux" and embedded==0', {
|
| + ['OS=="linux" and embedded==0 and chromecast==0', {
|
| 'use_dbus%': 1,
|
| }, {
|
| 'use_dbus%': 0,
|
| @@ -662,9 +672,9 @@
|
| }],
|
|
|
| # Android OS includes support for proprietary codecs regardless of
|
| - # building Chromium or Google Chrome. We also ship Google Chrome with
|
| - # proprietary codecs.
|
| - ['OS=="android" or branding=="Chrome"', {
|
| + # building Chromium or Google Chrome. We also ship Google Chrome and
|
| + # Chromecast with proprietary codecs.
|
| + ['OS=="android" or branding=="Chrome" or chromecast==1', {
|
| 'proprietary_codecs%': 1,
|
| }, {
|
| 'proprietary_codecs%': 0,
|
| @@ -720,7 +730,7 @@
|
| 'enable_plugin_installation%': 1,
|
| }],
|
|
|
| - ['OS=="android" or OS=="ios" or embedded==1', {
|
| + ['OS=="android" or OS=="ios" or embedded==1 or chromecast==1', {
|
| 'enable_plugins%': 0,
|
| }, {
|
| 'enable_plugins%': 1,
|
| @@ -858,15 +868,15 @@
|
| }],
|
|
|
| # Disable various features by default on embedded.
|
| - ['embedded==1', {
|
| + ['embedded==1 or chromecast==1', {
|
| 'remoting%': 0,
|
| 'enable_printing%': 0,
|
| }],
|
|
|
| # By default, use ICU data file (icudtl.dat) on all platforms
|
| - # except when building Android WebView.
|
| + # except when building Android WebView or Chromecast.
|
| # TODO(jshin): Handle 'use_system_icu' on Linux (Chromium).
|
| - ['android_webview_build==0', {
|
| + ['android_webview_build==0 and chromecast==0', {
|
| 'icu_use_data_file_flag%' : 1,
|
| }, {
|
| 'icu_use_data_file_flag%' : 0,
|
| @@ -953,6 +963,7 @@
|
| 'use_gnome_keyring%': '<(use_gnome_keyring)',
|
| 'linux_fpic%': '<(linux_fpic)',
|
| 'chromeos%': '<(chromeos)',
|
| + 'chromecast%': '<(chromecast)',
|
| 'enable_viewport%': '<(enable_viewport)',
|
| 'enable_hidpi%': '<(enable_hidpi)',
|
| 'use_xi2_mt%':'<(use_xi2_mt)',
|
| @@ -1632,6 +1643,18 @@
|
| # Copy it out one scope.
|
| 'android_webview_build%': '<(android_webview_build)',
|
| }], # OS=="android"
|
| + ['chromecast==1', {
|
| + 'ffmpeg_branding%': 'Chrome',
|
| + 'conditions': [
|
| + ['target_arch=="arm"', {
|
| + 'cast_uses_directfb%': 0,
|
| + 'enable_mpeg2ts_stream_parser%': 1,
|
| + 'video_hole%': 1,
|
| + }, {
|
| + 'cast_uses_directfb%': 1,
|
| + }],
|
| + ],
|
| + }],
|
| ['android_webview_build==1', {
|
| # When building the WebView in the Android tree, jarjar will remap all
|
| # the class names, so the JNI generator needs to know this.
|
| @@ -1759,7 +1782,7 @@
|
| ],
|
| }],
|
|
|
| - ['os_posix==1 and chromeos==0 and OS!="android" and OS!="ios"', {
|
| + ['os_posix==1 and chromeos==0 and OS!="android" and OS!="ios" and chromecast==0', {
|
| 'use_cups%': 1,
|
| }, {
|
| 'use_cups%': 0,
|
| @@ -2056,6 +2079,12 @@
|
| 'arm_thumb%': 0,
|
| }],
|
|
|
| + ['chromecast==1', {
|
| + 'arm_arch%': '',
|
| + 'arm_tune%': 'cortex-a9',
|
| + 'arm_thumb%': 1,
|
| + }],
|
| +
|
| # Enable brlapi by default for chromeos.
|
| [ 'chromeos==1', {
|
| 'use_brlapi%': 1,
|
| @@ -2145,6 +2174,8 @@
|
|
|
| 'component%': '<(component)',
|
|
|
| + 'chromecast%': '<(chromecast)',
|
| +
|
| # See http://msdn.microsoft.com/en-us/library/aa652360(VS.71).aspx
|
| 'win_release_Optimization%': '2', # 2 = /Os
|
| 'win_debug_Optimization%': '0', # 0 = /Od
|
| @@ -2502,6 +2533,20 @@
|
| }],
|
| ], # win_z7!=0
|
| }], # OS==win
|
| + ['chromecast==1', {
|
| + 'defines': [
|
| + 'LOG_DISABLED=0',
|
| + ],
|
| + 'conditions': [
|
| + ['target_arch=="arm"', {
|
| + 'defines': [
|
| + # Work around an error when compiling v8/src/platform-linux.cc
|
| + # with gcc-4.5.
|
| + '__SOFTFP',
|
| + ],
|
| + }],
|
| + ],
|
| + }],
|
| ['enable_task_manager==1', {
|
| 'defines': [
|
| 'ENABLE_TASK_MANAGER=1',
|
| @@ -3484,6 +3529,32 @@
|
| }],
|
| ],
|
| }],
|
| + ['chromecast==1', {
|
| + 'cflags': [
|
| + # We set arm_arch to "" so that -march compiler option
|
| + # is not set. Otherwise a gcc bug that would complain
|
| + # about it conflicting with '-mcpu=cortex-a9'. The flag
|
| + # '-march=armv7-a' is actually redundant anyway because
|
| + # it is enabled by default when we built the toolchain.
|
| + # And using '-mcpu=cortex-a9' should be sufficient.
|
| + '-mcpu=cortex-a9',
|
| + '-funwind-tables',
|
| + # Breakpad requires symbols with debugging information
|
| + '-g',
|
| + ],
|
| + 'ldflags': [
|
| + # We want to statically link libstdc++/libgcc_s.
|
| + '-static-libstdc++',
|
| + '-static-libgcc',
|
| + ],
|
| + 'cflags!': [
|
| + # Some components in Chormium (e.g. v8) define their own
|
| + # cflags that are not desirable. Remove them explicitly
|
| + # here.
|
| + '-march=armv7-a',
|
| + '-mtune=cortex-a8',
|
| + ],
|
| + }],
|
| ],
|
| }],
|
| ],
|
|
|