summaryrefslogtreecommitdiffstats
path: root/chrome/chrome.gyp
diff options
context:
space:
mode:
authormark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-27 19:28:52 +0000
committermark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-02-27 19:28:52 +0000
commit4c8c60ee58cf2f22fcdc0cf3b30f1f5e8884f0ff (patch)
treeced48dcb1b9f9d4ecf8305ad4647122abe2c3fdd /chrome/chrome.gyp
parent691519839a22b371f53b4f7b2b7c6e553c252591 (diff)
downloadchromium_src-4c8c60ee58cf2f22fcdc0cf3b30f1f5e8884f0ff.zip
chromium_src-4c8c60ee58cf2f22fcdc0cf3b30f1f5e8884f0ff.tar.gz
chromium_src-4c8c60ee58cf2f22fcdc0cf3b30f1f5e8884f0ff.tar.bz2
Ensure classes only referenced by .xib files end up in the executable
Review URL: http://codereview.chromium.org/27277 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10619 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/chrome.gyp')
-rw-r--r--chrome/chrome.gyp43
1 files changed, 37 insertions, 6 deletions
diff --git a/chrome/chrome.gyp b/chrome/chrome.gyp
index c0dc19c..32c8e74 100644
--- a/chrome/chrome.gyp
+++ b/chrome/chrome.gyp
@@ -331,8 +331,8 @@
'browser/autocomplete/autocomplete_edit.h',
'browser/autocomplete/autocomplete_popup_model.cc',
'browser/autocomplete/autocomplete_popup_model.h',
- 'browser/autocomplete/autocomplete_popup_view_win.cc',
'browser/autocomplete/autocomplete_popup_view.h',
+ 'browser/autocomplete/autocomplete_popup_view_win.cc',
'browser/autocomplete/edit_drop_target.cc',
'browser/autocomplete/edit_drop_target.h',
'browser/autocomplete/history_contents_provider.cc',
@@ -1163,7 +1163,6 @@
'browser/autocomplete/autocomplete_accessibility.cc',
'browser/autocomplete/autocomplete_edit.cc',
'browser/autocomplete/autocomplete_popup_model.cc',
- 'browser/autocomplete/autocomplete_popup_view_win.cc',
'browser/autocomplete/edit_drop_target.cc',
'browser/bookmarks/bookmark_context_menu.cc',
'browser/bookmarks/bookmark_drop_info.cc',
@@ -1304,7 +1303,25 @@
'browser',
'renderer',
],
+ 'variables': {
+ 'conditions': [
+ ['OS=="mac"', {
+ 'mac_xib_files': [
+ # Use .xib files only, because .nibs are bundles and these files
+ # need to be used as an input to rules. Rule dependency checking
+ # only works on files, not directories as .nib bundles are.
+ 'app/nibs/English.lproj/BrowserWindow.xib',
+ 'app/nibs/English.lproj/MainMenu.xib',
+ 'app/nibs/English.lproj/TabContents.xib',
+ ],
+ }, { # else: OS!="mac"
+ 'mac_xib_files': [],
+ }],
+ ],
+ },
'sources': [
+ '<@(mac_xib_files)',
+
# All .cc, .h, and .mm files under app except for tests.
'app/breakpad.cc',
'app/breakpad.h',
@@ -1322,9 +1339,7 @@
'app/scoped_ole_initializer.h',
],
'mac_bundle_resources': [
- 'app/nibs/English.lproj/BrowserWindow.xib',
- 'app/nibs/English.lproj/MainMenu.xib',
- 'app/nibs/English.lproj/TabContents.xib',
+ '<@(mac_xib_files)',
'app/theme/chromium/chromium.icns',
'app/theme/back.pdf',
'app/theme/forward.pdf',
@@ -1347,7 +1362,23 @@
'INFOPLIST_FILE': 'app/app-Info.plist',
},
'conditions': [
- ['OS=="mac"', {'product_name': 'Chromium'}],
+ ['OS=="mac"', {
+ 'product_name': 'Chromium',
+ 'rules': [
+ {
+ 'rule_name': 'ib_classes',
+ 'extension': 'xib',
+ 'outputs': [
+ '<(INTERMEDIATE_DIR)/ib_classes/<(RULE_INPUT_ROOT)IBClasses.mm',
+ ],
+ 'inputs': [
+ '../build/mac/make_ib_classes.py',
+ ],
+ 'action': ['python', '<@(_inputs)', '<@(_outputs)', '<(RULE_INPUT_PATH)'],
+ 'process_outputs_as_sources': 1,
+ },
+ ],
+ }],
['OS!="win"', {
'variables': {
'repack_path': '../tools/data_pack/repack.py',