Add chromecast_build gyp variable and add rules when the variable is set to 1.

BUG=336640

Review URL: https://codereview.chromium.org/223143004

git-svn-id: http://src.chromium.org/svn/trunk/src/build@281285 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This commit is contained in:
lcwu@chromium.org 2014-07-03 17:20:15 +00:00
Родитель a5996daefe
Коммит 3241db0ae3
2 изменённых файлов: 86 добавлений и 15 удалений

Просмотреть файл

@ -151,6 +151,11 @@
}],
],
}],
['chromecast==1', {
'dependencies': [
'../chromecast/chromecast.gyp:*',
],
}],
['use_x11==1', {
'dependencies': [
'../tools/xdisplaycheck/xdisplaycheck.gyp:*',

Просмотреть файл

@ -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)',
@ -92,6 +96,11 @@
'use_aura%': 1,
}],
['chromecast==1', {
'embedded%': 1,
'use_ozone%': 1,
}],
# Ozone uses Aura.
['use_ozone==1', {
'use_aura%': 1,
@ -109,12 +118,6 @@
'use_ozone%': 1,
}],
['embedded==1', {
'use_system_fontconfig%': 0,
}, {
'use_system_fontconfig%': 1,
}],
['OS=="android"', {
'target_arch%': 'arm',
}, {
@ -126,6 +129,7 @@
},
# Copy conditionally-set variables out one scope.
'chromeos%': '<(chromeos)',
'chromecast%': '<(chromecast)',
'desktop_linux%': '<(desktop_linux)',
'use_aura%': '<(use_aura)',
'use_ash%': '<(use_ash)',
@ -134,7 +138,6 @@
'embedded%': '<(embedded)',
'use_openssl%': '<(use_openssl)',
'use_openssl_certs%': '<(use_openssl_certs)',
'use_system_fontconfig%': '<(use_system_fontconfig)',
'enable_viewport%': '<(enable_viewport)',
'enable_hidpi%': '<(enable_hidpi)',
'buildtype%': '<(buildtype)',
@ -236,6 +239,7 @@
# Copy conditionally-set variables out one scope.
'chromeos%': '<(chromeos)',
'chromecast%': '<(chromecast)',
'host_arch%': '<(host_arch)',
'target_arch%': '<(target_arch)',
'target_subarch%': '<(target_subarch)',
@ -250,7 +254,6 @@
'embedded%': '<(embedded)',
'use_openssl%': '<(use_openssl)',
'use_openssl_certs%': '<(use_openssl_certs)',
'use_system_fontconfig%': '<(use_system_fontconfig)',
'enable_viewport%': '<(enable_viewport)',
'enable_hidpi%': '<(enable_hidpi)',
'android_webview_build%': '<(android_webview_build)',
@ -709,9 +712,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,
@ -924,10 +927,10 @@
}],
# 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).
# Set the data reduction proxy origin for Android Webview.
['android_webview_build==0', {
['android_webview_build==0 and chromecast==0', {
'icu_use_data_file_flag%' : 1,
'spdy_proxy_auth_origin%': '',
'data_reduction_proxy_probe_url%': '',
@ -1023,12 +1026,12 @@
'use_ozone%': '<(use_ozone)',
'use_ozone_evdev%': '<(use_ozone_evdev)',
'use_clipboard_aurax11%': '<(use_clipboard_aurax11)',
'use_system_fontconfig%': '<(use_system_fontconfig)',
'desktop_linux%': '<(desktop_linux)',
'use_x11%': '<(use_x11)',
'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)',
@ -1750,6 +1753,24 @@
# Copy it out one scope.
'android_webview_build%': '<(android_webview_build)',
}], # OS=="android"
['embedded==1', {
'use_system_fontconfig%': 0,
}, {
'use_system_fontconfig%': 1,
}],
['chromecast==1', {
'ffmpeg_branding%': 'Chrome',
'ozone_platform_ozonex%': 1,
'conditions': [
['target_arch=="arm"', {
'arm_arch%': '',
'arm_tune%': 'cortex-a9',
'arm_thumb%': 1,
'enable_mpeg2ts_stream_parser%': 1,
'video_hole%': 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.
@ -1877,7 +1898,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 embedded==0', {
'use_cups%': 1,
}, {
'use_cups%': 0,
@ -2288,6 +2309,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
@ -2668,6 +2691,22 @@
}],
], # win_z7!=0
}], # OS==win
['chromecast==1', {
'defines': [
'LOG_DISABLED=0',
],
'conditions': [
['target_arch=="arm"', {
'defines': [
# TODO(lcwu): Work around an error when building Chromium
# with gcc-4.5.3 (e.g. v8/src/platform-linux.cc). Remove
# this define once the toolchain is updated.
# See crbug.com/388933.
'__SOFTFP',
],
}],
],
}],
['enable_task_manager==1', {
'defines': [
'ENABLE_TASK_MANAGER=1',
@ -3717,6 +3756,33 @@
}],
],
}],
['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 Chromium (e.g. v8, skia, ffmpeg)
# define their own cflags for arm builds that could
# conflict with the flags we set here (e.g.
# '-mcpu=cortex-a9'). Remove these flags explicitly.
'-march=armv7-a',
'-mtune=cortex-a8',
],
}],
],
}],
],