'sources': [
'bootstrap_sandbox.cc',
'bootstrap_sandbox.h',
+ 'dispatch_source_mach.cc',
+ 'dispatch_source_mach.h',
'launchd_interception_server.cc',
'launchd_interception_server.h',
'mach_message_server.cc',
'mach_message_server.h',
+ 'message_server.h',
'os_compatibility.cc',
'os_compatibility.h',
'policy.cc',
'policy.h',
+ 'xpc.cc',
'xpc.h',
+ 'xpc_message_server.cc',
+ 'xpc_message_server.h',
],
'dependencies': [
'../base/base.gyp:base',
'$(SDKROOT)/usr/lib/libbsm.dylib',
],
},
- 'actions': [
- {
- 'variables': {
- 'generate_stubs_script': '../tools/generate_stubs/generate_stubs.py',
- 'generate_stubs_header_path': 'xpc_stubs_header.fragment',
- 'generate_stubs_sig_public_path': 'xpc_stubs.sig',
- 'generate_stubs_sig_private_path': 'xpc_private_stubs.sig',
- 'generate_stubs_project': 'sandbox/mac',
- 'generate_stubs_output_stem': 'xpc_stubs',
- },
- 'action_name': 'generate_stubs',
- 'inputs': [
- '<(generate_stubs_script)',
- '<(generate_stubs_header_path)',
- '<(generate_stubs_sig_public_path)',
- '<(generate_stubs_sig_private_path)',
+ 'conditions': [
+ # When the build SDK is 10.6, generate a dynamic stub loader. When the
+ # SDK is higher, then libxpc.dylib will be loaded automatically as part
+ # of libSystem, and only forward declarations of private symbols are
+ # necessary.
+ ['mac_sdk == "10.6"', {
+ 'actions': [
+ {
+ 'variables': {
+ 'generate_stubs_script': '../tools/generate_stubs/generate_stubs.py',
+ 'generate_stubs_header_path': 'xpc_stubs_header.fragment',
+ 'generate_stubs_sig_public_path': 'xpc_stubs.sig',
+ 'generate_stubs_sig_private_path': 'xpc_private_stubs.sig',
+ 'generate_stubs_project': 'sandbox/mac',
+ 'generate_stubs_output_stem': 'xpc_stubs',
+ },
+ 'action_name': 'generate_stubs',
+ 'inputs': [
+ '<(generate_stubs_script)',
+ '<(generate_stubs_header_path)',
+ '<(generate_stubs_sig_public_path)',
+ '<(generate_stubs_sig_private_path)',
+ ],
+ 'outputs': [
+ '<(INTERMEDIATE_DIR)/<(generate_stubs_output_stem).cc',
+ '<(SHARED_INTERMEDIATE_DIR)/<(generate_stubs_project)/<(generate_stubs_output_stem).h',
+ ],
+ 'action': [
+ 'python',
+ '<(generate_stubs_script)',
+ '-i', '<(INTERMEDIATE_DIR)',
+ '-o', '<(SHARED_INTERMEDIATE_DIR)/<(generate_stubs_project)',
+ '-t', 'posix_stubs',
+ '-e', '<(generate_stubs_header_path)',
+ '-s', '<(generate_stubs_output_stem)',
+ '-p', '<(generate_stubs_project)',
+ '-x', 'SANDBOX_EXPORT',
+ '<(generate_stubs_sig_public_path)',
+ '<(generate_stubs_sig_private_path)',
+ ],
+ 'process_outputs_as_sources': 1,
+ 'message': 'Generating XPC stubs for 10.6 compatability.',
+ },
],
- 'outputs': [
- '<(INTERMEDIATE_DIR)/<(generate_stubs_output_stem).cc',
- '<(SHARED_INTERMEDIATE_DIR)/<(generate_stubs_project)/<(generate_stubs_output_stem).h',
- ],
- 'action': [
- 'python',
- '<(generate_stubs_script)',
- '-i', '<(INTERMEDIATE_DIR)',
- '-o', '<(SHARED_INTERMEDIATE_DIR)/<(generate_stubs_project)',
- '-t', 'posix_stubs',
- '-e', '<(generate_stubs_header_path)',
- '-s', '<(generate_stubs_output_stem)',
- '-p', '<(generate_stubs_project)',
- '<(generate_stubs_sig_public_path)',
- '<(generate_stubs_sig_private_path)',
- ],
- 'process_outputs_as_sources': 1,
- 'message': 'Generating XPC stubs for 10.6 compatability.',
- },
+ }],
],
},
{
'type': 'executable',
'sources': [
'bootstrap_sandbox_unittest.mm',
+ 'dispatch_source_mach_unittest.cc',
'policy_unittest.cc',
+ 'xpc_message_server_unittest.cc',
],
'dependencies': [
'sandbox',