chromium-src-build/filename_rules.gypi

107 строки
4.0 KiB
Plaintext
Исходник Обычный вид История

# Copyright (c) 2012 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# This gypi file defines the patterns used for determining whether a
# file is excluded from the build on a given platform. It is
# included by common.gypi for chromium_code.
{
'target_conditions': [
['OS!="win" or >(nacl_untrusted_build)==1', {
'sources/': [ ['exclude', '_win(_browsertest|_unittest)?\\.(h|cc)$'],
['exclude', '(^|/)win/'],
['exclude', '(^|/)win_[^/]*\\.(h|cc)$'] ],
}],
['OS!="mac" or >(nacl_untrusted_build)==1', {
'sources/': [ ['exclude', '_(cocoa|mac)(_unittest)?\\.(h|cc|mm?)$'],
['exclude', '(^|/)(cocoa|mac)/'] ],
}],
['OS!="ios" or >(nacl_untrusted_build)==1', {
'sources/': [ ['exclude', '_ios(_unittest)?\\.(h|cc|mm?)$'],
['exclude', '(^|/)ios/'] ],
}],
['(OS!="mac" and OS!="ios") or >(nacl_untrusted_build)==1', {
'sources/': [ ['exclude', '\\.mm?$' ] ],
}],
# Do not exclude the linux files on *BSD since most of them can be
# shared at this point.
# In case a file is not needed, it is going to be excluded later on.
# TODO(evan): the above is not correct; we shouldn't build _linux
# files on non-linux.
['OS!="linux" and OS!="openbsd" and OS!="freebsd" or >(nacl_untrusted_build)==1', {
'sources/': [
['exclude', '_linux(_unittest)?\\.(h|cc)$'],
['exclude', '(^|/)linux/'],
],
}],
['OS!="android" or _toolset=="host" or >(nacl_untrusted_build)==1', {
'sources/': [
['exclude', '_android(_unittest)?\\.(h|cc)$'],
['exclude', '(^|/)android/'],
],
}],
['OS=="win" and >(nacl_untrusted_build)==0', {
'sources/': [
['exclude', '_posix(_unittest)?\\.(h|cc)$'],
['exclude', '(^|/)posix/'],
],
}],
['<(chromeos)!=1 or >(nacl_untrusted_build)==1', {
'sources/': [
['exclude', '_chromeos(_unittest)?\\.(h|cc)$'],
['exclude', '(^|/)chromeos/'],
],
}],
['>(nacl_untrusted_build)==0', {
'sources/': [
['exclude', '_nacl(_unittest)?\\.(h|cc)$'],
],
}],
['OS!="linux" and OS!="openbsd" and OS!="freebsd" or >(nacl_untrusted_build)==1', {
'sources/': [
['exclude', '_xdg(_unittest)?\\.(h|cc)$'],
],
}],
['<(use_x11)!=1 or >(nacl_untrusted_build)==1', {
'sources/': [
['exclude', '_(x|x11)(_interactive_uitest|_unittest)?\\.(h|cc)$'],
['exclude', '(^|/)x11_[^/]*\\.(h|cc)$'],
['exclude', '(^|/)x11/'],
['exclude', '(^|/)x/'],
],
}],
['<(toolkit_views)==0 or >(nacl_untrusted_build)==1', {
Refactor views app list services to allow more code sharing To run the toolkit-views app launcher on Mac, it needs a new app list service + supporting classes. It's going to look a lot like the Linux one. This CL starts by sharing what can be shared between Windows and Linux, in preparation for using it on Mac as well. It does this principally by: - Moving `app_list_shower` to `app_list_shower_views`, making it views-specific; - Adding AppListServiceViews, which Win/Linux (and soon Mac) inherit from; - Rearranging the delegation to eliminate some boilerplate. Other changes: - Removed AppList container abstract interface (now just access AppListView); - Removed AppListFactory (now AppListShower::MakeViewForCurrentProfile()); - Moved AppListControllerDelegateLinux to AppListControllerDelegateViews; - Most of AppListServiceLinux moves to AppListServiceViews; - Added AppListShowerDelegate and AppListShower given virtual method hooks to assist testability (previously AppListShower was given a NULL service/delegate in tests); - Positioning logic in AppListWin/AppListLinux made static/stateless; - Removes the `on_should_dismiss_` closure (now just dismiss via the service; - Big trim of AppListServiceWin and AppListServiceLinux - now these are just platform-specific stuff. BUG=365977 TEST=Just refactoring, nothing should change Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=267184 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=267354 Review URL: https://codereview.chromium.org/225053004 git-svn-id: http://src.chromium.org/svn/trunk/src/build@268035 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-03 07:55:19 +04:00
'sources/': [ ['exclude', '_views(_browsertest|_unittest)?\\.(h|cc)$'] ]
}],
['<(use_aura)==0 or >(nacl_untrusted_build)==1', {
'sources/': [ ['exclude', '_aura(_browsertest|_unittest)?\\.(h|cc)$'],
['exclude', '(^|/)aura/'],
]
}],
['<(use_aura)==0 or <(use_x11)==0 or >(nacl_untrusted_build)==1', {
'sources/': [ ['exclude', '_aurax11(_browsertest|_unittest)?\\.(h|cc)$'] ]
}],
['<(use_aura)==0 or OS!="win" or >(nacl_untrusted_build)==1', {
'sources/': [ ['exclude', '_aurawin\\.(h|cc)$'] ]
}],
['<(use_aura)==0 or OS!="linux" or >(nacl_untrusted_build)==1', {
'sources/': [ ['exclude', '_auralinux\\.(h|cc)$'] ]
}],
['<(use_ash)==0 or >(nacl_untrusted_build)==1', {
'sources/': [ ['exclude', '_ash(_browsertest|_unittest)?\\.(h|cc)$'],
['exclude', '(^|/)ash/'],
]
}],
[win8] Force browsers created while Chrome is in Metro mode to be on the Ash desktop. When a user has configured Chrome to run in Metro mode, all browser windows should open in the Ash desktop, regardless of where the request came from. This includes browser desktop shortcuts, v1 browser-hosted apps, OAuth windows, links from packaged apps, and DevTools windows. Currently there are many code paths that result in a browser created in Windows Desktop mode. Also, if a browser is created in Ash, Metro mode does not always activate. This may cause a user to think no window was created. This CL adds BrowserWindow::AdjustHostDesktopType(..) to represent the current policy decision that browser windows should only open on the Ash desktop on Windows, when Chrome is running in Metro mode. The policy is enforced by ensuring all constructed Browser instances are created with a verified host desktop, which will be TYPE_ASH whenever the ash shell is instantiated on Windows. Then, when a browser window gains focus in the Ash desktop, if the metro viewer process is not already the foreground window, switch to Metro mode. BUG=315385, 315894, 319173 TEST=Have Chrome configured in Metro mode. Then: 1. Open Chrome via the Desktop mode App Launcher. 2. Open Chrome via the context menu on the Chrome icon on the Desktop mode App Launcher. 3. Open Chrome with a profile-badged desktop shortcut (twice). 4. (in Metro Mode) open an undocked Inspector window. 5. Open a v1 hosted app (e.g. Drive) from the Desktop mode app launcher. 6. After showing the Desktop app launcher and closing it, open a v1 hosted app desktop shortcut ===> All of these should open windows in Ash, and switch to Metro mode. Review URL: https://codereview.chromium.org/58853004 git-svn-id: http://src.chromium.org/svn/trunk/src/build@235906 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-11-19 08:00:41 +04:00
['<(use_ash)==0 or OS!="win" or >(nacl_untrusted_build)==1', {
'sources/': [ ['exclude', '_ashwin\\.(h|cc)$'] ]
}],
['<(use_ozone)==0 or >(nacl_untrusted_build)==1', {
'sources/': [ ['exclude', '_ozone(_browsertest|_unittest)?\\.(h|cc)$'] ]
}],
['<(use_pango)==0', {
'sources/': [ ['exclude', '(^|_)pango(_util|_browsertest|_unittest)?\\.(h|cc)$'], ],
}],
]
}