# 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', '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', ], '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', 'dispatch_source_mach_unittest.cc', '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', ], }, }, ], }