]> git.ipfire.org Git - thirdparty/ccache.git/log
thirdparty/ccache.git
4 days agobuild(blake3): Assume aarch64 to be little-endian on CMake 3.18/3.19 (#1652) master
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
4 days agofeat: Add msvc_utf8 config option to allow disabling /utf-8 for MSVC (#1650)
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

6 days agochore: Mark some ThreadPool methods as noexcept
Joel Rosdahl [Sun, 26 Oct 2025 15:11:19 +0000 (16:11 +0100)] 
chore: Mark some ThreadPool methods as noexcept

6 days agofeat: Log errors and size changes when recompressing cache files
Joel Rosdahl [Sun, 26 Oct 2025 15:04:53 +0000 (16:04 +0100)] 
feat: Log errors and size changes when recompressing cache files

6 days agoenhance: Let ThreadPool log failed tasks
Joel Rosdahl [Sun, 26 Oct 2025 14:55:13 +0000 (15:55 +0100)] 
enhance: Let ThreadPool log failed tasks

6 days agoenhance: Make logging system thread-safe
Joel Rosdahl [Sun, 26 Oct 2025 14:53:43 +0000 (15:53 +0100)] 
enhance: Make logging system thread-safe

6 days agoperf: Only wake up one worker thread when a task has been popped
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

6 days agofix: Handle util::TaskPool enqueue/shut_down called by different threads
Joel Rosdahl [Sun, 26 Oct 2025 11:36:26 +0000 (12:36 +0100)] 
fix: Handle util::TaskPool enqueue/shut_down called by different threads

6 days agoenhance: Add util::parse_base16 function
Joel Rosdahl [Sun, 26 Oct 2025 08:40:43 +0000 (09:40 +0100)] 
enhance: Add util::parse_base16 function

7 days agoenhance: Add util::Bytes::push_back method
Joel Rosdahl [Sun, 26 Oct 2025 08:34:45 +0000 (09:34 +0100)] 
enhance: Add util::Bytes::push_back method

7 days agoenhance: Add util::Bytes::at method
Joel Rosdahl [Sun, 26 Oct 2025 08:29:40 +0000 (09:29 +0100)] 
enhance: Add util::Bytes::at method

7 days agodocs: Update URLs in manual and news
Joel Rosdahl [Sun, 26 Oct 2025 08:06:29 +0000 (09:06 +0100)] 
docs: Update URLs in manual and news

7 days agofix: Correctly remove mismatching manifest file
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").

7 days agoperf: Avoid zero-filling in util::Bytes in all cases
Joel Rosdahl [Sat, 25 Oct 2025 15:19:22 +0000 (17:19 +0200)] 
perf: Avoid zero-filling in util::Bytes in all cases

7 days agoenhance: Add more util::Bytes constructor and operator= variants
Joel Rosdahl [Sat, 25 Oct 2025 14:26:28 +0000 (16:26 +0200)] 
enhance: Add more util::Bytes constructor and operator= variants

8 days agoperf: Call Bytes::resize from Bytes constructors to avoid zero-filling
Joel Rosdahl [Thu, 23 Oct 2025 17:25:29 +0000 (19:25 +0200)] 
perf: Call Bytes::resize from Bytes constructors to avoid zero-filling

8 days agoenhance: Add Bytes::erase
Joel Rosdahl [Thu, 23 Oct 2025 08:13:24 +0000 (10:13 +0200)] 
enhance: Add Bytes::erase

8 days agotest: Use REQUIRE for Bytes::size when indexing bytes later
Joel Rosdahl [Thu, 23 Oct 2025 08:12:20 +0000 (10:12 +0200)] 
test: Use REQUIRE for Bytes::size when indexing bytes later

8 days agochore: Consistently use .reset() to reset m_data in Bytes
Joel Rosdahl [Wed, 22 Oct 2025 20:15:44 +0000 (22:15 +0200)] 
chore: Consistently use .reset() to reset m_data in Bytes

8 days agofix: Fix comparison of empty Bytes objects
Joel Rosdahl [Wed, 22 Oct 2025 20:15:23 +0000 (22:15 +0200)] 
fix: Fix comparison of empty Bytes objects

8 days agofeat: Add support for multi-line configuration values
Joel Rosdahl [Sat, 18 Oct 2025 18:55:20 +0000 (20:55 +0200)] 
feat: Add support for multi-line configuration values

8 days agofix: Pass unsigned char to std::is* and std::tolower
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.

10 days agodocs: Mention that sloppiness values can be whitespace-separated
Joel Rosdahl [Mon, 20 Oct 2025 16:28:11 +0000 (18:28 +0200)] 
docs: Mention that sloppiness values can be whitespace-separated

10 days agodocs: Tweak Asciidoc markup
Joel Rosdahl [Sun, 19 Oct 2025 08:08:45 +0000 (10:08 +0200)] 
docs: Tweak Asciidoc markup

13 days agofeat: Add support for -fcoverage-compilation-dir/-fcoverage-prefix-map (#1644)
Evgeniy Isaev [Sun, 19 Oct 2025 17:59:15 +0000 (20:59 +0300)] 
feat: Add support for -fcoverage-compilation-dir/-fcoverage-prefix-map (#1644)

2 weeks agochore: Update C++ standard in .clang-format (#1648)
Evgeniy Isaev [Sun, 19 Oct 2025 08:29:01 +0000 (11:29 +0300)] 
chore: Update C++ standard in .clang-format (#1648)

2 weeks agochore: Add libstdc++-static to alma dockerfiles
Joel Rosdahl [Sat, 18 Oct 2025 08:16:28 +0000 (10:16 +0200)] 
chore: Add libstdc++-static to alma dockerfiles

2 weeks agodocs: Improve installation guide
Joel Rosdahl [Tue, 14 Oct 2025 14:47:18 +0000 (16:47 +0200)] 
docs: Improve installation guide

2 weeks agodocs: Improve manual
Joel Rosdahl [Thu, 9 Oct 2025 20:02:09 +0000 (22:02 +0200)] 
docs: Improve manual

2 weeks agofeat: Support rewriting absolute path for -fsanitize-blacklist (#1647)
Diego Alonso [Fri, 17 Oct 2025 18:57:49 +0000 (18:57 +0000)] 
feat: Support rewriting absolute path for -fsanitize-blacklist (#1647)

3 weeks agotest: Fix `profiling_clang` test (#1642)
Evgeniy Isaev [Sun, 12 Oct 2025 08:29:22 +0000 (11:29 +0300)] 
test: Fix `profiling_clang` test (#1642)

3 weeks agochore: Fix typo in CcacheVersion (#1645)
Andrej [Sat, 11 Oct 2025 09:16:19 +0000 (11:16 +0200)] 
chore: Fix typo in CcacheVersion (#1645)

3 weeks agoci: Add missing dependency on build_documentation for build_release
Joel Rosdahl [Thu, 9 Oct 2025 20:16:33 +0000 (22:16 +0200)] 
ci: Add missing dependency on build_documentation for build_release

3 weeks agodocs: Fix `install.md` links after renaming (#1643)
Evgeniy Isaev [Thu, 9 Oct 2025 19:23:46 +0000 (22:23 +0300)] 
docs: Fix `install.md` links after renaming (#1643)

3 weeks agodocs: Improve documentation on statistics counters and --zero-stats
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>

3 weeks agodocs: Reflow long line in manual
Joel Rosdahl [Mon, 6 Oct 2025 19:25:05 +0000 (21:25 +0200)] 
docs: Reflow long line in manual

3 weeks agodocs: Reconcile max-size suffixes in documentation (#1640)
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.

3 weeks agofix: Link with libsocket on SunOS/Illumos
Joel Rosdahl [Mon, 6 Oct 2025 18:25:13 +0000 (20:25 +0200)] 
fix: Link with libsocket on SunOS/Illumos

Closes #1638.

3 weeks agochore: Ignore local copilot instructions
Joel Rosdahl [Sun, 5 Oct 2025 17:56:35 +0000 (19:56 +0200)] 
chore: Ignore local copilot instructions

3 weeks agochore: Improve util::FileLock
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.

3 weeks agorefactor: Use std::chrono instead of custom classes
Joel Rosdahl [Sun, 5 Oct 2025 13:24:17 +0000 (15:24 +0200)] 
refactor: Use std::chrono instead of custom classes

4 weeks agochore: Update authors
Joel Rosdahl [Wed, 1 Oct 2025 18:48:09 +0000 (20:48 +0200)] 
chore: Update authors

(cherry picked from commit dd29ee832c5ba130d877c16c06e1c3b6dd55247a)

4 weeks agochore: Update NEWS
Joel Rosdahl [Wed, 1 Oct 2025 18:46:42 +0000 (20:46 +0200)] 
chore: Update NEWS

(cherry picked from commit acf9688b448844d931002c26e0cf5ee02f8f47ba)

4 weeks agochore: Update NEWS
Joel Rosdahl [Wed, 1 Oct 2025 18:28:33 +0000 (20:28 +0200)] 
chore: Update NEWS

(cherry picked from commit 058808b676ed0bde0dea5a91434fe5615af2113f)

4 weeks agochore: Update NEWS
Joel Rosdahl [Wed, 1 Oct 2025 18:17:38 +0000 (20:17 +0200)] 
chore: Update NEWS

(cherry picked from commit a50e311cbd4c756fdedf6acd50ee2e8753330587)

4 weeks agofix: Add missing return in copy_file_impl fallback code (#1630)
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.

4 weeks agofix: Add missing doc files to Linux/macOS binary release packages
Joel Rosdahl [Wed, 1 Oct 2025 16:34:09 +0000 (18:34 +0200)] 
fix: Add missing doc files to Linux/macOS binary release packages

4 weeks agochore: Avoid false positive spelling warning with typos 1.37.0
Joel Rosdahl [Wed, 1 Oct 2025 16:28:38 +0000 (18:28 +0200)] 
chore: Avoid false positive spelling warning with typos 1.37.0

4 weeks agofix: Use monotonic clock for spin locks in inode cache
Joel Rosdahl [Tue, 30 Sep 2025 17:37:07 +0000 (19:37 +0200)] 
fix: Use monotonic clock for spin locks in inode cache

4 weeks agodocs: Rename documentation files to lowercase
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.

4 weeks agodocs: Generate documention in Markdown format as well
Joel Rosdahl [Sun, 28 Sep 2025 17:24:30 +0000 (19:24 +0200)] 
docs: Generate documention in Markdown format as well

4 weeks agodocs: Escape hash character in asciidoc file
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.

5 weeks agofix: Handle -Xarch_host/-Xarch_device except with other -Xarch_*
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.

5 weeks agobump: Upgrade to fmt 12.0.0
Joel Rosdahl [Mon, 22 Sep 2025 16:47:03 +0000 (18:47 +0200)] 
bump: Upgrade to fmt 12.0.0

5 weeks agorefactor: Remove unnecessary explicit non::span constructor
Joel Rosdahl [Mon, 22 Sep 2025 16:42:54 +0000 (18:42 +0200)] 
refactor: Remove unnecessary explicit non::span constructor

5 weeks agofix: Don't crash thread pool thread if task throws
Joel Rosdahl [Mon, 15 Sep 2025 19:41:16 +0000 (21:41 +0200)] 
fix: Don't crash thread pool thread if task throws

5 weeks agofix: Don't fail on ENOENT when trying to break a LockFile lock
Joel Rosdahl [Mon, 15 Sep 2025 19:39:18 +0000 (21:39 +0200)] 
fix: Don't fail on ENOENT when trying to break a LockFile lock

5 weeks agochore: Handle empty argv in format_argv_as_win32_command_string
Joel Rosdahl [Mon, 15 Sep 2025 19:30:22 +0000 (21:30 +0200)] 
chore: Handle empty argv in format_argv_as_win32_command_string

6 weeks agofix: Correct saving of current position in fallocate fallback code
Joel Rosdahl [Mon, 15 Sep 2025 19:26:04 +0000 (21:26 +0200)] 
fix: Correct saving of current position in fallocate fallback code

6 weeks agoci: Fix GitHub release title
Joel Rosdahl [Sun, 14 Sep 2025 17:13:00 +0000 (19:13 +0200)] 
ci: Fix GitHub release title

7 weeks agochore: Update NEWS v4.12
Joel Rosdahl [Sun, 14 Sep 2025 11:32:41 +0000 (13:32 +0200)] 
chore: Update NEWS

7 weeks agochore: Update AUTHORS
Joel Rosdahl [Sun, 14 Sep 2025 11:32:30 +0000 (13:32 +0200)] 
chore: Update AUTHORS

7 weeks agochore: Convert misc/update-authors to Python
Joel Rosdahl [Sun, 14 Sep 2025 11:30:51 +0000 (13:30 +0200)] 
chore: Convert misc/update-authors to Python

7 weeks agochore: Update .mailmap
Joel Rosdahl [Sat, 13 Sep 2025 19:21:13 +0000 (21:21 +0200)] 
chore: Update .mailmap

7 weeks agochore: Add alma-9 dockerfile
Joel Rosdahl [Sun, 14 Sep 2025 11:33:46 +0000 (13:33 +0200)] 
chore: Add alma-9 dockerfile

7 weeks agochore: Add debian-13 dockerfile
Joel Rosdahl [Sat, 13 Sep 2025 09:42:54 +0000 (11:42 +0200)] 
chore: Add debian-13 dockerfile

7 weeks agotest: Simplify get_root()
Joel Rosdahl [Wed, 10 Sep 2025 16:49:29 +0000 (18:49 +0200)] 
test: Simplify get_root()

7 weeks agodocs: Document "Unsupported source encoding" statistics counter
Joel Rosdahl [Tue, 9 Sep 2025 19:17:10 +0000 (21:17 +0200)] 
docs: Document "Unsupported source encoding" statistics counter

7 weeks agotest: Handle GetVolumePathName errors, prevent access violation (#1626)
autoantwort [Wed, 10 Sep 2025 16:48:42 +0000 (18:48 +0200)] 
test: Handle GetVolumePathName errors, prevent access violation (#1626)

For example GetVolumePathName returns `F:/git_projects` on my computer which
does not fit in a char[4]. As a result GetVolumePathName returns an error and
a std::string is initialized from uninitialized memory which may not contain
a '\0' resulting in out of bounds memory reads.

Co-authored-by: Leander Schulten <Leander.Schulten@tetys.de>
7 weeks agofix: Avoid expanding symlinks in relative path candidates
Joel Rosdahl [Tue, 9 Sep 2025 16:34:34 +0000 (18:34 +0200)] 
fix: Avoid expanding symlinks in relative path candidates

Commit 8223ed38abd9cf75ab75cb19dc2081c44bf568d0 changed
make_relative_path to also try matching real_path(path) against the
apparent/actual CWD, assuming that an absolute path p could be
substituted with real_path(p).

This assumption is incorrect for source files: if the source file
includes a file via a relative path, expanding symlinks may cause the
include file to be searched in the wrong directory.

Fix by reverting that change. The new test case "Symlink to source file,
longer symlink path" fails without this fix.

Note: this effectively reverts #724.

Fixes #1620.

7 weeks agochore: Touch up basedir.bash
Joel Rosdahl [Tue, 9 Sep 2025 16:34:07 +0000 (18:34 +0200)] 
chore: Touch up basedir.bash

7 weeks agofix: Hash specs file actually used by GCC
Joel Rosdahl [Sun, 7 Sep 2025 17:10:47 +0000 (19:10 +0200)] 
fix: Hash specs file actually used by GCC

"gcc -specs=foo" (when "foo" doesn't include a slash) makes GCC search
in various system directories for the file, so ccache fails to hash the
file if it's found in such a directory.

Fix this by asking the compiler (using "-print-file-name") which file it
will actually read.

Fixes #1625.

7 weeks agofeat: Add support for Clang --config= option
Joel Rosdahl [Sun, 7 Sep 2025 15:29:18 +0000 (17:29 +0200)] 
feat: Add support for Clang --config= option

Clang >= 16 supports "--config=name" in addition to "--config name".

7 weeks agodocs: Fix markup in NEWS file
Joel Rosdahl [Sat, 6 Sep 2025 14:45:34 +0000 (16:45 +0200)] 
docs: Fix markup in NEWS file

7 weeks agorefactor: Simplify HTTP logging slightly
Joel Rosdahl [Wed, 3 Sep 2025 18:09:42 +0000 (20:09 +0200)] 
refactor: Simplify HTTP logging slightly

7 weeks agochore: Update .mailmap
Joel Rosdahl [Wed, 3 Sep 2025 17:58:28 +0000 (19:58 +0200)] 
chore: Update .mailmap

7 weeks agorefactor: Simplify UTF-16LE to UTF-8 conversion in util::read_file
Joel Rosdahl [Wed, 3 Sep 2025 17:58:00 +0000 (19:58 +0200)] 
refactor: Simplify UTF-16LE to UTF-8 conversion in util::read_file

8 weeks agobump: Upgrade to tl-expected 1.3.1
Joel Rosdahl [Mon, 1 Sep 2025 18:14:39 +0000 (20:14 +0200)] 
bump: Upgrade to tl-expected 1.3.1

8 weeks agobuild(blake3): Don't use NEON on aarch64_be (#1624)
J. Neuschäfer [Sat, 6 Sep 2025 07:21:16 +0000 (09:21 +0200)] 
build(blake3): Don't use NEON on aarch64_be (#1624)

8 weeks agoci: Fix version logic in prepare-release for PR workflows
Joel Rosdahl [Fri, 5 Sep 2025 20:13:39 +0000 (22:13 +0200)] 
ci: Fix version logic in prepare-release for PR workflows

8 weeks agoci: Fix ccache version for PR workflows
Joel Rosdahl [Fri, 5 Sep 2025 18:56:13 +0000 (20:56 +0200)] 
ci: Fix ccache version for PR workflows

8 weeks agofix: Fix crash on HTTP request failure (#1628)
autoantwort [Wed, 3 Sep 2025 18:01:43 +0000 (20:01 +0200)] 
fix: Fix crash on HTTP request failure (#1628)

If the request fails and `result.error() != Error::Success` `result->` can return
a `nullptr` resulting in a null pointer dereference.

Co-authored-by: Leander Schulten <Leander.Schulten@tetys.de>
8 weeks agofix: Fix bad conversion from UTF-16 in util::read_file on Windows (#1627)
autoantwort [Wed, 3 Sep 2025 17:39:13 +0000 (19:39 +0200)] 
fix: Fix bad conversion from UTF-16 in util::read_file on Windows (#1627)

When interpreting a char* string that is null terminated as wchar* string
it is not guaranteed that the wchar* string is also null terminated. A char[3]
string/memeory region with the content ['a', '\0', '\0', 100] interpreted as
wchar* has no ending null character resulting in out of bounds memory reads
when trying to construct a std::wstring from it.

Co-authored-by: Leander Schulten <Leander.Schulten@tetys.de>
2 months agoci: Add jobs to build and create release
Joel Rosdahl [Sat, 30 Aug 2025 10:39:55 +0000 (12:39 +0200)] 
ci: Add jobs to build and create release

This includes new binary releases for Linux aarch64 and Windows aarch64.

Closes #1579. See also discussion #1310.

2 months agoci: Add artifact retention
Joel Rosdahl [Sun, 31 Aug 2025 08:28:12 +0000 (10:28 +0200)] 
ci: Add artifact retention

2 months agoci: Verify llvm-mingw toolchain download
Joel Rosdahl [Wed, 27 Aug 2025 19:03:43 +0000 (21:03 +0200)] 
ci: Verify llvm-mingw toolchain download

2 months agoci: Rename binary jobs to common "-binary" suffix
Joel Rosdahl [Wed, 27 Aug 2025 19:03:03 +0000 (21:03 +0200)] 
ci: Rename binary jobs to common "-binary" suffix

2 months agoci: Add traces to CI jobs to make debug cycle shorter
Joel Rosdahl [Wed, 27 Aug 2025 18:57:45 +0000 (20:57 +0200)] 
ci: Add traces to CI jobs to make debug cycle shorter

2 months agobuild: Improve installation of documentation
Joel Rosdahl [Wed, 27 Aug 2025 18:53:45 +0000 (20:53 +0200)] 
build: Improve installation of documentation

- Make HTML and man page part of "cmake --install".
- Make modifications of man page in-place to avoid leaving a .tmp file
  behind.

2 months agoci: Rename macOS to Darwin in CI context
Joel Rosdahl [Wed, 27 Aug 2025 18:46:45 +0000 (20:46 +0200)] 
ci: Rename macOS to Darwin in CI context

2 months agoci: Rename macOS binary jobs to match others
Joel Rosdahl [Sun, 17 Aug 2025 12:23:47 +0000 (14:23 +0200)] 
ci: Rename macOS binary jobs to match others

2 months agoci: Add documentation build job
Joel Rosdahl [Sun, 17 Aug 2025 12:21:23 +0000 (14:21 +0200)] 
ci: Add documentation build job

2 months agoci: Run on ubuntu-24.04 instead of ubuntu-latest
Joel Rosdahl [Fri, 15 Aug 2025 15:23:51 +0000 (17:23 +0200)] 
ci: Run on ubuntu-24.04 instead of ubuntu-latest

I prefer to avoid *-latest tags.

2 months agoci: Improve binary build jobs
Joel Rosdahl [Sun, 10 Aug 2025 08:56:19 +0000 (10:56 +0200)] 
ci: Improve binary build jobs

For x86_64, build in an Alma Linux 8 container since RHEL 8 is the
oldest still active LTS mainstream Linux distribution to my knowledge.

For aarch64, cross compile in an x86_64 environment instead of in a
native aarch64 environment. This is because I want to be able to build
release binaries locally on my x86_64 machine if there is some problem
with the CI environment and it feels good to match that in CI. The build
is still on Ubuntu 22.04 – I made a quick attempt to get
cross-compilation working in Alma Linux 8 working but gave up.

2 months agoci: Bump to newer codespell and typos versions
Joel Rosdahl [Sun, 31 Aug 2025 08:24:12 +0000 (10:24 +0200)] 
ci: Bump to newer codespell and typos versions

2 months agobuild: Detect ccache version from GitHub Actions environment
Joel Rosdahl [Fri, 8 Aug 2025 18:33:41 +0000 (20:33 +0200)] 
build: Detect ccache version from GitHub Actions environment

2 months agorefactor: Use std::array instead of const char* array (#1623)
autoantwort [Thu, 21 Aug 2025 19:26:17 +0000 (21:26 +0200)] 
refactor: Use std::array instead of const char* array (#1623)

2 months agofeat: Add support for multiple directories in base_dir/CCACHE_BASEDIR
Joel Rosdahl [Sat, 16 Aug 2025 19:09:19 +0000 (21:09 +0200)] 
feat: Add support for multiple directories in base_dir/CCACHE_BASEDIR

Closes #597.

2 months agoenhance: Add util::join_path_list
Joel Rosdahl [Sat, 16 Aug 2025 19:07:29 +0000 (21:07 +0200)] 
enhance: Add util::join_path_list

2 months agoenhance: Implement util::to_string(const fs::path&)
Joel Rosdahl [Sat, 16 Aug 2025 19:06:39 +0000 (21:06 +0200)] 
enhance: Implement util::to_string(const fs::path&)