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

Side by Side Diff: chrome/chrome_exe.gypi

Issue 2321703002: Remove all gyp[i] files in //chrome (Closed)
Patch Set: merge Created 4 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 | « chrome/chrome_dll_bundle.gypi ('k') | chrome/chrome_features.gyp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 {
6 'targets': [
7 {
8 # GN version: //chrome
9 'target_name': 'chrome',
10 'type': 'none',
11 'dependencies': [ 'chrome_initial', ],
12 'conditions': [
13 ['OS == "win"', {
14 'actions': [
15 {
16 'variables': {
17 'reorder_py_path': '<(DEPTH)/build/win/reorder-imports.py',
18 # See comment in chrome_dll.gypi in the hardlink_to_output
19 # target for why this cannot be 'initial' like the DLL.
20 'exe_input_path':'$(OutDir)\\initialexe',
21 'exe_output_path':'<(PRODUCT_DIR)',
22 },
23 'action_name': 'reorder_imports',
24 'inputs': [
25 '<(reorder_py_path)',
26 '$(OutDir)\\initialexe\\chrome.exe',
27 ],
28 'outputs': [
29 '<(PRODUCT_DIR)\\chrome.exe',
30 '<(PRODUCT_DIR)\\chrome.exe.pdb',
31 ],
32 'action': [
33 'python',
34 '<(reorder_py_path)',
35 '-i', '<(exe_input_path)',
36 '-o', '<(exe_output_path)',
37 '-a', '<(target_arch)',
38 ],
39 'message': 'Reordering Imports',
40 },
41 ],
42 }],
43 ],
44 },
45 {
46 # GN version: //chrome:chrome_initial
47 'target_name': 'chrome_initial',
48 'type': 'executable',
49 'dependencies' : [
50 '../chrome/common_constants.gyp:version_header',
51 '../chrome/chrome_features.gyp:chrome_common_features',
52 '../third_party/kasko/kasko.gyp:kasko_features',
53 ],
54 # Name the exe chrome.exe, not chrome_initial.exe.
55 'product_name': 'chrome',
56 'mac_bundle': 1,
57 'variables': {
58 'use_system_xdg_utils%': 0,
59 'enable_wexit_time_destructors': 1,
60 },
61 'sources': [
62 # Note that due to InitializeSandboxInfo, this must be directly linked
63 # into chrome.exe, not into a dependent.
64 '<(DEPTH)/content/app/sandbox_helper_win.cc',
65 '<(DEPTH)/content/public/common/content_switches.cc',
66 'app/chrome_exe_load_config_win.cc',
67 'app/chrome_exe_main_aura.cc',
68 'app/chrome_exe_main_mac.c',
69 'app/chrome_exe_main_win.cc',
70 'app/chrome_exe_resource.h',
71 'app/chrome_watcher_client_win.cc',
72 'app/chrome_watcher_client_win.h',
73 'app/chrome_watcher_command_line_win.cc',
74 'app/chrome_watcher_command_line_win.h',
75 'app/main_dll_loader_win.cc',
76 'app/main_dll_loader_win.h',
77 ],
78 'mac_bundle_resources': [
79 'app/app-Info.plist',
80 ],
81 # TODO(mark): Come up with a fancier way to do this. It should only
82 # be necessary to list app-Info.plist once, not the three times it is
83 # listed here.
84 'mac_bundle_resources!': [
85 'app/app-Info.plist',
86 ],
87 'xcode_settings': {
88 'CHROMIUM_STRIP_SAVE_FILE': 'app/app.saves',
89 'INFOPLIST_FILE': 'app/app-Info.plist',
90 },
91 'conditions': [
92 ['order_text_section!=""', {
93 'target_conditions' : [
94 ['_toolset=="target"', {
95 'ldflags': [
96 '-Wl,-section-ordering-file=<(order_text_section)' ],
97 }],
98 ]
99 }],
100 ['OS == "android"', {
101 # Don't put the 'chrome' target in 'all' on android
102 'suppress_wildcard': 1,
103 }],
104 ['os_posix == 1 and OS != "mac" and OS != "android"', {
105 'actions': [
106 {
107 'action_name': 'manpage',
108 'conditions': [
109 [ 'branding == "Chrome"', {
110 'variables': {
111 'name': 'Google Chrome',
112 'filename': 'google-chrome',
113 'confdir': 'google-chrome',
114 },
115 }, { # else branding!="Chrome"
116 'variables': {
117 'name': 'Chromium',
118 'filename': 'chromium-browser',
119 'confdir': 'chromium',
120 },
121 }],
122 ],
123 'inputs': [
124 'tools/build/linux/sed.py',
125 'app/resources/manpage.1.in',
126 ],
127 'outputs': [
128 '<(PRODUCT_DIR)/chrome.1',
129 ],
130 'action': [
131 'python',
132 'tools/build/linux/sed.py',
133 'app/resources/manpage.1.in',
134 '<@(_outputs)',
135 '-e', 's/@@NAME@@/<(name)/',
136 '-e', 's/@@FILENAME@@/<(filename)/',
137 '-e', 's/@@CONFDIR@@/<(confdir)/',
138 ],
139 'message': 'Generating manpage'
140 },
141 ],
142 'conditions': [
143 ['profiling==0 and linux_disable_pie==0', {
144 'ldflags': [
145 '-pie',
146 ],
147 }],
148 ['use_system_xdg_utils==0', {
149 'copies': [
150 {
151 'destination': '<(PRODUCT_DIR)',
152 'files': ['tools/build/linux/chrome-wrapper',
153 '../third_party/xdg-utils/scripts/xdg-mime',
154 '../third_party/xdg-utils/scripts/xdg-settings',
155 'app/theme/<(branding_path_component)/product_logo_4 8.png',
156 ],
157 },
158 ],
159 }],
160 # x11 build. Needed for chrome_main.cc initialization of libraries.
161 ['use_x11==1', {
162 'dependencies': [
163 '../build/linux/system.gyp:x11',
164 '../build/linux/system.gyp:xext',
165 ],
166 }],
167 ['OS=="linux" and enable_plugins==1', {
168 'dependencies': [
169 '../pdf/pdf.gyp:pdf',
170 ],
171 }],
172 ],
173 'sources': [
174 'app/chrome_dll_resource.h',
175 'app/chrome_main.cc',
176 'app/chrome_main_delegate.cc',
177 'app/chrome_main_delegate.h',
178 ],
179 'dependencies': [
180 # On Linux, link the dependencies (libraries) that make up actual
181 # Chromium functionality directly into the executable.
182 '<@(chromium_browser_dependencies)',
183 '<@(chromium_child_dependencies)',
184 '../content/content.gyp:content_app_both',
185 # Needed for chrome_main.cc initialization of libraries.
186 '../build/linux/system.gyp:pangocairo',
187 'chrome_features.gyp:chrome_common_features',
188 # Needed to use the master_preferences functions
189 'installer_util',
190 ],
191 }],
192 ['OS=="mac"', {
193 'conditions': [
194 ['mac_breakpad==1', {
195 'variables': {
196 # A real .dSYM is needed for dump_syms to operate on.
197 'mac_real_dsym': 1,
198 },
199 'xcode_settings': {
200 # With mac_real_dsym set, strip_from_xcode won't be used.
201 # Specify CHROMIUM_STRIP_SAVE_FILE directly to Xcode.
202 'STRIPFLAGS': '-s $(CHROMIUM_STRIP_SAVE_FILE)',
203 },
204 'dependencies': [
205 '../breakpad/breakpad.gyp:dump_syms',
206 '../breakpad/breakpad.gyp:symupload',
207 ],
208 # The "Dump Symbols" post-build step is in a target_conditions
209 # block so that it will follow the "Strip If Needed" step if that
210 # is also being used. There is no standard configuration where
211 # both of these steps occur together, but Mark likes to use this
212 # configuration sometimes when testing Breakpad-enabled builds
213 # without the time overhead of creating real .dSYM files. When
214 # both "Dump Symbols" and "Strip If Needed" are present, "Dump
215 # Symbols" must come second because "Strip If Needed" creates
216 # a fake .dSYM that dump_syms needs to fake dump. Since
217 # "Strip If Needed" is added in a target_conditions block in
218 # common.gypi, "Dump Symbols" needs to be in an (always true)
219 # target_conditions block.
220 'target_conditions': [
221 ['1 == 1', {
222 'postbuilds': [
223 {
224 'postbuild_name': 'Dump Symbols',
225 'variables': {
226 'dump_product_syms_path':
227 'tools/build/mac/dump_product_syms',
228 },
229 'action': ['<(dump_product_syms_path)',
230 '<(branding)'],
231 },
232 ],
233 }],
234 ],
235 }], # mac_breakpad
236 ],
237 'product_name': '<(mac_product_name)',
238 'xcode_settings': {
239 # chrome/app/app-Info.plist has:
240 # CFBundleIdentifier of CHROMIUM_BUNDLE_ID
241 # CFBundleName of CHROMIUM_SHORT_NAME
242 # CFBundleSignature of CHROMIUM_CREATOR
243 # Xcode then replaces these values with the branded values we set
244 # as settings on the target.
245 'CHROMIUM_BUNDLE_ID': '<(mac_bundle_id)',
246 'CHROMIUM_CREATOR': '<(mac_creator)',
247 'CHROMIUM_SHORT_NAME': '<(branding)',
248 },
249 'dependencies': [
250 '../components/components.gyp:chrome_manifest_bundle',
251 'helper_app',
252 'infoplist_strings_tool',
253 # On Mac, make sure we've built chrome_dll, which contains all of
254 # the library code with Chromium functionality.
255 'chrome_dll_dependency_shim',
256 ],
257 'mac_bundle_resources': [
258 'app/theme/<(branding_path_component)/mac/app.icns',
259 'app/theme/<(branding_path_component)/mac/document.icns',
260 'browser/ui/cocoa/applescript/scripting.sdef',
261 '<(PRODUCT_DIR)/<(mac_bundle_id).manifest',
262 ],
263 'actions': [
264 {
265 # Generate the InfoPlist.strings file
266 'action_name': 'Generate InfoPlist.strings files',
267 'variables': {
268 'tool_path': '<(PRODUCT_DIR)/infoplist_strings_tool',
269 # Unique dir to write to so the [lang].lproj/InfoPlist.strings
270 # for the main app and the helper app don't name collide.
271 'output_path': '<(INTERMEDIATE_DIR)/app_infoplist_strings',
272 'branding_name': '<(branding_path_component)_strings',
273 },
274 'inputs': [
275 '<(tool_path)',
276 '<(version_path)',
277 # TODO: remove this helper when we have loops in GYP
278 '>!@(<(apply_locales_cmd) \'<(grit_out_dir)/<(branding_name)_ZZL OCALE.pak\' <(locales))',
279 ],
280 'outputs': [
281 # TODO: remove this helper when we have loops in GYP
282 '>!@(<(apply_locales_cmd) -d \'<(output_path)/ZZLOCALE.lproj/Inf oPlist.strings\' <(locales))',
283 ],
284 'action': [
285 '<(tool_path)',
286 '-b', '<(branding_name)',
287 '-v', '<(version_path)',
288 '-g', '<(grit_out_dir)',
289 '-o', '<(output_path)',
290 '-t', 'main',
291 '<@(locales)',
292 ],
293 'message': 'Generating the language InfoPlist.strings files',
294 'process_outputs_as_mac_bundle_resources': 1,
295 },
296 ],
297 'copies': [
298 {
299 'destination': '<(PRODUCT_DIR)/<(mac_product_name).app/Contents/Ve rsions/<(version_full)',
300 'files': [
301 '<(PRODUCT_DIR)/<(mac_product_name) Helper.app',
302 ],
303 },
304 ],
305 'postbuilds': [
306 {
307 'postbuild_name': 'Copy <(mac_product_name) Framework.framework',
308 'action': [
309 '../build/mac/copy_framework_unversioned.sh',
310 '${BUILT_PRODUCTS_DIR}/<(mac_product_name) Framework.framework',
311 '${BUILT_PRODUCTS_DIR}/${CONTENTS_FOLDER_PATH}/Versions/<(versio n_full)',
312 ],
313 },
314 {
315 # Modify the Info.plist as needed. The script explains why this
316 # is needed. This is also done in the helper_app and chrome_dll
317 # targets. Use --breakpad=0 to not include any Breakpad
318 # information; that all goes into the framework's Info.plist.
319 # Keystone information is included if Keystone is enabled. The
320 # application reads Keystone keys from this plist and not the
321 # framework's, and the ticket will reference this Info.plist to
322 # determine the tag of the installed product. Use --scm=1 to
323 # include SCM information.
324 'postbuild_name': 'Tweak Info.plist',
325 'action': ['<(tweak_info_plist_path)',
326 '--plist=${TARGET_BUILD_DIR}/${INFOPLIST_PATH}',
327 '--breakpad=0',
328 '--keystone=<(mac_keystone)',
329 '--scm=1',
330 '--bundle_id=<(mac_bundle_id)'],
331 },
332 {
333 'postbuild_name': 'Clean up old versions',
334 'action': [
335 'tools/build/mac/clean_up_old_versions',
336 '<(version_full)'
337 ],
338 },
339 ], # postbuilds
340 }, { # OS != "mac"
341 'conditions': [
342 # TODO: add a:
343 # 'product_name': 'chromium'
344 # whenever we convert the rest of the infrastructure
345 # (buildbots etc.) to understand the branding gyp define.
346 # NOTE: chrome/app/theme/chromium/BRANDING and
347 # chrome/app/theme/google_chrome/BRANDING have the short name
348 # "chrome" etc.; should we try to extract from there instead?
349 ],
350 'dependencies': [
351 '../components/components.gyp:startup_metric_utils_browser',
352 'chrome_resources.gyp:packed_extra_resources',
353 'chrome_resources.gyp:packed_resources',
354 # Copy Flash Player files to PRODUCT_DIR if applicable. Let the .gyp
355 # file decide what to do on a per-OS basis; on Mac, internal plugins
356 # go inside the framework, so this dependency is in chrome_dll.gypi.
357 '../third_party/adobe/flash/flash_player.gyp:flapper_binaries',
358 # Copy CDM files to PRODUCT_DIR if applicable. Let the .gyp
359 # file decide what to do on a per-OS basis; on Mac, internal plugins
360 # go inside the framework, so this dependency is in chrome_dll.gypi.
361 '../third_party/widevine/cdm/widevine_cdm.gyp:widevinecdmadapter',
362 ],
363 }],
364 ['chrome_multiple_dll', {
365 'defines': ['CHROME_MULTIPLE_DLL'],
366 }],
367 ['OS=="linux"', {
368 'conditions': [
369 ['branding=="Chrome"', {
370 'dependencies': [
371 'linux_installer_configs',
372 ],
373 }],
374 # For now, do not build nacl_helper when disable_nacl=1
375 # http://code.google.com/p/gyp/issues/detail?id=239
376 ['disable_nacl==0', {
377 'dependencies': [
378 '../native_client/src/trusted/service_runtime/linux/nacl_bootstr ap.gyp:nacl_helper_bootstrap',
379 '../components/nacl.gyp:nacl_helper',
380 '../components/nacl_nonsfi.gyp:nacl_helper_nonsfi',
381 ],
382 }],
383 ],
384 'dependencies': [
385 '../sandbox/sandbox.gyp:sandbox',
386 ],
387 }],
388 ['OS=="win"', {
389 'dependencies': [
390 'chrome_dll',
391 'chrome_nacl_win64',
392 'chrome_process_finder',
393 'chrome_version_resources',
394 'chrome_watcher',
395 'chrome_watcher_client',
396 'file_pre_reader',
397 'installer_util',
398 'install_static_util',
399 'metrics_constants_util_win',
400 'visual_elements_resources',
401 '../base/base.gyp:base',
402 '../breakpad/breakpad.gyp:breakpad_handler',
403 '../breakpad/breakpad.gyp:breakpad_sender',
404 '../chrome/common_constants.gyp:common_constants',
405 '../chrome_elf/chrome_elf.gyp:chrome_elf',
406 '../components/components.gyp:browser_watcher_client',
407 '../components/components.gyp:crash_component',
408 '../components/components.gyp:crash_core_common',
409 '../components/components.gyp:flags_ui_switches',
410 '../components/components.gyp:policy',
411 '../components/components.gyp:startup_metric_utils_win',
412 '../crypto/crypto.gyp:crypto',
413 '../sandbox/sandbox.gyp:sandbox',
414 '../ui/gfx/gfx.gyp:gfx',
415 ],
416 'sources': [
417 '<(SHARED_INTERMEDIATE_DIR)/chrome_version/chrome_exe_version.rc',
418 'app/chrome_crash_reporter_client_win.cc',
419 'app/chrome_crash_reporter_client_win.h',
420 'app/chrome_exe.rc',
421 'common/crash_keys.cc',
422 'common/crash_keys.h',
423 ],
424 'sources!': [
425 # We still want the _win entry point for sandbox, etc.
426 'app/chrome_exe_main_aura.cc',
427 ],
428 'conditions': [
429 ['win_console_app==1', {
430 'defines': ['WIN_CONSOLE_APP'],
431 }],
432 ],
433 'msvs_settings': {
434 'VCLinkerTool': {
435 'OutputFile': '$(OutDir)\\initialexe\\chrome.exe',
436 'DelayLoadDLLs': [
437 'dbghelp.dll',
438 'dwmapi.dll',
439 'uxtheme.dll',
440 'ole32.dll',
441 'oleaut32.dll',
442 ],
443 'conditions': [
444 ['win_console_app==0', {
445 # Set /SUBSYSTEM:WINDOWS for chrome.exe itself, unless a
446 # console build has been requested.
447 'SubSystem': '2',
448 }],
449 ],
450 },
451 'VCManifestTool': {
452 'AdditionalManifestFiles': [
453 '$(ProjectDir)\\app\\chrome.exe.manifest',
454 '<(SHARED_INTERMEDIATE_DIR)/chrome/app/version_assembly/version_ assembly.manifest',
455 ],
456 },
457 },
458 'actions': [
459 {
460 'action_name': 'first_run',
461 'inputs': [
462 'app/FirstRun',
463 ],
464 'outputs': [
465 '<(PRODUCT_DIR)/First Run',
466 ],
467 'action': ['python', '../build/cp.py', '<@(_inputs)', '<@(_outputs )'],
468 'message': 'Copy first run complete sentinel file',
469 },
470 {
471 # GN version: //chrome/app/version_assembly:chrome_exe_manifest
472 'action_name': 'chrome_exe_manifest',
473 'includes': [
474 'app/version_assembly/chrome_exe_manifest_action.gypi',
475 ],
476 },
477 {
478 # GN version: //chrome/app/version_assembly:version_assembly_manif est
479 'action_name': 'version_assembly_manifest',
480 'includes': [
481 'app/version_assembly/version_assembly_manifest_action.gypi',
482 ],
483 },
484 ],
485 }],
486 ['OS=="win" and component=="shared_library"', {
487 'defines': ['COMPILE_CONTENT_STATICALLY'],
488 }],
489 ],
490 },
491 ],
492 'conditions': [
493 ['OS=="win"', {
494 'targets': [
495 {
496 'target_name': 'file_pre_reader',
497 'type': 'static_library',
498 'sources': [
499 'app/file_pre_reader_win.cc',
500 'app/file_pre_reader_win.h',
501 ],
502 'dependencies': [
503 '../base/base.gyp:base',
504 '../components/components.gyp:startup_metric_utils_win',
505 ],
506 },
507 {
508 'target_name': 'visual_elements_resources',
509 'type': 'none',
510 'copies': [
511 {
512 # GN version: //chrome/visual_elements_resources
513 'destination': '<(PRODUCT_DIR)',
514 'files': [
515 'app/visual_elements_resources/Logo.png',
516 'app/visual_elements_resources/SecondaryTile.png',
517 'app/visual_elements_resources/SmallLogo.png',
518 'app/visual_elements_resources/chrome.VisualElementsManifest.xml ',
519 ],
520 },
521 ],
522 },
523 ],
524 'conditions': [
525 ['disable_nacl!=1 and target_arch=="ia32"', {
526 'targets': [
527 {
528 'target_name': 'chrome_nacl_win64',
529 'type': 'executable',
530 'product_name': 'nacl64',
531 'sources': [
532 '../content/app/sandbox_helper_win.cc',
533 '../content/common/sandbox_init_win.cc',
534 '../content/common/sandbox_win.cc',
535 '../content/public/common/content_switches.cc',
536 '../content/public/common/sandboxed_process_launcher_delegate.cc ',
537 '<(SHARED_INTERMEDIATE_DIR)/chrome_version/nacl64_exe_version.rc ',
538 'app/chrome_crash_reporter_client_win.cc',
539 'common/crash_keys.cc',
540 'nacl/nacl_exe_win_64.cc',
541 ],
542 'dependencies': [
543 'chrome_version_resources',
544 'install_static_util_nacl_win64',
545 'installer_util_nacl_win64',
546 '../base/base.gyp:base_i18n_nacl_win64',
547 '../base/base.gyp:base_win64',
548 '../base/base.gyp:base_static_win64',
549 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp :dynamic_annotations_win64',
550 '../breakpad/breakpad.gyp:breakpad_handler_win64',
551 '../breakpad/breakpad.gyp:breakpad_sender_win64',
552 '../components/components.gyp:breakpad_win64',
553 '../components/components.gyp:crash_core_common_win64',
554 '../components/components.gyp:flags_ui_switches_win64',
555 '../components/components.gyp:policy_win64',
556 '../chrome/common_constants.gyp:common_constants_win64',
557 '../components/nacl.gyp:nacl_win64',
558 '../crypto/crypto.gyp:crypto_nacl_win64',
559 '../ipc/ipc.gyp:ipc_win64',
560 '../sandbox/sandbox.gyp:sandbox_win64',
561 '../third_party/kasko/kasko.gyp:kasko',
562 ],
563 'defines': [
564 '<@(nacl_win64_defines)',
565 'COMPILE_CONTENT_STATICALLY',
566 ],
567 'include_dirs': [
568 '<(SHARED_INTERMEDIATE_DIR)/chrome',
569 ],
570 'msvs_settings': {
571 'VCLinkerTool': {
572 'ImportLibrary': '$(OutDir)\\lib\\nacl64_exe.lib',
573 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
574 },
575 },
576 'configurations': {
577 'Common_Base': {
578 'msvs_target_platform': 'x64',
579 },
580 },
581 },
582 ],
583 }, { # else (disable_nacl==1)
584 'targets': [
585 {
586 'target_name': 'chrome_nacl_win64',
587 'type': 'none',
588 'sources': [],
589 },
590 ],
591 }],
592 ],
593 }],
594 ['test_isolation_mode != "noop"', {
595 'targets': [
596 {
597 'target_name': 'chrome_run',
598 'type': 'none',
599 'dependencies': [
600 'chrome',
601 # Runtime dependencies
602 '../third_party/mesa/mesa.gyp:osmesa',
603 ],
604 'includes': [
605 '../build/isolate.gypi',
606 ],
607 'sources': [
608 'chrome.isolate',
609 ],
610 'conditions': [
611 ['OS=="win"', {
612 'dependencies': [
613 'chrome_nacl_win64',
614 ],
615 }],
616 ],
617 },
618 ],
619 }],
620 ],
621 }
OLDNEW
« no previous file with comments | « chrome/chrome_dll_bundle.gypi ('k') | chrome/chrome_features.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698