summaryrefslogtreecommitdiff
path: root/ccache
diff options
context:
space:
mode:
authorTim Biermann <tbier@posteo.de>2022-09-03 11:46:07 +0200
committerTim Biermann <tbier@posteo.de>2022-09-03 11:46:07 +0200
commit289c96c36dc71bf01883ae8ea3fe6da50f9edb12 (patch)
tree6a67733e26e721575e5355ecf369b570b67b7255 /ccache
parent332be92f44c6707c96b65b16fcb2c5f2757a8bd9 (diff)
parentba94e9098df56e65d311bd2ff6247359bb923bf5 (diff)
downloadopt-289c96c36dc71bf01883ae8ea3fe6da50f9edb12.tar.gz
opt-289c96c36dc71bf01883ae8ea3fe6da50f9edb12.tar.xz
Merge remote-tracking branch 'origin/3.6' into 3.7
Diffstat (limited to 'ccache')
-rw-r--r--ccache/.signature8
-rw-r--r--ccache/Pkgfile2
-rw-r--r--ccache/ccache.1170
3 files changed, 134 insertions, 46 deletions
diff --git a/ccache/.signature b/ccache/.signature
index 411d0c801..0465ac2e1 100644
--- a/ccache/.signature
+++ b/ccache/.signature
@@ -1,6 +1,6 @@
untrusted comment: verify with /etc/ports/opt.pub
-RWSE3ohX2g5d/VBkpiuw6rrOU6oGUwQSJtLoxrtswPFE3bHZckUilPVB+LERavWyNdmhfwGZ+mfnG1hDuYzHNR7iOV9YuTls3wU=
-SHA256 (Pkgfile) = d25745241bfd8797245c15ce3b5897600de9cd8f15f0aa9b616b4b93bd1f5a21
+RWSE3ohX2g5d/dKkmeHf7kJ97tqIdB86dP9xG3FKBPc1wXBe/F+Ymqko8CMsBbIDcl4575Jt21wuHHrlfXdoF8Tb9Ba3mIxePAE=
+SHA256 (Pkgfile) = e96b4fa359a9d56b34bb2e20193a1ab640d4b08ecb585e0a9a5f68dabf783726
SHA256 (.footprint) = aa85bfc686cf873efffd292c55eae8016e161bd8074d4f3490539f6089eead23
-SHA256 (ccache-4.6.2.tar.xz) = 789a2435d7fde2eaef5ec7b3ecf2366e546f764253e9999fdf008d2dd7f3b10c
-SHA256 (ccache.1) = 28c9779ef67b746ba3db355fa01f086470f3478248d17bfef453a7ce72e97207
+SHA256 (ccache-4.6.3.tar.xz) = 1e3a251bb112632553b8255a78661fe526c3a16598496d51128c32b218fd8b22
+SHA256 (ccache.1) = 1e66a00419827c387f69e0138375d2d64d3510d1b1b37365fa62da39d92cb3b2
diff --git a/ccache/Pkgfile b/ccache/Pkgfile
index 01ddafa33..99e542d11 100644
--- a/ccache/Pkgfile
+++ b/ccache/Pkgfile
@@ -4,7 +4,7 @@
# Optional: asciidoctor clang-ccache-bindings
name=ccache
-version=4.6.2
+version=4.6.3
release=1
source=(https://github.com/$name/$name/releases/download/v$version/$name-$version.tar.xz
ccache.1)
diff --git a/ccache/ccache.1 b/ccache/ccache.1
index a51e57030..f30cc6fda 100644
--- a/ccache/ccache.1
+++ b/ccache/ccache.1
@@ -1,13 +1,13 @@
'\" t
.\" Title: ccache
.\" Author: [see the "AUTHOR(S)" section]
-.\" Generator: Asciidoctor 2.0.16
-.\" Date: 2021-09-11
+.\" Generator: Asciidoctor 2.0.17
+.\" Date: 2022-08-27
.\" Manual: \ \&
-.\" Source: Ccache 4.4.1
+.\" Source: Ccache 4.6.3
.\" Language: English
.\"
-.TH "CCACHE" "1" "2021-09-11" "Ccache 4.4.1" "\ \&"
+.TH "CCACHE" "1" "2022-08-27" "Ccache 4.6.3" "\ \&"
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.ss \n[.ss] 0
@@ -135,8 +135,8 @@ configuration file.
\fB\-\-config\-path\fP \fIPATH\fP
.RS 4
Let the command line options operate on configuration file \fIPATH\fP instead of
-the default. Using this option has the same effect as setting the
-environment variable \fBCCACHE_CONFIGPATH\fP temporarily.
+the default. Using this option has the same effect as setting (overriding)
+the environment variable \fBCCACHE_CONFIGPATH\fP temporarily.
.RE
.sp
\fB\-d\fP, \fB\-\-dir\fP \fIPATH\fP
@@ -148,10 +148,17 @@ has the same effect as setting the environment variable \fBCCACHE_DIR\fP
temporarily.
.RE
.sp
+\fB\-\-evict\-namespace\fP \fINAMESPACE\fP
+.RS 4
+Remove files created in the given \fBnamespace\fP from the
+cache.
+.RE
+.sp
\fB\-\-evict\-older\-than\fP \fIAGE\fP
.RS 4
Remove files older than \fIAGE\fP from the cache. \fIAGE\fP should be an unsigned
-integer with a \fBd\fP (days) or \fBs\fP (seconds) suffix.
+integer with a \fBd\fP (days) or \fBs\fP (seconds) suffix. If combined with
+\fB\-\-evict\-namespace\fP, only remove old files within that namespace.
.RE
.sp
\fB\-h\fP, \fB\-\-help\fP
@@ -284,27 +291,15 @@ LRU (least recently used) using the file modification timestamp.
.sp
\fB\-\-checksum\-file\fP \fIPATH\fP
.RS 4
-Print the checksum (64 bit XXH3) of the file at \fIPATH\fP (\fB\-\fP for standard
+Print the checksum (128 bit XXH3) of the file at \fIPATH\fP (\fB\-\fP for standard
input).
.RE
.sp
-\fB\-\-dump\-manifest\fP \fIPATH\fP
-.RS 4
-Dump manifest file at \fIPATH\fP (\fB\-\fP for standard input) in text format to
-standard output. This is only useful when debugging ccache and its behavior.
-.RE
-.sp
-\fB\-\-dump\-result\fP \fIPATH\fP
-.RS 4
-Dump result file at \fIPATH\fP (\fB\-\fP for standard input) in text format to
-standard output. This is only useful when debugging ccache and its behavior.
-.RE
-.sp
\fB\-\-extract\-result\fP \fIPATH\fP
.RS 4
Extract data stored in the result file at \fIPATH\fP (\fB\-\fP for standard input).
The data will be written to \fBccache\-result.*\fP files in to the current
-working directory. This is only useful when debugging ccache and its
+working directory. This option is only useful when debugging ccache and its
behavior.
.RE
.sp
@@ -320,6 +315,15 @@ Print the hash (160 bit BLAKE3) of the file at \fIPATH\fP (\fB\-\fP for standard
input). This is only useful when debugging ccache and its behavior.
.RE
.sp
+\fB\-\-inspect\fP \fIPATH\fP
+.RS 4
+Print the content of a result or manifest file at \fIPATH\fP (\fB\-\fP for standard
+input) to standard output in human\-readable format. File content embedded in
+a result file will however not be printed; use \fB\-\-extract\-result\fP to extract
+the file content. This option is only useful when debugging ccache and its
+behavior.
+.RE
+.sp
\fB\-\-print\-stats\fP
.RS 4
Print statistics counter IDs and corresponding values in machine\-parsable
@@ -632,14 +636,33 @@ differ. With \fBbase_dir\fP set to \fB/\fP there will be a cache miss since the
relative path to \fB/usr/include/example\fP will be different. With \fBbase_dir\fP set
to \fB/home/bob/stuff/project1\fP there will a cache miss since the path to
project2 will be a different absolute path.
+.if n .sp
+.RS 4
+.it 1 an-trap
+.nr an-no-space-flag 1
+.nr an-break-flag 1
+.br
+.ps +1
+.B Warning
+.ps -1
+.br
+.sp
+Rewriting absolute paths to relative is kind of a brittle hack. It
+works OK in many cases, but there might be cases where things break. One known
+issue is that absolute paths are not reproduced in dependency files, which can
+mess up dependency detection in tools like Make and Ninja. If possible, use
+relative paths in the first place instead instead of using \fBbase_dir\fP.
+.sp .5v
+.RE
.RE
.sp
\fBcache_dir\fP (\fBCCACHE_DIR\fP)
.RS 4
This option specifies where ccache will keep its cached compiler outputs.
The default is \fB$XDG_CACHE_HOME/ccache\fP if \fBXDG_CACHE_HOME\fP is set,
-otherwise \fB$HOME/.cache/ccache\fP. Exception: If the legacy directory
-\fB$HOME/.ccache\fP exists then that directory is the default.
+otherwise \fB%APPDATA%/ccache\fP (Windows), \fB$HOME/Library/Caches/ccache\fP
+(macOS) or \fB$HOME/.config/ccache\fP (other systems). Exception: If the legacy
+directory \fB$HOME/.ccache\fP exists then that directory is the default.
.sp
See also \fILocation of the primary configuration file\fP.
.sp
@@ -658,8 +681,9 @@ command line.
.RS 4
By default, ccache includes the modification time (\(lqmtime\(rq) and size of
the compiler in the hash to ensure that results retrieved from the cache
-are accurate. This option can be used to select another strategy. Possible
-values are:
+are accurate. If compiler plugins are used, these plugins will also be
+added to the hash. This option can be used to select another strategy.
+Possible values are:
.sp
\fBcontent\fP
.RS 4
@@ -749,11 +773,21 @@ symlinks). This is the default.
Clang\-based compiler.
.RE
.sp
+\fBclang\-cl\fP
+.RS 4
+clang\-cl.
+.RE
+.sp
\fBgcc\fP
.RS 4
GCC\-based compiler.
.RE
.sp
+\fBmsvc\fP
+.RS 4
+Microsoft Visual C++ (MSVC).
+.RE
+.sp
\fBnvcc\fP
.RS 4
NVCC (CUDA) compiler.
@@ -937,11 +971,11 @@ Do not enable this option unless you are aware of these caveats:
If the resulting file is modified, the file in the cache will also be
modified since they share content, which corrupts the cache entry. As of
version 4.0, ccache makes stored and fetched object files read\-only as a
-safety measure guard. Furthermore, a simple integrity check is made for
-cached object files by verifying that their sizes are correct. This means
-that mistakes like \fBstrip file.o\fP or \fBecho >file.o\fP will be detected even if
-the object file is made writeable, but a modification that doesn\(cqt change the
-file size will not.
+safety measure. Furthermore, a simple integrity check is made for cached
+object files by verifying that their sizes are correct. This means that
+mistakes like \fBstrip file.o\fP or \fBecho >file.o\fP will be detected even if the
+object file is made writeable, but a modification that doesn\(cqt change the file
+size will not.
.RE
.sp
.RS 4
@@ -1075,6 +1109,21 @@ Gi, Ti (binary). The default suffix is G. See also
\fICACHE SIZE MANAGEMENT\fP.
.RE
.sp
+\fBnamespace\fP (\fBCCACHE_NAMESPACE\fP)
+.RS 4
+If set, the namespace string will be added to the hashed data for each
+compilation. This will make the associated cache entries logically separate
+from cache entries with other namespaces, but they will still share the same
+storage space. Cache entries can also be selectively removed from the
+primary cache with the command line option \fB\-\-evict\-namespace\fP, potentially
+in combination with \fB\-\-evict\-older\-than\fP.
+.sp
+For instance, if you use the same primary cache for several disparate projects,
+you can use a unique namespace string for each one. This allows you to remove
+cache entries that belong to a certain project if you stop working with that
+project.
+.RE
+.sp
\fBpath\fP (\fBCCACHE_PATH\fP)
.RS 4
If set, ccache will search directories in this list when looking for the
@@ -1159,6 +1208,9 @@ the compiler. This will cause the compiler to leave the macros and other
preprocessor information, and only process the \fB#include\fP directives. When run
in this way, the preprocessor arguments will be passed to the compiler since it
still has to do \fIsome\fP preprocessing (like macros).
+.sp
+This option is ignored with MSVC, as there is no way to make it compile without
+preprocessing first.
.RE
.sp
\fBsecondary_storage\fP (\fBCCACHE_SECONDARY_STORAGE\fP)
@@ -1246,6 +1298,17 @@ Ignore ctimes when \fBfile_stat_matches\fP is enabled. This can be useful when
backdating files\*(Aq mtimes in a controlled way.
.RE
.sp
+\fBgcno_cwd\fP
+.RS 4
+By default, ccache will include the current working directory in the hash
+when producing a \fB.gcno\fP file (when compiling with \fB\-ftest\-coverage\fP or
+\fB\-\-coverage\fP). This is because GCC 9+ includes the current working directory
+in the \fB.gcno\fP file. The \fBgcno_cwd\fP sloppiness makes ccache not hash the
+current working directory so that you can get cache hits when compiling in
+different directories, with the tradeoff of potentially getting an incorrect
+directory in the \fB.gcno\fP file.
+.RE
+.sp
\fBinclude_file_ctime\fP
.RS 4
By default, ccache will not cache a file if it includes a header whose ctime
@@ -1711,6 +1774,17 @@ Optional attributes:
. sp -1
. IP \(bu 2.3
.\}
+\fBbearer\-token\fP: Bearer token used to authorize the HTTP requests.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+. sp -1
+. IP \(bu 2.3
+.\}
\fBconnect\-timeout\fP: Timeout (in ms) for network connection. The default is 100.
.RE
.sp
@@ -1722,6 +1796,18 @@ Optional attributes:
. sp -1
. IP \(bu 2.3
.\}
+\fBkeep\-alive\fP: If \fBtrue\fP, keep the HTTP connection to the storage server open
+to avoid reconnects. The default is \fBtrue\fP.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+. sp -1
+. IP \(bu 2.3
+.\}
\fBlayout\fP: How to map key names to the path part of the URL. Available values:
.sp
.RS 4
@@ -1959,6 +2045,10 @@ Set the size and file number counters to match the files that were kept.
The reason for removing more files than just those needed to not exceed the max
limits is that a cleanup is a fairly slow operation, so it would not be a good
idea to trigger it often, like after each cache miss.
+.sp
+The LRU cleanup makes use of the file modification time (mtime) of cache
+entries; ccache updates mtime of the cache entries read on a cache hit to mark
+them as "recently used".
.SS "Manual cleanup"
.sp
You can run \fBccache \-c/\-\-cleanup\fP to force cleanup of the whole cache, i.e. all
@@ -2128,8 +2218,7 @@ T{
Could not write to output file
T}:T{
.sp
-The output path specified with \fB\-o\fP is not a file (e.g. a directory or a device
-node).
+The output path specified with \fB\-o\fP could not be written to.
T}
T{
.sp
@@ -2164,14 +2253,6 @@ compilation.
T}
T{
.sp
-Compiler produced stdout
-T}:T{
-.sp
-The compiler wrote data to standard output. This is something that compilers
-normally never do, so ccache is not designed to store such output in the cache.
-T}
-T{
-.sp
Could not find the compiler
T}:T{
.sp
@@ -2255,6 +2336,13 @@ A compiler option not supported by ccache was found.
T}
T{
.sp
+Unsupported environment variable
+T}:T{
+.sp
+An environment variable not supported by ccache was set.
+T}
+T{
+.sp
Unsupported source language
T}:T{
.sp
@@ -2817,7 +2905,7 @@ T}
.TE
.sp
.sp
-If \fBconfig_dir\fP (environment variable \fBCCACHE_DEBUGDIR\fP) is
+If \fBdebug_dir\fP (environment variable \fBCCACHE_DEBUGDIR\fP) is
set, the files above will be written to that directory with full absolute paths
instead of next to the object file.
.sp

Generated by cgit