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

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: Remove the setting of disable_nacl per review comments 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
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',
+ ],
+ }],
],
}],
],
« no previous file with comments | « build/all.gyp ('k') | build/filename_rules.gypi » ('j') | build/linux/system.gyp » ('J')

Powered by Google App Engine
This is Rietveld 408576698