./devel/ccache, Cache for C/C++ compilers

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 4.11, Package name: ccache-4.11, Maintainer: pkgsrc-users

ccache is a compiler cache. It acts as a caching pre-processor
to C/C++ compilers, using the -E compiler switch and a hash to
detect when a compilation can be satisfied from cache. This
often results in a 5 to 10 times speedup in common compilations.


Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 671.527 KB

Version history: (Expand)


CVS history: (Expand)


   2025-03-11 14:56:28 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
ccache: updated to 4.11

4.11

New features and improvements

Added ability to send arbitrary HTTP headers to HTTP storage.
Added support for MSVC’s /TC and /TP options.
Made the absolute_paths_in_stderr feature also handle MSVC diagnostics messages.
Absolute paths in MSVC diagnostics messages are now rewritten to relative if \ 
base_dir is in effect.
Added support for NVCC’s --compile option.
posix_spawn is now used instead execv to execute the compiler on POSIX systems.
Added support for GCC’s -fprofile-prefix-path option.
Added response_file_format config option to control response file format.
Added support for Clang -frandomize-layout-seed-file option.
Improved absolute_paths_in_stderr to recognize more paths patterns.
Added support for the clang-cl option /showIncludes:user.
Added support for Intel’s LLVM-based compilers icx and icx-cl.
A stat call for ~/.ccache is now avoided if CCACHE_DIR is set.
Added Support for .bat and .cmd scripts as the compiler on Windows.
Added support for Clang’s -f{debug,file}-compilation-dir options.
Added knowledge about Clang’s --offload-compress option. This will avoid \ 
errors when ccache runs the compiler in preprocessor mode.
Added knowledge about Clang options -fmodules-cache-path, -fmodule-map-file and \ 
-fbuild-session-file.

Bug fixes

Improved handling of paths internally, thereby fixing some issues (such as using \ 
non-ASCII paths) on Windows.
Fixed interpretation of non-ASCII paths in environment variables on Windows.
Made sure that remote storage keep-alive can be overridden as expected.
Fixed detection of compiler type for hard-linked generic compiler name.
Fixed problems with matching a path with base_dir if either ends with a slash.
The -fprofile-abs-path option is now correctly passed through to GCC.
Writes to the log file are now synchronized.
Command line config options ending with "/ccache" are now handled properly.
Made --trim-method mtime actually use mtime instead of atime.
Fixed a bug where ccache failed to rename raw files correctly for large caches \ 
that have more than two cache levels.

Build improvements

Instructed MSVC to accept UTF-8 characters.
Fixed binary patching of sysconfdir for the prebuilt Linux binary.
Added an HTTP_STORAGE_BACKEND build option to make it possible to turn off the \ 
http storage backend.
Fixed call to sha256sum on macOS.

Test improvements

Made tests pass in year 2038.
Refreshed some Dockerfiles.

Documentation improvements

Added documentation saying that absolute_paths_in_stderr also applies to stdout.
Fixed description of default cache_dir on non-macOS POSIX systems.
Clarified how ccache’s LRU cleanup works.
   2024-08-25 08:19:21 by Thomas Klausner | Files touched by this commit (575)
Log message:
*: replace CMAKE_ARGS with CMAKE_CONFIGURE_ARGS
   2024-07-16 12:02:05 by Patrick Welche | Files touched by this commit (42)
Log message:
Revbump for fmtlib 11.0.1
Pointed out by David Gutteridge on pkgsrc-changes
   2024-07-15 17:06:42 by Adam Ciarcinski | Files touched by this commit (1)
Log message:
ccache: add missing patch
   2024-07-15 11:41:36 by Adam Ciarcinski | Files touched by this commit (1)
Log message:
ccache: fix configure with fmtlib 11
   2024-07-02 10:59:44 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
ccache: updated to 4.10.1

Ccache 4.10.1

Bug fixes

- Fixed prefix command lookup from `PATH`.

Build improvements

- 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.

Documentation improvements

- Clarified that `--set`-config writes to the configuration file.
   2024-02-16 21:14:59 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
ccache: updated to 4.9.1

Ccache 4.9.1

Bug fixes

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.
   2024-01-02 12:59:02 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
ccache: updated to 4.9

Ccache 4.9

New features and improvements

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.

Bug fixes

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.
Fixed compiler type detection when compiler is a symlink called “clang-cl”.
Made sure to use MSVC logic for clang-cl when handling a precompiled header.
Generalized expansion of remote storage URLs with sharding, for instance making \ 
it possible to shard on port number.

Build improvements

Upgraded to xxHash 0.8.2, thereby fixing an error when compiling ccache with -Og.
Fixed sign-compare warning in src/InodeCache.cpp on FreeBSD.
Fixed the CMake option STATIC_LINK on Linux/macOS.
Added the CMake option OFFLINE, defaulting to the value of the standard variable \ 
FETCHCONTENT_FULLY_DISCONNECTED (which is OFF by default), to disable \ 
downloading anything from the internet.
Fixed warnings about unused functions on new MSVC versions.
Made sure to set both C and C++ CMake compiler launcher variables if either is set.

Documentation improvements

The manual now mentions that system_headers sloppiness is not supported for MSVC.

Test improvements

Fixed regex in direct.bash.