]> git.ipfire.org Git - thirdparty/ccache.git/log
thirdparty/ccache.git
2 years agochore: Suppress false positive typos
Joel Rosdahl [Sat, 6 Apr 2024 08:09:13 +0000 (10:09 +0200)] 
chore: Suppress false positive typos

2 years agochore: Sort list
Joel Rosdahl [Sat, 6 Apr 2024 08:08:51 +0000 (10:08 +0200)] 
chore: Sort list

2 years agotest: Don't leave fs_test.tmp* files after InodeCache unit tests
Joel Rosdahl [Mon, 1 Apr 2024 19:24:14 +0000 (21:24 +0200)] 
test: Don't leave fs_test.tmp* files after InodeCache unit tests

2 years agochore: Add fedora-40 dockerfile
Joel Rosdahl [Sat, 30 Mar 2024 19:16:58 +0000 (20:16 +0100)] 
chore: Add fedora-40 dockerfile

2 years agochore: Fix typo in LICENSE.adoc
Joel Rosdahl [Wed, 27 Mar 2024 20:06:48 +0000 (21:06 +0100)] 
chore: Fix typo in LICENSE.adoc

2 years agobuild: Move add_compile_flag_if_supported to Utils.cmake
Joel Rosdahl [Sun, 17 Mar 2024 18:13:27 +0000 (19:13 +0100)] 
build: Move add_compile_flag_if_supported to Utils.cmake

2 years agoci: Sort package list
Joel Rosdahl [Sun, 17 Mar 2024 15:01:39 +0000 (16:01 +0100)] 
ci: Sort package list

2 years agochore: Remove redundant copy of DEF_WRAP_1_R
Joel Rosdahl [Sun, 17 Mar 2024 20:38:34 +0000 (21:38 +0100)] 
chore: Remove redundant copy of DEF_WRAP_1_R

2 years agochore: Remove unsupported ubuntu-18.04 build from misc/test-all-systems
Joel Rosdahl [Sun, 17 Mar 2024 14:57:02 +0000 (15:57 +0100)] 
chore: Remove unsupported ubuntu-18.04 build from misc/test-all-systems

2 years agochore: Make it possible to run misc/build-in-docker from any directory
Joel Rosdahl [Sun, 17 Mar 2024 14:56:47 +0000 (15:56 +0100)] 
chore: Make it possible to run misc/build-in-docker from any directory

2 years agochore: Fix build parallelism in ci/build again
Joel Rosdahl [Sun, 17 Mar 2024 14:55:19 +0000 (15:55 +0100)] 
chore: Fix build parallelism in ci/build again

The -j option was removed in 39dcc7488159e6812292ecbd15a1ed25ade493a2,
but that means that builds using make will be serial. Thus add the
option again.

2 years agochore: Start docker containers with --init
Joel Rosdahl [Sun, 17 Mar 2024 14:37:11 +0000 (15:37 +0100)] 
chore: Start docker containers with --init

2 years agochore: Fix grammar
Joel Rosdahl [Sun, 17 Mar 2024 09:53:21 +0000 (10:53 +0100)] 
chore: Fix grammar

2 years agorefactor: Use {read,write}_file for MSYS2 code paths in LockFile
Joel Rosdahl [Sat, 23 Mar 2024 15:39:07 +0000 (16:39 +0100)] 
refactor: Use {read,write}_file for MSYS2 code paths in LockFile

2 years agoenhance: Implement O_EXCL mode for util::write_file
Joel Rosdahl [Sat, 23 Mar 2024 15:29:59 +0000 (16:29 +0100)] 
enhance: Implement O_EXCL mode for util::write_file

2 years agorefactor: Let util::read_file stat fd on POSIX as well
Joel Rosdahl [Sat, 23 Mar 2024 15:03:34 +0000 (16:03 +0100)] 
refactor: Let util::read_file stat fd on POSIX as well

2 years agoenhance: Teach DirEntry how to stat a file descriptor
Joel Rosdahl [Sat, 23 Mar 2024 15:02:13 +0000 (16:02 +0100)] 
enhance: Teach DirEntry how to stat a file descriptor

