* Fixed detection of Fmt version 11 and newer.
* Made the “-fprofile-update=atomic” test only run when that
option is supported by the compiler.
* Made the color diagnostics tests work when the user running the
tests has a non-POSIX login shell.
- Remove fmt_fix.patch
* Already included in 4.10.2 upstream release
OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/ccache?expand=0&rev=150
- update to 4.10.1:
* Fixed prefix command lookup from `PATH`.
* Fixed detection and usage of system blake3.
* Find CppHttplib named libhttplib.so as well.
* Removed Xcode assembly workaround for zstd.
* Added bundled subset of Fmt again for convenience.
* Removed no longer needed workaround when building downloaded
Zstd
- Update to version 4.10:
* chore: Update authors
* chore: Update NEWS
* ci: Disable Ubuntu 24.04 builds temporarily
* build: Fix zstd build for older CMake versions
* chore: Juggle some include headers
* build: Fix MSVC /Zc:preprocessor warning (#1461)
* chore: Remove unused headers (#1460)
* refactor: Use tl::expected for process_args return value
* chore: Fix some Cppcheck warnings
* chore: Remove obsolete os_path helper in test_storage_local_util
* chore: Improve cast and avoid repeating types (#1459)
* feat: Add argument handling for Emscripten's --em-config (#1458)
* feat: Add support for -fdump-ipa-clones (#1449)
* fix: Force run_second_cpp=true when generating profiling information
* fix: Hash "apparent real path" of object file when using -fprofile-arcs
* test: Improve verbose printing of test names
* refactor: Add more Hash::hash overloads
* docs: Improve documentation of gcno_cwd sloppiness
* fix: Handle -fdiagnostics-color for Clang again
* chore: Clean up comment and debug log string
OBS-URL: https://build.opensuse.org/request/show/1184213
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ccache?expand=0&rev=77
* Fixed prefix command lookup from `PATH`.
* Fixed detection and usage of system blake3.
* Find CppHttplib named libhttplib.so as well.
* Removed Xcode assembly workaround for zstd.
* Added bundled subset of Fmt again for convenience.
* Removed no longer needed workaround when building downloaded
Zstd
instead of a hardcoded `/run/user/<UID>/ccache-tmp`. If `XDG_RUNTIME_DIR`
- add xxhash-avoid-armv6-unaligned-access.patch (bsc#1193317)
header.
* Added a new compiler_type (CCACHE_COMPILERTYPE) configuration option that allows for overriding the guessed compiler type.
- Update to version 3.7.10:
* Long commandlines are now handled gracefully on Windows by using
* Fixed complaint from GCC 9’s `-Werror=format-overflow` when
* Fixed crash when the debug mode is enabled and the output file is
* Fixed an issue when printing very large log messages to the debug
* Fixed bugs related to support for `-gsplit-dwarf`. Previously
ccache could produce an incorrect link to the `.dwo` file in the
* ccache has learned how to contruct the object filename if no `-o`
option is given and the source filename does not include a `.` or
* Fixed a temporary file leak when the depend mode is enabled and
* Fixed a bug in the depend mode where a manifest hash only could
* Manifest files did not get marked as used on direct cache hits,
so the LRU cache cleanup would incorrectly remove them eventually.
* The rewriting of absolute paths into relative paths in the
* ccache now ignores unknown keys in configuration files for
* Documented the previously undocumented `--dump-manifest` and
* Added missing documentation for the command-line option
* Added a new `--print-stats` command that prints statistics
OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/ccache?expand=0&rev=146
- Update to 4.9.1:
* Improved detection of bad remote storage URLs gracefully. This also fixes
crashes seen in ccache’s own test suite.
* Made caching completely disabled when modification of a source or include
file is detected during ccache invocation. Previously this was only done for the direct mode.
* Fixed an MSVC crash when using /Zi with many concurrent compilations.
* Fixed a crash when -arch is the last compiler option.
- Drop no longer needed fix2038.patch
OBS-URL: https://build.opensuse.org/request/show/1152216
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ccache?expand=0&rev=76
- Update to 4.9:
* Made ignore_options/CCACHE_IGNOREOPTIONS also skip the option from special
processing, similar to how --ccache-skip works.
* Added support for expanding environment variables references in all
configuration options.
* MSVC options /Fd, /FS and /MP are no longer included in the input hash.
* Made ccache terminate an ongoing compiler subprocess when terminated on all
platforms, not only on Unix.
* Added support for multiple -Xarch_* arguments matching -arch.
* Added a debug_level/CCACHE_DEBUGLEVEL configuration option, making it
possible to tell ccache to only write a log file for each compilation, not
other debug files.
* Added max_cache_size_kibibyte and max_files_in_cache fields in output from
ccache --print-stats.
* Paths after -Xclang -include are now rewritten to relative paths if
base_dir/CCACHE_BASEDIR is in effect.
* Added support for clang --analyze.
* Improved processing of input file arguments.
* Added support for st_Xtimensec fields in struct stat, thus improving
behavior on some BSDs when using newly created include files.
* Added support for the undocumented GCC/Clang option --include.
* Ccache now exits more gracefully on invalid sharded remote storage URLs.
* Made ccache bail out on too hard options -fmodules-ts, -fmodule-header,
-wrapper and -Xclang -ast-dump.
* Stopped relying on the st_blocks field in struct stat since it cannot be
trusted for filesystems such as ZFS that do transparent compression or
deduplication and adjust st_blocks some time in the future.
* Fixed crash on Windows for paths with only a drive letter.
* Made handling of Clang config options (such as --config-system-dir) more
robust.
OBS-URL: https://build.opensuse.org/request/show/1139682
OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/ccache?expand=0&rev=139
- update to 4.8.1:
* Fixed an issue with the depend mode in combination with `--`
on the command line for Clang-based compilers. +
* Improved knowledge about MSVC debug flags so that non-debug
`/Z*` options are once again supported. +
* Ccache no longer treats `/Zi` as unsupported for clang-cl.
* Made the output format of `ccache -k max_size` parsable by
ccache itself. +
* Added a remote file storage example with URL-encoded spaces.
OBS-URL: https://build.opensuse.org/request/show/1087989
OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/ccache?expand=0&rev=133
- update to 4.8:
* 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.
OBS-URL: https://build.opensuse.org/request/show/1071214
OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/ccache?expand=0&rev=131
- update to 4.7.4:
* Fixed an inode cache race condition.
* The default temporary directory is now `$XDG_RUNTIME_DIR/ccache-tmp`
instead of a hardcoded `/run/user/<UID>/ccache-tmp`. If `XDG_RUNTIME_DIR`
is not set, `<cache_dir>/tmp` is used. This avoids creating `/run/user/<UID>`
on systems that don't have it if compiling as root.
* Added a fallback in case `posix_fallocate` returns `EINVAL` when
creating the
inode cache file.
* Connection timeout for an HTTP connection is now reported as a timeout
instead
* Temporary files found in the cache are no longer counted in
`--show-compression`.
* Removed duplicate magic header in output from `--inspect`.
* Ccache now properly waits for all recompression jobs to finish when
there is no `f` subdirectory in the cache.
* Documentation improvements
OBS-URL: https://build.opensuse.org/request/show/1040262
OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/ccache?expand=0&rev=129
- update to 4.6.3:
* Fixed detection of PCH header for concatenated `-include` option (e.g.,
`-includepch.h` instead of `-include pch.h`).
* Fixed build with musl when using GCC 12.
* Disabled the `"Failure to write output file"` when running on a filesystem
that doesn't support read-only directories.
* Fixed a race condition that could lead to a crash if a file in the cache is
removed with unlucky timing, e.g. by another ccache process doing cache
cleanup.
* Dependency file rewriting will now always be performed if
`base_dir`/`CCACHE_BASEDIR` is active. This fixes a problem with the
dependency file content when Clang is used with `-fsanitize=address`.
* Fixed handling of error condition for `--hash-file`/`--checksum-file`.
* Made sure to enable the inode cache only if subsecond `stat` timestamps are
available.
* Added a work-around for a Clang bug when writing to a full NFS file system.
* Made failure writing to the output file increment the "`bad output file`"
counter instead of "`cache miss`".
* Fixed false positive cache hits for code constructions similar to
`__asm__(".incbin" " \"file\"")`.
* Fixed false success for `-fcolor-diagnostics` probe with GCC. A side effect of
this is that a compiler type that ccache can't identify from the compiler name
(such as `/usr/bin/cc` where `cc` is not a symlink) from now on won't produce
color diagnostics when used via ccache even if the compiler actually is GCC or
Clang.
* More cases of invalid secondary storage URLs are now handled gracefully.
* Fixed the display of maximum cache size in `ccache -s` if it's 0 (=
unlimited).
* Removed AsciiDoc markup from help text of `--trim-dir`.
* The temporary directory is now cleaned up properly even if it's left
OBS-URL: https://build.opensuse.org/request/show/1005766
OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/ccache?expand=0&rev=125
- update to 4.6.1:
* Added support for passing a directory to the MSVC `/Fo` option.
* Added knowledge about the `-imsvc` compiler option.
* Added knowledge about the `-z` linker option.
* Improved handling of `.gcno` files in combination with absolute input file
paths.
* Adapted to changes in GCC 9+ `.gcno` files, which contain the current working
directory, by including said directory in the hash. You can opt out of this by
enabling "`gcno_cwd sloppiness`".
* A preexisting object file is no longer considered when using
`-fsyntax-only`.
* Authenticate with Redis before database selection.
* Don't exit with an error on failure reading a cached file.
* Bail out on too hard MSVC environment variables `CL` and `+_CL_+`.
* Only use `/run/user/<UID>/ccache-tmp` as the temporary directory if it's
writable.
* Fixed handling of the final newline in cached standard output from the
compiler.
* Fixed a bug related to distcc markers in standard error output.
* Paths to `base_dir` are now properly normalized on Windows.
* Fixed handling of MSVC `/Fp` and `/Yu` options with concatenated path.
* Fixed "`Multiple precompiled headers used`" error if MSVC `/Yu` option is used
after `/Fp`.
* Check for short reads when reading strings in result/manifest files.
* Log expanded secondary storage URL in put/remove.
* Fixed logging of statistics counters with value higher than one in debug log
and stats log.
* Avoid incorrect error log message for Redis write operations in `reshare`
mode.
* Support Redis URL without host (meaning localhost).
OBS-URL: https://build.opensuse.org/request/show/980818
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ccache?expand=0&rev=66
* Added support for passing a directory to the MSVC `/Fo` option.
* Added knowledge about the `-imsvc` compiler option.
* Added knowledge about the `-z` linker option.
* Improved handling of `.gcno` files in combination with absolute input file
paths.
* Adapted to changes in GCC 9+ `.gcno` files, which contain the current working
directory, by including said directory in the hash. You can opt out of this by
enabling "`gcno_cwd sloppiness`".
* A preexisting object file is no longer considered when using
`-fsyntax-only`.
* Authenticate with Redis before database selection.
* Don't exit with an error on failure reading a cached file.
* Bail out on too hard MSVC environment variables `CL` and `+_CL_+`.
* Only use `/run/user/<UID>/ccache-tmp` as the temporary directory if it's
writable.
* Fixed handling of the final newline in cached standard output from the
compiler.
* Fixed a bug related to distcc markers in standard error output.
* Paths to `base_dir` are now properly normalized on Windows.
* Fixed handling of MSVC `/Fp` and `/Yu` options with concatenated path.
* Fixed "`Multiple precompiled headers used`" error if MSVC `/Yu` option is used
after `/Fp`.
* Check for short reads when reading strings in result/manifest files.
* Log expanded secondary storage URL in put/remove.
* Fixed logging of statistics counters with value higher than one in debug log
and stats log.
* Avoid incorrect error log message for Redis write operations in `reshare`
mode.
* Support Redis URL without host (meaning localhost).
OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/ccache?expand=0&rev=121
- update to 4.5.1:
* Fixed entry_size field for result entries.
* The actual compression level is now once again stored in the cache entry
header.
* Corrected error handling for unconstructible secondary storage backends. For
instance, this avoids a crash when a Redis server can't be reached.
* Made various improvements to the cache entry format. Among other things, the
header now contains a creation timestamp and a note of the ccache version used
to create the entry. The cache entry checksum has also been upgraded to use
128-bit XXH3 instead 64-bit XXH3.
* Made HTTP keep-alive configurable, defaulting to off for now.
* Added support for rewriting absolute path to Clang option `--gcc-toolchain`.
* Fixed a problem with special characters in the user info part of URLs for HTTP
storage.
* The hard link and file clone features are now disabled when secondary storage
is used since they only work for the local primary cache.
OBS-URL: https://build.opensuse.org/request/show/935294
OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/ccache?expand=0&rev=117
* Fixed entry_size field for result entries.
* The actual compression level is now once again stored in the cache entry
header.
* Corrected error handling for unconstructible secondary storage backends. For
instance, this avoids a crash when a Redis server can't be reached.
* Made various improvements to the cache entry format. Among other things, the
header now contains a creation timestamp and a note of the ccache version used
to create the entry. The cache entry checksum has also been upgraded to use
128-bit XXH3 instead 64-bit XXH3.
* Made HTTP keep-alive configurable, defaulting to off for now.
* Added support for rewriting absolute path to Clang option `--gcc-toolchain`.
* Fixed a problem with special characters in the user info part of URLs for HTTP
storage.
* The hard link and file clone features are now disabled when secondary storage
is used since they only work for the local primary cache.
OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/ccache?expand=0&rev=115