]> git.ipfire.org Git - thirdparty/ccache.git/log
thirdparty/ccache.git
3 years agofix: Make src/ccache.cpp cacheable by ccache itself
Joel Rosdahl [Sun, 9 Jan 2022 21:13:02 +0000 (22:13 +0100)] 
fix: Make src/ccache.cpp cacheable by ccache itself

“.incbin” should not be present verbatim in the source code since that
makes ccache consider the code uncacheable.

Regression in 2d2de82bb9231b981b40486b093a2c0002200c40.

3 years agodoc: Improve documentation of --config-path
Joel Rosdahl [Mon, 10 Jan 2022 20:13:31 +0000 (21:13 +0100)] 
doc: Improve documentation of --config-path

See also discussion #986.

3 years agoFix stats output for secondary storage (#988)
Orgad Shaneh [Mon, 10 Jan 2022 19:56:59 +0000 (21:56 +0200)] 
Fix stats output for secondary storage (#988)

3 years agofix: Check writability of /run/user/<UID>/ccache-tmp before using
Joel Rosdahl [Thu, 6 Jan 2022 15:57:00 +0000 (16:57 +0100)] 
fix: Check writability of /run/user/<UID>/ccache-tmp before using

Closes #984.

3 years agorefactor: Decouple Manifest data structure from how it’s stored
Joel Rosdahl [Wed, 29 Dec 2021 19:50:29 +0000 (20:50 +0100)] 
refactor: Decouple Manifest data structure from how it’s stored

Manifest is now a standalone data structure that knows how to serialize
and deserialize itself but not how it’s embedded in a cache entry.

3 years agobump: Upgrade to xxHash 0.8.1
Joel Rosdahl [Wed, 29 Dec 2021 15:26:32 +0000 (16:26 +0100)] 
bump: Upgrade to xxHash 0.8.1

3 years agobump: Upgrade to cpp-httplib 0.10.1
Joel Rosdahl [Wed, 29 Dec 2021 15:21:32 +0000 (16:21 +0100)] 
bump: Upgrade to cpp-httplib 0.10.1

3 years agotest: Improve code style
Joel Rosdahl [Wed, 29 Dec 2021 14:23:35 +0000 (15:23 +0100)] 
test: Improve code style

3 years agostyle: Avoid operator++ in expression
Joel Rosdahl [Wed, 29 Dec 2021 13:58:20 +0000 (14:58 +0100)] 
style: Avoid operator++ in expression

3 years agofix: Avoid .incbin false positive (#983)
Alexey Sheplyakov [Wed, 29 Dec 2021 14:20:11 +0000 (18:20 +0400)] 
fix: Avoid .incbin false positive (#983)

3 years agofix: Remove duplicate -Xarch second argument (#981)
Steve Mokris [Wed, 29 Dec 2021 13:56:45 +0000 (08:56 -0500)] 
fix: Remove duplicate -Xarch second argument (#981)

3 years agostyle: Add some comments and tweaks
Joel Rosdahl [Sun, 19 Dec 2021 20:11:49 +0000 (21:11 +0100)] 
style: Add some comments and tweaks

3 years agofix: Fix copying of binary files on Windows (#979)
R. Voggenauer [Sun, 19 Dec 2021 20:07:58 +0000 (21:07 +0100)] 
fix: Fix copying of binary files on Windows (#979)

3 years agofix: Don’t run trim_dir test suite unless cleanup tests are enabled
Joel Rosdahl [Sun, 19 Dec 2021 15:38:36 +0000 (16:38 +0100)] 
fix: Don’t run trim_dir test suite unless cleanup tests are enabled

Fixes #974.

3 years agorefactor: Move conversion to slash option outside file test
Joel Rosdahl [Sun, 12 Dec 2021 20:12:22 +0000 (21:12 +0100)] 
refactor: Move conversion to slash option outside file test

3 years agorefactor: Remove redundant conditions for MSVC options
Joel Rosdahl [Sun, 12 Dec 2021 20:10:39 +0000 (21:10 +0100)] 
refactor: Remove redundant conditions for MSVC options

3 years agofix: Handle stdout from distcc-pump when used as a prefix
Joel Rosdahl [Sun, 12 Dec 2021 19:41:36 +0000 (20:41 +0100)] 
fix: Handle stdout from distcc-pump when used as a prefix

The compiler guessing doesn’t work if pump is used as a
prefix/CCACHE_PREFIX, so let’s just not depend on such guesswork.

Also, since the distcc-pump wrapper isn’t really a compiler type, it
actually makes sense not to treat it as such.

3 years agofeat: Support caching stdout for all compiler types
Joel Rosdahl [Sun, 12 Dec 2021 19:29:38 +0000 (20:29 +0100)] 
feat: Support caching stdout for all compiler types

3 years agoenhance: Add Result::write_data method
Joel Rosdahl [Thu, 9 Dec 2021 20:10:10 +0000 (21:10 +0100)] 
enhance: Add Result::write_data method

3 years agofix: MSVC's -link option is too hard (#972)
Luboš Luňák [Sun, 12 Dec 2021 20:15:21 +0000 (21:15 +0100)] 
fix: MSVC's -link option is too hard (#972)

3 years agofix: Handle MSVC flags -MD[d], -MT[d] and -LT[d] properly (#971)
Luboš Luňák [Sun, 12 Dec 2021 20:09:40 +0000 (21:09 +0100)] 
fix: Handle MSVC flags -MD[d], -MT[d] and -LT[d] properly (#971)

3 years agoFix and simplify handling of options for MSVC (#954)
Luboš Luňák [Sun, 12 Dec 2021 20:03:47 +0000 (21:03 +0100)] 
Fix and simplify handling of options for MSVC (#954)

3 years agoAdd support for caching stdout from MSVC (#962)
Luboš Luňák [Sun, 12 Dec 2021 19:57:10 +0000 (20:57 +0100)] 
Add support for caching stdout from MSVC (#962)

3 years agofix: Ignore CCACHE_NOCPP2=1 with MSVC (#970)
Luboš Luňák [Tue, 30 Nov 2021 19:47:14 +0000 (20:47 +0100)] 
fix: Ignore CCACHE_NOCPP2=1 with MSVC (#970)

3 years agodoc: Correct reference to the debug_dir option
Joel Rosdahl [Fri, 26 Nov 2021 19:27:56 +0000 (20:27 +0100)] 
doc: Correct reference to the debug_dir option

3 years agorefactor: Simplify code related to send_to_fd
Joel Rosdahl [Wed, 24 Nov 2021 20:26:12 +0000 (21:26 +0100)] 
refactor: Simplify code related to send_to_fd

3 years agofix: Correct error message in send_to_fd
Joel Rosdahl [Wed, 24 Nov 2021 20:25:41 +0000 (21:25 +0100)] 
fix: Correct error message in send_to_fd

3 years agoMerge pull request #968 from jhnc-oss/fix-newline-on-windows
Joel Rosdahl [Wed, 24 Nov 2021 20:17:58 +0000 (21:17 +0100)] 
Merge pull request #968 from jhnc-oss/fix-newline-on-windows

3 years agofix: handle newlines on Windows properly 968/head
Luboš Luňák [Mon, 1 Nov 2021 12:37:11 +0000 (12:37 +0000)] 
fix: handle newlines on Windows properly

3 years agofix: Use default object file extension .obj for MSVC (#964)
Luboš Luňák [Tue, 23 Nov 2021 18:35:46 +0000 (19:35 +0100)] 
fix: Use default object file extension .obj for MSVC (#964)

3 years agofix: Make AVX2 code work also with MSVC (#963)
Luboš Luňák [Tue, 23 Nov 2021 18:33:34 +0000 (19:33 +0100)] 
fix: Make AVX2 code work also with MSVC (#963)

3 years agochore: Improve language in NEWS
Joel Rosdahl [Wed, 17 Nov 2021 19:49:40 +0000 (20:49 +0100)] 
chore: Improve language in NEWS

3 years agochore: Update NEWS
Joel Rosdahl [Wed, 17 Nov 2021 19:31:58 +0000 (20:31 +0100)] 
chore: Update NEWS

(cherry picked from commit 764dc83795d9a05c2a9d69f267ed86f61a253d09)

3 years agofix: Correct error handling for unconstructible storage backend
Joel Rosdahl [Wed, 17 Nov 2021 16:00:34 +0000 (17:00 +0100)] 
fix: Correct error handling for unconstructible storage backend

This fixes a crash when using a secondary storage backend that throws on
construction, for instance the Redis backend with an unreachable server.

Closes #966.

3 years agofix: Remove extraneous space in log message
Joel Rosdahl [Wed, 17 Nov 2021 15:59:55 +0000 (16:59 +0100)] 
fix: Remove extraneous space in log message

3 years agofix: Correct entry_size field for result entries
Joel Rosdahl [Wed, 17 Nov 2021 15:47:41 +0000 (16:47 +0100)] 
fix: Correct entry_size field for result entries

The entry_size field in result entries created by ccache 4.5 are off by
one. Fix this by properly accounting for the new format_ver field in
result payload data.

Note: This bug only affects the recompression feature (-X/--recompress)
and not other ccache usage.

Closes #965.

3 years agofix: Store actual compression level in cache entry header
Joel Rosdahl [Wed, 17 Nov 2021 15:45:25 +0000 (16:45 +0100)] 
fix: Store actual compression level in cache entry header

This detail got lost in e83ac28d74dcb60af9ceaa58d92e706ded089ea3.

3 years agofeat: Visual C/C++ compiler support (#506)
Cristian Adam [Mon, 15 Nov 2021 19:06:16 +0000 (20:06 +0100)] 
feat: Visual C/C++ compiler support (#506)

3 years agochore: Update NEWS v4.5
Joel Rosdahl [Sat, 13 Nov 2021 09:38:46 +0000 (10:38 +0100)] 
chore: Update NEWS

3 years agochore: Update authors
Joel Rosdahl [Fri, 12 Nov 2021 19:07:09 +0000 (20:07 +0100)] 
chore: Update authors

3 years agodoc: Tweak preposition
Joel Rosdahl [Fri, 12 Nov 2021 18:54:07 +0000 (19:54 +0100)] 
doc: Tweak preposition

3 years agofeat: Pretty-print entry type in --dump-{manifest,result}
Joel Rosdahl [Tue, 9 Nov 2021 18:20:07 +0000 (19:20 +0100)] 
feat: Pretty-print entry type in --dump-{manifest,result}

3 years agofeat: Add namespace support
Joel Rosdahl [Mon, 8 Nov 2021 18:38:35 +0000 (19:38 +0100)] 
feat: Add namespace support

If a namespace configured, 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
--evict-namespace, potentially in combination with --evict-older-than.

Closes #870.

3 years agofix: Disable hard link and file clone with enabled secondary storage
Joel Rosdahl [Sun, 7 Nov 2021 12:37:47 +0000 (13:37 +0100)] 
fix: Disable hard link and file clone with enabled secondary storage

3 years agorefactor: Rename tag header field to namespace
Joel Rosdahl [Sat, 6 Nov 2021 18:44:52 +0000 (19:44 +0100)] 
refactor: Rename tag header field to namespace

3 years agofeat: Support rewriting absolute path to Clang option --gcc-toolchain
Joel Rosdahl [Sat, 6 Nov 2021 18:25:32 +0000 (19:25 +0100)] 
feat: Support rewriting absolute path to Clang option --gcc-toolchain

Closes #889.

3 years agostyle: Add curly braces around if statement body
Joel Rosdahl [Sat, 6 Nov 2021 15:29:34 +0000 (16:29 +0100)] 
style: Add curly braces around if statement body

3 years agodoc: Fix description of --checksum-file
Joel Rosdahl [Sat, 6 Nov 2021 15:22:48 +0000 (16:22 +0100)] 
doc: Fix description of --checksum-file

3 years agofix: Correct debug dir handling on Windows (#955)
Luboš Luňák [Sat, 6 Nov 2021 15:28:01 +0000 (16:28 +0100)] 
fix: Correct debug dir handling on Windows (#955)

3 years agofeat: Improve cache entry format
Joel Rosdahl [Thu, 4 Nov 2021 07:20:33 +0000 (08:20 +0100)] 
feat: Improve cache entry format

Cache entry header changes:

* Changed magic bytes to represent a generic “ccache entry” instead of a
  specific result/manifest entry.
* Added a payload type field (currently manifest or result) separate
  from the magic bytes. This allows code that only operates on the
  “container” (e.g. recompression) to be ignorant of payload types and
  changes to payload formats.
* Added a creation timestamp field. This can be useful when debugging,
  for instance to match the timestamp with a build start/end.
* Added a field for the ccache version that created the cache entry.
  This can be useful for debugging, and it also makes it possible for
  future ccache versions to refuse using results from previous buggy
  ccache versions.
* Added a tag field to be used by a future feature.

Cache entry epilogue changes:

* Use 128-bit XXH3 instead of 64-bit XXH3 for the checksum since those
  extra bits are computed by the algorithm anyway.

Manifest/result entry changes:

* Added manifest/result format version fields. This means that the
  payload version can be stepped without stepping the outer format
  version, thereby making it possible for older ccache versions to for
  instance recompress the cache even though the payload format has
  changed.

Other improvements:

* Added generic Reader and Writer interfaces to decouple code from using
  FILE* directly.
* Refactored checksum handling into ChecksummingReader and
  ChecksummingWriter.

3 years agoenhance: Add util::XXH3_128
Joel Rosdahl [Tue, 19 Oct 2021 18:38:54 +0000 (20:38 +0200)] 
enhance: Add util::XXH3_128

3 years agorefactor: Rename Checksum to util::XXH3_64
Joel Rosdahl [Tue, 19 Oct 2021 18:34:24 +0000 (20:34 +0200)] 
refactor: Rename Checksum to util::XXH3_64

3 years agobump: Upgrade to BLAKE3 1.2.0
Joel Rosdahl [Sat, 6 Nov 2021 07:54:46 +0000 (08:54 +0100)] 
bump: Upgrade to BLAKE3 1.2.0

3 years agobump: Upgrade to cpp-httplib 0.9.7
Joel Rosdahl [Wed, 3 Nov 2021 20:38:50 +0000 (21:38 +0100)] 
bump: Upgrade to cpp-httplib 0.9.7

3 years agobump: Upgrade to optional-lite 3.5.0
Joel Rosdahl [Wed, 3 Nov 2021 20:35:05 +0000 (21:35 +0100)] 
bump: Upgrade to optional-lite 3.5.0

3 years agobump: Upgrade to fmt 8.0.1
Joel Rosdahl [Wed, 3 Nov 2021 20:33:08 +0000 (21:33 +0100)] 
bump: Upgrade to fmt 8.0.1

3 years agoci: Add job for testing Clang 12
Joel Rosdahl [Wed, 3 Nov 2021 20:28:53 +0000 (21:28 +0100)] 
ci: Add job for testing Clang 12

3 years agofix: Correct win32 log messages about file locks (#953)
Luboš Luňák [Wed, 3 Nov 2021 20:19:54 +0000 (21:19 +0100)] 
fix: Correct win32 log messages about file locks (#953)

3 years agobump: Upgrade to Hiredis 1.0.2 (#949)
Alexander Falkenstern [Thu, 28 Oct 2021 18:42:12 +0000 (20:42 +0200)] 
bump: Upgrade to Hiredis 1.0.2 (#949)

3 years agofix: Support special characters in URL user info
Joel Rosdahl [Wed, 6 Oct 2021 19:37:31 +0000 (21:37 +0200)] 
fix: Support special characters in URL user info

Bump CxxUrl to v0.3 to fix a URL parsing bug, as suggested by Russell
McClellan.

Fixes #941.

3 years agodoc: Tweak AsciiDoc bullet indentation
Joel Rosdahl [Wed, 6 Oct 2021 19:29:25 +0000 (21:29 +0200)] 
doc: Tweak AsciiDoc bullet indentation

3 years agoMerge pull request #934 from gjasny/no-keep-alive
Joel Rosdahl [Wed, 6 Oct 2021 19:27:07 +0000 (21:27 +0200)] 
Merge pull request #934 from gjasny/no-keep-alive

3 years agofeat(http-storage): Make HTTP keep-alive configurable 934/head
Gregor Jasny [Fri, 1 Oct 2021 06:54:38 +0000 (08:54 +0200)] 
feat(http-storage): Make HTTP keep-alive configurable

3 years agofix(http-storage): Disable broken connection keep-alive
Gregor Jasny [Sun, 5 Sep 2021 17:55:27 +0000 (19:55 +0200)] 
fix(http-storage): Disable broken connection keep-alive

After ignoring SIGPIPE (b2a88e7) keep-alive support has been
re-enabled for HTTP Storage. Unfortunately it's still broken
but does not crash ccache, anymore.

This is the tcpdump of a (cache miss) compilation that takes longer
than the server keep-alive timeout:

```
10:51:17.214678 IP 10.34.129.62.37468 > 10.34.132.45.webcache: Flags [S], seq 1018344313, win 62727, options [mss 8961,sackOK,TS val 1638189791 ecr 0,nop,wscale 7], length 0
10:51:17.216386 IP 10.34.132.45.webcache > 10.34.129.62.37468: Flags [S.], seq 2695216843, ack 1018344314, win 26847, options [mss 8645,sackOK,TS val 1598789083 ecr 1638189791,nop,wscale 9], length 0
10:51:17.216424 IP 10.34.129.62.37468 > 10.34.132.45.webcache: Flags [.], ack 1, win 491, options [nop,nop,TS val 1638189793 ecr 1598789083], length 0
10:51:17.216534 IP 10.34.129.62.37468 > 10.34.132.45.webcache: Flags [P.], seq 1:143, ack 1, win 491, options [nop,nop,TS val 1638189793 ecr 1598789083], length 142: HTTP: GET /cache/ff87vlgke3poou7uq1ma2m3hh000gckmq HTTP/1.1
10:51:17.217393 IP 10.34.132.45.webcache > 10.34.129.62.37468: Flags [.], ack 143, win 55, options [nop,nop,TS val 1598789084 ecr 1638189793], length 0
10:51:17.217433 IP 10.34.132.45.webcache > 10.34.129.62.37468: Flags [P.], seq 1:309, ack 143, win 55, options [nop,nop,TS val 1598789085 ecr 1638189793], length 308: HTTP: HTTP/1.1 404 Not Found
10:51:17.217456 IP 10.34.129.62.37468 > 10.34.132.45.webcache: Flags [.], ack 309, win 489, options [nop,nop,TS val 1638189794 ecr 1598789085], length 0
10:51:17.538819 IP 10.34.129.62.37468 > 10.34.132.45.webcache: Flags [P.], seq 143:285, ack 309, win 489, options [nop,nop,TS val 1638190115 ecr 1598789085], length 142: HTTP: GET /cache/135di89r02vv5fgopbtsopfjllo01b8lg HTTP/1.1
10:51:17.539838 IP 10.34.132.45.webcache > 10.34.129.62.37468: Flags [P.], seq 309:617, ack 285, win 57, options [nop,nop,TS val 1598789407 ecr 1638190115], length 308: HTTP: HTTP/1.1 404 Not Found
10:51:17.539876 IP 10.34.129.62.37468 > 10.34.132.45.webcache: Flags [.], ack 617, win 487, options [nop,nop,TS val 1638190117 ecr 1598789407], length 0

10:52:32.536322 IP 10.34.132.45.webcache > 10.34.129.62.37468: Flags [F.], seq 617, ack 285, win 57, options [nop,nop,TS val 1598864404 ecr 1638190117], length 0
10:52:32.577893 IP 10.34.129.62.37468 > 10.34.132.45.webcache: Flags [.], ack 618, win 487, options [nop,nop,TS val 1638265155 ecr 1598864404], length 0

10:52:42.173135 IP 10.34.129.62.37468 > 10.34.132.45.webcache: Flags [P.], seq 285:492, ack 618, win 487, options [nop,nop,TS val 1638274750 ecr 1598864404], length 207: HTTP: PUT /cache/135di89r02vv5fgopbtsopfjllo01b8lg HTTP/1.1
10:52:42.173153 IP 10.34.129.62.37468 > 10.34.132.45.webcache: Flags [.], seq 492:9125, ack 618, win 487, options [nop,nop,TS val 1638274750 ecr 1598864404], length 8633: HTTP
10:52:42.173159 IP 10.34.129.62.37468 > 10.34.132.45.webcache: Flags [P.], seq 9125:17758, ack 618, win 487, options [nop,nop,TS val 1638274750 ecr 1598864404], length 8633: HTTP
10:52:42.173165 IP 10.34.129.62.37468 > 10.34.132.45.webcache: Flags [.], seq 17758:26391, ack 618, win 487, options [nop,nop,TS val 1638274750 ecr 1598864404], length 8633: HTTP
10:52:42.174049 IP 10.34.132.45.webcache > 10.34.129.62.37468: Flags [R], seq 2695217461, win 0, length 0
10:52:42.174056 IP 10.34.132.45.webcache > 10.34.129.62.37468: Flags [R], seq 2695217461, win 0, length 0
10:52:42.174057 IP 10.34.132.45.webcache > 10.34.129.62.37468: Flags [R], seq 2695217461, win 0, length 0
```

The PUT error due to the closed socket is also logged:
```
[2021-09-14T10:52:42.068112 2089 ] Storing result file modules/asyncly/Test/Unit/CMakeFiles/test_asyncly.dir/future/FutureTest.cpp.o
[2021-09-14T10:52:42.068118 2089 ] Storing embedded file #0 .o (36847216 bytes) from modules/asyncly/Test/Unit/CMakeFiles/test_asyncly.dir/future/FutureTest.cpp.o
[2021-09-14T10:52:42.154930 2089 ] Storing result file modules/asyncly/Test/Unit/CMakeFiles/test_asyncly.dir/future/FutureTest.cpp.o.d
[2021-09-14T10:52:42.154951 2089 ] Storing embedded file #1 .d (122626 bytes) from modules/asyncly/Test/Unit/CMakeFiles/test_asyncly.dir/future/FutureTest.cpp.o.d
[2021-09-14T10:52:42.155260 2089 ] Stored 135di89r02vv5fgopbtsopfjllo01b8lg in primary storage (/cache/ccache/1/3/5di89r02vv5fgopbtsopfjllo01b8lgR)
[2021-09-14T10:52:42.175445 2089 ] Failed to put /cache/135di89r02vv5fgopbtsopfjllo01b8lg to http storage: Unknown (1)
[2021-09-14T10:52:42.175999 2089 ] Adding result key to /cache/ccache/f/f/87vlgke3poou7uq1ma2m3hh000gckmqM
[2021-09-14T10:52:42.179375 2089 ] Using default compression level 1
[2021-09-14T10:52:42.180306 2089 ] Stored ff87vlgke3poou7uq1ma2m3hh000gckmq in primary storage (/cache/ccache/f/f/87vlgke3poou7uq1ma2m3hh000gckmqM)
[2021-09-14T10:52:42.180341 2089 ] Not putting in http://jenkins3-bazelcache.ec2.getgotools.net:8080/cache since it failed earlier
```

I believe a 90s compilation is worth caching and more important than
skipping the TCP three-way handshake.

3 years agodocs: Remove stray heading in NEWS
Joel Rosdahl [Tue, 28 Sep 2021 19:47:22 +0000 (21:47 +0200)] 
docs: Remove stray heading in NEWS

3 years agochore: Update authors v4.4.2
Joel Rosdahl [Tue, 28 Sep 2021 19:36:30 +0000 (21:36 +0200)] 
chore: Update authors

3 years agoUpdate NEWS
Joel Rosdahl [Tue, 28 Sep 2021 19:36:16 +0000 (21:36 +0200)] 
Update NEWS

3 years agofix: Don’t update manifest on preprocessed hit with disabled direct mode
Joel Rosdahl [Tue, 28 Sep 2021 18:36:17 +0000 (20:36 +0200)] 
fix: Don’t update manifest on preprocessed hit with disabled direct mode

After c7c0837a23fe9dc79613bf3dd4ddd8d91c58d541, update_manifest_file can
be called erroneously if the direct mode is disabled when there has been
a preprocessed hit.

Fix this by asserting that update_manifest_file is only called when
direct mode is enabled, fixing the call site and adding the test case
that should already have existed.

Fixes #935.

3 years agoci: Pin macOS to 10.15
Joel Rosdahl [Mon, 27 Sep 2021 19:08:56 +0000 (21:08 +0200)] 
ci: Pin macOS to 10.15

macOS-latest now means macOS-11.

3 years agorefactor: Pass const Context to process_arg
Joel Rosdahl [Sun, 26 Sep 2021 19:56:14 +0000 (21:56 +0200)] 
refactor: Pass const Context to process_arg

This narrows down what process_arg is allowed to do.

3 years agorefactor: Move included_pch_file from Context to ArgsInfo
Joel Rosdahl [Sun, 26 Sep 2021 19:54:03 +0000 (21:54 +0200)] 
refactor: Move included_pch_file from Context to ArgsInfo

3 years agoenhance: Add util::replace_all function
Joel Rosdahl [Wed, 22 Sep 2021 19:58:47 +0000 (21:58 +0200)] 
enhance: Add util::replace_all function

3 years agotest: Cope with CC being a wrapper script that uses ccache
Joel Rosdahl [Mon, 20 Sep 2021 05:38:27 +0000 (07:38 +0200)] 
test: Cope with CC being a wrapper script that uses ccache

Fixes #914.

3 years agotest: Silence stray output
Joel Rosdahl [Mon, 20 Sep 2021 05:36:51 +0000 (07:36 +0200)] 
test: Silence stray output

3 years agotest: Use shell builtin pwd for basedir test (#933)
Kira Bruneau [Mon, 13 Sep 2021 17:05:44 +0000 (13:05 -0400)] 
test: Use shell builtin pwd for basedir test (#933)

3 years agochore: Update news v4.4.1
Joel Rosdahl [Sat, 11 Sep 2021 07:00:33 +0000 (09:00 +0200)] 
chore: Update news

3 years agofeat: Show separate statistics counters for misses
Joel Rosdahl [Sat, 11 Sep 2021 06:51:33 +0000 (08:51 +0200)] 
feat: Show separate statistics counters for misses

3 years agofix(http-storage): Enable keep-alive again after fixing SIGPIPE issue
Joel Rosdahl [Thu, 9 Sep 2021 19:35:46 +0000 (21:35 +0200)] 
fix(http-storage): Enable keep-alive again after fixing SIGPIPE issue

See #931.

3 years agofix(redis-storage): Ignore SIGPIPE
Joel Rosdahl [Thu, 9 Sep 2021 18:55:53 +0000 (20:55 +0200)] 
fix(redis-storage): Ignore SIGPIPE

libhiredis doesn’t pass MSG_NOSIGNAL to send to ccache can die from
SIGPIPE. Disable SIGPIPE so that the socket code receives EPIPE
correctly.

This should also fix a similar problem with the HTTP storage backend.

Fixes #931.

3 years agobump: Upgrade to cpp-httplib 0.9.4
Joel Rosdahl [Fri, 3 Sep 2021 06:21:52 +0000 (08:21 +0200)] 
bump: Upgrade to cpp-httplib 0.9.4

3 years agorefactor: Improve compatibility definition of DLLIMPORT
Joel Rosdahl [Sun, 29 Aug 2021 19:36:28 +0000 (21:36 +0200)] 
refactor: Improve compatibility definition of DLLIMPORT

3 years agofix: Always store configuration origin value (#928)
Gregor Jasny [Tue, 7 Sep 2021 17:22:51 +0000 (19:22 +0200)] 
fix: Always store configuration origin value (#928)

3 years agofix(http-storage): Disable broken connection keep-alive (#927)
Gregor Jasny [Sun, 5 Sep 2021 17:55:27 +0000 (19:55 +0200)] 
fix(http-storage): Disable broken connection keep-alive (#927)

3 years agoFix build errors with clang on Windows (#924)
Orgad Shaneh [Wed, 1 Sep 2021 17:40:02 +0000 (20:40 +0300)] 
Fix build errors with clang on Windows (#924)

3 years agoMerge pull request #918 from gjasny/ipo
Joel Rosdahl [Sun, 29 Aug 2021 18:52:50 +0000 (20:52 +0200)] 
Merge pull request #918 from gjasny/ipo

3 years agofeat(cmake): Disable IPO for mingw 918/head
Gregor Jasny [Sun, 22 Aug 2021 11:09:47 +0000 (13:09 +0200)] 
feat(cmake): Disable IPO for mingw

On mingw IPO seems to be broken (out-of-diskspace errors
and lacking linker module support), therefore IPO support is being
deactivated.

3 years agofeat(cmake): Use standard linker for LTO scenarios
Gregor Jasny [Sun, 22 Aug 2021 10:49:09 +0000 (12:49 +0200)] 
feat(cmake): Use standard linker for LTO scenarios

3 years agofeat(cmake): Use the matching lld for clang
Gregor Jasny [Sun, 22 Aug 2021 10:47:04 +0000 (12:47 +0200)] 
feat(cmake): Use the matching lld for clang

Otherwise one could end up on Ubuntu with clang-11 calling lld-10
which breaks IPO.

3 years agofix(test): Pass all three required arguments to expect_file_count (#925)
Gregor Jasny [Sun, 29 Aug 2021 17:50:22 +0000 (19:50 +0200)] 
fix(test): Pass all three required arguments to expect_file_count (#925)

3 years agofix(test): Fix basedir suite failure with symlinked PWD
Joel Rosdahl [Tue, 24 Aug 2021 17:43:30 +0000 (19:43 +0200)] 
fix(test): Fix basedir suite failure with symlinked PWD

Fixes #916.

3 years agotest: Improve output of differing text files on failure
Joel Rosdahl [Tue, 24 Aug 2021 17:40:35 +0000 (19:40 +0200)] 
test: Improve output of differing text files on failure

3 years agochore: Remove asciidoctor package from CentOS 8 Dockerfile
Joel Rosdahl [Tue, 24 Aug 2021 16:58:43 +0000 (18:58 +0200)] 
chore: Remove asciidoctor package from CentOS 8 Dockerfile

Asciidoctor is apparently not packaged for CentOS 8.

3 years agochore: Sort LICENSE.adoc entries properly
Joel Rosdahl [Fri, 20 Aug 2021 19:02:25 +0000 (21:02 +0200)] 
chore: Sort LICENSE.adoc entries properly

3 years agofeat: Only show secondary storage stats if non-empty or with -vv
Joel Rosdahl [Fri, 20 Aug 2021 18:12:29 +0000 (20:12 +0200)] 
feat: Only show secondary storage stats if non-empty or with -vv

3 years agofix(test): Fix .incbin test with newer binutils
Joel Rosdahl [Fri, 20 Aug 2021 17:56:17 +0000 (19:56 +0200)] 
fix(test): Fix .incbin test with newer binutils

The assembler in binutils 2.37 doesn’t want to include /dev/null with
a .incbin directive:

    /tmp/ccbGWiew.s: Assembler messages:
    /tmp/ccbGWiew.s:4: Error: unable to include `/dev/null'
    incbin.s: Assembler messages:
    incbin.s:1: Error: unable to include `/dev/null'

3 years agodocs: Fix grammar
Joel Rosdahl [Thu, 19 Aug 2021 19:52:44 +0000 (21:52 +0200)] 
docs: Fix grammar

3 years agochore: Update release date v4.4
Joel Rosdahl [Thu, 19 Aug 2021 18:43:30 +0000 (20:43 +0200)] 
chore: Update release date

3 years agobuild: Improve detection av Ccache version from source repo
Joel Rosdahl [Thu, 19 Aug 2021 18:34:43 +0000 (20:34 +0200)] 
build: Improve detection av Ccache version from source repo

When running CMake outside the source repository a plain git command
naturally won’t find the repository. Fix this by pointing git towards
the repository.

3 years agochore: Fix Cppcheck warnings
Joel Rosdahl [Thu, 19 Aug 2021 17:57:13 +0000 (19:57 +0200)] 
chore: Fix Cppcheck warnings

3 years agodocs: Improve contributor notes in NEWS
Joel Rosdahl [Wed, 18 Aug 2021 19:43:35 +0000 (21:43 +0200)] 
docs: Improve contributor notes in NEWS