Home | History | Annotate | Download | only in mac
      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.
      4 
      5 {
      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   ],
    117 }
    118