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

Side by Side Diff: build/config/features.gni

Issue 1345013002: Add is_chromecast to GN build. (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: Rebase + ui changes. Created 5 years, 3 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 unified diff | Download patch
« no previous file with comments | « build/config/chromecast_build.gni ('k') | build/config/ui.gni » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 # This file contains Chrome-feature-related build flags (see ui.gni for 5 # This file contains Chrome-feature-related build flags (see ui.gni for
6 # UI-related ones). These should theoretically be moved to the build files of 6 # UI-related ones). These should theoretically be moved to the build files of
7 # the features themselves. 7 # the features themselves.
8 # 8 #
9 # However, today we have many "bad" dependencies on some of these flags from, 9 # However, today we have many "bad" dependencies on some of these flags from,
10 # e.g. base, so they need to be global to match the GYP configuration. Also, 10 # e.g. base, so they need to be global to match the GYP configuration. Also,
11 # anything that needs a grit define must be in either this file or ui.gni. 11 # anything that needs a grit define must be in either this file or ui.gni.
12 # 12 #
13 # PLEASE TRY TO AVOID ADDING FLAGS TO THIS FILE in cases where grit isn't 13 # PLEASE TRY TO AVOID ADDING FLAGS TO THIS FILE in cases where grit isn't
14 # required. See the declare_args block of BUILDCONFIG.gn for advice on how 14 # required. See the declare_args block of BUILDCONFIG.gn for advice on how
15 # to set up feature flags. 15 # to set up feature flags.
16 16
17 import("//build/config/chrome_build.gni") 17 import("//build/config/chrome_build.gni")
18 import("//build/config/chromecast_build.gni")
18 if (is_android) { 19 if (is_android) {
19 import("//build/config/android/config.gni") 20 import("//build/config/android/config.gni")
20 } 21 }
21 22
22 declare_args() { 23 declare_args() {
23 # Multicast DNS. 24 # Multicast DNS.
24 enable_mdns = is_win || is_linux 25 enable_mdns = is_win || is_linux
25 26
26 enable_plugins = !is_android && !is_ios 27 enable_plugins = (!is_android && !is_ios) || is_chromecast
27 enable_pdf = !is_android && !is_ios 28 enable_pdf = !is_android && !is_ios && !is_chromecast
28 29
29 # Enables Native Client support. 30 # Enables Native Client support.
30 # TODO(GYP): Get NaCl linking on other platforms. 31 # TODO(GYP): Get NaCl linking on other platforms.
31 # Also, see if we can always get rid of enable_nacl_untrusted and 32 # Also, see if we can always get rid of enable_nacl_untrusted and
32 # enable_pnacl and always build them if enable_nacl is true. 33 # enable_pnacl and always build them if enable_nacl is true.
33 # The "is_nacl" part of the condition is needed to ensure that 34 # The "is_nacl" part of the condition is needed to ensure that
34 # the untrusted code is built properly; arguably it should be 35 # the untrusted code is built properly; arguably it should be
35 # guarded by "is_nacl" directly rather than enable_nacl_untrusted, but 36 # guarded by "is_nacl" directly rather than enable_nacl_untrusted, but
36 # this will go away when Mac and Win are working and we can just use 37 # this will go away when Mac and Win are working and we can just use
37 # the commented out logic. 38 # the commented out logic.
38 # Eventually we want this to be: 39 # Eventually we want this to be:
39 # enable_nacl = !is_ios && !is_android 40 # enable_nacl = !is_ios && !is_android && !is_chromecast
40 enable_nacl = 41 enable_nacl = ((is_linux && !is_chromeos) || is_nacl) &&
41 ((is_linux && !is_chromeos) || is_nacl) && current_cpu != "mipsel" 42 current_cpu != "mipsel" && !is_chromecast
42 enable_nacl_untrusted = enable_nacl 43 enable_nacl_untrusted = enable_nacl
43 enable_pnacl = enable_nacl_untrusted 44 enable_pnacl = enable_nacl_untrusted
44 45
45 # If debug_devtools is set to true, JavaScript files for DevTools are stored 46 # If debug_devtools is set to true, JavaScript files for DevTools are stored
46 # as is and loaded from disk. Otherwise, a concatenated file is stored in 47 # as is and loaded from disk. Otherwise, a concatenated file is stored in
47 # resources.pak. It is still possible to load JS files from disk by passing 48 # resources.pak. It is still possible to load JS files from disk by passing
48 # --debug-devtools cmdline switch. 49 # --debug-devtools cmdline switch.
49 debug_devtools = false 50 debug_devtools = false
50 51
51 # Enables WebRTC. 52 # Enables WebRTC.
52 # TODO(GYP) make mac and android work. 53 # TODO(GYP) make mac and android work.
53 enable_webrtc = !is_ios && !is_mac && !is_android 54 enable_webrtc = !is_ios && !is_mac && !is_android
54 55
55 # Enables the Media Router. 56 # Enables the Media Router.
56 enable_media_router = !is_ios 57 enable_media_router = !is_ios
57 58
58 # Enables proprietary codecs and demuxers; e.g. H264, MOV, AAC, and MP3. 59 # Enables proprietary codecs and demuxers; e.g. H264, MOV, AAC, and MP3.
59 # Android OS includes support for proprietary codecs regardless of building 60 # Android OS includes support for proprietary codecs regardless of building
60 # Chromium or Google Chrome. We also ship Google Chrome and Chromecast with 61 # Chromium or Google Chrome. We also ship Google Chrome and Chromecast with
61 # proprietary codecs. 62 # proprietary codecs.
62 # TODO(GYP) The GYP build has || chromecast==1 for this: 63 proprietary_codecs = is_android || is_chrome_branded || is_chromecast
63 proprietary_codecs = is_android || is_chrome_branded
64 64
65 # TODO(GYP) This should be enabled on ios as well. 65 # TODO(GYP) This should be enabled on ios as well.
66 enable_configuration_policy = !is_ios 66 enable_configuration_policy = !is_ios
67 67
68 # Enables support for background apps. 68 # Enables support for background apps.
69 enable_background = !is_ios && !is_android 69 enable_background = !is_ios && !is_android
70 70
71 enable_captive_portal_detection = !is_android && !is_ios 71 enable_captive_portal_detection = !is_android && !is_ios
72 72
73 # Enables use of the session service, which is enabled by default. 73 # Enables use of the session service, which is enabled by default.
74 # Android stores them separately on the Java side. 74 # Android stores them separately on the Java side.
75 enable_session_service = !is_android && !is_ios 75 enable_session_service = !is_android && !is_ios
76 76
77 enable_plugin_installation = is_win || is_mac 77 enable_plugin_installation = is_win || is_mac
78 78
79 enable_app_list = !is_ios && !is_android 79 enable_app_list = !is_ios && !is_android
80 80
81 enable_supervised_users = !is_ios 81 enable_supervised_users = !is_ios
82 82
83 enable_autofill_dialog = !is_ios 83 enable_autofill_dialog = !is_ios
84 84
85 enable_google_now = !is_ios && !is_android 85 enable_google_now = !is_ios && !is_android
86 86
87 enable_one_click_signin = is_win || is_mac || (is_linux && !is_chromeos) 87 enable_one_click_signin = is_win || is_mac || (is_linux && !is_chromeos)
88 88
89 enable_remoting = !is_ios && !is_android 89 enable_remoting = !is_ios && !is_android && !is_chromecast
90 90
91 # Enable hole punching for the protected video. 91 # Enable hole punching for the protected video.
92 enable_video_hole = is_android 92 enable_video_hole = is_android || is_chromecast
93 93
94 # Enables browser side Content Decryption Modules. Required for embedders 94 # Enables browser side Content Decryption Modules. Required for embedders
95 # (e.g. Android and ChromeCast) that use a browser side CDM. 95 # (e.g. Android and ChromeCast) that use a browser side CDM.
96 enable_browser_cdms = is_android 96 enable_browser_cdms = is_android || is_chromecast
97 97
98 # Hangout services is an extension that adds extra features to Hangouts. 98 # Hangout services is an extension that adds extra features to Hangouts.
99 # For official GYP builds, this flag is set. 99 # For official GYP builds, this flag is set.
100 enable_hangout_services_extension = false 100 enable_hangout_services_extension = false
101 101
102 # Enables the use of CDMs in pepper plugins. Chromecast requires that this
103 # can be explicitly disabled in gn args.
104 enable_pepper_cdms = enable_plugins && (is_linux || is_mac || is_win)
105
106 # Variable safe_browsing is used to control the build time configuration 102 # Variable safe_browsing is used to control the build time configuration
107 # for safe browsing feature. Safe browsing can be compiled in 4 different 103 # for safe browsing feature. Safe browsing can be compiled in 4 different
108 # levels: 0 disables it, 1 enables it fully, and 2 enables only UI and 104 # levels: 0 disables it, 1 enables it fully, and 2 enables only UI and
109 # reporting features for use with Data Saver on Mobile, and 3 enables 105 # reporting features for use with Data Saver on Mobile, and 3 enables
110 # extended mobile protection via an external API. When 3 is fully deployed, 106 # extended mobile protection via an external API. When 3 is fully deployed,
111 # it will replace 2. 107 # it will replace 2.
112 if (is_android) { 108 if (is_android) {
113 safe_browsing_mode = 2 109 safe_browsing_mode = 2
114 } else if (is_ios) { 110 } else if (is_ios) {
115 safe_browsing_mode = 0 111 safe_browsing_mode = 0
(...skipping 14 matching lines...) Expand all
130 # 2: Use only CLD2. 126 # 2: Use only CLD2.
131 cld_version = 2 127 cld_version = 2
132 128
133 if (is_android || is_ios) { 129 if (is_android || is_ios) {
134 cld2_table_size = 0 # Small, accurate tables 130 cld2_table_size = 0 # Small, accurate tables
135 } else { 131 } else {
136 cld2_table_size = 2 # Larger, more accurate tables 132 cld2_table_size = 2 # Larger, more accurate tables
137 } 133 }
138 134
139 # libudev usage. This currently only affects the content layer. 135 # libudev usage. This currently only affects the content layer.
140 use_udev = is_linux 136 use_udev = is_linux && !is_chromecast
141 137
142 # Enable the spell checker. 138 # Enable the spell checker.
143 enable_spellcheck = !is_ios 139 enable_spellcheck = !is_ios
144 140
145 # Use the operating system's spellchecker rather than hunspell. 141 # Use the operating system's spellchecker rather than hunspell.
146 use_browser_spellchecker = is_android || is_mac 142 use_browser_spellchecker = is_android || is_mac
147 143
148 # Enable basic printing support and UI. 144 # Enable basic printing support and UI.
149 enable_basic_printing = !is_chromeos 145 enable_basic_printing = !is_chromeos && !is_chromecast
150 146
151 # Enable printing with print preview. It does not imply 147 # Enable printing with print preview. It does not imply
152 # enable_basic_printing. It's possible to build Chrome with preview only. 148 # enable_basic_printing. It's possible to build Chrome with preview only.
153 enable_print_preview = !is_android 149 enable_print_preview = !is_android && !is_chromecast
150
151 # Enables the use of CDMs in pepper plugins.
152 enable_pepper_cdms =
153 enable_plugins && (is_linux || is_mac || is_win) && !is_chromecast
154 154
155 # The seccomp-bpf sandbox is only supported on three architectures 155 # The seccomp-bpf sandbox is only supported on three architectures
156 # currently. 156 # currently.
157 # Do not disable seccomp_bpf anywhere without talking to 157 # Do not disable seccomp_bpf anywhere without talking to
158 # security@chromium.org! 158 # security@chromium.org!
159 use_seccomp_bpf = (is_linux || is_android) && 159 use_seccomp_bpf = (is_linux || is_android) &&
160 (current_cpu == "x86" || current_cpu == "x64" || 160 (current_cpu == "x86" || current_cpu == "x64" ||
161 current_cpu == "arm" || current_cpu == "mipsel") 161 current_cpu == "arm" || current_cpu == "mipsel")
162 162
163 # Enable notifications everywhere except iOS. 163 # Enable notifications everywhere except iOS.
164 enable_notifications = !is_ios 164 enable_notifications = !is_ios
165 165
166 # TODO(brettw) this should be moved to net and only dependents get this define. 166 # TODO(brettw) this should be moved to net and only dependents get this define.
167 disable_ftp_support = is_ios 167 disable_ftp_support = is_ios
168 168
169 enable_web_speech = !is_android && !is_ios 169 enable_web_speech = !is_android && !is_ios
170 170
171 use_dbus = is_linux 171 use_dbus = is_linux && !is_chromecast
172 172
173 enable_extensions = !is_android && !is_ios 173 enable_extensions = !is_android && !is_ios
174 174
175 enable_task_manager = !is_ios && !is_android 175 enable_task_manager = !is_ios && !is_android
176 176
177 use_cups = is_desktop_linux || is_mac 177 use_cups = (is_desktop_linux || is_mac) && !is_chromecast
178 178
179 enable_themes = !is_android && !is_ios 179 enable_themes = !is_android && !is_ios
180 180
181 # TODO(scottmg) remove this when we've fixed printing. 181 # TODO(scottmg) remove this when we've fixed printing.
182 win_pdf_metafile_for_printing = true 182 win_pdf_metafile_for_printing = true
183 183
184 # Whether we are using the rlz library or not. Platforms like Android send 184 # Whether we are using the rlz library or not. Platforms like Android send
185 # rlz codes for searches but do not use the library. 185 # rlz codes for searches but do not use the library.
186 enable_rlz_support = is_win || is_mac || is_ios || is_chromeos 186 enable_rlz_support = is_win || is_mac || is_ios || is_chromeos
187 enable_rlz = is_chrome_branded && enable_rlz_support 187 enable_rlz = is_chrome_branded && enable_rlz_support
188 188
189 enable_settings_app = enable_app_list && !is_chromeos 189 enable_settings_app = enable_app_list && !is_chromeos
190 190
191 enable_service_discovery = enable_mdns || is_mac 191 enable_service_discovery = enable_mdns || is_mac
192 192
193 enable_wifi_bootstrapping = is_win || is_mac 193 enable_wifi_bootstrapping = is_win || is_mac
194 194
195 # Image loader extension is enabled on ChromeOS only. 195 # Image loader extension is enabled on ChromeOS only.
196 enable_image_loader_extension = is_chromeos 196 enable_image_loader_extension = is_chromeos
197 197
198 # Chrome OS: whether to also build the upcoming version of 198 # Chrome OS: whether to also build the upcoming version of
199 # ChromeVox, which can then be enabled via a command-line switch. 199 # ChromeVox, which can then be enabled via a command-line switch.
200 enable_chromevox_next = false 200 enable_chromevox_next = false
201 201
202 # Use brlapi from brltty for braille display support. 202 # Use brlapi from brltty for braille display support.
203 use_brlapi = is_chromeos 203 use_brlapi = is_chromeos
204 204
205 # Option controlling the use of GConf (the classic GNOME configuration 205 # Option controlling the use of GConf (the classic GNOME configuration
206 # system). 206 # system).
207 # TODO(GYP) also require !embedded to enable. 207 use_gconf = is_linux && !is_chromeos && !is_chromecast
208 use_gconf = is_linux && !is_chromeos
209 208
210 # Whether to back up data before sync. 209 # Whether to back up data before sync.
211 enable_pre_sync_backup = is_win || is_mac || (is_linux && !is_chromeos) 210 enable_pre_sync_backup = is_win || is_mac || (is_linux && !is_chromeos)
212 211
213 # Enable WebVR support by default on Android 212 # Enable WebVR support by default on Android
214 # Still requires command line flag to access API 213 # Still requires command line flag to access API
215 enable_webvr = is_android 214 enable_webvr = is_android
OLDNEW
« no previous file with comments | « build/config/chromecast_build.gni ('k') | build/config/ui.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698