OLD | NEW |
1 # Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2009 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 { | 5 { |
6 'variables': { | 6 'variables': { |
7 'chromium_code': 1, | 7 'chromium_code': 1, |
8 # Define the common dependencies that contain all the actual | 8 # Define the common dependencies that contain all the actual |
9 # Chromium functionality. This list gets pulled in below by | 9 # Chromium functionality. This list gets pulled in below by |
10 # the link of the actual chrome (or chromium) executable on | 10 # the link of the actual chrome (or chromium) executable on |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 # TODO(jcampan): move these vars to views.gyp. | 58 # TODO(jcampan): move these vars to views.gyp. |
59 'views_unit_tests_sources': [ | 59 'views_unit_tests_sources': [ |
60 '../views/view_unittest.cc', | 60 '../views/view_unittest.cc', |
61 '../views/focus/focus_manager_unittest.cc', | 61 '../views/focus/focus_manager_unittest.cc', |
62 ], | 62 ], |
63 'views_unit_tests_sources_win_specific': [ | 63 'views_unit_tests_sources_win_specific': [ |
64 # TODO(jcampan): make the following tests work on Linux. | 64 # TODO(jcampan): make the following tests work on Linux. |
65 '../views/controls/label_unittest.cc', | 65 '../views/controls/label_unittest.cc', |
66 '../views/controls/table/table_view_unittest.cc', | 66 '../views/controls/table/table_view_unittest.cc', |
67 '../views/grid_layout_unittest.cc', | 67 '../views/grid_layout_unittest.cc', |
68 ], | 68 ] |
69 'conditions': [ | |
70 ['OS=="mac"', { | |
71 'conditions': [ | |
72 ['branding=="Chrome"', { | |
73 'bundle_id': 'com.google.Chrome', | |
74 }, { # else: branding!="Chrome" | |
75 'bundle_id': 'org.chromium.Chromium', | |
76 }], # branding | |
77 ], # conditions | |
78 }], # OS=="mac" | |
79 ], # conditions | |
80 }, | 69 }, |
81 'includes': [ | 70 'includes': [ |
82 '../build/common.gypi', | 71 '../build/common.gypi', |
83 ], | 72 ], |
84 'target_defaults': { | 73 'target_defaults': { |
85 'sources/': [ | 74 'sources/': [ |
86 ['exclude', '/(cocoa|gtk|win)/'], | 75 ['exclude', '/(cocoa|gtk|win)/'], |
87 ['exclude', '_(cocoa|gtk|linux|mac|posix|skia|win|views|x)(_unittest)?\\.(
cc|mm?)$'], | 76 ['exclude', '_(cocoa|gtk|linux|mac|posix|skia|win|views|x)(_unittest)?\\.(
cc|mm?)$'], |
88 ['exclude', '/(gtk|win|x11)_[^/]*\\.cc$'], | 77 ['exclude', '/(gtk|win|x11)_[^/]*\\.cc$'], |
89 ], | 78 ], |
(...skipping 2925 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3015 'dependencies': [ | 3004 'dependencies': [ |
3016 '../views/views.gyp:views', | 3005 '../views/views.gyp:views', |
3017 ], | 3006 ], |
3018 }], | 3007 }], |
3019 ['OS=="mac"', { | 3008 ['OS=="mac"', { |
3020 # 'branding' is a variable defined in common.gypi | 3009 # 'branding' is a variable defined in common.gypi |
3021 # (e.g. "Chromium", "Chrome") | 3010 # (e.g. "Chromium", "Chrome") |
3022 'conditions': [ | 3011 'conditions': [ |
3023 ['branding=="Chrome"', { | 3012 ['branding=="Chrome"', { |
3024 'mac_bundle_resources': ['app/theme/google_chrome/app.icns'], | 3013 'mac_bundle_resources': ['app/theme/google_chrome/app.icns'], |
| 3014 'variables': { |
| 3015 'bundle_id': 'com.google.Chrome', |
| 3016 }, |
3025 'copies': [ | 3017 'copies': [ |
3026 { | 3018 { |
3027 'destination': '<(PRODUCT_DIR)/<(mac_product_name).app/Content
s/MacOS/', | 3019 'destination': '<(PRODUCT_DIR)/<(mac_product_name).app/Content
s/MacOS/', |
3028 'files': ['../third_party/ffmpeg/binaries/chrome/libavcodec.52
.dylib', | 3020 'files': ['../third_party/ffmpeg/binaries/chrome/libavcodec.52
.dylib', |
3029 '../third_party/ffmpeg/binaries/chrome/libavformat.5
2.dylib', | 3021 '../third_party/ffmpeg/binaries/chrome/libavformat.5
2.dylib', |
3030 '../third_party/ffmpeg/binaries/chrome/libavutil.50.
dylib', | 3022 '../third_party/ffmpeg/binaries/chrome/libavutil.50.
dylib', |
3031 '<(PRODUCT_DIR)/plugin_carbon_interpose.dylib'], | 3023 '<(PRODUCT_DIR)/plugin_carbon_interpose.dylib'], |
3032 }, | 3024 }, |
3033 ], | 3025 ], |
3034 }, { # else: 'branding!="Chrome" | 3026 }, { # else: 'branding!="Chrome" |
3035 'mac_bundle_resources': ['app/theme/chromium/app.icns'], | 3027 'mac_bundle_resources': ['app/theme/chromium/app.icns'], |
| 3028 'variables': { |
| 3029 'bundle_id': 'org.chromium.Chromium', |
| 3030 }, |
3036 'copies': [ | 3031 'copies': [ |
3037 { | 3032 { |
3038 'destination': '<(PRODUCT_DIR)/<(mac_product_name).app/Content
s/MacOS/', | 3033 'destination': '<(PRODUCT_DIR)/<(mac_product_name).app/Content
s/MacOS/', |
3039 'files': ['../third_party/ffmpeg/binaries/chromium/libavcodec.
52.dylib', | 3034 'files': ['../third_party/ffmpeg/binaries/chromium/libavcodec.
52.dylib', |
3040 '../third_party/ffmpeg/binaries/chromium/libavformat
.52.dylib', | 3035 '../third_party/ffmpeg/binaries/chromium/libavformat
.52.dylib', |
3041 '../third_party/ffmpeg/binaries/chromium/libavutil.5
0.dylib', | 3036 '../third_party/ffmpeg/binaries/chromium/libavutil.5
0.dylib', |
3042 '<(PRODUCT_DIR)/plugin_carbon_interpose.dylib'], | 3037 '<(PRODUCT_DIR)/plugin_carbon_interpose.dylib'], |
3043 }, | 3038 }, |
3044 ], | 3039 ], |
3045 }], | 3040 }], |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3078 'product_name': '<(mac_product_name)', | 3073 'product_name': '<(mac_product_name)', |
3079 'xcode_settings': { | 3074 'xcode_settings': { |
3080 # chrome/app/app-Info.plist has: | 3075 # chrome/app/app-Info.plist has: |
3081 # CFBundleIdentifier of CHROMIUM_BUNDLE_ID | 3076 # CFBundleIdentifier of CHROMIUM_BUNDLE_ID |
3082 # CFBundleName of CHROMIUM_SHORT_NAME | 3077 # CFBundleName of CHROMIUM_SHORT_NAME |
3083 # Xcode then replaces these values with the branded values we set | 3078 # Xcode then replaces these values with the branded values we set |
3084 # as settings on the target. | 3079 # as settings on the target. |
3085 'CHROMIUM_BUNDLE_ID': '<(bundle_id)', | 3080 'CHROMIUM_BUNDLE_ID': '<(bundle_id)', |
3086 'CHROMIUM_SHORT_NAME': '<(branding)', | 3081 'CHROMIUM_SHORT_NAME': '<(branding)', |
3087 }, | 3082 }, |
3088 'mac_bundle_resources': [ | 3083 # Bring in pdfsqueeze and run it on all pdfs |
3089 '<(PRODUCT_DIR)/<(mac_product_name) Helper.app', | |
3090 ], | |
3091 'dependencies': [ | 3084 'dependencies': [ |
3092 'helper_app', | |
3093 # Bring in pdfsqueeze and run it on all pdfs | |
3094 '../build/temp_gyp/pdfsqueeze.gyp:pdfsqueeze', | 3085 '../build/temp_gyp/pdfsqueeze.gyp:pdfsqueeze', |
3095 'interpose_dependency_shim', | 3086 'interpose_dependency_shim', |
3096 ], | 3087 ], |
3097 'rules': [ | 3088 'rules': [ |
3098 { | 3089 { |
3099 'rule_name': 'pdfsqueeze', | 3090 'rule_name': 'pdfsqueeze', |
3100 'extension': 'pdf', | 3091 'extension': 'pdf', |
3101 'inputs': [ | 3092 'inputs': [ |
3102 '<(PRODUCT_DIR)/pdfsqueeze', | 3093 '<(PRODUCT_DIR)/pdfsqueeze', |
3103 ], | 3094 ], |
3104 'outputs': [ | 3095 'outputs': [ |
3105 '<(INTERMEDIATE_DIR)/pdfsqueeze/<(RULE_INPUT_ROOT).pdf', | 3096 '<(INTERMEDIATE_DIR)/pdfsqueeze/<(RULE_INPUT_ROOT).pdf', |
3106 ], | 3097 ], |
3107 'action': ['<(PRODUCT_DIR)/pdfsqueeze', '<(RULE_INPUT_PATH)', '<@(
_outputs)'], | 3098 'action': ['<(PRODUCT_DIR)/pdfsqueeze', '<(RULE_INPUT_PATH)', '<@(
_outputs)'], |
3108 'message': 'Running pdfsqueeze on <(RULE_INPUT_PATH)', | 3099 'message': 'Running pdfsqueeze on <(RULE_INPUT_PATH)', |
3109 }, | 3100 }, |
3110 ], | 3101 ], |
3111 'copies': [ | 3102 'copies': [ |
3112 { | 3103 { |
3113 'destination': '<(PRODUCT_DIR)/<(mac_product_name).app/Contents/Fr
ameworks', | 3104 'destination': '<(PRODUCT_DIR)/<(mac_product_name).app/Contents/Fr
ameworks', |
3114 'files': ['<(PRODUCT_DIR)/<(mac_product_name) Framework.framework'
], | 3105 'files': ['<(PRODUCT_DIR)/<(mac_product_name) Framework.framework'
], |
3115 }, | 3106 }, |
3116 { | |
3117 # Copy web inspector resources to the Contents/Resources folder. | |
3118 'destination': '<(PRODUCT_DIR)/<(mac_product_name).app/Contents/Re
sources', | |
3119 'files': ['<(PRODUCT_DIR)/resources/inspector/'], | |
3120 }, | |
3121 ], | |
3122 'postbuilds': [ | |
3123 { | |
3124 # Modify the Info.plist as needed. The script explains why this | |
3125 # is needed. This is also done in the helper_app target. | |
3126 'postbuild_name': 'Tweak Info.plist', | |
3127 'action': ['<(DEPTH)/build/mac/tweak_app_infoplist', | |
3128 '-b<(mac_breakpad)', | |
3129 '-k<(mac_keystone)', | |
3130 '-s1', # Include Subversion information | |
3131 '<(branding)'], | |
3132 }, | |
3133 ], | 3107 ], |
3134 }, { # else: OS != "mac" | 3108 }, { # else: OS != "mac" |
3135 'conditions': [ | 3109 'conditions': [ |
3136 ['branding=="Chrome"', { | 3110 ['branding=="Chrome"', { |
3137 'product_name': 'chrome' | 3111 'product_name': 'chrome' |
3138 }, { # else: Branding!="Chrome" | 3112 }, { # else: Branding!="Chrome" |
3139 # TODO: change to: | 3113 # TODO: change to: |
3140 # 'product_name': 'chromium' | 3114 # 'product_name': 'chromium' |
3141 # whenever we convert the rest of the infrastructure | 3115 # whenever we convert the rest of the infrastructure |
3142 # (buildbots etc.) to use "gyp -Dbranding=Chrome". | 3116 # (buildbots etc.) to use "gyp -Dbranding=Chrome". |
3143 # NOTE: chrome/app/theme/chromium/BRANDING and | 3117 # NOTE: chrome/app/theme/chromium/BRANDING and |
3144 # chrome/app/theme/google_chrome/BRANDING have the short names, | 3118 # chrome/app/theme/google_chrome/BRANDING have the short names, |
3145 # etc.; should we try to extract from there instead? | 3119 # etc.; should we try to extract from there instead? |
3146 'product_name': 'chrome' | 3120 'product_name': 'chrome' |
3147 }], | 3121 }], |
3148 ], | 3122 ], |
3149 }], | 3123 }], |
| 3124 ['OS=="mac"', { |
| 3125 'actions': [ |
| 3126 { |
| 3127 # Mac adds an action to modify the Info.plist to meet our needs |
| 3128 # (see the script for why this is done). |
| 3129 'action_name': 'tweak_app_infoplist', |
| 3130 # We don't list any inputs or outputs because we always want |
| 3131 # the script to run. Why? Because it does thinks like record |
| 3132 # the svn revision into the info.plist, so there is no file to |
| 3133 # depend on that will change when ever that changes. |
| 3134 'inputs': [], |
| 3135 'outputs': [], |
| 3136 'action': ['<(DEPTH)/build/mac/tweak_app_infoplist', |
| 3137 '-b<(mac_breakpad)', |
| 3138 '-k<(mac_keystone)', |
| 3139 '<(branding)'], |
| 3140 }, |
| 3141 ], |
| 3142 }], |
| 3143 ['OS=="mac"', { |
| 3144 # Copy web inspector resources to the Contents/Resources folder. |
| 3145 'copies': [ |
| 3146 { |
| 3147 'destination': '<(PRODUCT_DIR)/<(mac_product_name).app/Contents/Re
sources', |
| 3148 'files': ['<(PRODUCT_DIR)/resources/inspector/'], |
| 3149 }, |
| 3150 ], |
| 3151 }], |
3150 ['OS=="linux"', { | 3152 ['OS=="linux"', { |
3151 'conditions': [ | 3153 'conditions': [ |
3152 ['branding=="Chrome"', { | 3154 ['branding=="Chrome"', { |
3153 'dependencies': [ | 3155 'dependencies': [ |
3154 'installer/installer.gyp:installer_util', | 3156 'installer/installer.gyp:installer_util', |
3155 ], | 3157 ], |
3156 }], | 3158 }], |
3157 ], | 3159 ], |
3158 }], | 3160 }], |
3159 ['OS=="mac" or OS=="win"', { | 3161 ['OS=="mac" or OS=="win"', { |
(...skipping 1229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4389 ], | 4391 ], |
4390 'dependencies': [ | 4392 'dependencies': [ |
4391 '../build/util/support/support.gyp:*', | 4393 '../build/util/support/support.gyp:*', |
4392 ], | 4394 ], |
4393 | 4395 |
4394 # For now, don't put any resources into the framework. Exclude | 4396 # For now, don't put any resources into the framework. Exclude |
4395 # them all and push them into the bundle resources of the sole | 4397 # them all and push them into the bundle resources of the sole |
4396 # app bundle, the only dependent of this target. | 4398 # app bundle, the only dependent of this target. |
4397 # TODO(mark): Fix. | 4399 # TODO(mark): Fix. |
4398 'mac_bundle_resources/': [ | 4400 'mac_bundle_resources/': [ |
4399 ['exclude', '.*'], | 4401 ['exclude', ''], |
4400 ], | 4402 ], |
4401 'direct_dependent_settings': { | 4403 'direct_dependent_settings': { |
4402 'mac_bundle_resources': [ | 4404 'mac_bundle_resources': [ |
4403 '../third_party/WebKit/WebCore/Resources/aliasCursor.png', | 4405 '../third_party/WebKit/WebCore/Resources/aliasCursor.png', |
4404 '../third_party/WebKit/WebCore/Resources/cellCursor.png', | 4406 '../third_party/WebKit/WebCore/Resources/cellCursor.png', |
4405 '../third_party/WebKit/WebCore/Resources/contextMenuCursor.png
', | 4407 '../third_party/WebKit/WebCore/Resources/contextMenuCursor.png
', |
4406 '../third_party/WebKit/WebCore/Resources/copyCursor.png', | 4408 '../third_party/WebKit/WebCore/Resources/copyCursor.png', |
4407 '../third_party/WebKit/WebCore/Resources/crossHairCursor.png', | 4409 '../third_party/WebKit/WebCore/Resources/crossHairCursor.png', |
4408 '../third_party/WebKit/WebCore/Resources/eastResizeCursor.png'
, | 4410 '../third_party/WebKit/WebCore/Resources/eastResizeCursor.png'
, |
4409 '../third_party/WebKit/WebCore/Resources/eastWestResizeCursor.
png', | 4411 '../third_party/WebKit/WebCore/Resources/eastWestResizeCursor.
png', |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4468 }, { | 4470 }, { |
4469 'variables': { | 4471 'variables': { |
4470 'linux_breakpad%': 0, | 4472 'linux_breakpad%': 0, |
4471 }, | 4473 }, |
4472 }], | 4474 }], |
4473 ], | 4475 ], |
4474 }], | 4476 }], |
4475 ['OS=="mac"', | 4477 ['OS=="mac"', |
4476 { 'targets': [ | 4478 { 'targets': [ |
4477 { | 4479 { |
4478 'target_name': 'helper_app', | |
4479 'type': 'executable', | |
4480 'product_name': '<(mac_product_name) Helper', | |
4481 'mac_bundle': 1, | |
4482 'dependencies': [ | |
4483 'chrome_dll', | |
4484 ], | |
4485 'sources': [ | |
4486 # chrome_exe_main.mm's main() is the entry point for the "chrome" | |
4487 # (browser app) target. All it does is jump to chrome_dll's | |
4488 # ChromeMain. This is appropriate for helper processes too, | |
4489 # because the logic to discriminate between process types at run | |
4490 # time is actually directed by the --type command line argument | |
4491 # processed by ChromeMain. Sharing chrome_exe_main.mm with the | |
4492 # browser app will suffice for now. | |
4493 'app/chrome_exe_main.mm', | |
4494 'app/helper-Info.plist', | |
4495 ], | |
4496 # TODO(mark): Come up with a fancier way to do this. It should only | |
4497 # be necessary to list app-Info.plist once, not the three times it is | |
4498 # listed here. | |
4499 'mac_bundle_resources!': [ | |
4500 'app/helper-Info.plist', | |
4501 ], | |
4502 # TODO(mark): For now, don't put any resources into this app. Its | |
4503 # resources directory will be a symbolic link to the browser app's | |
4504 # resources directory. | |
4505 'mac_bundle_resources/': [ | |
4506 ['exclude', '.*'], | |
4507 ], | |
4508 'xcode_settings': { | |
4509 'CHROMIUM_BUNDLE_ID': '<(bundle_id)', | |
4510 'CHROMIUM_SHORT_NAME': '<(branding)', | |
4511 'INFOPLIST_FILE': 'app/helper-Info.plist', | |
4512 }, | |
4513 'postbuilds': [ | |
4514 { | |
4515 'postbuild_name': 'Make Symbolic Links', | |
4516 'action': ['app/make_mac_app_symlinks'], | |
4517 }, | |
4518 { | |
4519 # Modify the Info.plist as needed. The script explains why this | |
4520 # is needed. This is also done in the chrome target. In | |
4521 # this case, -k0 is always used because Keystone never runs | |
4522 # within the helper app. -s0 is used to avoid placing Subversion | |
4523 # data in the helper app's Info.plist. It will be present in | |
4524 # the main app's Info.plist, which is sufficient. | |
4525 'postbuild_name': 'Tweak Info.plist', | |
4526 'action': ['<(DEPTH)/build/mac/tweak_app_infoplist', | |
4527 '-b<(mac_breakpad)', | |
4528 '-k0', | |
4529 '-s0', | |
4530 '<(branding)'], | |
4531 }, | |
4532 ], | |
4533 'conditions': [ | |
4534 ['mac_breakpad==1', { | |
4535 'variables': { | |
4536 # A real .dSYM is needed for dump_syms to operate on. | |
4537 'mac_real_dsym': 1, | |
4538 }, | |
4539 }], | |
4540 ], | |
4541 }, | |
4542 { | |
4543 # Convenience target to build a disk image. | 4480 # Convenience target to build a disk image. |
4544 'target_name': 'build_app_dmg', | 4481 'target_name': 'build_app_dmg', |
4545 # Don't place this in the 'all' list; most won't want it. | 4482 # Don't place this in the 'all' list; most won't want it. |
4546 # In GYP, booleans are 0/1, not True/False. | 4483 # In GYP, booleans are 0/1, not True/False. |
4547 'suppress_wildcard': 1, | 4484 'suppress_wildcard': 1, |
4548 'type': 'none', | 4485 'type': 'none', |
4549 'dependencies': [ | 4486 'dependencies': [ |
4550 'chrome', | 4487 'chrome', |
4551 ], | 4488 ], |
4552 'variables': { | 4489 'variables': { |
(...skipping 909 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5462 # Use outputs of this action as inputs for the main target build. | 5399 # Use outputs of this action as inputs for the main target build. |
5463 # Seems as a misnomer but makes this happy on Linux (scons). | 5400 # Seems as a misnomer but makes this happy on Linux (scons). |
5464 'process_outputs_as_sources': 1, | 5401 'process_outputs_as_sources': 1, |
5465 }, | 5402 }, |
5466 ], # 'actions' | 5403 ], # 'actions' |
5467 }, | 5404 }, |
5468 ] | 5405 ] |
5469 }], | 5406 }], |
5470 ], # 'conditions' | 5407 ], # 'conditions' |
5471 } | 5408 } |
OLD | NEW |