]> git.ipfire.org Git - thirdparty/ccache.git/log
thirdparty/ccache.git
2 years agorefactor: Use std::filesystem::canonical
Joel Rosdahl [Wed, 12 Jul 2023 19:15:31 +0000 (21:15 +0200)] 
refactor: Use std::filesystem::canonical

2 years agorefactor: Use std::filesystem::temp_directory_path
Joel Rosdahl [Wed, 12 Jul 2023 18:42:42 +0000 (20:42 +0200)] 
refactor: Use std::filesystem::temp_directory_path

2 years agochore: Tweak code style
Joel Rosdahl [Wed, 12 Jul 2023 11:57:07 +0000 (13:57 +0200)] 
chore: Tweak code style

2 years agobump: Upgrade to hiredis 1.2.0
Joel Rosdahl [Wed, 12 Jul 2023 09:18:07 +0000 (11:18 +0200)] 
bump: Upgrade to hiredis 1.2.0

2 years agofeat: Support multiple -Xarch_* arguments matching -arch (#1131)
Tadej Novak [Wed, 12 Jul 2023 11:50:31 +0000 (13:50 +0200)] 
feat: Support multiple -Xarch_* arguments matching -arch (#1131)

2 years agorefactor: Move Util::rename to util
Joel Rosdahl [Tue, 11 Jul 2023 13:08:29 +0000 (15:08 +0200)] 
refactor: Move Util::rename to util

2 years agorefactor: Use fs::read_symlink instead of custom implementation
Joel Rosdahl [Tue, 11 Jul 2023 06:07:28 +0000 (08:07 +0200)] 
refactor: Use fs::read_symlink instead of custom implementation

2 years agorefactor: Get rid of asprintf usage and Windows compatibility wrapper
Joel Rosdahl [Mon, 10 Jul 2023 06:15:57 +0000 (08:15 +0200)] 
refactor: Get rid of asprintf usage and Windows compatibility wrapper

2 years agorefactor: Use fs::create_hard_link instead of custom implementation
Joel Rosdahl [Sun, 9 Jul 2023 19:53:54 +0000 (21:53 +0200)] 
refactor: Use fs::create_hard_link instead of custom implementation

2 years agorefactor: Move copy_file to util
Joel Rosdahl [Sun, 9 Jul 2023 17:08:20 +0000 (19:08 +0200)] 
refactor: Move copy_file to util

2 years agorefactor: Move clone_hard_link_or_copy_file to local storage class
Joel Rosdahl [Sun, 9 Jul 2023 16:36:31 +0000 (18:36 +0200)] 
refactor: Move clone_hard_link_or_copy_file to local storage class

2 years agorefactor: Move environment utility functions to util
Joel Rosdahl [Fri, 7 Jul 2023 14:42:23 +0000 (16:42 +0200)] 
refactor: Move environment utility functions to util

2 years agorefactor: Move functions for endian conversion to util
Joel Rosdahl [Fri, 7 Jul 2023 14:31:31 +0000 (16:31 +0200)] 
refactor: Move functions for endian conversion to util

2 years agorefactor: Move data type conversion utilities to util
Joel Rosdahl [Fri, 7 Jul 2023 14:24:40 +0000 (16:24 +0200)] 
refactor: Move data type conversion utilities to util

2 years agorefactor: Improve InodeCache::get signature
Joel Rosdahl [Fri, 7 Jul 2023 14:01:59 +0000 (16:01 +0200)] 
refactor: Improve InodeCache::get signature

2 years agochore: Remove now unused Hash::HashType distinction
Joel Rosdahl [Fri, 7 Jul 2023 13:44:28 +0000 (15:44 +0200)] 
chore: Remove now unused Hash::HashType distinction

After 561be2085df94b3c35dd803e56668e6feafc93b7 hash debugging will never
be enabled for a Hash instance that hashes binary data, so remove the
now unused Hash::HashType enum and related code.

2 years agorefactor: Use nonstd::span for data+size in more places
Joel Rosdahl [Fri, 7 Jul 2023 13:35:33 +0000 (15:35 +0200)] 
refactor: Use nonstd::span for data+size in more places

2 years agorefactor: Use std::array for hash digests instead of custom class
Joel Rosdahl [Fri, 7 Jul 2023 10:00:24 +0000 (12:00 +0200)] 
refactor: Use std::array for hash digests instead of custom class

2 years agorefactor: Improve format_base16/format_base32hex implementations
Joel Rosdahl [Fri, 7 Jul 2023 09:17:43 +0000 (11:17 +0200)] 
refactor: Improve format_base16/format_base32hex implementations

2 years agorefactor: Move format_base16/format_base32hex to util
Joel Rosdahl [Fri, 7 Jul 2023 08:29:40 +0000 (10:29 +0200)] 
refactor: Move format_base16/format_base32hex to util

2 years agochore: Add missing #include statements
Joel Rosdahl [Fri, 7 Jul 2023 08:29:18 +0000 (10:29 +0200)] 
chore: Add missing #include statements

2 years agobump: Upgrade to BLAKE3 1.4.1
Joel Rosdahl [Fri, 7 Jul 2023 06:53:31 +0000 (08:53 +0200)] 
bump: Upgrade to BLAKE3 1.4.1

2 years agochore: Tweak code style
Joel Rosdahl [Thu, 6 Jul 2023 16:51:13 +0000 (18:51 +0200)] 
chore: Tweak code style

2 years agofeat: Kill Windows compiler subprocess when ccache is aborted (#1274)
Andreas Reischuck [Thu, 6 Jul 2023 16:35:01 +0000 (18:35 +0200)] 
feat: Kill Windows compiler subprocess when ccache is aborted (#1274)

2 years agofeat: Support escaping dollar signs in configuration values
Joel Rosdahl [Sun, 2 Jul 2023 08:44:16 +0000 (10:44 +0200)] 
feat: Support escaping dollar signs in configuration values

2 years agofeat: Support environment variables in all configuration items
Joel Rosdahl [Sun, 2 Jul 2023 08:36:13 +0000 (10:36 +0200)] 
feat: Support environment variables in all configuration items

As mentioned in #1307.

2 years agochore: Remove stray -warnings-as-errors entry in .clang-tidy
Joel Rosdahl [Sat, 1 Jul 2023 08:33:17 +0000 (10:33 +0200)] 
chore: Remove stray -warnings-as-errors entry in .clang-tidy

2 years agochore: Improve log message for nonexistent header file for manifest
Joel Rosdahl [Sat, 1 Jul 2023 08:00:40 +0000 (10:00 +0200)] 
chore: Improve log message for nonexistent header file for manifest

2 years agochore: Make some constructors explicit
Joel Rosdahl [Fri, 30 Jun 2023 20:00:13 +0000 (22:00 +0200)] 
chore: Make some constructors explicit

2 years agofeat: Expand environment variables in debug_dir configuration (#1307)
cupu [Sun, 2 Jul 2023 08:34:13 +0000 (10:34 +0200)] 
feat: Expand environment variables in debug_dir configuration (#1307)

2 years agofix: Improve nvcc handling of -Xcompiler and --Werror (#1304)
Andrew Hardin [Thu, 29 Jun 2023 19:38:06 +0000 (13:38 -0600)] 
fix: Improve nvcc handling of -Xcompiler and --Werror (#1304)

2 years agofix: Improve MSVC .rsp file parsing (#1303)
Jiri Hörner [Thu, 29 Jun 2023 19:03:59 +0000 (21:03 +0200)] 
fix: Improve MSVC .rsp file parsing (#1303)

2 years agofeat: Let ignore_options/CCACHE_IGNOREOPTIONS also skip option
Joel Rosdahl [Wed, 21 Jun 2023 19:22:44 +0000 (21:22 +0200)] 
feat: Let ignore_options/CCACHE_IGNOREOPTIONS also skip option

The ignore_options (CCACHE_IGNOREOPTIONS) configuration makes ccache
exclude matching compiler options from the input hash. This commit also
makes ccache skip matching compiler options from any special processing,
similar to how --ccache-skip works.

As discussed in #1284 and #1301.

2 years agochore: Update typos configuration
Joel Rosdahl [Wed, 14 Jun 2023 18:49:31 +0000 (20:49 +0200)] 
chore: Update typos configuration

2 years agofeat: Don't hash /Fd, /FS or /MP (#1298)
huangqinjin [Wed, 21 Jun 2023 18:04:27 +0000 (02:04 +0800)] 
feat: Don't hash /Fd, /FS or /MP (#1298)

/Fd is to specify the file name of output PDB. But currently ccache only
supports /Z7 which doesn't generate PDB at compile time.

/FS forces writes to PDB to be serialized through MSPDBSRV.EXE.
It shouldn't affect generated files and it has no effect for /Z7.

/MP enables /FS. It creates multiple compiler instances and simultaneously
compile multiple source files which is not supported by ccache.

2 years agochore: Fix bad markup in NEWS.adoc
Joel Rosdahl [Thu, 15 Jun 2023 11:13:06 +0000 (13:13 +0200)] 
chore: Fix bad markup in NEWS.adoc

2 years agochore: Update authors v4.8.2
Joel Rosdahl [Mon, 12 Jun 2023 19:17:31 +0000 (21:17 +0200)] 
chore: Update authors

2 years agochore: Update NEWS
Joel Rosdahl [Mon, 12 Jun 2023 18:58:30 +0000 (20:58 +0200)] 
chore: Update NEWS

2 years agochore: Update .mailmap
Joel Rosdahl [Sun, 11 Jun 2023 16:11:00 +0000 (18:11 +0200)] 
chore: Update .mailmap

2 years agobump: Upgrade to cpp-httplib 0.12.6
Joel Rosdahl [Sat, 10 Jun 2023 11:25:40 +0000 (13:25 +0200)] 
bump: Upgrade to cpp-httplib 0.12.6

2 years agobump: Upgrade to BLAKE3 1.4.0
Joel Rosdahl [Fri, 9 Jun 2023 14:21:47 +0000 (16:21 +0200)] 
bump: Upgrade to BLAKE3 1.4.0

2 years agorefactor: Use std::size to compute array size (#1297)
Gregor Jasny [Wed, 7 Jun 2023 19:11:51 +0000 (21:11 +0200)] 
refactor: Use std::size to compute array size (#1297)

2 years agobuild: Fix Xcode build of zstd (#1296)
Gregor Jasny [Wed, 7 Jun 2023 19:11:07 +0000 (21:11 +0200)] 
build: Fix Xcode build of zstd (#1296)

Reproducer (CMake 3.26.4, Xcode 14.3):

    cmake -B _build -GXcode -DCMAKE_OSX_ARCHITECTURES=x86_64 \
          -DZSTD_FROM_INTERNET=ON -DREDIS_STORAGE_BACKEND=OFF
    cmake --build _build

See facebook/zstd#3622

2 years agofix: Keep the order of MSVC showIncludes output (#1295)
huangqinjin [Wed, 7 Jun 2023 06:51:38 +0000 (14:51 +0800)] 
fix: Keep the order of MSVC showIncludes output (#1295)

The bug is introduced in commit 3ec0d4ec961cb0c67ff1603b83a6026d9f3abbb5.

2 years agofix: Don't pass -v to the preprocessor
Joel Rosdahl [Tue, 6 Jun 2023 19:42:12 +0000 (21:42 +0200)] 
fix: Don't pass -v to the preprocessor

The -v option tells the compiler to print various diagnostics to stdout,
including randomly generated filenames. When ccache calls the
preprocessor and -v is on the command line, the random information will
become part of the input hash, making the preprocessor mode always
produce cache misses.

Fix this by only passing -v when compiling, not preprocessing.

Closes #1293.

2 years agoMerge pull request #1290 from rkitover/cmake-fixes
Joel Rosdahl [Tue, 6 Jun 2023 19:34:18 +0000 (21:34 +0200)] 
Merge pull request #1290 from rkitover/cmake-fixes

2 years agochore: Add basic CMakeSettings.json for VS IDE 1290/head
Rafael Kitover [Mon, 22 May 2023 22:54:56 +0000 (22:54 +0000)] 
chore: Add basic CMakeSettings.json for VS IDE

Add a basic CMakeSettings.json for the Visual Studio IDE using defaults
and Ninja as the generator, for x64, x86 and arm64.

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2 years agofix: Quiet cmake warning for extracted timestamps
Rafael Kitover [Tue, 23 May 2023 21:42:12 +0000 (21:42 +0000)] 
fix: Quiet cmake warning for extracted timestamps

For zstd and hiredis downloaded from the Internet, set cmake policy
CMP0135 to NEW to set the timestamps of extracted archive members to the
time of extraction to suppress the cmake dev warning on newer versions
of cmake.

Check that the policy exists so that this works on older versions of
cmake.

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2 years agochore: Re-enable 64 bit msbuild ci jobs
Rafael Kitover [Mon, 22 May 2023 22:19:22 +0000 (22:19 +0000)] 
chore: Re-enable 64 bit msbuild ci jobs

Fixed by 70bf22a5 (fix: Disable masm on msbuild for blake3 with VS,
2023-05-22).

References #1278

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2 years agofix: Disable masm on msbuild for blake3 with VS
Rafael Kitover [Mon, 22 May 2023 22:13:19 +0000 (22:13 +0000)] 
fix: Disable masm on msbuild for blake3 with VS

Because of some bug with either msbuild or the cmake generator, the C
compiler flags are passed to the masm assembler making it fail.

Use the C intrinsic versions for blake3 when msbuild is in use.

Fix #1278

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2 years agobump: Update blake3 1.3.1 -> 71a2646
Rafael Kitover [Tue, 23 May 2023 21:04:36 +0000 (21:04 +0000)] 
bump: Update blake3 1.3.1 -> 71a2646

Update blake3 to master, commit 71a2646 .

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
2 years agodocs: Clarify --evict-older-than semantics
Joel Rosdahl [Wed, 31 May 2023 17:39:06 +0000 (19:39 +0200)] 
docs: Clarify --evict-older-than semantics

Closes #1292.

2 years agofix: Support Windows drive letter in file URLs for remote storage
Joel Rosdahl [Wed, 24 May 2023 19:04:30 +0000 (21:04 +0200)] 
fix: Support Windows drive letter in file URLs for remote storage

Closes #1291.

2 years agofix: Make --trim-max-size accept 0 for no limit
Joel Rosdahl [Tue, 23 May 2023 19:30:11 +0000 (21:30 +0200)] 
fix: Make --trim-max-size accept 0 for no limit

2 years agotest: Simplify util::read_file_part test again
Joel Rosdahl [Mon, 22 May 2023 19:35:30 +0000 (21:35 +0200)] 
test: Simplify util::read_file_part test again

2 years agobuild: Enable _GLIBCXX_ASSERTIONS in debug build mode
Joel Rosdahl [Mon, 22 May 2023 18:09:46 +0000 (20:09 +0200)] 
build: Enable _GLIBCXX_ASSERTIONS in debug build mode

See also #1288.

2 years agofix: Fix undefined behavior in util::read_file_part for zero count
Joel Rosdahl [Mon, 22 May 2023 17:58:41 +0000 (19:58 +0200)] 
fix: Fix undefined behavior in util::read_file_part for zero count

If util::read_file_part's count argument is 0 (which can currently only
happen in unit tests), we'll do &result[0] where result is
default-initialized std::unique_ptr<uint8_t[]>. This is not allowed even
though we won't actually dereference the pointer. Found by compiling
with -D_GLIBCXX_ASSERTIONS.

Fixes #1288.

2 years agotest: Fix typo (missing line continuation) (#1287)
Sam James [Mon, 22 May 2023 17:58:20 +0000 (18:58 +0100)] 
test: Fix typo (missing line continuation) (#1287)

Fixes  typo in ef634bdb292e1e24b8d1b5490e7857144a77c0fd.

2 years agochore: Update authors v4.8.1
Joel Rosdahl [Fri, 19 May 2023 18:15:08 +0000 (20:15 +0200)] 
chore: Update authors

2 years agochore: Update NEWS
Joel Rosdahl [Fri, 19 May 2023 18:12:17 +0000 (20:12 +0200)] 
chore: Update NEWS

2 years agobump: Upgrade to cpp-httplib 0.12.3
Joel Rosdahl [Sun, 14 May 2023 14:34:10 +0000 (16:34 +0200)] 
bump: Upgrade to cpp-httplib 0.12.3

2 years agotest: Fix test failure in GitHub CI mingw64 jobs
Joel Rosdahl [Sun, 7 May 2023 19:23:56 +0000 (21:23 +0200)] 
test: Fix test failure in GitHub CI mingw64 jobs

2 years agodoc: Add remote file storage example with URL-encoded space
Joel Rosdahl [Sat, 6 May 2023 18:19:28 +0000 (20:19 +0200)] 
doc: Add remote file storage example with URL-encoded space

As suggested in #1281.

2 years agobump: Upgrade to doctest 2.4.11
Joel Rosdahl [Sat, 22 Apr 2023 12:23:24 +0000 (14:23 +0200)] 
bump: Upgrade to doctest 2.4.11

Fixes #1194.

2 years agochore: Suppress clang-tidy warnings we don't want to fix
Joel Rosdahl [Wed, 19 Apr 2023 20:03:22 +0000 (22:03 +0200)] 
chore: Suppress clang-tidy warnings we don't want to fix

2 years agorefactor: Improve calculate_result_and_manifest_key parameters
Joel Rosdahl [Wed, 19 Apr 2023 20:02:00 +0000 (22:02 +0200)] 
refactor: Improve calculate_result_and_manifest_key parameters

As suggested by clang-tidy
(readability-suspicious-call-argument,-warnings-as-errors).

2 years agorefactor: Use constructor member initializer lists
Joel Rosdahl [Wed, 19 Apr 2023 20:00:38 +0000 (22:00 +0200)] 
refactor: Use constructor member initializer lists

As suggested by clang-tidy
(cppcoreguidelines-prefer-member-initializer).

2 years agorefactor: Use std::unique_ptr for data in util::Bytes
Joel Rosdahl [Wed, 19 Apr 2023 19:00:35 +0000 (21:00 +0200)] 
refactor: Use std::unique_ptr for data in util::Bytes

2 years agochore: Sort .clang-tidy check list
Joel Rosdahl [Wed, 19 Apr 2023 16:58:26 +0000 (18:58 +0200)] 
chore: Sort .clang-tidy check list

2 years agochore: Add comments for all statistics counters
Joel Rosdahl [Wed, 19 Apr 2023 15:08:18 +0000 (17:08 +0200)] 
chore: Add comments for all statistics counters

As suggested in discussion #1271.

2 years agorefactor: Extract MSVC debug option logic to a function
Joel Rosdahl [Wed, 19 Apr 2023 14:24:14 +0000 (16:24 +0200)] 
refactor: Extract MSVC debug option logic to a function

2 years agofix: Limit MSVC debug flag detection to documented parameters (#1263)
Stephan Rohmen [Wed, 19 Apr 2023 14:16:03 +0000 (16:16 +0200)] 
fix: Limit MSVC debug flag detection to documented parameters (#1263)

2 years agofix: Don't add additional depend mode options after Clang -- option
Joel Rosdahl [Mon, 17 Apr 2023 18:51:38 +0000 (20:51 +0200)] 
fix: Don't add additional depend mode options after Clang -- option

With the depend mode enabled, ccache executes the original command line
verbatim, potentially with the addition of a few extra options. However,
for clang or clang-cl it is not possible to simply append the additional
options to the end of the original command line since there may be a
"--" option to indicate the end of options.

Fix this by inserting the additional options directly after the compiler
instead of at the end.

Fixes #1273.

2 years agobump: Update to zstd 1.5.5 (#1272)
Raihaan Shouhell [Mon, 17 Apr 2023 17:58:10 +0000 (01:58 +0800)] 
bump: Update to zstd 1.5.5 (#1272)

2 years agofix: Find Ccache version from lightweight Git tag
Joel Rosdahl [Mon, 17 Apr 2023 16:08:24 +0000 (18:08 +0200)] 
fix: Find Ccache version from lightweight Git tag

Ccache calculates its version from a matching Git tag by using the "git
describe" command, which only considers annotated tags. All ccache tags
are annotated. However, when running a GitHub action job for a tag the
local Git repository is (at least by default) a shallow clone with the
tag being converted to a lightweight tag. This makes "git describe" not
see the tag.

Fix this by adding --tags to "git describe" to make it consider
lightweight tags as well.

Fixes #1270.

2 years agotest: Add test for default value of inode_cache
Joel Rosdahl [Sun, 19 Mar 2023 12:25:50 +0000 (13:25 +0100)] 
test: Add test for default value of inode_cache

2 years agofix: Make output of "ccache -k max_size" parsable
Joel Rosdahl [Mon, 13 Mar 2023 18:26:50 +0000 (19:26 +0100)] 
fix: Make output of "ccache -k max_size" parsable

2 years agoci: Disable Windows 64-bit MSBuild jobs for now
Joel Rosdahl [Mon, 17 Apr 2023 06:26:13 +0000 (08:26 +0200)] 
ci: Disable Windows 64-bit MSBuild jobs for now

The Windows VS2019 64-bit MSBuild and Windows VS2022 64-bit MSBuild
GitHub actions jobs have started failing on master due to some changes
in the CI environment. See issue #1278.

2 years agofeat: Don't treat /Zi as unsupported for clang-cl (#1266)
Tobias Hieta [Tue, 28 Mar 2023 19:45:37 +0000 (21:45 +0200)] 
feat: Don't treat /Zi as unsupported for clang-cl (#1266)

For MSVC /Zi is unsupported since it writes a additional
.pdb file per each .obj file and it creates some messy
interaction with ccache. But for clang-cl /Zi is actually
treated as /Z7 and only embeds the debug info in the .obj
file so it makes sense to allow this flag when compiling
with clang-cl.

2 years agoUpdate NEWS
Joel Rosdahl [Mon, 20 Mar 2023 19:42:14 +0000 (20:42 +0100)] 
Update NEWS

(cherry picked from commit 9b1033f3ae534e5aad02c10f663b589b8f28c026)

2 years agobuild: Make ccache compile with clang-cl on Windows (#1260)
Tobias Hieta [Thu, 16 Mar 2023 17:27:16 +0000 (18:27 +0100)] 
build: Make ccache compile with clang-cl on Windows (#1260)

2 years agochore: Update copyright years v4.8
Joel Rosdahl [Sun, 12 Mar 2023 21:00:43 +0000 (22:00 +0100)] 
chore: Update copyright years

2 years agochore: Update NEWS
Joel Rosdahl [Sun, 12 Mar 2023 21:00:38 +0000 (22:00 +0100)] 
chore: Update NEWS

2 years agoRevert "bump: Upgrade to zstd 1.5.4"
Joel Rosdahl [Sun, 12 Mar 2023 20:57:39 +0000 (21:57 +0100)] 
Revert "bump: Upgrade to zstd 1.5.4"

This reverts commit 1853902f75567089a5ef46511573c7f352c6c232.

zstd 1.5.4 requires CMake 3.18+ (by mistake), so downgrade for now.

2 years agochore: Fix typos
Joel Rosdahl [Wed, 8 Mar 2023 19:24:25 +0000 (20:24 +0100)] 
chore: Fix typos

2 years agochore: Add typos configuration
Joel Rosdahl [Wed, 8 Mar 2023 17:49:44 +0000 (18:49 +0100)] 
chore: Add typos configuration

2 years agofeat: Support overriding MSVC /Z* options
Joel Rosdahl [Wed, 8 Mar 2023 07:10:27 +0000 (08:10 +0100)] 
feat: Support overriding MSVC /Z* options

MSVC options /Zi and /ZI are too hard since they produce separate PDB
files. /Z7 is OK, but if the command line contains /Zi or /ZI followed
by /Z7, MSVC will use the latter (with a warning) but ccache will still
consider the command line too hard.

This commit makes ccache understand that only the last /Z* option will
be used and thus accepts the command line if the last /Z* option is /Z7.

Closes #1239.

2 years agorefactor: Improve InodeCache::get signature
Joel Rosdahl [Tue, 7 Mar 2023 19:40:10 +0000 (20:40 +0100)] 
refactor: Improve InodeCache::get signature

2 years agofeat: Make it possible to disable ccache for a certain source code file
Joel Rosdahl [Mon, 6 Mar 2023 20:22:25 +0000 (21:22 +0100)] 
feat: Make it possible to disable ccache for a certain source code file

2 years agoenhance: Add util::read_file_part<std::string> implementation
Joel Rosdahl [Mon, 6 Mar 2023 20:22:05 +0000 (21:22 +0100)] 
enhance: Add util::read_file_part<std::string> implementation

2 years agorefactor: Use util::BitSet for hash_source_code_file
Joel Rosdahl [Mon, 6 Mar 2023 19:26:06 +0000 (20:26 +0100)] 
refactor: Use util::BitSet for hash_source_code_file

2 years agorefactor: Use util::BitSet for core::Sloppiness
Joel Rosdahl [Sun, 5 Mar 2023 11:25:57 +0000 (12:25 +0100)] 
refactor: Use util::BitSet for core::Sloppiness

2 years agoenhance: Add util::BitSet
Joel Rosdahl [Sun, 5 Mar 2023 11:17:31 +0000 (12:17 +0100)] 
enhance: Add util::BitSet

2 years agobump: Upgrade to doctest 2.4.10
Joel Rosdahl [Sat, 4 Mar 2023 09:18:47 +0000 (10:18 +0100)] 
bump: Upgrade to doctest 2.4.10

2 years agofeat: Improve cache size presentation and specification
Joel Rosdahl [Thu, 2 Mar 2023 17:14:49 +0000 (18:14 +0100)] 
feat: Improve cache size presentation and specification

Aligned how cache size is presented (in "ccache --show-stats", "ccache
--show-compression", "ccache --recompress", debug logs, etc.) and
specified (in configuration files, "ccache --max-size" and "ccache
--trim-max-size"). The size units are now formatted according to the
type of size unit prefix used for the max_size/CCACHE_MAXSIZE setting: a
decimal size unit prefix (k/M/G/T with or without B for bytes) in
max_size means using decimal size unit prefix for presented sizes, and
similar for binary size unit prefixes (Ki/Mi/Gi/Ti with or without B for
bytes). If no unit is specified, GiB is assumed, . For example, "ccache -M
10" means 10 GiB.

Also aligned how cache sizes are calculated. Now all sizes are computed
as "apparent size", i.e., rounded up to the disk block size. This means
that the cache size in "--show-stats" and the sizes presented in
"--show-compression" and "--recompress" now match.

2 years agoenhance: Add util::TextTable::Cell::Cell(std::string_view)
Joel Rosdahl [Wed, 1 Mar 2023 18:06:26 +0000 (19:06 +0100)] 
enhance: Add util::TextTable::Cell::Cell(std::string_view)

2 years agofeat: Improve disk size calculation on Windows
Joel Rosdahl [Tue, 28 Feb 2023 20:46:46 +0000 (21:46 +0100)] 
feat: Improve disk size calculation on Windows

Windows file system block size is typically 4096 bytes, not 1024.

2 years agoenhance: Add util::likely_size_on_disk
Joel Rosdahl [Tue, 28 Feb 2023 20:46:11 +0000 (21:46 +0100)] 
enhance: Add util::likely_size_on_disk

2 years agoenhance: Add util::split_once(std::string&&, char)
Joel Rosdahl [Sat, 25 Feb 2023 13:27:32 +0000 (14:27 +0100)] 
enhance: Add util::split_once(std::string&&, char)

2 years agorefactor: Move Util::parse_size to util
Joel Rosdahl [Tue, 21 Feb 2023 20:34:18 +0000 (21:34 +0100)] 
refactor: Move Util::parse_size to util