<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>c — Waf 1.7.11 documentation</title> <link rel="stylesheet" href="../_static/default.css" type="text/css" /> <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT: '../', VERSION: '1.7.11', COLLAPSE_INDEX: false, FILE_SUFFIX: '.html', HAS_SOURCE: true }; </script> <script type="text/javascript" src="../_static/jquery.js"></script> <script type="text/javascript" src="../_static/underscore.js"></script> <script type="text/javascript" src="../_static/doctools.js"></script> <link rel="author" title="About these documents" href="../about.html" /> <link rel="copyright" title="Copyright" href="../copyright.html" /> <link rel="top" title="Waf 1.7.11 documentation" href="../index.html" /> <link rel="up" title="Waf Tools" href="../tools.html" /> <link rel="next" title="cxx" href="cxx.html" /> <link rel="prev" title="ccroot" href="ccroot.html" /> </head> <body> <div class="related"> <h3>Navigation</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="../genindex.html" title="General Index" accesskey="I">index</a></li> <li class="right" > <a href="../py-modindex.html" title="Python Module Index" >modules</a> |</li> <li class="right" > <a href="cxx.html" title="cxx" accesskey="N">next</a> |</li> <li class="right" > <a href="ccroot.html" title="ccroot" accesskey="P">previous</a> |</li> <li><a href="../index.html">Waf 1.7.11 documentation</a> »</li> <li><a href="../tools.html" accesskey="U">Waf Tools</a> »</li> </ul> </div> <div class="document"> <div class="documentwrapper"> <div class="bodywrapper"> <div class="body"> <div class="section" id="module-waflib.Tools.c"> <span id="c"></span><h1>c<a class="headerlink" href="#module-waflib.Tools.c" title="Permalink to this headline">¶</a></h1> <p>Base for c programs/libraries</p> <dl class="function"> <dt id="waflib.Tools.c.c_hook"> <tt class="descclassname">waflib.Tools.c.</tt><tt class="descname">c_hook</tt><big>(</big><em>self</em>, <em>node</em><big>)</big><a class="reference internal" href="../_modules/waflib/Tools/c.html#c_hook"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#waflib.Tools.c.c_hook" title="Permalink to this definition">¶</a></dt> <dd><p>Bind the c file extension to the creation of a <a class="reference internal" href="#waflib.Tools.c.c" title="waflib.Tools.c.c"><tt class="xref py py-class docutils literal"><span class="pre">waflib.Tools.c.c</span></tt></a> instance</p> </dd></dl> <dl class="class"> <dt id="waflib.Tools.c.c"> <em class="property">class </em><tt class="descclassname">waflib.Tools.c.</tt><tt class="descname">c</tt><big>(</big><em>*k</em>, <em>**kw</em><big>)</big><a class="reference internal" href="../_modules/waflib/Tools/c.html#c"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#waflib.Tools.c.c" title="Permalink to this definition">¶</a></dt> <dd><p>Bases: <a class="reference internal" href="../Task.html#waflib.Task.Task" title="waflib.Task.Task"><tt class="xref py py-class docutils literal"><span class="pre">waflib.Task.Task</span></tt></a></p> <p>Compile C files into object files</p> <dl class="attribute"> <dt id="waflib.Tools.c.c.vars"> <tt class="descname">vars</tt><em class="property"> = ['ARCH', 'ARCH_ST', 'CC', 'CCDEPS', 'CC_SRC_F', 'CC_TGT_F', 'CFLAGS', 'CPPFLAGS', 'CPPPATH_ST', 'DEFINES', 'DEFINES_ST', 'FRAMEWORKPATH', 'FRAMEWORKPATH_ST', 'INCPATHS']</em><a class="headerlink" href="#waflib.Tools.c.c.vars" title="Permalink to this definition">¶</a></dt> <dd></dd></dl> <dl class="attribute"> <dt id="waflib.Tools.c.c.ext_in"> <tt class="descname">ext_in</tt><em class="property"> = ['.h']</em><a class="headerlink" href="#waflib.Tools.c.c.ext_in" title="Permalink to this definition">¶</a></dt> <dd></dd></dl> <dl class="method"> <dt id="waflib.Tools.c.c.scan"> <tt class="descname">scan</tt><big>(</big><em>task</em><big>)</big><a class="headerlink" href="#waflib.Tools.c.c.scan" title="Permalink to this definition">¶</a></dt> <dd><p>Get the dependencies using a c/c++ preprocessor, this is required for finding dependencies of the kind:</p> <div class="highlight-python"><div class="highlight"><pre><span class="c">#include some_macro()</span> </pre></div> </div> <p>This function is bound as a task method on <a class="reference internal" href="#waflib.Tools.c.c" title="waflib.Tools.c.c"><tt class="xref py py-class docutils literal"><span class="pre">waflib.Tools.c.c</span></tt></a> and <a class="reference internal" href="cxx.html#waflib.Tools.cxx.cxx" title="waflib.Tools.cxx.cxx"><tt class="xref py py-class docutils literal"><span class="pre">waflib.Tools.cxx.cxx</span></tt></a> for example</p> </dd></dl> <dl class="attribute"> <dt id="waflib.Tools.c.c.__doc__"> <tt class="descname">__doc__</tt><em class="property"> = 'Compile C files into object files'</em><a class="headerlink" href="#waflib.Tools.c.c.__doc__" title="Permalink to this definition">¶</a></dt> <dd></dd></dl> <dl class="attribute"> <dt id="waflib.Tools.c.c.__module__"> <tt class="descname">__module__</tt><em class="property"> = 'waflib.Tools.c'</em><a class="headerlink" href="#waflib.Tools.c.c.__module__" title="Permalink to this definition">¶</a></dt> <dd></dd></dl> <dl class="attribute"> <dt id="waflib.Tools.c.c.hcode"> <tt class="descname">hcode</tt><em class="property"> = '${CC} ${ARCH_ST:ARCH} ${CFLAGS} ${CPPFLAGS} ${FRAMEWORKPATH_ST:FRAMEWORKPATH} ${CPPPATH_ST:INCPATHS} ${DEFINES_ST:DEFINES} ${CC_SRC_F}${SRC} ${CC_TGT_F}${TGT}'</em><a class="headerlink" href="#waflib.Tools.c.c.hcode" title="Permalink to this definition">¶</a></dt> <dd></dd></dl> </dd></dl> <dl class="class"> <dt id="waflib.Tools.c.cprogram"> <em class="property">class </em><tt class="descclassname">waflib.Tools.c.</tt><tt class="descname">cprogram</tt><big>(</big><em>*k</em>, <em>**kw</em><big>)</big><a class="reference internal" href="../_modules/waflib/Tools/c.html#cprogram"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#waflib.Tools.c.cprogram" title="Permalink to this definition">¶</a></dt> <dd><p>Bases: <a class="reference internal" href="ccroot.html#waflib.Tools.ccroot.link_task" title="waflib.Tools.ccroot.link_task"><tt class="xref py py-class docutils literal"><span class="pre">waflib.Tools.ccroot.link_task</span></tt></a></p> <p>Link object files into a c program</p> <dl class="attribute"> <dt id="waflib.Tools.c.cprogram.ext_out"> <tt class="descname">ext_out</tt><em class="property"> = ['.bin']</em><a class="headerlink" href="#waflib.Tools.c.cprogram.ext_out" title="Permalink to this definition">¶</a></dt> <dd></dd></dl> <dl class="attribute"> <dt id="waflib.Tools.c.cprogram.vars"> <tt class="descname">vars</tt><em class="property"> = ['ARCH', 'ARCH_ST', 'CCLNK_SRC_F', 'CCLNK_TGT_F', 'FRAMEWORK', 'FRAMEWORKPATH', 'FRAMEWORKPATH_ST', 'FRAMEWORK_ST', 'LIB', 'LIBPATH', 'LIBPATH_ST', 'LIB_ST', 'LINKDEPS', 'LINKFLAGS', 'LINK_CC', 'RPATH', 'RPATH_ST', 'SHLIB_MARKER', 'STLIB', 'STLIBPATH', 'STLIBPATH_ST', 'STLIB_MARKER', 'STLIB_ST']</em><a class="headerlink" href="#waflib.Tools.c.cprogram.vars" title="Permalink to this definition">¶</a></dt> <dd></dd></dl> <dl class="attribute"> <dt id="waflib.Tools.c.cprogram.inst_to"> <tt class="descname">inst_to</tt><em class="property"> = '${BINDIR}'</em><a class="headerlink" href="#waflib.Tools.c.cprogram.inst_to" title="Permalink to this definition">¶</a></dt> <dd></dd></dl> <dl class="attribute"> <dt id="waflib.Tools.c.cprogram.__doc__"> <tt class="descname">__doc__</tt><em class="property"> = 'Link object files into a c program'</em><a class="headerlink" href="#waflib.Tools.c.cprogram.__doc__" title="Permalink to this definition">¶</a></dt> <dd></dd></dl> <dl class="attribute"> <dt id="waflib.Tools.c.cprogram.__module__"> <tt class="descname">__module__</tt><em class="property"> = 'waflib.Tools.c'</em><a class="headerlink" href="#waflib.Tools.c.cprogram.__module__" title="Permalink to this definition">¶</a></dt> <dd></dd></dl> <dl class="attribute"> <dt id="waflib.Tools.c.cprogram.hcode"> <tt class="descname">hcode</tt><em class="property"> = '${LINK_CC} ${LINKFLAGS} ${CCLNK_SRC_F}${SRC} ${CCLNK_TGT_F}${TGT[0].abspath()} ${RPATH_ST:RPATH} ${FRAMEWORKPATH_ST:FRAMEWORKPATH} ${FRAMEWORK_ST:FRAMEWORK} ${ARCH_ST:ARCH} ${STLIB_MARKER} ${STLIBPATH_ST:STLIBPATH} ${STLIB_ST:STLIB} ${SHLIB_MARKER} ${LIBPATH_ST:LIBPATH} ${LIB_ST:LIB}'</em><a class="headerlink" href="#waflib.Tools.c.cprogram.hcode" title="Permalink to this definition">¶</a></dt> <dd></dd></dl> </dd></dl> <dl class="class"> <dt id="waflib.Tools.c.cshlib"> <em class="property">class </em><tt class="descclassname">waflib.Tools.c.</tt><tt class="descname">cshlib</tt><big>(</big><em>*k</em>, <em>**kw</em><big>)</big><a class="reference internal" href="../_modules/waflib/Tools/c.html#cshlib"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#waflib.Tools.c.cshlib" title="Permalink to this definition">¶</a></dt> <dd><p>Bases: <a class="reference internal" href="#waflib.Tools.c.cprogram" title="waflib.Tools.c.cprogram"><tt class="xref py py-class docutils literal"><span class="pre">waflib.Tools.c.cprogram</span></tt></a></p> <p>Link object files into a c shared library</p> <dl class="attribute"> <dt id="waflib.Tools.c.cshlib.inst_to"> <tt class="descname">inst_to</tt><em class="property"> = '${LIBDIR}'</em><a class="headerlink" href="#waflib.Tools.c.cshlib.inst_to" title="Permalink to this definition">¶</a></dt> <dd></dd></dl> <dl class="attribute"> <dt id="waflib.Tools.c.cshlib.__doc__"> <tt class="descname">__doc__</tt><em class="property"> = 'Link object files into a c shared library'</em><a class="headerlink" href="#waflib.Tools.c.cshlib.__doc__" title="Permalink to this definition">¶</a></dt> <dd></dd></dl> <dl class="attribute"> <dt id="waflib.Tools.c.cshlib.__module__"> <tt class="descname">__module__</tt><em class="property"> = 'waflib.Tools.c'</em><a class="headerlink" href="#waflib.Tools.c.cshlib.__module__" title="Permalink to this definition">¶</a></dt> <dd></dd></dl> <dl class="attribute"> <dt id="waflib.Tools.c.cshlib.hcode"> <tt class="descname">hcode</tt><em class="property"> = '\tdef run(self):\n\t\tbld = self.generator.bld\n\t\tif bld.cache_global and not bld.nocache:\n\t\t\tif self.can_retrieve_cache():\n\t\t\t\treturn 0\n\t\treturn m1(self)\n'</em><a class="headerlink" href="#waflib.Tools.c.cshlib.hcode" title="Permalink to this definition">¶</a></dt> <dd></dd></dl> </dd></dl> <dl class="class"> <dt id="waflib.Tools.c.cstlib"> <em class="property">class </em><tt class="descclassname">waflib.Tools.c.</tt><tt class="descname">cstlib</tt><big>(</big><em>*k</em>, <em>**kw</em><big>)</big><a class="reference internal" href="../_modules/waflib/Tools/c.html#cstlib"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#waflib.Tools.c.cstlib" title="Permalink to this definition">¶</a></dt> <dd><p>Bases: <a class="reference internal" href="ccroot.html#waflib.Tools.ccroot.stlink_task" title="waflib.Tools.ccroot.stlink_task"><tt class="xref py py-class docutils literal"><span class="pre">waflib.Tools.ccroot.stlink_task</span></tt></a></p> <p>Link object files into a c static library</p> <dl class="attribute"> <dt id="waflib.Tools.c.cstlib.__doc__"> <tt class="descname">__doc__</tt><em class="property"> = 'Link object files into a c static library'</em><a class="headerlink" href="#waflib.Tools.c.cstlib.__doc__" title="Permalink to this definition">¶</a></dt> <dd></dd></dl> <dl class="attribute"> <dt id="waflib.Tools.c.cstlib.__module__"> <tt class="descname">__module__</tt><em class="property"> = 'waflib.Tools.c'</em><a class="headerlink" href="#waflib.Tools.c.cstlib.__module__" title="Permalink to this definition">¶</a></dt> <dd></dd></dl> <dl class="attribute"> <dt id="waflib.Tools.c.cstlib.hcode"> <tt class="descname">hcode</tt><em class="property"> = '\tdef wrap(self):\n\t\ttry: os.remove(self.outputs[0].abspath())\n\t\texcept OSError: pass\n\t\treturn old(self)\n'</em><a class="headerlink" href="#waflib.Tools.c.cstlib.hcode" title="Permalink to this definition">¶</a></dt> <dd></dd></dl> </dd></dl> <dl class="class"> <dt id="waflib.Tools.c.stlink_task"> <em class="property">class </em><tt class="descclassname">waflib.Tools.c.</tt><tt class="descname">stlink_task</tt><big>(</big><em>*k</em>, <em>**kw</em><big>)</big><a class="headerlink" href="#waflib.Tools.c.stlink_task" title="Permalink to this definition">¶</a></dt> <dd><p>Bases: <a class="reference internal" href="ccroot.html#waflib.Tools.ccroot.link_task" title="waflib.Tools.ccroot.link_task"><tt class="xref py py-class docutils literal"><span class="pre">waflib.Tools.ccroot.link_task</span></tt></a></p> <p>Base for static link tasks, which use <em>ar</em> most of the time. The target is always removed before being written.</p> <dl class="attribute"> <dt id="waflib.Tools.c.stlink_task.__doc__"> <tt class="descname">__doc__</tt><em class="property"> = '\n\tBase for static link tasks, which use *ar* most of the time.\n\tThe target is always removed before being written.\n\t'</em><a class="headerlink" href="#waflib.Tools.c.stlink_task.__doc__" title="Permalink to this definition">¶</a></dt> <dd></dd></dl> <dl class="attribute"> <dt id="waflib.Tools.c.stlink_task.__module__"> <tt class="descname">__module__</tt><em class="property"> = 'waflib.Tools.ccroot'</em><a class="headerlink" href="#waflib.Tools.c.stlink_task.__module__" title="Permalink to this definition">¶</a></dt> <dd></dd></dl> <dl class="attribute"> <dt id="waflib.Tools.c.stlink_task.hcode"> <tt class="descname">hcode</tt><em class="property"> = '${AR} ${ARFLAGS} ${AR_TGT_F}${TGT} ${AR_SRC_F}${SRC}'</em><a class="headerlink" href="#waflib.Tools.c.stlink_task.hcode" title="Permalink to this definition">¶</a></dt> <dd></dd></dl> <dl class="attribute"> <dt id="waflib.Tools.c.stlink_task.vars"> <tt class="descname">vars</tt><em class="property"> = ['AR', 'ARFLAGS', 'AR_SRC_F', 'AR_TGT_F']</em><a class="headerlink" href="#waflib.Tools.c.stlink_task.vars" title="Permalink to this definition">¶</a></dt> <dd></dd></dl> </dd></dl> <dl class="class"> <dt id="waflib.Tools.c.link_task"> <em class="property">class </em><tt class="descclassname">waflib.Tools.c.</tt><tt class="descname">link_task</tt><big>(</big><em>*k</em>, <em>**kw</em><big>)</big><a class="headerlink" href="#waflib.Tools.c.link_task" title="Permalink to this definition">¶</a></dt> <dd><p>Bases: <a class="reference internal" href="../Task.html#waflib.Task.Task" title="waflib.Task.Task"><tt class="xref py py-class docutils literal"><span class="pre">waflib.Task.Task</span></tt></a></p> <p>Base class for all link tasks. A task generator is supposed to have at most one link task bound in the attribute <em>link_task</em>. See <a class="reference internal" href="ccroot.html#waflib.Tools.ccroot.apply_link" title="waflib.Tools.ccroot.apply_link"><tt class="xref py py-func docutils literal"><span class="pre">waflib.Tools.ccroot.apply_link()</span></tt></a>.</p> <p class="graphviz"> <img src="../_images/inheritance-59df098ef7c36ccc50366f2f2826d86c00b68a17.png" alt="Inheritance diagram of waflib.Tools.ccroot.stlink_task, waflib.Tools.c.cprogram, waflib.Tools.c.cshlib, waflib.Tools.cxx.cxxstlib, waflib.Tools.cxx.cxxprogram, waflib.Tools.cxx.cxxshlib, waflib.Tools.d.dprogram, waflib.Tools.d.dshlib, waflib.Tools.d.dstlib, waflib.Tools.ccroot.fake_shlib, waflib.Tools.ccroot.fake_stlib, waflib.Tools.asm.asmprogram, waflib.Tools.asm.asmshlib, waflib.Tools.asm.asmstlib" usemap="#inheritance733d6de23e" class="inheritance"/> <map id="inheritance733d6de23e" name="inheritance733d6de23e"> <area shape="rect" id="node1" href="#waflib.Tools.c.cshlib" title="waflib.Tools.c.cshlib" alt="" coords="660,3,749,19"/> <area shape="rect" id="node2" href="#waflib.Tools.c.cprogram" title="waflib.Tools.c.cprogram" alt="" coords="500,3,602,19"/> <area shape="rect" id="node4" href="d.html#waflib.Tools.d.dprogram" title="waflib.Tools.d.dprogram" alt="" coords="500,34,602,50"/> <area shape="rect" id="node15" href="d.html#waflib.Tools.d.dshlib" title="waflib.Tools.d.dshlib" alt="" coords="660,34,749,50"/> <area shape="rect" id="node5" href="ccroot.html#waflib.Tools.ccroot.link_task" title="waflib.Tools.ccroot.link_task" alt="" coords="339,81,457,97"/> <area shape="rect" id="node10" href="asm.html#waflib.Tools.asm.asmprogram" title="waflib.Tools.asm.asmprogram" alt="" coords="489,65,613,81"/> <area shape="rect" id="node13" href="cxx.html#waflib.Tools.cxx.cxxprogram" title="waflib.Tools.cxx.cxxprogram" alt="" coords="491,96,610,112"/> <area shape="rect" id="node18" href="ccroot.html#waflib.Tools.ccroot.stlink_task" title="waflib.Tools.ccroot.stlink_task" alt="" coords="488,143,613,159"/> <area shape="rect" id="node24" href="ccroot.html#waflib.Tools.ccroot.fake_shlib" title="waflib.Tools.ccroot.fake_shlib" alt="" coords="490,174,612,190"/> <area shape="rect" id="node7" href="../Task.html#waflib.Task.Task" title="waflib.Task.Task" alt="" coords="231,81,309,97"/> <area shape="rect" id="node9" href="asm.html#waflib.Tools.asm.asmshlib" title="waflib.Tools.asm.asmshlib" alt="" coords="649,65,760,81"/> <area shape="rect" id="node12" href="cxx.html#waflib.Tools.cxx.cxxshlib" title="waflib.Tools.cxx.cxxshlib" alt="" coords="651,96,758,112"/> <area shape="rect" id="node17" href="asm.html#waflib.Tools.asm.asmstlib" title="waflib.Tools.asm.asmstlib" alt="" coords="649,127,759,143"/> <area shape="rect" id="node29" href="cxx.html#waflib.Tools.cxx.cxxstlib" title="waflib.Tools.cxx.cxxstlib" alt="" coords="652,158,757,174"/> <area shape="rect" id="node31" href="ccroot.html#waflib.Tools.ccroot.fake_stlib" title="waflib.Tools.ccroot.fake_stlib" alt="" coords="644,189,765,205"/> <area shape="rect" id="node33" href="d.html#waflib.Tools.d.dstlib" title="waflib.Tools.d.dstlib" alt="" coords="661,220,748,236"/> <area shape="rect" id="node20" href="../Task.html#waflib.Task.TaskBase" title="waflib.Task.TaskBase" alt="" coords="106,81,201,97"/> <area shape="rect" id="node26" href="../Task.html#waflib.Task.evil" title="waflib.Task.evil" alt="" coords="4,81,75,97"/> </map> </p> <dl class="attribute"> <dt id="waflib.Tools.c.link_task.__doc__"> <tt class="descname">__doc__</tt><em class="property"> = '\n\tBase class for all link tasks. A task generator is supposed to have at most one link task bound in the attribute *link_task*. See :py:func:`waflib.Tools.ccroot.apply_link`.\n\n\t.. inheritance-diagram:: waflib.Tools.ccroot.stlink_task waflib.Tools.c.cprogram waflib.Tools.c.cshlib waflib.Tools.cxx.cxxstlib waflib.Tools.cxx.cxxprogram waflib.Tools.cxx.cxxshlib waflib.Tools.d.dprogram waflib.Tools.d.dshlib waflib.Tools.d.dstlib waflib.Tools.ccroot.fake_shlib waflib.Tools.ccroot.fake_stlib waflib.Tools.asm.asmprogram waflib.Tools.asm.asmshlib waflib.Tools.asm.asmstlib\n\t'</em><a class="headerlink" href="#waflib.Tools.c.link_task.__doc__" title="Permalink to this definition">¶</a></dt> <dd></dd></dl> <dl class="attribute"> <dt id="waflib.Tools.c.link_task.__module__"> <tt class="descname">__module__</tt><em class="property"> = 'waflib.Tools.ccroot'</em><a class="headerlink" href="#waflib.Tools.c.link_task.__module__" title="Permalink to this definition">¶</a></dt> <dd></dd></dl> <dl class="method"> <dt id="waflib.Tools.c.link_task.add_target"> <tt class="descname">add_target</tt><big>(</big><em>target</em><big>)</big><a class="headerlink" href="#waflib.Tools.c.link_task.add_target" title="Permalink to this definition">¶</a></dt> <dd><p>Process the <em>target</em> attribute to add the platform-specific prefix/suffix such as <em>.so</em> or <em>.exe</em>. The settings are retrieved from <tt class="docutils literal"><span class="pre">env.clsname_PATTERN</span></tt></p> </dd></dl> <dl class="attribute"> <dt id="waflib.Tools.c.link_task.chmod"> <tt class="descname">chmod</tt><em class="property"> = 493</em><a class="headerlink" href="#waflib.Tools.c.link_task.chmod" title="Permalink to this definition">¶</a></dt> <dd></dd></dl> <dl class="attribute"> <dt id="waflib.Tools.c.link_task.color"> <tt class="descname">color</tt><em class="property"> = 'YELLOW'</em><a class="headerlink" href="#waflib.Tools.c.link_task.color" title="Permalink to this definition">¶</a></dt> <dd></dd></dl> <dl class="attribute"> <dt id="waflib.Tools.c.link_task.hcode"> <tt class="descname">hcode</tt><em class="property"> = '\tdef run(self):\n\t\tbld = self.generator.bld\n\t\tif bld.cache_global and not bld.nocache:\n\t\t\tif self.can_retrieve_cache():\n\t\t\t\treturn 0\n\t\treturn m1(self)\n'</em><a class="headerlink" href="#waflib.Tools.c.link_task.hcode" title="Permalink to this definition">¶</a></dt> <dd></dd></dl> </dd></dl> </div> </div> </div> </div> <div class="sphinxsidebar"> <div class="sphinxsidebarwrapper"> <h4>Previous topic</h4> <p class="topless"><a href="ccroot.html" title="previous chapter">ccroot</a></p> <h4>Next topic</h4> <p class="topless"><a href="cxx.html" title="next chapter">cxx</a></p> <h3>This Page</h3> <ul class="this-page-menu"> <li><a href="../_sources/tools/c.txt" rel="nofollow">Show Source</a></li> </ul> <div id="searchbox" style="display: none"> <h3>Quick search</h3> <form class="search" action="../search.html" method="get"> <input type="text" name="q" /> <input type="submit" value="Go" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> <p class="searchtip" style="font-size: 90%"> Enter search terms or a module, class or function name. </p> </div> <script type="text/javascript">$('#searchbox').show(0);</script> </div> </div> <div class="clearer"></div> </div> <div class="related"> <h3>Navigation</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="../genindex.html" title="General Index" >index</a></li> <li class="right" > <a href="../py-modindex.html" title="Python Module Index" >modules</a> |</li> <li class="right" > <a href="cxx.html" title="cxx" >next</a> |</li> <li class="right" > <a href="ccroot.html" title="ccroot" >previous</a> |</li> <li><a href="../index.html">Waf 1.7.11 documentation</a> »</li> <li><a href="../tools.html" >Waf Tools</a> »</li> </ul> </div> <div class="footer"> © <a href="../copyright.html">Copyright</a> 2010, Thomas Nagy. </div> </body> </html>