Link [ pkgsrc | NetBSD | pkgsrc git mirror | PR fulltext-search | netbsd commit viewer ]


   
        usage: [branch:branch] [user:user] [path[@revision]] keyword [... [-excludekeyword [...]]] (e.g. branch:MAIN pkgtools/pkg)




switch to index mode

recent branches: MAIN (3h)  pkgsrc-2024Q1 (2d)  pkgsrc-2023Q4 (76d)  pkgsrc-2023Q2 (109d) 

2024-06-16 11:21:53 UTC Now

2023-03-14 06:30:23 UTC MAIN commitmail json YAML

ccache: updated to 4.8

Ccache 4.8

New features and improvements
Improved the automatic cache cleanup mechanism. Automatic cleanups are now performed on 1/256 of the cache instead of 1/16, thus making them much quicker (but naturally more frequent). Cleanups are coordinated between ccache processes so that at most one process will perform cleanup at a time. Also, the actual cache size will stay very close to the configured maximum size instead of staying around 90% as was the case before.

Added support for setting per-compilation configuration options on the command line. Example: ccache hash_dir=false gcc -c example.c.

Made it possible to disable ccache for a certain source code file by embedding the string ccache:disable in a comment near the top of the file.

Made ccache understand that an MSVC /Z7 option overrides an earlier /Z* option and thus is not too hard to cache.

Added a --recompress-threads command line option for selecting the number of CPU threads to use when recompressing the local cache.

Added --trim-recompress and --trim-recompress-threads command line options for recompressing file-based remote storage.

Added tmpfs, ufs and zfs to the list of supported filesystems on macOS and BSDs for the inode cache.

Improved progress bars for clean/clear/evict-style operations.

Improved printing of cache sizes in various outputs.

Activate debug logging for command mode options like --cleanup.

Added support for -Wp,-U<macro> in the direct mode.

Added quotes around arguments with space in logged command lines.

Added logging of executed command lines on Windows.

Made sure not to update the stats file when there are no incremented counters.

Improved actual disk size calculation on Windows.

Build/CI improvements
Added CI support for building macOS universal binaries.

Make it possible to force download of Zstd and Hiredis, e.g. with cmake -D ZSTD_FROM_INTERNET=ON [窶ヲ窶犠.

Bug fixes
Fixed an edge case where a non-temporal identifier is misidentified.

Fixed reporting of local/remote cache misses in depend mode.

Fixed parsing of backslashes in MSVC RSP files.

Fixed a crash in --show-log-stats when the stats log file doesn窶冲 exist.

Fixed matching of base directory for MSVC. The base directory will now match case-insensitively with absolute paths in preprocessed output, or from /showIncludes in the depend mode case, when compiling with MSVC.

Fixed a problem where the original umask would be used when storing a remote cache result in the local cache.

Changed the inode cache implementation to use spinlocks instead of pthread mutexes. This makes the inode cache work on FreeBSD and similar systems.

Don窶冲 treat -Wp,-D as interchangeable with -D.

Disable the inode cache if the filesystem risks getting full soon. This fixes a problem when the cache is on a filesystem where posix_fallocate isn窶冲 reliable, like Btrfs with compression enabled.

Fixed performance of cache path relativization in preprocessed output, primarily on Windows where stat calls are relatively costly.

Fixed rare crash in the signal handler at process exit.

Fixed handling of Unix-style paths passed to MSVC.

Fixed so that the config options and command line are logged before trying to locate the compiler and exiting early.

Documentation improvements
Improved description of --set-config.

Fixed broken markup in the manual.

Added a note to the manual that stats = false will disable automatic cleanup.

Fix a bad reference to the 窶彝emote storage backends窶� section.

(adam)