1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
\r
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
\r
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
\r
5 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
\r
6 <meta name="generator" content="AsciiDoc 8.6.3" />
\r
7 <title>ccache README</title>
\r
8 <style type="text/css">
\r
9 /* Sans-serif font. */
\r
10 h1, h2, h3, h4, h5, h6,
\r
11 div.title, caption.title,
\r
12 thead, p.table.header,
\r
14 span#author, span#revnumber, span#revdate, span#revremark,
\r
16 font-family: Arial,Helvetica,sans-serif;
\r
21 font-family: Georgia,"Times New Roman",Times,serif;
\r
24 /* Monospace font. */
\r
30 margin: 1em 5% 1em 5%;
\r
35 text-decoration: underline;
\r
56 h1, h2, h3, h4, h5, h6 {
\r
59 margin-bottom: 0.5em;
\r
64 border-bottom: 2px solid silver;
\r
81 border: 1px solid silver;
\r
86 margin-bottom: 0.5em;
\r
92 ul > li { color: #aaa; }
\r
93 ul > li > * { color: black; }
\r
107 span#revnumber, span#revdate, span#revremark {
\r
112 border-top: 2px solid silver;
\r
113 padding-top: 0.5em;
\r
118 padding-bottom: 0.5em;
\r
120 div#footer-badges {
\r
122 padding-bottom: 0.5em;
\r
127 margin-bottom: 1.5em;
\r
129 div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
\r
130 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
\r
131 div.admonitionblock {
\r
133 margin-bottom: 1.5em;
\r
135 div.admonitionblock {
\r
137 margin-bottom: 2.0em;
\r
142 div.content { /* Block element content. */
\r
146 /* Block element titles. */
\r
147 div.title, caption.title {
\r
152 margin-bottom: 0.5em;
\r
158 td div.title:first-child {
\r
161 div.content div.title:first-child {
\r
164 div.content + div.title {
\r
168 div.sidebarblock > div.content {
\r
169 background: #ffffee;
\r
170 border: 1px solid #dddddd;
\r
171 border-left: 4px solid #f0f0f0;
\r
175 div.listingblock > div.content {
\r
176 border: 1px solid #dddddd;
\r
177 border-left: 5px solid #f0f0f0;
\r
178 background: #f8f8f8;
\r
182 div.quoteblock, div.verseblock {
\r
183 padding-left: 1.0em;
\r
184 margin-left: 1.0em;
\r
186 border-left: 5px solid #f0f0f0;
\r
190 div.quoteblock > div.attribution {
\r
191 padding-top: 0.5em;
\r
195 div.verseblock > pre.content {
\r
196 font-family: inherit;
\r
197 font-size: inherit;
\r
199 div.verseblock > div.attribution {
\r
200 padding-top: 0.75em;
\r
203 /* DEPRECATED: Pre version 8.2.7 verse style literal block. */
\r
204 div.verseblock + div.attribution {
\r
208 div.admonitionblock .icon {
\r
209 vertical-align: top;
\r
212 text-decoration: underline;
\r
214 padding-right: 0.5em;
\r
216 div.admonitionblock td.content {
\r
217 padding-left: 0.5em;
\r
218 border-left: 3px solid #dddddd;
\r
221 div.exampleblock > div.content {
\r
222 border-left: 3px solid #dddddd;
\r
223 padding-left: 0.5em;
\r
226 div.imageblock div.content { padding-left: 0; }
\r
227 span.image img { border-style: none; }
\r
228 a.image:visited { color: white; }
\r
232 margin-bottom: 0.8em;
\r
237 font-style: normal;
\r
240 dd > *:first-child {
\r
245 list-style-position: outside;
\r
248 list-style-type: decimal;
\r
251 list-style-type: lower-alpha;
\r
254 list-style-type: upper-alpha;
\r
257 list-style-type: lower-roman;
\r
260 list-style-type: upper-roman;
\r
263 div.compact ul, div.compact ol,
\r
264 div.compact p, div.compact p,
\r
265 div.compact div, div.compact div {
\r
267 margin-bottom: 0.1em;
\r
270 div.tableblock > table {
\r
271 border: 3px solid #527bbd;
\r
273 thead, p.table.header {
\r
286 /* Because the table frame attribute is overriden by CSS in most browsers. */
\r
287 div.tableblock > table[frame="void"] {
\r
288 border-style: none;
\r
290 div.tableblock > table[frame="hsides"] {
\r
291 border-left-style: none;
\r
292 border-right-style: none;
\r
294 div.tableblock > table[frame="vsides"] {
\r
295 border-top-style: none;
\r
296 border-bottom-style: none;
\r
302 margin-bottom: 0.8em;
\r
305 padding-bottom: 15px;
\r
307 dt.hdlist1.strong, td.hdlist1.strong {
\r
311 vertical-align: top;
\r
312 font-style: normal;
\r
313 padding-right: 0.8em;
\r
317 vertical-align: top;
\r
319 div.hdlist.compact tr {
\r
325 background: yellow;
\r
328 .footnote, .footnoteref {
\r
332 span.footnote, span.footnoteref {
\r
333 vertical-align: super;
\r
337 margin: 20px 0 20px 0;
\r
338 padding: 7px 0 0 0;
\r
341 #footnotes div.footnote {
\r
347 border-top: 1px solid silver;
\r
356 padding-right: 0.5em;
\r
357 padding-bottom: 0.3em;
\r
358 vertical-align: top;
\r
360 div.colist td img {
\r
365 div#footer-badges { display: none; }
\r
369 margin-bottom: 2.5em;
\r
377 margin-bottom: 0.1em;
\r
380 div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
\r
398 <script type="text/javascript">
\r
400 window.onload = function(){asciidoc.footnotes(); asciidoc.toc(2);}
\r
401 var asciidoc = { // Namespace.
\r
403 /////////////////////////////////////////////////////////////////////
\r
404 // Table Of Contents generator
\r
405 /////////////////////////////////////////////////////////////////////
\r
407 /* Author: Mihai Bazon, September 2002
\r
408 * http://students.infoiasi.ro/~mishoo
\r
410 * Table Of Content generator
\r
413 * Feel free to use this script under the terms of the GNU General Public
\r
414 * License, as long as you do not remove or alter this notice.
\r
417 /* modified by Troy D. Hanson, September 2006. License: GPL */
\r
418 /* modified by Stuart Rackham, 2006, 2009. License: GPL */
\r
420 // toclevels = 1..4.
\r
421 toc: function (toclevels) {
\r
423 function getText(el) {
\r
425 for (var i = el.firstChild; i != null; i = i.nextSibling) {
\r
426 if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
\r
428 else if (i.firstChild != null)
\r
429 text += getText(i);
\r
434 function TocEntry(el, text, toclevel) {
\r
437 this.toclevel = toclevel;
\r
440 function tocEntries(el, toclevels) {
\r
441 var result = new Array;
\r
442 var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');
\r
443 // Function that scans the DOM tree for header elements (the DOM2
\r
444 // nodeIterator API would be a better technique but not supported by all
\r
446 var iterate = function (el) {
\r
447 for (var i = el.firstChild; i != null; i = i.nextSibling) {
\r
448 if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
\r
449 var mo = re.exec(i.tagName);
\r
450 if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
\r
451 result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
\r
461 var toc = document.getElementById("toc");
\r
462 var entries = tocEntries(document.getElementById("content"), toclevels);
\r
463 for (var i = 0; i < entries.length; ++i) {
\r
464 var entry = entries[i];
\r
465 if (entry.element.id == "")
\r
466 entry.element.id = "_toc_" + i;
\r
467 var a = document.createElement("a");
\r
468 a.href = "#" + entry.element.id;
\r
469 a.appendChild(document.createTextNode(entry.text));
\r
470 var div = document.createElement("div");
\r
471 div.appendChild(a);
\r
472 div.className = "toclevel" + entry.toclevel;
\r
473 toc.appendChild(div);
\r
475 if (entries.length == 0)
\r
476 toc.parentNode.removeChild(toc);
\r
480 /////////////////////////////////////////////////////////////////////
\r
481 // Footnotes generator
\r
482 /////////////////////////////////////////////////////////////////////
\r
484 /* Based on footnote generation code from:
\r
485 * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
\r
488 footnotes: function () {
\r
489 var cont = document.getElementById("content");
\r
490 var noteholder = document.getElementById("footnotes");
\r
491 var spans = cont.getElementsByTagName("span");
\r
494 for (i=0; i<spans.length; i++) {
\r
495 if (spans[i].className == "footnote") {
\r
497 // Use [\s\S] in place of . so multi-line matches work.
\r
498 // Because JavaScript has no s (dotall) regex flag.
\r
499 note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
\r
500 noteholder.innerHTML +=
\r
501 "<div class='footnote' id='_footnote_" + n + "'>" +
\r
502 "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
\r
503 n + "</a>. " + note + "</div>";
\r
504 spans[i].innerHTML =
\r
505 "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
\r
506 "' title='View footnote' class='footnote'>" + n + "</a>]";
\r
507 var id =spans[i].getAttribute("id");
\r
508 if (id != null) refs["#"+id] = n;
\r
512 noteholder.parentNode.removeChild(noteholder);
\r
514 // Process footnoterefs.
\r
515 for (i=0; i<spans.length; i++) {
\r
516 if (spans[i].className == "footnoteref") {
\r
517 var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
\r
518 href = href.match(/#.*/)[0]; // Because IE return full URL.
\r
520 spans[i].innerHTML =
\r
521 "[<a href='#_footnote_" + n +
\r
522 "' title='View footnote' class='footnote'>" + n + "</a>]";
\r
532 <body class="article">
\r
534 <h1>ccache README</h1>
\r
535 <span id="revnumber">version 3.1.6</span>
\r
537 <div id="toctitle">Table of Contents</div>
538 <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
542 <div class="sect1">
\r
543 <h2 id="_about">About</h2>
\r
544 <div class="sectionbody">
\r
545 <div class="paragraph"><p>ccache is a compiler cache. It speeds up recompilation by caching the result of
\r
546 previous compilations and detecting when the same compilation is being done
\r
547 again. Supported languages are C, C<tt>, Objective-C and Objective-C</tt>.</p></div>
\r
548 <div class="paragraph"><p>Please see the manual page and documentation at <a href="http://ccache.samba.org">http://ccache.samba.org</a> for
\r
549 more information.</p></div>
\r
552 <div class="sect1">
\r
553 <h2 id="_documentation">Documentation</h2>
\r
554 <div class="sectionbody">
\r
555 <div class="paragraph"><p>See the ccache(1) man page. It’s also available as MANUAL.{txt,html}.</p></div>
\r
558 <div class="sect1">
\r
559 <h2 id="_installation">Installation</h2>
\r
560 <div class="sectionbody">
\r
561 <div class="paragraph"><p>See INSTALL.{txt.html}.</p></div>
\r
564 <div class="sect1">
\r
565 <h2 id="_web_site">Web site</h2>
\r
566 <div class="sectionbody">
\r
567 <div class="paragraph"><p>The main ccache web site is here:</p></div>
\r
568 <div class="literalblock">
\r
569 <div class="content">
\r
570 <pre><tt>http://ccache.samba.org</tt></pre>
\r
574 <div class="sect1">
\r
575 <h2 id="_mailing_list">Mailing list</h2>
\r
576 <div class="sectionbody">
\r
577 <div class="paragraph"><p>There is a mailing list for discussing usage and development of ccache:</p></div>
\r
578 <div class="literalblock">
\r
579 <div class="content">
\r
580 <pre><tt>http://lists.samba.org/mailman/listinfo/ccache/</tt></pre>
\r
582 <div class="paragraph"><p>Anyone is welcome to join.</p></div>
\r
585 <div class="sect1">
\r
586 <h2 id="_bug_reports">Bug reports</h2>
\r
587 <div class="sectionbody">
\r
588 <div class="paragraph"><p>To submit a bug report or to search for existing reports, please visit this web
\r
590 <div class="literalblock">
\r
591 <div class="content">
\r
592 <pre><tt>http://ccache.samba.org/bugs.html</tt></pre>
\r
596 <div class="sect1">
\r
597 <h2 id="_source_code_repository">Source code repository</h2>
\r
598 <div class="sectionbody">
\r
599 <div class="paragraph"><p>To get the very latest version of ccache directly from the source code
\r
600 repository, use git:</p></div>
\r
601 <div class="literalblock">
\r
602 <div class="content">
\r
603 <pre><tt>git clone git://git.samba.org/ccache.git</tt></pre>
\r
605 <div class="paragraph"><p>You can also browse the repository:</p></div>
\r
606 <div class="literalblock">
\r
607 <div class="content">
\r
608 <pre><tt>http://gitweb.samba.org/?p=ccache.git</tt></pre>
\r
612 <div class="sect1">
\r
613 <h2 id="_history">History</h2>
\r
614 <div class="sectionbody">
\r
615 <div class="paragraph"><p>ccache was originally written by Andrew Tridgell and is currently developed and
\r
616 maintained by Joel Rosdahl. ccache started out as a reimplementation of Erik
\r
617 Thiele’s “compilercache” (see <a href="http://www.erikyyy.de/compilercache/">http://www.erikyyy.de/compilercache/</a>) in C.</p></div>
\r
618 <div class="paragraph"><p>See also NEWS.{txt,html}.</p></div>
\r
621 <div class="sect1">
\r
622 <h2 id="_license_and_copyright">License and copyright</h2>
\r
623 <div class="sectionbody">
\r
624 <div class="paragraph"><p>See LICENSE.{txt,html} and AUTHORS.{txt,html}.</p></div>
\r
628 <div id="footnotes"><hr /></div>
\r
630 <div id="footer-text">
\r
631 Version 3.1.6<br />
\r
632 Last updated 2010-09-16 19:02:32 CEST
\r