summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* chore: Update NEWSv4.7.1Joel Rosdahl2022-10-221-0/+21
|
* ci: Avoid using deprecated GitHub set-output commandJoel Rosdahl2022-10-221-1/+1
| | | | | | Reference: <https://github.blog/changelog/ 2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/>
* ci: Add GCC 8 and GCC 9 jobsJoel Rosdahl2022-10-221-1/+16
|
* build: Remove unneeded C++11 flag in libatomic test (#1191)Orgad Shaneh2022-10-221-3/+0
| | | The required C++ is 17 anyway.
* build: Support compilation with GCC 8 (#1190)Orgad Shaneh2022-10-222-0/+27
| | | See https://discourse.cmake.org/t/correct-way-to-link-std-filesystem-with-gcc-8/4121
* fix: Handle -MD/-MMD when compiling assembler fileJoel Rosdahl2022-10-197-37/+99
| | | | | | | | | | When compiling an assembler file, -MD and -MMD don't produce any dependency file, so don't expect one. Also, make sure to fall back to running the real compiler in case an expected output file is missing instead of exiting with an error. Fixes #1189.
* chore: Remove unused no-response bot configJoel Rosdahl2022-10-191-12/+0
|
* doc: Fix markup in NEWSJoel Rosdahl2022-10-171-2/+2
|
* chore: Update NEWSv4.7Joel Rosdahl2022-10-171-1/+281
|
* doc: Improve manualJoel Rosdahl2022-10-161-4/+5
|
* doc: Fixed markup of __NAME__ macrosJoel Rosdahl2022-10-161-11/+11
|
* refactor: Avoid an extra data copy when rewriting stdoutJoel Rosdahl2022-10-162-7/+9
|
* test: Simplify util::read_file_part testJoel Rosdahl2022-10-161-11/+8
|
* enhance: Add more util::Bytes::insert variantsJoel Rosdahl2022-10-162-1/+66
|
* refactor: Rename ShowIncludesParser to MsvcShowIncludesOutputJoel Rosdahl2022-10-167-32/+33
| | | | | | | I think that this is more in line with what the namespace represents. I also renamed ShowIncludesParser::tokenize to MsvcShowIncludesOutput::get_includes since it's not returning generic tokens but specifically includes files.
* chore: Tweak code related to auto depend mode for MSVCJoel Rosdahl2022-10-164-11/+13
|
* doc: Tweak manual and comments related to /showIncludesJoel Rosdahl2022-10-164-12/+12
|
* chore: Add news for version 4.6.3Joel Rosdahl2022-10-161-0/+28
|
* chore: Tweak READMEJoel Rosdahl2022-10-161-1/+1
|
* chore: Update authorsJoel Rosdahl2022-10-163-1/+7
|
* ci: Remove Ubuntu 18.04 jobs and add GCC 12 job (#1180)Orgad Shaneh2022-10-161-9/+5
| | | | | | | It is deprecated. See https://github.blog/changelog/2022-08-09-github-actions-the-ubuntu-18-04-actions-runner-image-is-being-deprecated-and-will-be-removed-by-12-1-22/ Add GCC 12 on Ubuntu 22.04.
* build: Add headers to CMake project files (#1178)Orgad Shaneh2022-10-159-0/+27
| | | | Useful for listing them in the IDE project tree, for IDEs that use CMake file api (like Qt Creator).
* feat: Support auto depend mode for MSVC without /showIncludes (#1176)Orgad Shaneh2022-10-159-4/+136
| | | | If MSVC is executed *without* /showIncludes, and ccache is configured with depend mode, add /showIncludes and strip the extra output from stdout.
* ci: Remove clang64 msys target from ci (#1179)Orgad Shaneh2022-10-151-4/+0
| | | It frequently fails to install packages.
* test: Make the integration tests work under Windows (#1133)Orgad Shaneh2022-10-1222-95/+343
| | | | | | | | | | | | | | Adapted the integration test scripts to be able to run on Windows. - Added the ".sh" extension to most shell scripts. It looks like Windows needs this to run the scripts. - Added special handling of carriage return characters. - Tests that fail are deactivated for the moment. - Added additional runners in different Msys2 environments. - Disabled the remote_http tests "Basic auth required" and "Basic auth failed" due to intermittent failures. - Disabled PCH tests for MSYS/Clang. Co-authored-by: R. Voggenauer <rvogg@users.noreply.github.com>
* build: Add missing source file extensionJoel Rosdahl2022-10-121-1/+1
|
* feat: Support depend mode for MSVC (#992)Orgad Shaneh2022-10-1212-12/+272
| | | | | | | | | Based on -showIncludes, which prints included files on stdout with a certain text prefix. Otherwise pretty similar to depend mode handling for GCC. This makes MSVC building way faster. Co-authored-by: Luboš Luňák <l.lunak@centrum.cz>
* chore: Clean up code slightlyJoel Rosdahl2022-10-065-105/+84
|
* fix: Remove usage of deprecated codecvt header (#1172)Orgad Shaneh2022-10-052-6/+38
| | | Based on https://stackoverflow.com/a/69410299/764870.
* refactor: Store compiler output as bytesJoel Rosdahl2022-10-054-28/+32
| | | | As discussed in #1173.
* enhance: Add util::to_string instantiations for Bytes and spanJoel Rosdahl2022-10-052-0/+20
|
* test: Add tests for util::to_string and util::to_string_viewJoel Rosdahl2022-10-051-0/+17
|
* fix: Handle spaces between target and colon in dependency files (#1166)louiscaron2022-10-052-4/+245
| | | | Support dependency files that are generated with spaces between the target and the colon sign.
* test: Add another depend mode test (#1174)louiscaron2022-10-051-6/+46
| | | | | | The first test exercises a relative path only identical generation. The second test exhibits a known limitation when the same test case is done with an absolute path (depend file is wrong).
* fix: Retain line CRLF in compiler output on Windows (#1173)Orgad Shaneh2022-10-051-4/+7
| | | | | When the cached data is read, the output to fd is binary (Util::send_to_fd), so in order to maintain the original line endings, the output must be stored as binary too.
* Revert "feat: Support auto depend mode for MSVC without /showIncludes (#1158)"Joel Rosdahl2022-10-0511-213/+10
| | | | | | This reverts commit 8b65880b5ad817156b58c58b5133aafc99b0a264. See <https://github.com/ccache/ccache/pull/1158#issuecomment-1268748557>.
* feat: Support auto depend mode for MSVC without /showIncludes (#1158)Orgad Shaneh2022-10-0511-10/+213
| | | Co-authored-by: Luboš Luňák <l.lunak@centrum.cz>
* build: Use pkgconfig for zstd search (#1169)Rosen Penev2022-10-051-2/+9
|
* fix: Capture MSVC stdout/stderr when running from Visual Studio (#1170)Orgad Shaneh2022-10-051-0/+6
|
* fix: Fix implementation of unsetenv on Windows (#1171)Orgad Shaneh2022-10-051-0/+2
|
* doc: Sort sloppiness values by nameJoel Rosdahl2022-10-041-7/+7
|
* feat: Improve handling of -frandom-seed and description of sloppinessJoel Rosdahl2022-10-043-7/+5
| | | | | | I should not be necessary to distinguish between existence and non-existence of -frandom-seed if random_seed sloppiness is requested, so don't hash the "-frandom-seed=" part either.
* feat: Add sloppiness for -frandom-seed (#1168)Raihaan Shouhell2022-10-044-0/+19
|
* feat: Improve statistics for remote hits/missesJoel Rosdahl2022-10-0411-106/+322
| | | | | | | | | | | | | | | | | | | | ccache collects statistics about local and remote storage layer get/put operations and describes them as "local/remote hits/misses" in the output of "ccache -s". However, since "hits" and "misses" mean "result hit/miss" in the "cacheable calls" section, it's easy to think that they measure the same thing. This commit improves the situation by: - Adding new "local/remote hits/misses" counters that mean "result hit/miss". These are shown if remote storage is used (since they otherwise are redundant and equal to the normal "hits/misses" counters) or if the -v/--verbose option is given. - Presenting the previous "local/remote hits/misses" counters as "local/remote reads". Only shown in verbose mode. - Adding "local/remote writes" counters. Only shown in verbose mode. Closes #1016.
* chore: Improve inode cache log messagesJoel Rosdahl2022-10-032-4/+4
|
* fix: Don't increment preprocessed_cache_miss in recache modeJoel Rosdahl2022-10-022-1/+5
|
* refactor: Sort k_statistics_fieldsJoel Rosdahl2022-10-021-2/+2
|
* refactor: Extract code for retrieving manifest to a functionJoel Rosdahl2022-09-282-41/+55
|
* feat: Implement "remote only" modeJoel Rosdahl2022-09-288-23/+111
| | | | Closes #1010.
* chore: Rename primary/secondary storage to local/remote storageJoel Rosdahl2022-09-2756-998/+1007
| | | | | | | | | | | | | | | | | There is a feature request to be able not to use a local cache at all, only a network cache. With such a feature, the names "primary storage" and "secondary storage" make less sense since ccache would be operating in "secondary only" mode, but then that storage would of course become the primary (and only). Let's rename "primary storage" to "local storage" and "secondary storage" to "remote storage" – operating in "remote only" mode then makes sense. One of the original motivations to call networked storage "secondary" is that the file storage can be used for local file systems as well, making such storage "not quite remote", but in practice I guess the file storage backend used primarily for network file systems.