OLD | NEW |
1 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 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 | 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 'targets': [ | 6 'targets': [ |
7 { | 7 { |
8 'target_name': 'browser', | 8 'target_name': 'browser', |
9 'type': 'static_library', | 9 'type': 'static_library', |
10 'dependencies': [ | 10 'dependencies': [ |
(...skipping 4897 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4908 ], | 4908 ], |
4909 'conditions': [ | 4909 'conditions': [ |
4910 ['OS=="mac"', { | 4910 ['OS=="mac"', { |
4911 'targets': [ | 4911 'targets': [ |
4912 { | 4912 { |
4913 'target_name': 'closure_blocks_leopard_compat', | 4913 'target_name': 'closure_blocks_leopard_compat', |
4914 'conditions': [ | 4914 'conditions': [ |
4915 ['mac_sdk == "10.5"', { | 4915 ['mac_sdk == "10.5"', { |
4916 'type': 'shared_library', | 4916 'type': 'shared_library', |
4917 'product_name': 'closure_blocks_leopard_compat_stub', | 4917 'product_name': 'closure_blocks_leopard_compat_stub', |
| 4918 'variables': { |
| 4919 # This target controls stripping directly. See below. |
| 4920 'mac_strip': 0, |
| 4921 }, |
4918 'sources': [ | 4922 'sources': [ |
4919 'browser/mac/closure_blocks_leopard_compat.S', | 4923 'browser/mac/closure_blocks_leopard_compat.S', |
4920 ], | 4924 ], |
4921 'xcode_settings': { | 4925 'xcode_settings': { |
4922 # These values are taken from libSystem.dylib in the 10.5 SDK. | 4926 # These values are taken from libSystem.dylib in the 10.5 SDK. |
4923 # Setting LD_DYLIB_INSTALL_NAME causes anything linked against | 4927 # Setting LD_DYLIB_INSTALL_NAME causes anything linked against |
4924 # this stub library to look for the symbols it provides in the | 4928 # this stub library to look for the symbols it provides in the |
4925 # real libSystem at runtime. The real library's compatibility | 4929 # real libSystem at runtime. When using ld from Xcode 4 or |
4926 # version is used, and the value of the current version from | 4930 # later (ld64-123.2 and up), giving two libraries with the |
4927 # the SDK is used to make it appear as though anything linked | 4931 # same "install name" to the linker will cause it to print |
4928 # against this stub was linked against the real thing. | 4932 # "ld: warning: dylibs with same install name". This is |
| 4933 # harmless, and ld will behave as intended here. |
| 4934 # |
| 4935 # The real library's compatibility version is used, and the |
| 4936 # value of the current version from the SDK is used to make |
| 4937 # it appear as though anything linked against this stub was |
| 4938 # linked against the real thing. |
4929 'LD_DYLIB_INSTALL_NAME': '/usr/lib/libSystem.B.dylib', | 4939 'LD_DYLIB_INSTALL_NAME': '/usr/lib/libSystem.B.dylib', |
4930 'DYLIB_COMPATIBILITY_VERSION': '1.0.0', | 4940 'DYLIB_COMPATIBILITY_VERSION': '1.0.0', |
4931 'DYLIB_CURRENT_VERSION': '111.1.4', | 4941 'DYLIB_CURRENT_VERSION': '111.1.4', |
| 4942 |
| 4943 # Turn on stripping (yes, even in debug mode), and add the -c |
| 4944 # flag. This is what produces a stub library (MH_DYLIB_STUB) |
| 4945 # as opposed to a dylib (MH_DYLIB). MH_DYLIB_STUB files |
| 4946 # contain symbol tables and everything else needed for |
| 4947 # linking, but are stripped of section contents. This is the |
| 4948 # same way that the stub libraries in Mac OS X SDKs are |
| 4949 # created. dyld will refuse to load a stub library, so this |
| 4950 # provides some insurance in case anyone tries to load the |
| 4951 # stub at runtime. |
| 4952 'DEPLOYMENT_POSTPROCESSING': 'YES', |
| 4953 'STRIP_STYLE': 'non-global', |
| 4954 'STRIPFLAGS': '-c', |
4932 }, | 4955 }, |
4933 }, { # else: mac_sdk != "10.5" | 4956 }, { # else: mac_sdk != "10.5" |
4934 # When using the 10.6 SDK or newer, the necessary definitions | 4957 # When using the 10.6 SDK or newer, the necessary definitions |
4935 # are already present in libSystem.dylib. There is no need to | 4958 # are already present in libSystem.dylib. There is no need to |
4936 # build a stub dylib to provide these symbols at link time. This | 4959 # build a stub dylib to provide these symbols at link time. This |
4937 # target is still useful to cause those symbols to be treated as | 4960 # target is still useful to cause those symbols to be treated as |
4938 # weak imports in dependents, who still must #include | 4961 # weak imports in dependents, who still must #include |
4939 # closure_blocks_leopard_compat.h to get weak imports. | 4962 # closure_blocks_leopard_compat.h to get weak imports. |
4940 'type': 'none', | 4963 'type': 'none', |
4941 }], | 4964 }], |
4942 ], | 4965 ], |
4943 }, | 4966 }, |
4944 ], | 4967 ], |
4945 }], | 4968 }], |
4946 ], | 4969 ], |
4947 } | 4970 } |
OLD | NEW |