| # Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| { |
| 'variables': { |
| 'chromium_code': 1, # Use higher warning level. |
| 'directxsdk_exists': '<!(python <(DEPTH)/build/dir_exists.py ../third_party/directxsdk)', |
| }, |
| 'includes': [ |
| '../build/win_precompile.gypi', |
| 'content_shell.gypi', |
| 'content_tests.gypi', |
| ], |
| 'target_defaults': { |
| 'defines': ['CONTENT_IMPLEMENTATION'], |
| }, |
| 'conditions': [ |
| # In component mode, we build all of content as a single DLL. |
| # However, in the static mode, we need to build content as multiple |
| # targets in order to prevent dependencies from getting introduced |
| # upstream unnecessarily (e.g., content_renderer depends on allocator |
| # and chrome_exe depends on content_common but we don't want |
| # chrome_exe to have to depend on allocator). |
| # TODO(dpranke): Uncomment: ['component == "static_library"', { |
| ['1 == 1', { |
| 'targets': [ |
| {'target_name': 'content', |
| 'type': 'none', |
| 'dependencies': [ |
| 'content_app', |
| 'content_browser', |
| 'content_common', |
| 'content_gpu', |
| 'content_plugin', |
| 'content_ppapi_plugin', |
| 'content_renderer', |
| 'content_utility', |
| 'content_worker', |
| ], |
| }, |
| {'target_name': 'content_app', |
| 'type': 'static_library', |
| 'includes': [ |
| 'content_app.gypi', |
| ], |
| 'dependencies': [ |
| 'content_common', |
| ], |
| }, |
| {'target_name': 'content_browser', |
| 'type': 'static_library', |
| 'includes': [ |
| 'content_browser.gypi', |
| ], |
| 'dependencies': [ |
| 'content_common', |
| ], |
| }, |
| {'target_name': 'content_common', |
| 'type': 'static_library', |
| 'includes': [ |
| 'content_common.gypi', |
| ], |
| }, |
| {'target_name': 'content_gpu', |
| 'type': 'static_library', |
| 'includes': [ |
| 'content_gpu.gypi', |
| ], |
| 'dependencies': [ |
| 'content_common', |
| ], |
| }, |
| {'target_name': 'content_plugin', |
| 'type': 'static_library', |
| 'includes': [ |
| 'content_plugin.gypi', |
| ], |
| 'dependencies': [ |
| 'content_common', |
| ], |
| }, |
| {'target_name': 'content_ppapi_plugin', |
| 'type': 'static_library', |
| 'includes': [ |
| 'content_ppapi_plugin.gypi', |
| ], |
| }, |
| {'target_name': 'content_renderer', |
| 'type': 'static_library', |
| 'includes': [ |
| 'content_renderer.gypi', |
| ], |
| 'dependencies': [ |
| 'content_common', |
| ], |
| }, |
| {'target_name': 'content_utility', |
| 'type': 'static_library', |
| 'includes': [ |
| 'content_utility.gypi', |
| ], |
| 'dependencies': [ |
| 'content_common', |
| ], |
| }, |
| {'target_name': 'content_worker', |
| 'type': 'static_library', |
| 'includes': [ |
| 'content_worker.gypi', |
| ], |
| 'dependencies': [ |
| 'content_common', |
| ], |
| }, |
| ], |
| 'conditions': [ |
| ['OS=="mac"', { |
| 'targets': [ |
| { |
| 'target_name': 'closure_blocks_leopard_compat', |
| 'defines!': ['CONTENT_IMPLEMENTATION'], |
| 'conditions': [ |
| ['mac_sdk == "10.5"', { |
| 'type': 'shared_library', |
| 'product_name': 'closure_blocks_leopard_compat_stub', |
| 'variables': { |
| # This target controls stripping directly. See below. |
| 'mac_strip': 0, |
| }, |
| 'sources': [ |
| 'browser/mac/closure_blocks_leopard_compat.S', |
| ], |
| 'xcode_settings': { |
| # These values are taken from libSystem.dylib in the 10.5 |
| # SDK. Setting LD_DYLIB_INSTALL_NAME causes anything linked |
| # against this stub library to look for the symbols it |
| # provides in the real libSystem at runtime. When using ld |
| # from Xcode 4 or later (ld64-123.2 and up), giving two |
| # libraries with the same "install name" to the linker will |
| # cause it to print "ld: warning: dylibs with same install |
| # name". This is harmless, and ld will behave as intended |
| # here. |
| # |
| # The real library's compatibility version is used, and the |
| # value of the current version from the SDK is used to make |
| # it appear as though anything linked against this stub was |
| # linked against the real thing. |
| 'LD_DYLIB_INSTALL_NAME': '/usr/lib/libSystem.B.dylib', |
| 'DYLIB_COMPATIBILITY_VERSION': '1.0.0', |
| 'DYLIB_CURRENT_VERSION': '111.1.4', |
| |
| # Turn on stripping (yes, even in debug mode), and add the -c |
| # flag. This is what produces a stub library (MH_DYLIB_STUB) |
| # as opposed to a dylib (MH_DYLIB). MH_DYLIB_STUB files |
| # contain symbol tables and everything else needed for |
| # linking, but are stripped of section contents. This is the |
| # same way that the stub libraries in Mac OS X SDKs are |
| # created. dyld will refuse to load a stub library, so this |
| # provides some insurance in case anyone tries to load the |
| # stub at runtime. |
| 'DEPLOYMENT_POSTPROCESSING': 'YES', |
| 'STRIP_STYLE': 'non-global', |
| 'STRIPFLAGS': '-c', |
| }, |
| }, { # else: mac_sdk != "10.5" |
| # When using the 10.6 SDK or newer, the necessary definitions |
| # are already present in libSystem.dylib. There is no need to |
| # build a stub dylib to provide these symbols at link time. |
| # This target is still useful to cause those symbols to be |
| # treated as weak imports in dependents, who still must |
| # #include closure_blocks_leopard_compat.h to get weak imports. |
| 'type': 'none', |
| }], |
| ], |
| }, |
| ], |
| }], |
| ], |
| }, |
| { # component != static_library |
| 'target_defaults': { |
| }, |
| 'targets': [ |
| {'target_name': 'content', |
| 'type': 'shared_library', |
| 'includes': [ |
| 'content_app.gypi', |
| 'content_browser.gypi', |
| 'content_common.gypi', |
| 'content_gpu.gypi', |
| 'content_plugin.gypi', |
| 'content_ppapi_plugin.gypi', |
| 'content_renderer.gypi', |
| 'content_utility.gypi', |
| 'content_worker.gypi', |
| ], |
| }, |
| {'target_name': 'content_app', |
| 'type': 'none', |
| 'dependencies': ['content', 'content_browser'], |
| }, |
| {'target_name': 'content_browser', |
| 'type': 'none', |
| 'dependencies': ['content'], |
| }, |
| {'target_name': 'content_common', |
| 'type': 'none', |
| 'dependencies': ['content'], |
| }, |
| {'target_name': 'content_gpu', |
| 'type': 'none', |
| 'dependencies': ['content'], |
| }, |
| {'target_name': 'content_plugin', |
| 'type': 'none', |
| 'dependencies': ['content'], |
| }, |
| {'target_name': 'content_ppapi_plugin', |
| 'type': 'none', |
| 'dependencies': ['content'], |
| }, |
| {'target_name': 'content_renderer', |
| 'type': 'none', |
| 'dependencies': ['content'], |
| }, |
| {'target_name': 'content_utility', |
| 'type': 'none', |
| 'dependencies': ['content'], |
| }, |
| {'target_name': 'content_worker', |
| 'type': 'none', |
| 'dependencies': ['content'], |
| }, |
| ], |
| }, |
| ], |
| ], |
| } |