2 years agofix: Adapt util::LockFile to MSYS2 (#1416)
Kreijstal [Sat, 23 Mar 2024 15:07:49 +0000 (16:07 +0100)] 
fix: Adapt util::LockFile to MSYS2 (#1416)

MSYS2 will not let you create a symlink to a nonexistent file, only to
an already existing file. To overcome this issue we use files, and write
content on it.

For Cygwin/MSYS2, the patch leverages POSIX `open` with the flags
`O_WRONLY | O_CREAT | O_EXCL`, effectively creating an exclusive lock
file. As suggested by @jrosdahl , thank you so much for the suggestion.
This still does not pass the test suite, but makes ccache usable.

2 years agoperf: Optimize file reading on Windows (#1418)
Joel Rosdahl [Sat, 23 Mar 2024 11:54:45 +0000 (12:54 +0100)] 
perf: Optimize file reading on Windows (#1418)

Reading the file in do_hash_file as Bytes skips CRLF to LF conversion
and is therefore way faster.

Optimize read_file size_hint on Windows by getting the file size of the
existing handle instead of opening a duplicate one.

2 years agoOptimize read_file size_hint on Windows 1418/head
Clemens Wasser [Wed, 20 Mar 2024 12:40:58 +0000 (13:40 +0100)] 
Optimize read_file size_hint on Windows

2 years agoRead file in do_hash_file as Bytes
Clemens Wasser [Wed, 20 Mar 2024 12:40:31 +0000 (13:40 +0100)] 
Read file in do_hash_file as Bytes

2 years agofix: Don't use Windows lockfile implementation on MSYS2
Joel Rosdahl [Sun, 17 Mar 2024 14:57:36 +0000 (15:57 +0100)] 
fix: Don't use Windows lockfile implementation on MSYS2

This reverts commit c6a6e6accefe9e79601e56be5f7438cb593ff016, as
requested in #1415.

2 years agobuild: Use Windows BLAKE3 implementation on MSYS2
Joel Rosdahl [Sun, 17 Mar 2024 11:41:06 +0000 (12:41 +0100)] 
build: Use Windows BLAKE3 implementation on MSYS2

Related to issue #1415.

2 years agofix: Use Windows lockfile implementation on MSYS2
Joel Rosdahl [Sun, 17 Mar 2024 11:37:55 +0000 (12:37 +0100)] 
fix: Use Windows lockfile implementation on MSYS2

Likely fixes #1415.

2 years agofeat: Add knowledge about Xcode -ivfsstatcache option
Joel Rosdahl [Sat, 16 Mar 2024 20:55:41 +0000 (21:55 +0100)] 
feat: Add knowledge about Xcode -ivfsstatcache option

Closes #1414.

2 years agobuild: Move CMake configuration of dependencies to a separate file
Joel Rosdahl [Sun, 25 Feb 2024 09:34:02 +0000 (10:34 +0100)] 
build: Move CMake configuration of dependencies to a separate file

2 years agoci: Add CMake toolchain files for cross-compiling to Windows
Joel Rosdahl [Mon, 11 Mar 2024 19:24:36 +0000 (20:24 +0100)] 
ci: Add CMake toolchain files for cross-compiling to Windows

2 years agobuild: Remove obsolete CMake version check
Joel Rosdahl [Fri, 8 Mar 2024 19:43:53 +0000 (20:43 +0100)] 
build: Remove obsolete CMake version check

2 years agotest: Include unistd.h for getpid
Joel Rosdahl [Thu, 7 Mar 2024 20:53:07 +0000 (21:53 +0100)] 
test: Include unistd.h for getpid

2 years agofix: Reduce the risk of false positive direct mode hits
Joel Rosdahl [Sat, 16 Mar 2024 13:42:00 +0000 (14:42 +0100)] 
fix: Reduce the risk of false positive direct mode hits

To reduce the risk of getting a false positive hit when a directory
early in the include path now exists, record whether include directories
and similar input paths exist. Note that this is not 100% waterproof
since it only detects newly appearing directories and not newly
appearing header files.

2 years agochore: Improve source tree structure
Joel Rosdahl [Wed, 21 Feb 2024 21:03:43 +0000 (22:03 +0100)] 
chore: Improve source tree structure

In preparation for adding support for using dependencies from the system
in addition to bundled or downloaded dependencies, restructure the
source tree so that:

- Third party headers are included without a third_party/ prefix, e.g.
  #include <xxhash.h> instead of #include <third_party/xxhash.h>.
- Ccache headers are included with a ccache/ prefix, e.g. #include
  <ccache/util/string.hpp> instead of #include <util/string.hpp>.

This keeps ccache and other headers separated but in another way than
before.

2 years agochore: Remove internal tracing framework
Joel Rosdahl [Wed, 21 Feb 2024 20:20:58 +0000 (21:20 +0100)] 
chore: Remove internal tracing framework

The internal tracing calls enabled by ENABLE_TRACING work fine, but I
have found that I never use them or add tracepoints to new code, so in
reality they mostly contribute with dead weight. In an effort to reduce
the amount of dependencies, I have therefore decided to remove the trace
calls, including the bundled minitrace sources.

2 years agofix: Hash arguments that affect PCH result with MSVC /Yu
Thomas Ferrand [Wed, 6 Mar 2024 19:41:13 +0000 (20:41 +0100)] 
fix: Hash arguments that affect PCH result with MSVC /Yu

Fixes #1410.

2 years agofeat: Add -fprofile-update support (#1408)
Raihaan Shouhell [Sat, 2 Mar 2024 08:37:14 +0000 (16:37 +0800)] 
feat: Add -fprofile-update support (#1408)

2 years agofix: Allow nonexistent include files in preprocessor mode
Joel Rosdahl [Wed, 21 Feb 2024 19:25:03 +0000 (20:25 +0100)] 
fix: Allow nonexistent include files in preprocessor mode

After 43c3a44aadcb nonexistent include files found in the preprocessed
output would increment "Could not read or parse input file" and fall
back to just running the compiler. This made ccache not attempt
preprocessor mode for generated code with #line header referencing files
that can't be found, e.g. in an out-of-source build scenario.

Fix this by just disabling direct mode, restoring the pre-43c3a44aadcb
behavior in such cases.

Fixes #1406.

2 years agochore: Rename util/fmtmacros.hpp to util/format.hpp
Joel Rosdahl [Mon, 19 Feb 2024 19:26:12 +0000 (20:26 +0100)] 
chore: Rename util/fmtmacros.hpp to util/format.hpp

2 years agochore: Add missing #includes
Joel Rosdahl [Mon, 19 Feb 2024 19:10:02 +0000 (20:10 +0100)] 
chore: Add missing #includes

2 years agorefactor: Use util::Bytes::insert for span<const uint8_t>
Joel Rosdahl [Sun, 18 Feb 2024 08:43:34 +0000 (09:43 +0100)] 
refactor: Use util::Bytes::insert for span<const uint8_t>

2 years agoenhance: Add util::Bytes::insert for span<const uint8_t>
Joel Rosdahl [Sun, 18 Feb 2024 08:40:15 +0000 (09:40 +0100)] 
enhance: Add util::Bytes::insert for span<const uint8_t>

2 years agorefactor: Avoid raw fmt::format call in TextTable
Joel Rosdahl [Sun, 18 Feb 2024 08:33:36 +0000 (09:33 +0100)] 
refactor: Avoid raw fmt::format call in TextTable

2 years agochore: Clean up usage of #include in headers
Joel Rosdahl [Sat, 17 Feb 2024 08:46:41 +0000 (09:46 +0100)] 
chore: Clean up usage of #include in headers

2 years agochore: Tweak formatting and comments
Joel Rosdahl [Mon, 12 Feb 2024 20:35:15 +0000 (21:35 +0100)] 
chore: Tweak formatting and comments

2 years agoci: Add new compilers and update actions (#1402)
Raihaan Shouhell [Sun, 11 Feb 2024 17:21:18 +0000 (01:21 +0800)] 
ci: Add new compilers and update actions (#1402)

2 years agofeat: Add support for -fcallgraph-info (#1401)
Raihaan Shouhell [Sun, 11 Feb 2024 17:20:38 +0000 (01:20 +0800)] 
feat: Add support for -fcallgraph-info (#1401)

2 years agofix: Mark -fcallgraph-info as too hard
Joel Rosdahl [Sun, 11 Feb 2024 15:26:03 +0000 (16:26 +0100)] 
fix: Mark -fcallgraph-info as too hard

-fcallgraph-info generates a .ci file which ccache currently doesn't
know how to store and restore.

Fixes #1400.

2 years agofeat: Port the inode cache to Windows (#1388)
Thomas Ferrand [Sun, 11 Feb 2024 15:11:47 +0000 (16:11 +0100)] 
feat: Port the inode cache to Windows (#1388)

This PR ports the existing InodeCache to make it work under Windows.
This speeds up ccache a lot, both in the hit and miss cases, when a lot
of headers files are included in several compilation units. In our case
this makes the difference between ccache being worth using or not.

The logic of the InodeCache itself is unchanged. I introduced a
MemoryMap helper class that does the platform specific calls to
mmap/MapViewOfFile. Despite its generic name, I've implemented what was
needed for the InodeCache, it only supports mapping a file (no anonymous
mmap) in a shared fashion with read/write access.
Due to differences in behavior between unix and Windows regarding
unlinking a file that is opened, I am not convinced that it will work
correctly in every situation (for example if a process hold a bucket
lock for more than 5 seconds, the cache is dropped and recreated, under
Windows that won't work as the unlink will fail). That being said it
seems to work well enough when nothing unexpected happens.

I made a small change to the unit test because under Windows, we can't
open() a directory so instead I try to open a temp file in that
directory. After that change the unit tests pass unmodified.
For the bash based test, only the symbolic link test fails. This is
quite strange, when I try to run the test, the call to `ln -fs test1.c
test2.c` fails, but when run manually the same command succeeds. I tried
to run the test manually and it fails anyway but I haven't done anything
to fix it, this looks like more an issue from the DirEntry side than the
InodeCache side. Because of that I've left the bash based test disabled
for Windows, maybe we want to change that to only disable the symbolic
link test?

2 years agochore: Use brace initialization for integer literals
Joel Rosdahl [Sun, 11 Feb 2024 11:07:27 +0000 (12:07 +0100)] 
chore: Use brace initialization for integer literals

2 years agochore: Bail out on too large files on 32-bit systems
Joel Rosdahl [Sat, 10 Feb 2024 20:33:08 +0000 (21:33 +0100)] 
chore: Bail out on too large files on 32-bit systems

2 years agochore: Improve log messages for selected compression level
Joel Rosdahl [Sat, 10 Feb 2024 09:35:56 +0000 (10:35 +0100)] 
chore: Improve log messages for selected compression level

2 years agoperf: Avoid value initialization of data in util::Bytes
Joel Rosdahl [Sat, 10 Feb 2024 09:14:44 +0000 (10:14 +0100)] 
perf: Avoid value initialization of data in util::Bytes

2 years agofix: Fix reading of files larger than 2^31 bytes
Joel Rosdahl [Sat, 10 Feb 2024 08:54:19 +0000 (09:54 +0100)] 
fix: Fix reading of files larger than 2^31 bytes

For some kernels read(2) makes a short read for counts larger than 2^31,
even for files on 64-bit architectures. Other kernels seem to not like
large counts at all, returning a failure.

Fix this by limiting the read buffer to a smaller value. This also
removes a short read optimization which should have been removed in
cff3bf417420ea88fe53e7267ae2a356898ae326.

2 years agochore: Further improve /Tc and /Tp handling
Joel Rosdahl [Wed, 7 Feb 2024 20:09:02 +0000 (21:09 +0100)] 
chore: Further improve /Tc and /Tp handling

- Remember if /Tc or /Tp was used and prepend it to the source file sent
  to the preprocessor and compiler.
- Mark non-concatenated versions of /Tc and /Tp as too hard for now.

2 years agochore: Fix grammar in NEWS
Joel Rosdahl [Wed, 7 Feb 2024 16:47:51 +0000 (17:47 +0100)] 
chore: Fix grammar in NEWS

2 years agochore: Update NEWS
Joel Rosdahl [Mon, 5 Feb 2024 19:27:16 +0000 (20:27 +0100)] 
chore: Update NEWS

(cherry picked from commit ec510e9b0f333b8e97aee98108de3e0858340d59)

2 years agochore: Update copyright years
Joel Rosdahl [Mon, 5 Feb 2024 19:17:16 +0000 (20:17 +0100)] 
chore: Update copyright years

2 years agofix: Fix MSVC crash when using /Zi /Fddebug.pdb
Joel Rosdahl [Mon, 5 Feb 2024 18:51:49 +0000 (19:51 +0100)] 
fix: Fix MSVC crash when using /Zi /Fddebug.pdb

With /Zi, MSVC starts a long-lived mspdbsrv.exe background process. The
implementation of #1274 kills all processes created by ccache including
mspdbsrv.exe, which can make cl.exe crash with this error message:

    fatal error C1090: PDB API call failed, error code '23': (0x000006BA)

Fix this by setting JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK to only kill
the compiler and not processes that the compiler creates.

Fixes #1386 in a better way.

2 years agochore: Undo revert in "Fix MSVC crash when using /Zi /Fddebug.pdb"
Joel Rosdahl [Mon, 5 Feb 2024 18:42:57 +0000 (19:42 +0100)] 
chore: Undo revert in "Fix MSVC crash when using /Zi /Fddebug.pdb"

In preparation for solving #1386 while keeping the essence of #1274.

This reverts commit a2bf2956d78599b2397081a9e7b253a569c7c932.

2 years agofix: Don't crash on full disk when recompressing the cache
Joel Rosdahl [Sun, 4 Feb 2024 14:33:51 +0000 (15:33 +0100)] 
fix: Don't crash on full disk when recompressing the cache

2 years agochore: Make implementation of /Tc and /Tp actually work
Joel Rosdahl [Sun, 4 Feb 2024 08:26:26 +0000 (09:26 +0100)] 
chore: Make implementation of /Tc and /Tp actually work

In addition to 7b8aaf562feb.

2 years agofix: Detect bad remote storage URLs gracefully again
Joel Rosdahl [Sat, 3 Feb 2024 19:49:57 +0000 (20:49 +0100)] 
fix: Detect bad remote storage URLs gracefully again

Regression in 829f93c48f21.

Fixes #1394.

2 years agofeat: Add support for MSVC /Tc and /Tp options
Joel Rosdahl [Sat, 3 Feb 2024 16:13:12 +0000 (17:13 +0100)] 
feat: Add support for MSVC /Tc and /Tp options

Closes #1387.

2 years agobump: Upgrade to fmt 10.2.1
Joel Rosdahl [Sat, 3 Feb 2024 09:46:33 +0000 (10:46 +0100)] 
bump: Upgrade to fmt 10.2.1

2 years agorefactor: Simplify Statistics::format_machine_readable slightly
Joel Rosdahl [Sat, 3 Feb 2024 09:42:29 +0000 (10:42 +0100)] 
refactor: Simplify Statistics::format_machine_readable slightly

2 years agobump: Upgrade to cpp-httplib 0.15.2
Joel Rosdahl [Wed, 31 Jan 2024 17:00:43 +0000 (18:00 +0100)] 
bump: Upgrade to cpp-httplib 0.15.2

2 years agofix: Fix MSVC crash when using /Zi /Fddebug.pdb
Joel Rosdahl [Mon, 22 Jan 2024 18:56:11 +0000 (19:56 +0100)] 
fix: Fix MSVC crash when using /Zi /Fddebug.pdb

This commit reverts 8e3ada3f830ad0e7d3ddf4eaf2b16e695bd084e4 (#1274).

Fixes #1386.

2 years agofeat: Let --inspect retain atime if possible
Joel Rosdahl [Fri, 26 Jan 2024 19:20:20 +0000 (20:20 +0100)] 
feat: Let --inspect retain atime if possible

For storage that relies on atime for LRU cleanup purposes, it makes
sense not to affect atime when inspecting cache entries.

2 years agoperf: Remove now unnecessary fs::path::string calls
Joel Rosdahl [Sat, 20 Jan 2024 14:04:03 +0000 (15:04 +0100)] 
perf: Remove now unnecessary fs::path::string calls

2 years agorefactor: fs::path-ify core::CacheEntry::Header
Joel Rosdahl [Sat, 20 Jan 2024 14:03:42 +0000 (15:03 +0100)] 
refactor: fs::path-ify core::CacheEntry::Header

2 years agoperf: Use util::PathString instead of fs::path copy
Joel Rosdahl [Sat, 20 Jan 2024 14:03:02 +0000 (15:03 +0100)] 
perf: Use util::PathString instead of fs::path copy

2 years agoenhance: Add util::PathString
Joel Rosdahl [Sat, 20 Jan 2024 14:00:17 +0000 (15:00 +0100)] 
enhance: Add util::PathString

2 years agochore: Remove obsolete section from LICENSE.adoc
Joel Rosdahl [Mon, 15 Jan 2024 20:36:04 +0000 (21:36 +0100)] 
chore: Remove obsolete section from LICENSE.adoc

2 years agochore: Fix some clang-tidy warnings
Joel Rosdahl [Mon, 15 Jan 2024 17:51:01 +0000 (18:51 +0100)] 
chore: Fix some clang-tidy warnings

2 years agofeat: Add support for MSVC /Yc option (precompiled headers) (#1384)
Clemens Wasser [Wed, 24 Jan 2024 19:58:47 +0000 (20:58 +0100)] 
feat: Add support for MSVC /Yc option (precompiled headers) (#1384)

2 years agofeat: Add `--print-stats` format selection, JSON format (#1382)
Kaspar Schleiser [Mon, 22 Jan 2024 19:22:06 +0000 (20:22 +0100)] 
feat: Add `--print-stats` format selection, JSON format (#1382)

2 years agofeat: Add `--print-log-stats` (#1381)
Kaspar Schleiser [Sat, 20 Jan 2024 19:42:15 +0000 (20:42 +0100)] 
feat: Add `--print-log-stats` (#1381)

This adds a "machine readable" variant of `--show-log-stats`, similar to
`--print-stats` as a variant of `--show-stats`.

2 years agochore: Remove left-over debug comment
Joel Rosdahl [Sun, 14 Jan 2024 10:48:40 +0000 (11:48 +0100)] 
chore: Remove left-over debug comment

2 years agofix: Disable caching for modified source/include files
Joel Rosdahl [Sun, 14 Jan 2024 09:46:54 +0000 (10:46 +0100)] 
fix: Disable caching for modified source/include files

On a cache miss, ccache opts out of the direct mode when a "too new"
include file is found. This is done to avoid a race condition in the
direct mode when a header file if modified after ccache is invoked but
before the compiler is executed. Modifying the main source code file is
not a race condition when "run_second_cpp = false", which was the case
at the time the direct mode was introduced. However, the default of
run_second_cpp was changed to true in ccache 3.3, and the potiential
race condition then exists for both the source and the include files.

Fix this by disabling caching completely (not only the direct mode) when
modification of a source/include file is detected.

Closes #1378.

2 years agofeat: Allow any prefix in prefix_command(_cpp) options
Joel Rosdahl [Sun, 14 Jan 2024 09:41:58 +0000 (10:41 +0100)] 
feat: Allow any prefix in prefix_command(_cpp) options

The prefix_command and prefix_command_cpp configuration options require
that the prefixes can be found in PATH.

This commit relaxes this requirement so that a relative prefix can be
used and a prefix program can have arguments.

2 years agorefactor: fs::path-ify util::is_dev_null_path
Joel Rosdahl [Sun, 14 Jan 2024 09:36:10 +0000 (10:36 +0100)] 
refactor: fs::path-ify util::is_dev_null_path

2 years agoenhance: Add Args::push_back(std::string&& arg)
Joel Rosdahl [Sun, 14 Jan 2024 09:35:25 +0000 (10:35 +0100)] 
enhance: Add Args::push_back(std::string&& arg)

2 years agochore: Remove time_of_compilation in favor of time_of_invocation
Joel Rosdahl [Tue, 9 Jan 2024 20:28:34 +0000 (21:28 +0100)] 
chore: Remove time_of_compilation in favor of time_of_invocation

We can compare source/include files against time of invocation just as
well; source files shouldn't be modified when ccache has started anyway.

2 years agorefactor: Move Util::is_absolute_path_with_prefix to util
Joel Rosdahl [Sun, 7 Jan 2024 13:53:01 +0000 (14:53 +0100)] 
refactor: Move Util::is_absolute_path_with_prefix to util

2 years agorefactor: Use std::string_view in compopt functions
Joel Rosdahl [Sun, 7 Jan 2024 12:29:20 +0000 (13:29 +0100)] 
refactor: Use std::string_view in compopt functions

2 years agofix: Avoid crash for -arch as last compiler option
Joel Rosdahl [Sat, 6 Jan 2024 19:21:44 +0000 (20:21 +0100)] 
fix: Avoid crash for -arch as last compiler option

The bug has been present since 89aa39f394e0fa4935e6cadd7184e372a37f9506
(ccache 3.3).

Fixes #1377.

2 years agorefactor: Convert usage of Util::remove_extension to std::filesystem
Joel Rosdahl [Tue, 2 Jan 2024 15:25:55 +0000 (16:25 +0100)] 
refactor: Convert usage of Util::remove_extension to std::filesystem

2 years agorefactor: Convert usage of Util::dir_name to std::filesystem
Joel Rosdahl [Tue, 2 Jan 2024 15:11:32 +0000 (16:11 +0100)] 
refactor: Convert usage of Util::dir_name to std::filesystem

2 years agoenhance: Add wrapper of std::filesystem::equivalent
Joel Rosdahl [Sat, 6 Jan 2024 20:11:20 +0000 (21:11 +0100)] 
enhance: Add wrapper of std::filesystem::equivalent

2 years agorefactor: Convert usage of Util::change_extension to std::filesystem
Joel Rosdahl [Tue, 2 Jan 2024 14:12:08 +0000 (15:12 +0100)] 
refactor: Convert usage of Util::change_extension to std::filesystem

2 years agorefactor: Convert usage of Util::get_extension to std::filesystem
Joel Rosdahl [Mon, 1 Jan 2024 12:37:53 +0000 (13:37 +0100)] 
refactor: Convert usage of Util::get_extension to std::filesystem

2 years agorefactor: Convert usage of util::real_path to std::filesystem
Joel Rosdahl [Sun, 31 Dec 2023 14:47:06 +0000 (15:47 +0100)] 
refactor: Convert usage of util::real_path to std::filesystem

2 years agotest: Add test of core::rewrite_stderr_to_absolute_paths
Joel Rosdahl [Sun, 31 Dec 2023 14:20:16 +0000 (15:20 +0100)] 
test: Add test of core::rewrite_stderr_to_absolute_paths

2 years agorefactor: Convert usage of Util::base_name to std::filesystem
Joel Rosdahl [Sun, 31 Dec 2023 10:10:27 +0000 (11:10 +0100)] 
refactor: Convert usage of Util::base_name to std::filesystem

2 years agoenhance: Add wrapper of std::filesystem::is_regular_file
Joel Rosdahl [Sun, 31 Dec 2023 14:45:49 +0000 (15:45 +0100)] 
enhance: Add wrapper of std::filesystem::is_regular_file

2 years agorefactor: fs::path-ify TestUtil
Joel Rosdahl [Sun, 31 Dec 2023 09:42:09 +0000 (10:42 +0100)] 
refactor: fs::path-ify TestUtil

2 years agochore: Update authors v4.9
Joel Rosdahl [Sat, 30 Dec 2023 15:08:02 +0000 (16:08 +0100)] 
chore: Update authors

2 years agochore: Update NEWS
Joel Rosdahl [Sat, 30 Dec 2023 15:05:19 +0000 (16:05 +0100)] 
chore: Update NEWS

2 years agoci: Add typos job
Joel Rosdahl [Sat, 30 Dec 2023 09:27:40 +0000 (10:27 +0100)] 
ci: Add typos job

2 years agoci: Bump to codespell 2.2.6
Joel Rosdahl [Sat, 30 Dec 2023 09:25:16 +0000 (10:25 +0100)] 
ci: Bump to codespell 2.2.6

2 years agofeat: Add support for undocumented GCC/Clang --include option
Joel Rosdahl [Fri, 22 Dec 2023 12:41:17 +0000 (13:41 +0100)] 
feat: Add support for undocumented GCC/Clang --include option

Note: Clang accepts a concatenated argument (--includefoo.h) but GCC
does not.

Closes #1324.

2 years agobump: Upgrade to cpp-httplib 0.14.3
Joel Rosdahl [Fri, 22 Dec 2023 12:37:24 +0000 (13:37 +0100)] 
bump: Upgrade to cpp-httplib 0.14.3