]>
git.ipfire.org Git - thirdparty/ccache.git/log
Joel Rosdahl [Tue, 9 Dec 2025 18:19:17 +0000 (19:19 +0100)]
fix: Avoid hashing CWD parts of -march=native expansion for Clang
Fixes #1658.
Joel Rosdahl [Tue, 9 Dec 2025 19:14:57 +0000 (20:14 +0100)]
fix: Look for correct -march=native expansion line on Windows
Joel Rosdahl [Tue, 9 Dec 2025 18:40:59 +0000 (19:40 +0100)]
ci: Remove some less important CI jobs
Testing large parts of the test matrix is valuable. But at the same
time, lots of CI jobs consume lots of resources. Let's find a better
balance.
Joel Rosdahl [Tue, 9 Dec 2025 18:14:53 +0000 (19:14 +0100)]
test: Fix directory check for Windows paths
msys2 jobs have for some strange reason started to fail, so msys2's pwd
must have started returning full pathname including ":" on Windows.
Joel Rosdahl [Sat, 6 Dec 2025 13:51:40 +0000 (14:51 +0100)]
enhance: Improve find_executable
Joel Rosdahl [Sat, 22 Nov 2025 14:55:58 +0000 (15:55 +0100)]
refactor: Rename k_redacted_password to k_redacted_secret
Joel Rosdahl [Tue, 25 Nov 2025 08:06:17 +0000 (09:06 +0100)]
enhance: Add util::Timer::reset method
Joel Rosdahl [Mon, 24 Nov 2025 19:53:50 +0000 (20:53 +0100)]
refactor: Add missing util namespace to Timer
Joel Rosdahl [Sat, 6 Dec 2025 09:59:00 +0000 (10:59 +0100)]
chore: Add alma-10 dockerfile
Joel Rosdahl [Sat, 6 Dec 2025 09:58:04 +0000 (10:58 +0100)]
test: Support valkey in remote_redis test suite
Joel Rosdahl [Tue, 25 Nov 2025 20:58:32 +0000 (21:58 +0100)]
chore: Update authors
(cherry picked from commit
8c107aada09df2a40930d7064bbec8120ee76c91 )
Joel Rosdahl [Tue, 25 Nov 2025 20:58:27 +0000 (21:58 +0100)]
chore: Update NEWS
(cherry picked from commit
0962c414c87aec5d7903349fa9faabec45919637 )
Joel Rosdahl [Tue, 25 Nov 2025 15:51:19 +0000 (16:51 +0100)]
ci: Fix paths to release binaries
Joel Rosdahl [Tue, 25 Nov 2025 15:43:57 +0000 (16:43 +0100)]
ci: Remove obsolete macOS-13 build
Joel Rosdahl [Tue, 25 Nov 2025 14:11:19 +0000 (15:11 +0100)]
ci: Fix prefix for Linux binary release build
Joel Rosdahl [Sat, 22 Nov 2025 13:44:00 +0000 (14:44 +0100)]
feat: Improve compiler check on macOS
On macOS, the /usr/bin/clang(++) executables are shims that redirect to
different compilers based on $DEVELOPER_DIR or xcode-select
configuration, so ccache's default compiler check (hash mtime+size) is
done on those shims instead of the real compilers.
Improve this by trying to look up the real compiler via $DEVELOPER_DIR
or xcode-select configuration when hashing compiler data.
Closes #1654.
Joel Rosdahl [Fri, 31 Oct 2025 20:19:40 +0000 (21:19 +0100)]
feat(msvc): Use /sourceDependencies to extract include file paths
Extract include file paths from MSVC's /sourceDependencies output
instead of parsing preprocessed output. This eliminates the need for the
/utf-8 flag and msvc_utf8 config option, allowing ccache to work
correctly with both Unicode and "ANSI" (non-Unicode) codebases without
user configuration.
This resolves the encoding issues described in issues #1619 and #1650 by
using a more robust approach that doesn't depend on source file
encoding.
The change applies to both preprocessor mode and depend mode. For MSVC
versions older than 2017 15.7 that don't support /sourceDependencies,
ccache falls back to parsing preprocessed output. Other MSVC-like
compilers (clang-cl, nvcc, etc.) continue using /showIncludes.
Joel Rosdahl [Sat, 15 Nov 2025 11:49:11 +0000 (12:49 +0100)]
refactor: Move clang/msvc code to src/ccache/compiler
Joel Rosdahl [Tue, 11 Nov 2025 19:09:42 +0000 (20:09 +0100)]
enhance: Add util::SimpleJsonParser
Joel Rosdahl [Sat, 8 Nov 2025 12:28:13 +0000 (13:28 +0100)]
feat(msvc): Add support for caching /sourceDependencies file
Joel Rosdahl [Sat, 15 Nov 2025 20:12:23 +0000 (21:12 +0100)]
chore: Remove obsolete generating_debuginfo_level_3 variable
Obsolete as of
fd9de834 "chore: Remove ability to avoid 2nd call to
preprocessor (run_second_cpp)".
Joel Rosdahl [Tue, 18 Nov 2025 18:15:38 +0000 (19:15 +0100)]
test: Add basic MSVC integration test suite
We need some basic MSVC integration/smoke tests. Since I think it's a
dead end to try to adapt the bash-based test suite for MSVC, this commit
adds a separate Python-based test suite instead. It's not a full
solution but rather something quick to cover the most basic testing
needs.
Joel Rosdahl [Mon, 10 Nov 2025 17:52:22 +0000 (18:52 +0100)]
refactor: Remove unnecessary cleanup of args after executing compiler
Joel Rosdahl [Sun, 9 Nov 2025 12:49:22 +0000 (13:49 +0100)]
refactor: Improve Bytes::{erase,insert} signatures
Joel Rosdahl [Tue, 4 Nov 2025 21:15:11 +0000 (22:15 +0100)]
chore: Improve comments
Joel Rosdahl [Tue, 4 Nov 2025 21:14:34 +0000 (22:14 +0100)]
refactor: Simplify handling of --serialize-diagnostics
Joel Rosdahl [Tue, 4 Nov 2025 20:47:59 +0000 (21:47 +0100)]
test: Add test for --serialize-diagnostics
Joel Rosdahl [Tue, 4 Nov 2025 20:47:43 +0000 (21:47 +0100)]
docs: Fix typos in news
Joel Rosdahl [Mon, 3 Nov 2025 20:11:32 +0000 (21:11 +0100)]
fix: Be robust against filesystem path encoding problems on Windows
Joel Rosdahl [Thu, 30 Oct 2025 17:45:20 +0000 (18:45 +0100)]
perf: Parallelize -X/--recompress
Joel Rosdahl [Thu, 30 Oct 2025 17:43:23 +0000 (18:43 +0100)]
enhance: Make ProgressBar thread safe
Joel Rosdahl [Wed, 29 Oct 2025 18:06:18 +0000 (19:06 +0100)]
perf: Parallelize -x/--show-compression
Joel Rosdahl [Wed, 29 Oct 2025 17:59:42 +0000 (18:59 +0100)]
feat: Merge --{recompress,trim-recompress}-threads into --threads
Bonus: Cleaned up handling of old options kept for backward
compatibility.
Joel Rosdahl [Wed, 29 Oct 2025 14:38:03 +0000 (15:38 +0100)]
enhance: Add util::ThreadPool::enqueue, returning a std::future
Joel Rosdahl [Wed, 29 Oct 2025 14:33:49 +0000 (15:33 +0100)]
test: Add unit tests for util::ThreadPool
Joel Rosdahl [Tue, 28 Oct 2025 20:09:01 +0000 (21:09 +0100)]
feat: Support enqueuing ThreadPool tasks from worker threads
Joel Rosdahl [Mon, 27 Oct 2025 20:49:02 +0000 (21:49 +0100)]
refactor: Improve ThreadPool variable names
Joel Rosdahl [Mon, 27 Oct 2025 20:33:40 +0000 (21:33 +0100)]
chore: Make ThreadPool non-copyable
Joel Rosdahl [Mon, 27 Oct 2025 20:14:40 +0000 (21:14 +0100)]
perf: Add fast path in ThreadPool::enqueue
Joel Rosdahl [Mon, 27 Oct 2025 17:53:27 +0000 (18:53 +0100)]
perf: Move function into ThreadPool task queue
Joel Rosdahl [Mon, 27 Oct 2025 17:51:10 +0000 (18:51 +0100)]
fix: Start at least one thread in ThreadPool
Joel Rosdahl [Sun, 26 Oct 2025 21:05:41 +0000 (22:05 +0100)]
refactor: Use std::chrono_literals
Joel Rosdahl [Sun, 26 Oct 2025 20:54:48 +0000 (21:54 +0100)]
enhance: Add util::format_duration
Joel Rosdahl [Sun, 26 Oct 2025 20:35:19 +0000 (21:35 +0100)]
enhance: Support h/m/ms suffixes for durations as well
Joel Rosdahl [Fri, 31 Oct 2025 20:08:27 +0000 (21:08 +0100)]
refactor: Extract duplicated PCH check code to a helper function
Joel Rosdahl [Fri, 31 Oct 2025 15:17:52 +0000 (16:17 +0100)]
chore: Improve comments
J. Neuschäfer [Tue, 28 Oct 2025 18:48:23 +0000 (19:48 +0100)]
build(blake3): Assume aarch64 to be little-endian on CMake 3.18/3.19 (#1652)
The recently introduced detection of big-endian AArch64 uses the
CMAKE_C_BYTE_ORDER variable, which was introduced in 3.20, but ccache
currently only requires CMake 3.18.
To avoid using an undefined variable, simply assume AArch64 to be
little-endian on CMake versions that don't define the aforementioned
variable. This is okay because big-endian AArch64 has few users and the
subset of them that use CMake 3.18/3.19 is likely negligible.
Reported-by: @awawa-dev
Fixes: https://github.com/ccache/ccache/issues/1651
Max Winkler [Tue, 28 Oct 2025 18:46:11 +0000 (11:46 -0700)]
feat: Add msvc_utf8 config option to allow disabling /utf-8 for MSVC (#1650)
Add option to avoid adding to msvc command line for non-utf8 source code
Joel Rosdahl [Sun, 26 Oct 2025 15:11:19 +0000 (16:11 +0100)]
chore: Mark some ThreadPool methods as noexcept
Joel Rosdahl [Sun, 26 Oct 2025 15:04:53 +0000 (16:04 +0100)]
feat: Log errors and size changes when recompressing cache files
Joel Rosdahl [Sun, 26 Oct 2025 14:55:13 +0000 (15:55 +0100)]
enhance: Let ThreadPool log failed tasks
Joel Rosdahl [Sun, 26 Oct 2025 14:53:43 +0000 (15:53 +0100)]
enhance: Make logging system thread-safe
Joel Rosdahl [Sun, 26 Oct 2025 11:47:26 +0000 (12:47 +0100)]
perf: Only wake up one worker thread when a task has been popped
Joel Rosdahl [Sun, 26 Oct 2025 11:36:26 +0000 (12:36 +0100)]
fix: Handle util::TaskPool enqueue/shut_down called by different threads
Joel Rosdahl [Sun, 26 Oct 2025 08:40:43 +0000 (09:40 +0100)]
enhance: Add util::parse_base16 function
Joel Rosdahl [Sun, 26 Oct 2025 08:34:45 +0000 (09:34 +0100)]
enhance: Add util::Bytes::push_back method
Joel Rosdahl [Sun, 26 Oct 2025 08:29:40 +0000 (09:29 +0100)]
enhance: Add util::Bytes::at method
Joel Rosdahl [Sun, 26 Oct 2025 08:06:29 +0000 (09:06 +0100)]
docs: Update URLs in manual and news
Joel Rosdahl [Sat, 25 Oct 2025 18:33:11 +0000 (20:33 +0200)]
fix: Correctly remove mismatching manifest file
This fixes a bug introduced in commit
c7c0837a ("Refactor main primary
storage backend code into storage/primary").
Joel Rosdahl [Sat, 25 Oct 2025 15:19:22 +0000 (17:19 +0200)]
perf: Avoid zero-filling in util::Bytes in all cases
Joel Rosdahl [Sat, 25 Oct 2025 14:26:28 +0000 (16:26 +0200)]
enhance: Add more util::Bytes constructor and operator= variants
Joel Rosdahl [Thu, 23 Oct 2025 17:25:29 +0000 (19:25 +0200)]
perf: Call Bytes::resize from Bytes constructors to avoid zero-filling
Joel Rosdahl [Thu, 23 Oct 2025 08:13:24 +0000 (10:13 +0200)]
enhance: Add Bytes::erase
Joel Rosdahl [Thu, 23 Oct 2025 08:12:20 +0000 (10:12 +0200)]
test: Use REQUIRE for Bytes::size when indexing bytes later
Joel Rosdahl [Wed, 22 Oct 2025 20:15:44 +0000 (22:15 +0200)]
chore: Consistently use .reset() to reset m_data in Bytes
Joel Rosdahl [Wed, 22 Oct 2025 20:15:23 +0000 (22:15 +0200)]
fix: Fix comparison of empty Bytes objects
Joel Rosdahl [Sat, 18 Oct 2025 18:55:20 +0000 (20:55 +0200)]
feat: Add support for multi-line configuration values
Joel Rosdahl [Mon, 20 Oct 2025 19:04:19 +0000 (21:04 +0200)]
fix: Pass unsigned char to std::is* and std::tolower
Passing (negative) char is technically undefined behavior.
Joel Rosdahl [Mon, 20 Oct 2025 16:28:11 +0000 (18:28 +0200)]
docs: Mention that sloppiness values can be whitespace-separated
Joel Rosdahl [Sun, 19 Oct 2025 08:08:45 +0000 (10:08 +0200)]
docs: Tweak Asciidoc markup
Evgeniy Isaev [Sun, 19 Oct 2025 17:59:15 +0000 (20:59 +0300)]
feat: Add support for -fcoverage-compilation-dir/-fcoverage-prefix-map (#1644)
Evgeniy Isaev [Sun, 19 Oct 2025 08:29:01 +0000 (11:29 +0300)]
chore: Update C++ standard in .clang-format (#1648)
Joel Rosdahl [Sat, 18 Oct 2025 08:16:28 +0000 (10:16 +0200)]
chore: Add libstdc++-static to alma dockerfiles
Joel Rosdahl [Tue, 14 Oct 2025 14:47:18 +0000 (16:47 +0200)]
docs: Improve installation guide
Joel Rosdahl [Thu, 9 Oct 2025 20:02:09 +0000 (22:02 +0200)]
docs: Improve manual
Diego Alonso [Fri, 17 Oct 2025 18:57:49 +0000 (18:57 +0000)]
feat: Support rewriting absolute path for -fsanitize-blacklist (#1647)
Evgeniy Isaev [Sun, 12 Oct 2025 08:29:22 +0000 (11:29 +0300)]
test: Fix `profiling_clang` test (#1642)
Andrej [Sat, 11 Oct 2025 09:16:19 +0000 (11:16 +0200)]
chore: Fix typo in CcacheVersion (#1645)
Joel Rosdahl [Thu, 9 Oct 2025 20:16:33 +0000 (22:16 +0200)]
ci: Add missing dependency on build_documentation for build_release
Evgeniy Isaev [Thu, 9 Oct 2025 19:23:46 +0000 (22:23 +0300)]
docs: Fix `install.md` links after renaming (#1643)
Joel Rosdahl [Wed, 8 Oct 2025 19:54:16 +0000 (21:54 +0200)]
docs: Improve documentation on statistics counters and --zero-stats
After discussion with Otto Kekäläinen in #1639.
Co-authored by: Otto Kekäläinen <otto@kekalainen.net>
Joel Rosdahl [Mon, 6 Oct 2025 19:25:05 +0000 (21:25 +0200)]
docs: Reflow long line in manual
Andrej [Mon, 6 Oct 2025 19:12:20 +0000 (21:12 +0200)]
docs: Reconcile max-size suffixes in documentation (#1640)
* Use explicit 'GB' suffix in example.
* Fix misleading `max_size` description. Default suffix is GiB, not GB. And default value is 5GiB also.
* `max_size` description - use explicit suffixes.
Joel Rosdahl [Mon, 6 Oct 2025 18:25:13 +0000 (20:25 +0200)]
fix: Link with libsocket on SunOS/Illumos
Closes #1638.
Joel Rosdahl [Sun, 5 Oct 2025 17:56:35 +0000 (19:56 +0200)]
chore: Ignore local copilot instructions
Joel Rosdahl [Sun, 5 Oct 2025 17:29:36 +0000 (19:29 +0200)]
chore: Improve util::FileLock
- Release current lock on move.
- Check for invalid file descriptor in acquire/release.
- Use UnlockFileEx on Windows for symmetry with LockFileEx.
- Added noexcept where applicable.
Joel Rosdahl [Sun, 5 Oct 2025 13:24:17 +0000 (15:24 +0200)]
refactor: Use std::chrono instead of custom classes
Joel Rosdahl [Wed, 1 Oct 2025 18:48:09 +0000 (20:48 +0200)]
chore: Update authors
(cherry picked from commit
dd29ee832c5ba130d877c16c06e1c3b6dd55247a )
Joel Rosdahl [Wed, 1 Oct 2025 18:46:42 +0000 (20:46 +0200)]
chore: Update NEWS
(cherry picked from commit
acf9688b448844d931002c26e0cf5ee02f8f47ba )
Joel Rosdahl [Wed, 1 Oct 2025 18:28:33 +0000 (20:28 +0200)]
chore: Update NEWS
(cherry picked from commit
058808b676ed0bde0dea5a91434fe5615af2113f )
Joel Rosdahl [Wed, 1 Oct 2025 18:17:38 +0000 (20:17 +0200)]
chore: Update NEWS
(cherry picked from commit
a50e311cbd4c756fdedf6acd50ee2e8753330587 )
kingiler [Wed, 1 Oct 2025 18:31:16 +0000 (19:31 +0100)]
fix: Add missing return in copy_file_impl fallback code (#1630)
This fixes a compilation error with tl::expected ≥ 1.2.0 on non-Apple platforms where sendfile(2) is not available.
Joel Rosdahl [Wed, 1 Oct 2025 16:34:09 +0000 (18:34 +0200)]
fix: Add missing doc files to Linux/macOS binary release packages
Joel Rosdahl [Wed, 1 Oct 2025 16:28:38 +0000 (18:28 +0200)]
chore: Avoid false positive spelling warning with typos 1.37.0
Joel Rosdahl [Tue, 30 Sep 2025 17:37:07 +0000 (19:37 +0200)]
fix: Use monotonic clock for spin locks in inode cache
Joel Rosdahl [Sun, 28 Sep 2025 17:26:58 +0000 (19:26 +0200)]
docs: Rename documentation files to lowercase
Exception: Doc files at the top level keep their uppercase names by
convention.
Joel Rosdahl [Sun, 28 Sep 2025 17:24:30 +0000 (19:24 +0200)]
docs: Generate documention in Markdown format as well
Joel Rosdahl [Sun, 28 Sep 2025 17:22:47 +0000 (19:22 +0200)]
docs: Escape hash character in asciidoc file
Asciidoctor gets confused otherwise when generating docbook.
Joel Rosdahl [Sun, 28 Sep 2025 11:35:03 +0000 (13:35 +0200)]
fix: Handle -Xarch_host/-Xarch_device except with other -Xarch_*
-Xarch_host and -Xarch_device appear to have different semantics than
other -Xarch_* options, so add special case code that allows only
-Xarch_host options or only -Xarch_device options while falling back to
the compiler for other combinations.
A future improvement would be to add multi-pass support for -Xarch_host
and -Xarch_device combinations as well.
Fixes #1632.
Joel Rosdahl [Mon, 22 Sep 2025 16:47:03 +0000 (18:47 +0200)]
bump: Upgrade to fmt 12.0.0