1 # Copyright (c) 2011 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.
7 'chromium_code': 1, # Use higher warning level.
8 'directxsdk_exists': '<!(python <(DEPTH)/build/dir_exists.py ../third_party/directxsdk)',
11 '../build/win_precompile.gypi',
16 'defines': ['CONTENT_IMPLEMENTATION'],
19 # In component mode, we build all of content as a single DLL.
20 # However, in the static mode, we need to build content as multiple
21 # targets in order to prevent dependencies from getting introduced
22 # upstream unnecessarily (e.g., content_renderer depends on allocator
23 # and chrome_exe depends on content_common but we don't want
24 # chrome_exe to have to depend on allocator).
25 # TODO(dpranke): Uncomment: ['component == "static_library"', {
28 {'target_name': 'content',
36 'content_ppapi_plugin',
42 {'target_name': 'content_app',
43 'type': 'static_library',
51 {'target_name': 'content_browser',
52 'type': 'static_library',
54 'content_browser.gypi',
60 {'target_name': 'content_common',
61 'type': 'static_library',
63 'content_common.gypi',
66 {'target_name': 'content_gpu',
67 'type': 'static_library',
75 {'target_name': 'content_plugin',
76 'type': 'static_library',
78 'content_plugin.gypi',
84 {'target_name': 'content_ppapi_plugin',
85 'type': 'static_library',
87 'content_ppapi_plugin.gypi',
90 {'target_name': 'content_renderer',
91 'type': 'static_library',
93 'content_renderer.gypi',
99 {'target_name': 'content_utility',
100 'type': 'static_library',
102 'content_utility.gypi',
108 {'target_name': 'content_worker',
109 'type': 'static_library',
111 'content_worker.gypi',
122 'target_name': 'closure_blocks_leopard_compat',
123 'defines!': ['CONTENT_IMPLEMENTATION'],
125 ['mac_sdk == "10.5"', {
126 'type': 'shared_library',
127 'product_name': 'closure_blocks_leopard_compat_stub',
129 # This target controls stripping directly. See below.
133 'browser/mac/closure_blocks_leopard_compat.S',
136 # These values are taken from libSystem.dylib in the 10.5
137 # SDK. Setting LD_DYLIB_INSTALL_NAME causes anything linked
138 # against this stub library to look for the symbols it
139 # provides in the real libSystem at runtime. When using ld
140 # from Xcode 4 or later (ld64-123.2 and up), giving two
141 # libraries with the same "install name" to the linker will
142 # cause it to print "ld: warning: dylibs with same install
143 # name". This is harmless, and ld will behave as intended
146 # The real library's compatibility version is used, and the
147 # value of the current version from the SDK is used to make
148 # it appear as though anything linked against this stub was
149 # linked against the real thing.
150 'LD_DYLIB_INSTALL_NAME': '/usr/lib/libSystem.B.dylib',
151 'DYLIB_COMPATIBILITY_VERSION': '1.0.0',
152 'DYLIB_CURRENT_VERSION': '111.1.4',
154 # Turn on stripping (yes, even in debug mode), and add the -c
155 # flag. This is what produces a stub library (MH_DYLIB_STUB)
156 # as opposed to a dylib (MH_DYLIB). MH_DYLIB_STUB files
157 # contain symbol tables and everything else needed for
158 # linking, but are stripped of section contents. This is the
159 # same way that the stub libraries in Mac OS X SDKs are
160 # created. dyld will refuse to load a stub library, so this
161 # provides some insurance in case anyone tries to load the
163 'DEPLOYMENT_POSTPROCESSING': 'YES',
164 'STRIP_STYLE': 'non-global',
167 }, { # else: mac_sdk != "10.5"
168 # When using the 10.6 SDK or newer, the necessary definitions
169 # are already present in libSystem.dylib. There is no need to
170 # build a stub dylib to provide these symbols at link time.
171 # This target is still useful to cause those symbols to be
172 # treated as weak imports in dependents, who still must
173 # #include closure_blocks_leopard_compat.h to get weak imports.
182 { # component != static_library
186 {'target_name': 'content',
187 'type': 'shared_library',
190 'content_browser.gypi',
191 'content_common.gypi',
193 'content_plugin.gypi',
194 'content_ppapi_plugin.gypi',
195 'content_renderer.gypi',
196 'content_utility.gypi',
197 'content_worker.gypi',
200 {'target_name': 'content_app',
202 'dependencies': ['content', 'content_browser'],
204 {'target_name': 'content_browser',
206 'dependencies': ['content'],
208 {'target_name': 'content_common',
210 'dependencies': ['content'],
212 {'target_name': 'content_gpu',
214 'dependencies': ['content'],
216 {'target_name': 'content_plugin',
218 'dependencies': ['content'],
220 {'target_name': 'content_ppapi_plugin',
222 'dependencies': ['content'],
224 {'target_name': 'content_renderer',
226 'dependencies': ['content'],
228 {'target_name': 'content_utility',
230 'dependencies': ['content'],
232 {'target_name': 'content_worker',
234 'dependencies': ['content'],