]>
git.ipfire.org Git - thirdparty/ccache.git/log
Joel Rosdahl [Mon, 4 Dec 2023 19:15:15 +0000 (20:15 +0100)]
chore: Fix some -Wconversion warnings
Joel Rosdahl [Sun, 3 Dec 2023 20:11:33 +0000 (21:11 +0100)]
fix: Handle -Xclang -ast-dump et al correctly
Fixes #1356.
Joel Rosdahl [Sat, 2 Dec 2023 11:24:07 +0000 (12:24 +0100)]
feat: Improve processing of input file arguments
Instead of checking if a non-option argument has a known file extension,
switch to the better heuristic of checking if the file exists or not: if
it doesn't exist it isn't an input argument.
DarkShadow44 [Mon, 27 Nov 2023 19:34:30 +0000 (20:34 +0100)]
fix: Use MSVC logic for clang-cl when handling precompiled header (#1365)
Viktor Szépe [Sun, 26 Nov 2023 17:16:29 +0000 (18:16 +0100)]
chore: Improve typos configuration (#1358)
Viktor Szépe [Sun, 26 Nov 2023 17:15:13 +0000 (18:15 +0100)]
ci: Remove matrix.config from build.yaml (#1360)
Viktor Szépe [Sun, 26 Nov 2023 15:55:56 +0000 (16:55 +0100)]
ci: Split dependency installation step into two (#1359)
Viktor Szépe [Sun, 26 Nov 2023 15:52:55 +0000 (16:52 +0100)]
test: Fix regex in direct.bash (#1357)
Joel Rosdahl [Thu, 23 Nov 2023 20:46:20 +0000 (21:46 +0100)]
fix: Detect compiler from unresolved symlink with fallback
This is a generalization of the fix in PR #1348 for issue #1347.
Joel Rosdahl [Tue, 21 Nov 2023 20:02:43 +0000 (21:02 +0100)]
chore: Remove obsolete Util::is_dir_separator
Joel Rosdahl [Tue, 21 Nov 2023 19:40:54 +0000 (20:40 +0100)]
chore: Remove superfluous #includes
DarkShadow44 [Thu, 23 Nov 2023 20:26:31 +0000 (21:26 +0100)]
fix: Detect symlink called clang-cl as clang-cl (#1348)
Fixes #1347.
Mikhail B [Mon, 20 Nov 2023 20:57:49 +0000 (15:57 -0500)]
feat: Add support for clang --analyze (#1345)
Rafael Kitover [Sun, 29 Oct 2023 08:33:09 +0000 (08:33 +0000)]
fix: Devmode unused function warnings on new MSVC (#1342)
MSVC apparently has overrides for the two definitions of operator== in
unittest/test_util_string.cpp in the <utility> header, raising a warning
about them being local unused functions:
https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-4-c4505?view=msvc-170
Disable this warning type in cmake/DevModeWarnings.cmake for MSVC.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
Rafael Kitover [Sun, 29 Oct 2023 08:31:15 +0000 (08:31 +0000)]
feat: cmake -DOFFLINE=TRUE for offline builds (#1341)
Add 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.
When ON, set FETCHCONTENT_FULLY_DISCONNECTED to ON, ZSTD_FROM_INTERNET
to OFF and HIREDIS_FROM_INTERNET to OFF.
When downloading is OFF and either library is not found, throw an error
using find_package_handle_standard_args().
Add the option to INSTALL.md doc.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
Rafael Kitover [Sun, 29 Oct 2023 08:28:15 +0000 (08:28 +0000)]
fix: cmake -DSTATIC_LINK=ON on Linux/macOS (#1340)
Make linking dependent libraries as static a hard requirement when
STATIC_LINK is ON, as opposed to the previous behavior of falling back
to dynamic libraries.
A side-effect of this is that if only a dynamic zstd/hiredis is
available on a system, it will not be found, and the download and build
code will be invoked to build a static version from the internet.
Add a general case to handle Linux, macOS and similar by linking
libgcc/libstdc++ statically on gcc/clang.
Move the code into cmake/StaticLinkSupport.cmake and include it from the
main file.
Fix #1330
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
Joel Rosdahl [Sun, 29 Oct 2023 07:28:07 +0000 (08:28 +0100)]
fix: Mark -wrapper as too hard
See also #1339.
Joel Rosdahl [Thu, 26 Oct 2023 17:07:44 +0000 (19:07 +0200)]
docs: Improve language
Joel Rosdahl [Mon, 23 Oct 2023 18:55:09 +0000 (20:55 +0200)]
refactor: Use fs::weakly_canonical in prepare_debug_path
Joel Rosdahl [Tue, 17 Oct 2023 19:36:35 +0000 (21:36 +0200)]
fix: Make handling of Clang config options more robust
Closes #1335.
Martin Blanchard [Mon, 16 Oct 2023 19:06:47 +0000 (21:06 +0200)]
fix: Fix Windows is_absolute_path() crash on drive letter (#1338)
Philipp Storz [Mon, 16 Oct 2023 19:02:55 +0000 (21:02 +0200)]
fix: Fix sign-compare warning src/InodeCache.cpp on FreeBSD (#1331)
As on FreeBSD 13.2 statfs.f_bavail is signed, InodeCache.cpp cannot be compiled
but gets a sign-compare warning:
src/InodeCache.cpp:409:30: error: comparison of integers of different signs:
'long' and 'unsigned long' [-Werror,-Wsign-compare]
if (buf.f_bavail * 512 < k_min_fs_mib_left * 1024 * 1024) {
~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
The problem is avoided by using static_cast to uint64_t.
Joel Rosdahl [Mon, 16 Oct 2023 17:33:31 +0000 (19:33 +0200)]
fix: Let DirEntry::size_on_disk return likely size on disk
st_blocks in struct stat cannot be trusted for some filesystems that do
transparent compression or deduplication. For instance, ZFS can adjust
the block count some time in the future when compression is finished.
The only reasonable fix for this seems to be to just guess how much
space the file will take using st_size.
Fixes #1332.
Joel Rosdahl [Wed, 4 Oct 2023 16:13:52 +0000 (18:13 +0200)]
fix: Bail out on too hard options -fmodules-ts and -fmodule-header
Fixes #1333.
Joel Rosdahl [Mon, 2 Oct 2023 19:38:14 +0000 (21:38 +0200)]
chore: Add entries to codespell allow list
Joel Rosdahl [Mon, 2 Oct 2023 19:06:20 +0000 (21:06 +0200)]
refactor: Move Logging to util
Joel Rosdahl [Mon, 2 Oct 2023 18:45:02 +0000 (20:45 +0200)]
refactor: Move Win32Util::error_message to util
Joel Rosdahl [Mon, 2 Oct 2023 16:38:05 +0000 (18:38 +0200)]
refactor: Move Win32Util::argv_to_string to util
Joel Rosdahl [Mon, 2 Oct 2023 16:32:56 +0000 (18:32 +0200)]
refactor: Move Win32Util::add_exe_suffix to util
Joel Rosdahl [Sun, 1 Oct 2023 08:26:49 +0000 (10:26 +0200)]
refactor: Move Win32Util::get_last_ntstatus to util::DirEntry
util::DirEntry is the sole user of Win32Util::get_last_ntstatus.
Joel Rosdahl [Sun, 1 Oct 2023 08:23:18 +0000 (10:23 +0200)]
refactor: Move File to util::FileStream
Joel Rosdahl [Sat, 30 Sep 2023 17:48:24 +0000 (19:48 +0200)]
refactor: Move NonCopyable to util
Joel Rosdahl [Sat, 30 Sep 2023 17:46:24 +0000 (19:46 +0200)]
refactor: Move fmtmacros to util
Joel Rosdahl [Sat, 30 Sep 2023 17:40:33 +0000 (19:40 +0200)]
refactor: Move Finalizer to util
Joel Rosdahl [Thu, 28 Sep 2023 18:32:10 +0000 (20:32 +0200)]
refactor: Move assertions to util
Joel Rosdahl [Thu, 28 Sep 2023 16:05:25 +0000 (18:05 +0200)]
bump: Upgrade to BLAKE3 1.5.0
Joel Rosdahl [Tue, 29 Aug 2023 19:38:11 +0000 (21:38 +0200)]
chore: Prepare for version 4.8.3
(cherry picked from commit
044558e647b49dbc8fc89b810a7d22f526101e6b )
Joel Rosdahl [Tue, 29 Aug 2023 19:08:59 +0000 (21:08 +0200)]
bump: Upgrade to fmt 10.1.1
Joel Rosdahl [Tue, 29 Aug 2023 19:06:23 +0000 (21:06 +0200)]
fix: Exit more gracefully on invalid sharded remote storage URL
As mentioned in #1321.
Joel Rosdahl [Sat, 26 Aug 2023 18:37:20 +0000 (20:37 +0200)]
chore: Avoid linting suppression for Storage::~Storage
Joel Rosdahl [Wed, 23 Aug 2023 17:15:55 +0000 (19:15 +0200)]
bump: Upgrade to cpp-httplib 0.14.0
Joel Rosdahl [Wed, 23 Aug 2023 17:06:35 +0000 (19:06 +0200)]
docs: Mention that system_headers sloppiness is not supported for MSVC
Closes #1224.
Joel Rosdahl [Fri, 18 Aug 2023 20:17:40 +0000 (22:17 +0200)]
fix: Fix bookkeeping of raw files
Ccache 4.8-4.8.2 notes the size and count of raw files (written to the
cache if hard link or file clone mode is enabled) to a level 2 stats
file. However, the new cleanup algorithm (also introduced in 4.8)
assumes that all size/count statistics are placed in a level 1 stats
file. After a "ccache -c", the raw files will be "rediscovered" and
noted in level 1 stats files, thus duplicating bookkeeping in level 2
stats files, resulting in a too high cache size figure in "ccache -s".
To fix this, ccache will now:
- Note size/count of raw files in the proper level 1 stats file.
- When storing an entry on a cache miss, detect if the corresponding
level 2 stats file has non-zero size/count statistics and propagate
them to the level 1 stats file if so.
- Zero out files/count statistics for level 2 stats file on "ccache -c".
This means that the reported cache size will gradually correct itself
automatically. Alternatively, the user can run "ccache -c" to fix all
counters immediately.
Fixes #1320.
Joel Rosdahl [Sat, 19 Aug 2023 11:09:10 +0000 (13:09 +0200)]
enhance: Support updating stats file only if values have changed
Joel Rosdahl [Fri, 18 Aug 2023 19:30:33 +0000 (21:30 +0200)]
refactor: Improve name of LocalStorage::increment_level_2_counters
Joel Rosdahl [Fri, 18 Aug 2023 19:29:14 +0000 (21:29 +0200)]
refactor: Use LocalStorage::get_stats_file
Joel Rosdahl [Fri, 18 Aug 2023 19:06:33 +0000 (21:06 +0200)]
chore: Fix grammar in comments
Joel Rosdahl [Thu, 17 Aug 2023 16:14:37 +0000 (18:14 +0200)]
chore: Avoid ccache:disable strings in ccache source code
A verbatim ccache:disable string disables ccache when compiling some
ccache sources, which is unnecessary.
Joel Rosdahl [Mon, 14 Aug 2023 16:34:36 +0000 (18:34 +0200)]
bump: Upgrade to fmt 10.1.0
Joel Rosdahl [Sat, 5 Aug 2023 13:22:06 +0000 (15:22 +0200)]
refactor: Move AtomicFile to core
Joel Rosdahl [Sat, 5 Aug 2023 13:13:47 +0000 (15:13 +0200)]
refactor: Move ThreadPool to util
Joel Rosdahl [Sat, 5 Aug 2023 10:45:54 +0000 (12:45 +0200)]
refactor: fs::path-ify util::traverse_directory
Joel Rosdahl [Sat, 5 Aug 2023 09:01:09 +0000 (11:01 +0200)]
refactor: fs::path-ify LockFile
Joel Rosdahl [Sat, 5 Aug 2023 08:59:00 +0000 (10:59 +0200)]
refactor: fs::path-ify LongLivedLockFileManager
Joel Rosdahl [Sat, 5 Aug 2023 08:49:04 +0000 (10:49 +0200)]
refactor: Move Fd to util
Joel Rosdahl [Sat, 5 Aug 2023 07:12:34 +0000 (09:12 +0200)]
refactor: Remove use of mkdir(2)
Joel Rosdahl [Fri, 4 Aug 2023 06:47:40 +0000 (08:47 +0200)]
refactor: Move TemporaryFile to util
Joel Rosdahl [Fri, 4 Aug 2023 06:32:56 +0000 (08:32 +0200)]
ci: Time out jobs after 30 minutes
The default is 360 minutes.
Joel Rosdahl [Fri, 4 Aug 2023 07:03:31 +0000 (09:03 +0200)]
refactor: fs::path-ify some util file functions
Joel Rosdahl [Fri, 4 Aug 2023 05:57:25 +0000 (07:57 +0200)]
refactor: fs::path-ify TemporaryFile
Joel Rosdahl [Thu, 3 Aug 2023 17:24:41 +0000 (19:24 +0200)]
refactor: fs::path-ify core::ensure_dir_exists
Joel Rosdahl [Fri, 4 Aug 2023 15:02:12 +0000 (17:02 +0200)]
test: Fix DirEntry unit tests for Windows mingw64
Joel Rosdahl [Thu, 3 Aug 2023 12:04:44 +0000 (14:04 +0200)]
chore: Fix unit test build after
d8b654a30ca8
Jiulong Wang [Thu, 3 Aug 2023 12:01:23 +0000 (05:01 -0700)]
feat: Rewrite path after -Xclang -include to relative (#1318)
cmake may generate both -include and -include-pch. Example:
c++ ... -Xclang -include-pch -Xclang /abs/path/cmake_pch.hxx.pch
-Xclang -include -Xclang /abs/path/cmake_pch.hxx ...
Both paths needs to be converted to relative path if CCACHE_BASEDIR is
set for better cache hit rate in some CI systems.
Joel Rosdahl [Thu, 3 Aug 2023 11:37:25 +0000 (13:37 +0200)]
refactor: Remove dependency on core from util
Joel Rosdahl [Thu, 3 Aug 2023 11:24:32 +0000 (13:24 +0200)]
feat: Include maximum size/files in --print-stats
New output:
- max_cache_size_kibibyte: maximum size of local storage in KiB (0 for
no limit)
- max_files_in_cache: maximum number of files in local storage (0 for no
limit)
Closes #1315.
Joel Rosdahl [Thu, 3 Aug 2023 06:44:21 +0000 (08:44 +0200)]
refactor: fs::path-ify ignore_header_paths and related functions
Joel Rosdahl [Wed, 2 Aug 2023 15:20:22 +0000 (17:20 +0200)]
Joel Rosdahl [Wed, 2 Aug 2023 11:01:38 +0000 (13:01 +0200)]
refactor: fs::path-ify is_ccache_executable
Joel Rosdahl [Mon, 31 Jul 2023 17:12:30 +0000 (19:12 +0200)]
refactor: Rename and improve Stat class to util::DirEntry
Joel Rosdahl [Thu, 27 Jul 2023 20:05:27 +0000 (22:05 +0200)]
refactor: Move core/wincompat.hpp to util
Joel Rosdahl [Thu, 27 Jul 2023 17:11:09 +0000 (19:11 +0200)]
refactor: Remove Stat::OnError::throw_error
This is in preparation for moving the Stat class to util where we don't
want to know about core::Error.
Joel Rosdahl [Thu, 27 Jul 2023 13:37:10 +0000 (15:37 +0200)]
refactor: Move Util::traverse to util
Joel Rosdahl [Tue, 25 Jul 2023 19:43:15 +0000 (21:43 +0200)]
refactor: Move Util::send_to_fd to core
Joel Rosdahl [Wed, 2 Aug 2023 11:35:49 +0000 (13:35 +0200)]
chore: Tweak documentation related to debug level
dsilakov [Wed, 2 Aug 2023 11:24:49 +0000 (14:24 +0300)]
feat: Allow specifying debug level (#1312)
Allow specifying debug level via a debug_level option or CCACHE_DEBUGLEVEL
environment variable.
With debug_level=2 (default), ccache behavior's in debug mode is not changed.
With debug_level=1, ccache will only dump *.ccache-log files (and not the
*input* ones). This is useful for getting per-file caching results.
Joel Rosdahl [Tue, 1 Aug 2023 10:30:12 +0000 (12:30 +0200)]
fix: Work around GCC 12.3 bug 109241
See also #1289.
Joel Rosdahl [Tue, 25 Jul 2023 06:55:14 +0000 (08:55 +0200)]
refactor: Remove superfluous util:: qualifications
Joel Rosdahl [Mon, 24 Jul 2023 17:18:05 +0000 (19:18 +0200)]
bump: Upgrade to xxHash 0.8.2
Closes #1085.
Joel Rosdahl [Mon, 24 Jul 2023 13:29:37 +0000 (15:29 +0200)]
refactor: Improve util::write_fd usage
Joel Rosdahl [Mon, 24 Jul 2023 11:51:42 +0000 (13:51 +0200)]
refactor: Improve util::read_file usage
Joel Rosdahl [Sun, 23 Jul 2023 14:53:25 +0000 (16:53 +0200)]
refactor: Improve util::read_fd usage
Joel Rosdahl [Sun, 23 Jul 2023 06:50:56 +0000 (08:50 +0200)]
enhance: Add util::read_fd variant that returns all data at once
Joel Rosdahl [Thu, 20 Jul 2023 08:30:06 +0000 (10:30 +0200)]
refactor: Switch to tl::expected instead of nonstd::expected
Joel Rosdahl [Thu, 20 Jul 2023 07:14:53 +0000 (09:14 +0200)]
refactor: Use util::{throw_on_error,value_or_throw}
Joel Rosdahl [Wed, 19 Jul 2023 13:55:52 +0000 (15:55 +0200)]
fix: Properly signal error on copy failure
Restores behavior before
73a4585a58d5ab818a864485708d706532dfa3b4 .
Joel Rosdahl [Wed, 19 Jul 2023 06:43:38 +0000 (08:43 +0200)]
refactor: Move util::rename to util::filesystem
Joel Rosdahl [Wed, 19 Jul 2023 06:33:25 +0000 (08:33 +0200)]
refactor: Move Util::get_hostname to util
Joel Rosdahl [Tue, 18 Jul 2023 19:25:26 +0000 (21:25 +0200)]
refactor: Move Util::get_home_directory to Config
Joel Rosdahl [Tue, 18 Jul 2023 17:26:13 +0000 (19:26 +0200)]
refactor: Move Util::ensure_dir_exists to util
Joel Rosdahl [Tue, 18 Jul 2023 12:06:37 +0000 (14:06 +0200)]
refactor: Move Util::unlink_* to util
Joel Rosdahl [Tue, 18 Jul 2023 08:19:05 +0000 (10:19 +0200)]
refactor: Let util::rename return std::error_code
Joel Rosdahl [Mon, 17 Jul 2023 16:46:27 +0000 (18:46 +0200)]
refactor: Move Util::is_ccache_executable to ccache
Joel Rosdahl [Mon, 17 Jul 2023 16:36:06 +0000 (18:36 +0200)]
chore: Clean up config.h
Joel Rosdahl [Mon, 17 Jul 2023 13:46:19 +0000 (15:46 +0200)]
refactor: Move Util::localtime to util
Joel Rosdahl [Mon, 17 Jul 2023 13:41:06 +0000 (15:41 +0200)]
chore: Improve code style
Joel Rosdahl [Mon, 17 Jul 2023 13:38:57 +0000 (15:38 +0200)]
refactor: Move Util::is_precompiled_header to argprocessing
Joel Rosdahl [Mon, 17 Jul 2023 13:27:07 +0000 (15:27 +0200)]
refactor: Move Util::to_lowercase to util
Joel Rosdahl [Mon, 17 Jul 2023 10:36:15 +0000 (12:36 +0200)]
chore: Add note about using util::rename instead of fs::rename
Joel Rosdahl [Mon, 17 Jul 2023 07:10:16 +0000 (09:10 +0200)]
refactor: Use std::filesystem::current_path