131 lines
4.1 KiB
Python
131 lines
4.1 KiB
Python
# Copyright 2014 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.
|
|
|
|
{
|
|
'targets': [
|
|
{
|
|
'target_name': 'sandbox',
|
|
'type': '<(component)',
|
|
'sources': [
|
|
'bootstrap_sandbox.cc',
|
|
'bootstrap_sandbox.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',
|
|
'pre_exec_delegate.cc',
|
|
'pre_exec_delegate.h',
|
|
'xpc.cc',
|
|
'xpc.h',
|
|
'xpc_message_server.cc',
|
|
'xpc_message_server.h',
|
|
],
|
|
'dependencies': [
|
|
'../base/base.gyp:base',
|
|
],
|
|
'include_dirs': [
|
|
'..',
|
|
'<(SHARED_INTERMEDIATE_DIR)',
|
|
],
|
|
'defines': [
|
|
'SANDBOX_IMPLEMENTATION',
|
|
],
|
|
'link_settings': {
|
|
'libraries': [
|
|
'$(SDKROOT)/usr/lib/libbsm.dylib',
|
|
],
|
|
},
|
|
'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.',
|
|
},
|
|
],
|
|
}],
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'sandbox_mac_unittests',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'bootstrap_sandbox_unittest.mm',
|
|
'policy_unittest.cc',
|
|
'xpc_message_server_unittest.cc',
|
|
],
|
|
'dependencies': [
|
|
'sandbox',
|
|
'../base/base.gyp:base',
|
|
'../base/base.gyp:run_all_unittests',
|
|
'../testing/gtest.gyp:gtest',
|
|
],
|
|
'include_dirs': [
|
|
'..',
|
|
],
|
|
'link_settings': {
|
|
'libraries': [
|
|
'$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
|
|
'$(SDKROOT)/System/Library/Frameworks/Foundation.framework',
|
|
],
|
|
},
|
|
},
|
|
],
|
|
'conditions': [
|
|
['test_isolation_mode != "noop"', {
|
|
'targets': [
|
|
{
|
|
'target_name': 'sandbox_mac_unittests_run',
|
|
'type': 'none',
|
|
'dependencies': [
|
|
'sandbox_mac_unittests',
|
|
],
|
|
'includes': [ '../../build/isolate.gypi' ],
|
|
'sources': [ '../sandbox_mac_unittests.isolate' ],
|
|
},
|
|
],
|
|
}],
|
|
],
|
|
}
|