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

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

{% dynamic setvar source_file "src/main/java/com/google/devtools/build/lib/starlarkbuildapi/cpp/CcInfoApi.java" %}
{% dynamic setvar version "8.2.0" %}
{% dynamic setvar original_path "/rules/lib/providers/CcInfo" %}
{% include "_buttons.html" %}
<!-- {% raw %} -->

A provider for compilation and linking of C++. This is also a marking provider telling C++ rules that they can depend on the rule with this provider. If it is not intended for the rule to be depended on by C++, the rule should wrap the CcInfo in some other provider.

<h2>Members</h2>
<ul>
    <li>
    <a href="#CcInfo">CcInfo</a>
  </li>
      <li>
    <a href="#compilation_context">compilation_context</a>
  </li>
      <li>
    <a href="#linking_context">linking_context</a>
  </li>
  </ul>

      <h2 id="CcInfo">CcInfo</h2>
        <p><pre class="rule-signature"><a class="anchor" href="../providers/CcInfo.html">CcInfo</a> CcInfo(compilation_context=None, linking_context=None, debug_context=None)</pre></p>

    The <code>CcInfo</code> constructor.

          <!-- hide-from-toc is a class used by DevSite for the public Bazel site
      (https://developers.google.com/devsite/reference/styles/headings#hide_headings_from_the_toc) -->
      <h3 class="hide-from-toc">Parameters</h3>
      <table class="table table-bordered table-condensed table-params">
        <colgroup>
          <col class="col-param">
          <col class="param-description">
        </colgroup>
        <thead>
          <tr>
            <th>Parameter</th>
            <th>Description</th>
          </tr>
        </thead>
        <tbody>
                  <tr>
            <td id="CcInfo.compilation_context">
              <code>compilation_context</code>
            </td>
            <td>
                          <a class="anchor" href="../builtins/CompilationContext.html">CompilationContext</a>; or <code>None</code>;
                                     default is <code>None</code><br/>
                          The <code>CompilationContext</code>.
            </td>
          </tr>
                  <tr>
            <td id="CcInfo.linking_context">
              <code>linking_context</code>
            </td>
            <td>
                          <a class="anchor" href="../builtins/LinkingContext.html">LinkingContext</a>; or <code>None</code>;
                                     default is <code>None</code><br/>
                          The <code>LinkingContext</code>.
            </td>
          </tr>
                  <tr>
            <td id="CcInfo.debug_context">
              <code>debug_context</code>
            </td>
            <td>
                          DebugContext; or <code>None</code>;
                                     default is <code>None</code><br/>
                          The <code>DebugContext</code>.
            </td>
          </tr>
                </tbody>
      </table>

        <h2 id="compilation_context">compilation_context</h2>
        <p><pre class="rule-signature"><a class="anchor" href="../builtins/CompilationContext.html">CompilationContext</a> CcInfo.compilation_context</pre></p>

    Returns the <code>CompilationContext</code>


        <h2 id="linking_context">linking_context</h2>
        <p><pre class="rule-signature"><a class="anchor" href="../builtins/LinkingContext.html">LinkingContext</a> CcInfo.linking_context</pre></p>

    Returns the <code>LinkingContext</code>



</body>
</html>

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