Updating trunk VERSION from 2139.0 to 2140.0
[chromium-blink-merge.git] / sandbox / mac / sandbox_mac.gypi
bloba2a616fcfb3df8ebe64747037e089c9dc46ed36d
1 # Copyright 2014 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   'targets': [
7     {
8       'target_name': 'sandbox',
9       'type': '<(component)',
10       'sources': [
11         'bootstrap_sandbox.cc',
12         'bootstrap_sandbox.h',
13         'dispatch_source_mach.cc',
14         'dispatch_source_mach.h',
15         'launchd_interception_server.cc',
16         'launchd_interception_server.h',
17         'mach_message_server.cc',
18         'mach_message_server.h',
19         'message_server.h',
20         'os_compatibility.cc',
21         'os_compatibility.h',
22         'policy.cc',
23         'policy.h',
24         'xpc.cc',
25         'xpc.h',
26         'xpc_message_server.cc',
27         'xpc_message_server.h',
28       ],
29       'dependencies': [
30         '../base/base.gyp:base',
31       ],
32       'include_dirs': [
33         '..',
34         '<(SHARED_INTERMEDIATE_DIR)',
35       ],
36       'defines': [
37         'SANDBOX_IMPLEMENTATION',
38       ],
39       'link_settings': {
40         'libraries': [
41           '$(SDKROOT)/usr/lib/libbsm.dylib',
42         ],
43       },
44       'conditions': [
45         # When the build SDK is 10.6, generate a dynamic stub loader. When the
46         # SDK is higher, then libxpc.dylib will be loaded automatically as part
47         # of libSystem, and only forward declarations of private symbols are
48         # necessary.
49         ['mac_sdk == "10.6"', {
50           'actions': [
51             {
52               'variables': {
53                 'generate_stubs_script': '../tools/generate_stubs/generate_stubs.py',
54                 'generate_stubs_header_path': 'xpc_stubs_header.fragment',
55                 'generate_stubs_sig_public_path': 'xpc_stubs.sig',
56                 'generate_stubs_sig_private_path': 'xpc_private_stubs.sig',
57                 'generate_stubs_project': 'sandbox/mac',
58                 'generate_stubs_output_stem': 'xpc_stubs',
59               },
60               'action_name': 'generate_stubs',
61               'inputs': [
62                 '<(generate_stubs_script)',
63                 '<(generate_stubs_header_path)',
64                 '<(generate_stubs_sig_public_path)',
65                 '<(generate_stubs_sig_private_path)',
66               ],
67               'outputs': [
68                 '<(INTERMEDIATE_DIR)/<(generate_stubs_output_stem).cc',
69                 '<(SHARED_INTERMEDIATE_DIR)/<(generate_stubs_project)/<(generate_stubs_output_stem).h',
70               ],
71               'action': [
72                 'python',
73                 '<(generate_stubs_script)',
74                 '-i', '<(INTERMEDIATE_DIR)',
75                 '-o', '<(SHARED_INTERMEDIATE_DIR)/<(generate_stubs_project)',
76                 '-t', 'posix_stubs',
77                 '-e', '<(generate_stubs_header_path)',
78                 '-s', '<(generate_stubs_output_stem)',
79                 '-p', '<(generate_stubs_project)',
80                 '-x', 'SANDBOX_EXPORT',
81                 '<(generate_stubs_sig_public_path)',
82                 '<(generate_stubs_sig_private_path)',
83               ],
84               'process_outputs_as_sources': 1,
85               'message': 'Generating XPC stubs for 10.6 compatability.',
86             },
87           ],
88         }],
89       ],
90     },
91     {
92       'target_name': 'sandbox_mac_unittests',
93       'type': 'executable',
94       'sources': [
95         'bootstrap_sandbox_unittest.mm',
96         'dispatch_source_mach_unittest.cc',
97         'policy_unittest.cc',
98         'xpc_message_server_unittest.cc',
99       ],
100       'dependencies': [
101         'sandbox',
102         '../base/base.gyp:base',
103         '../base/base.gyp:run_all_unittests',
104         '../testing/gtest.gyp:gtest',
105       ],
106       'include_dirs': [
107         '..',
108       ],
109       'link_settings': {
110         'libraries': [
111           '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
112           '$(SDKROOT)/System/Library/Frameworks/Foundation.framework',
113         ],
114       },
115     },
116   ],