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.
6 ['OS=="mac" or OS=="win"', {
9 'target_name': 'chrome_dll',
15 ['incremental_chrome_dll==1', {
16 # Linking to a different directory and then hardlinking back
17 # to OutDir is a workaround to avoid having the .ilk for
18 # chrome.exe and chrome.dll conflicting. See crbug.com/92528
19 # for more information. Done on the dll instead of the exe so
20 # that people launching from VS don't need to modify
21 # $(TargetPath) for the exe.
24 'action_name': 'hardlink_to_output',
26 '$(OutDir)\\initial\\chrome.dll',
29 '$(OutDir)\\chrome.dll',
31 'action': ['tools\\build\\win\\hardlink_failsafe.bat',
32 '$(OutDir)\\initial\\chrome.dll',
33 '$(OutDir)\\chrome.dll'],
34 'msvs_cygwin_shell': 0,
41 'target_name': 'chrome_main_dll',
42 'type': 'shared_library',
44 'enable_wexit_time_destructors': 1,
47 '<@(chromium_dependencies)',
48 'app/policy/cloud_policy_codegen.gyp:policy',
53 '../ui/compositor/compositor.gyp:compositor',
58 '<(SHARED_INTERMEDIATE_DIR)/ash/ash_resources/ash_wallpaper_resources.rc',
62 'product_name': 'chrome',
64 # On Windows, link the dependencies (libraries) that make
65 # up actual Chromium functionality into this .dll.
66 'chrome_resources.gyp:chrome_resources',
67 'chrome_version_resources',
68 '../chrome/chrome_resources.gyp:chrome_unscaled_resources',
69 '../content/content.gyp:content_worker',
70 '../crypto/crypto.gyp:crypto',
71 '../printing/printing.gyp:printing',
72 '../net/net.gyp:net_resources',
73 '../third_party/cld/cld.gyp:cld',
74 '../ui/views/views.gyp:views',
75 '../webkit/support/webkit_support.gyp:webkit_resources',
78 'app/chrome_command_ids.h',
80 'app/chrome_dll_resource.h',
82 'app/chrome_main_delegate.cc',
83 'app/chrome_main_delegate.h',
85 '<(SHARED_INTERMEDIATE_DIR)/chrome_version/chrome_dll_version.rc',
86 '../base/win/dllmain.cc',
88 '../webkit/glue/resources/aliasb.cur',
89 '../webkit/glue/resources/cell.cur',
90 '../webkit/glue/resources/col_resize.cur',
91 '../webkit/glue/resources/copy.cur',
92 '../webkit/glue/resources/none.cur',
93 '../webkit/glue/resources/row_resize.cur',
94 '../webkit/glue/resources/vertical_text.cur',
95 '../webkit/glue/resources/zoom_in.cur',
96 '../webkit/glue/resources/zoom_out.cur',
98 # TODO: It would be nice to have these pulled in
99 # automatically from direct_dependent_settings in
100 # their various targets (net.gyp:net_resources, etc.),
101 # but that causes errors in other targets when
102 # resulting .res files get referenced multiple times.
103 '<(SHARED_INTERMEDIATE_DIR)/chrome/browser_resources.rc',
104 '<(SHARED_INTERMEDIATE_DIR)/chrome/chrome_unscaled_resources.rc',
105 '<(SHARED_INTERMEDIATE_DIR)/chrome/common_resources.rc',
106 '<(SHARED_INTERMEDIATE_DIR)/chrome/extensions_api_resources.rc',
107 '<(SHARED_INTERMEDIATE_DIR)/chrome/renderer_resources.rc',
108 '<(SHARED_INTERMEDIATE_DIR)/content/content_resources.rc',
109 '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.rc',
110 '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.rc',
111 '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_resources.rc',
113 # TODO(sgk): left-over from pre-gyp build, figure out
114 # if we still need them and/or how to update to gyp.
115 #'app/check_dependents.bat',
116 #'app/chrome.dll.deps',
119 '<(DEPTH)/third_party/wtl/include',
131 'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
138 'AdditionalLibraryDirectories': ['$(DXSDK_DIR)/lib/x86'],
139 'BaseAddress': '0x01c30000',
140 'ImportLibrary': '$(OutDir)\\lib\\chrome_dll.lib',
141 'ProgramDatabaseFile': '$(OutDir)\\chrome_dll.pdb',
142 # Set /SUBSYSTEM:WINDOWS for chrome.dll (for consistency).
145 ['incremental_chrome_dll==1', {
146 'OutputFile': '$(OutDir)\\initial\\chrome.dll',
147 'UseLibraryDependencyInputs': "true",
168 'AdditionalManifestFiles': '$(ProjectDir)\\app\\chrome.dll.manifest',
173 'includes': [ 'chrome_dll_bundle.gypi' ],
175 # Define the order of symbols within the framework. This
177 'ORDER_FILE': 'app/framework.order',
180 'app/chrome_command_ids.h',
181 'app/chrome_dll_resource.h',
182 'app/chrome_main.cc',
183 'app/chrome_main_delegate.cc',
184 'app/chrome_main_delegate.h',
185 'app/chrome_main_app_mode_mac.mm',
186 'app/chrome_main_mac.mm',
187 'app/chrome_main_mac.h',
194 # This step causes an error to be raised if the .order file
195 # does not account for all global text symbols. It
196 # validates the completeness of the .order file.
197 'postbuild_name': 'Verify global text symbol order',
199 'verify_order_path': 'tools/build/mac/verify_order',
202 '<(verify_order_path)',
204 '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}',
209 ['mac_breakpad_compiled_in==1', {
211 '../breakpad/breakpad.gyp:breakpad',
212 'app/policy/cloud_policy_codegen.gyp:policy',
215 'app/breakpad_mac.mm',
216 'app/breakpad_mac.h',
218 }, { # else: mac_breakpad_compiled_in!=1
219 # No Breakpad, put in the stubs.
221 'app/breakpad_mac_stubs.mm',
222 'app/breakpad_mac.h',
224 }], # mac_breakpad_compiled_in
227 '../pdf/pdf.gyp:pdf',
233 }, # target chrome_dll
235 }], # OS=="mac" or OS=="win"