<html devsite>
<head>
  <meta name="project_path" value="/_project.yaml">
  <meta name="book_path" value="/versions/6.3.0/_book.yaml">
</head>
<body>

<h1 class="page-title" id="modules.ObjcProvider">ObjcProvider</h1>

<!-- {% raw %} -->

A provider for compilation and linking of objc.

<h2>Members</h2>
<ul>
    <li>
    <a href="#direct_module_maps">direct_module_maps</a>
  </li>
      <li>
    <a href="#direct_sources">direct_sources</a>
  </li>
      <li>
    <a href="#dynamic_framework_file">dynamic_framework_file</a>
  </li>
      <li>
    <a href="#dynamic_framework_names">dynamic_framework_names</a>
  </li>
      <li>
    <a href="#dynamic_framework_paths">dynamic_framework_paths</a>
  </li>
      <li>
    <a href="#force_load_library">force_load_library</a>
  </li>
      <li>
    <a href="#imported_library">imported_library</a>
  </li>
      <li>
    <a href="#j2objc_library">j2objc_library</a>
  </li>
      <li>
    <a href="#library">library</a>
  </li>
      <li>
    <a href="#link_inputs">link_inputs</a>
  </li>
      <li>
    <a href="#linkopt">linkopt</a>
  </li>
      <li>
    <a href="#module_map">module_map</a>
  </li>
      <li>
    <a href="#sdk_dylib">sdk_dylib</a>
  </li>
      <li>
    <a href="#sdk_framework">sdk_framework</a>
  </li>
      <li>
    <a href="#source">source</a>
  </li>
      <li>
    <a href="#static_framework_file">static_framework_file</a>
  </li>
      <li>
    <a href="#static_framework_names">static_framework_names</a>
  </li>
      <li>
    <a href="#static_framework_paths">static_framework_paths</a>
  </li>
      <li>
    <a href="#strict_include">strict_include</a>
  </li>
      <li>
    <a href="#umbrella_header">umbrella_header</a>
  </li>
      <li>
    <a href="#weak_sdk_framework">weak_sdk_framework</a>
  </li>
  </ul>

      <h2 id="direct_module_maps">direct_module_maps</h2>
        <p><pre class="rule-signature"><a class="anchor" href="list.html">sequence</a> ObjcProvider.direct_module_maps</pre></p>

    Module map files from this target directly (no transitive module maps). Used to enforce proper use of private header files and for Swift compilation.


        <h2 id="direct_sources">direct_sources</h2>
        <p><pre class="rule-signature"><a class="anchor" href="list.html">sequence</a> ObjcProvider.direct_sources</pre></p>

    All direct source files from this target (no transitive files), including any headers in the 'srcs' attribute.


        <h2 id="dynamic_framework_file">dynamic_framework_file</h2>
        <p><pre class="rule-signature"><a class="anchor" href="depset.html">depset</a> ObjcProvider.dynamic_framework_file</pre></p>

    The library files in .framework directories belonging to a dynamically linked framework.


        <h2 id="dynamic_framework_names">dynamic_framework_names</h2>
        <p><pre class="rule-signature"><a class="anchor" href="depset.html">depset</a> ObjcProvider.dynamic_framework_names</pre></p>

    Returns all names of dynamic frameworks in this provider.


        <h2 id="dynamic_framework_paths">dynamic_framework_paths</h2>
        <p><pre class="rule-signature"><a class="anchor" href="depset.html">depset</a> ObjcProvider.dynamic_framework_paths</pre></p>

    Returns all framework paths to dynamic frameworks in this provider.


        <h2 id="force_load_library">force_load_library</h2>
        <p><pre class="rule-signature"><a class="anchor" href="depset.html">depset</a> ObjcProvider.force_load_library</pre></p>

    Libraries to load with -force_load.


        <h2 id="imported_library">imported_library</h2>
        <p><pre class="rule-signature"><a class="anchor" href="depset.html">depset</a> ObjcProvider.imported_library</pre></p>

    Imported precompiled static libraries (.a files) to be linked into the binary.


        <h2 id="j2objc_library">j2objc_library</h2>
        <p><pre class="rule-signature"><a class="anchor" href="depset.html">depset</a> ObjcProvider.j2objc_library</pre></p>

    Static libraries that are built from J2ObjC-translated Java code.


        <h2 id="library">library</h2>
        <p><pre class="rule-signature"><a class="anchor" href="depset.html">depset</a> ObjcProvider.library</pre></p>

    Library (.a) files compiled by dependencies of the current target.


        <h2 id="link_inputs">link_inputs</h2>
        <p><pre class="rule-signature"><a class="anchor" href="depset.html">depset</a> ObjcProvider.link_inputs</pre></p>

    Link time artifacts from dependencies that do not fall into any other category such as libraries or archives. This catch-all provides a way to add arbitrary data (e.g. Swift AST files) to the linker. The rule that adds these is also responsible to add the necessary linker flags to 'linkopt'.


        <h2 id="linkopt">linkopt</h2>
        <p><pre class="rule-signature"><a class="anchor" href="depset.html">depset</a> ObjcProvider.linkopt</pre></p>

    Linking options.


        <h2 id="module_map">module_map</h2>
        <p><pre class="rule-signature"><a class="anchor" href="depset.html">depset</a> ObjcProvider.module_map</pre></p>

    Clang module maps, used to enforce proper use of private header files.


        <h2 id="sdk_dylib">sdk_dylib</h2>
        <p><pre class="rule-signature"><a class="anchor" href="depset.html">depset</a> ObjcProvider.sdk_dylib</pre></p>

    Names of SDK .dylib libraries to link with. For instance, 'libz' or 'libarchive'.


        <h2 id="sdk_framework">sdk_framework</h2>
        <p><pre class="rule-signature"><a class="anchor" href="depset.html">depset</a> ObjcProvider.sdk_framework</pre></p>

    Names of SDK frameworks to link with (e.g. 'AddressBook', 'QuartzCore').


        <h2 id="source">source</h2>
        <p><pre class="rule-signature"><a class="anchor" href="depset.html">depset</a> ObjcProvider.source</pre></p>

    All transitive source files.


        <h2 id="static_framework_file">static_framework_file</h2>
        <p><pre class="rule-signature"><a class="anchor" href="depset.html">depset</a> ObjcProvider.static_framework_file</pre></p>

    The library files in .framework directories that should be statically linked.


        <h2 id="static_framework_names">static_framework_names</h2>
        <p><pre class="rule-signature"><a class="anchor" href="depset.html">depset</a> ObjcProvider.static_framework_names</pre></p>

    Returns all names of static frameworks in this provider.


        <h2 id="static_framework_paths">static_framework_paths</h2>
        <p><pre class="rule-signature"><a class="anchor" href="depset.html">depset</a> ObjcProvider.static_framework_paths</pre></p>

    Returns all framework paths to static frameworks in this provider.


        <h2 id="strict_include">strict_include</h2>
        <p><pre class="rule-signature"><a class="anchor" href="depset.html">depset</a> ObjcProvider.strict_include</pre></p>

    Non-propagated include search paths specified with '-I' on the command line. Also known as header search paths (and distinct from <em>user</em> header search paths).


        <h2 id="umbrella_header">umbrella_header</h2>
        <p><pre class="rule-signature"><a class="anchor" href="depset.html">depset</a> ObjcProvider.umbrella_header</pre></p>

    Clang umbrella header. Public headers are #included in umbrella headers to be compatible with J2ObjC segmented headers.


        <h2 id="weak_sdk_framework">weak_sdk_framework</h2>
        <p><pre class="rule-signature"><a class="anchor" href="depset.html">depset</a> ObjcProvider.weak_sdk_framework</pre></p>

    Names of SDK frameworks to weakly link with. For instance, 'MediaAccessibility'. In difference to regularly linked SDK frameworks, symbols from weakly linked frameworks do not cause an error if they are not present at runtime.



</body>
</html>

<!-- {% endraw %} -->
