Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(798)

Unified Diff: build/common.gypi

Issue 223143004: Add chromecast_build gyp variable and add rules when the variable is set to 1. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Incorporate review comments, especially add/modify rules to define more gyp variables when chromeca… Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « build/all.gyp ('k') | build/filename_rules.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/common.gypi
diff --git a/build/common.gypi b/build/common.gypi
index cbf994d5a684673522932f17a103d21c309afbdb..a7264b46f1221351646506c34082b20f9e56e87a 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).
alexst (slow to review) 2014/04/22 17:28:12 Does that mean all the rendering messages that now
lcwu1 2014/04/22 18:24:42 Alex, I would think that when aura is disabled, th
#
# 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,19 @@
# Copy it out one scope.
'android_webview_build%': '<(android_webview_build)',
}], # OS=="android"
+ ['chromecast==1', {
+ 'disable_nacl%': 1,
jam 2014/04/22 16:21:15 I'm curious why this is needed? You only bring in
lcwu1 2014/04/22 18:24:42 Yes, this is indeed not needed. Removed.
+ '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 +1783,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 +2080,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 +2175,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 +2534,20 @@
}],
], # win_z7!=0
}], # OS==win
+ ['chromecast==1', {
jam 2014/04/22 16:21:15 i'm curious why this one and the previous section
lcwu1 2014/04/22 18:24:42 I was trying to follow the convention here in this
jam 2014/04/22 18:31:57 I'm not sure I understand what you mean. you're no
+ '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 +3530,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',
+ ],
+ }],
],
}],
],
« no previous file with comments | « build/all.gyp ('k') | build/filename_rules.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698