]> git.ipfire.org Git - thirdparty/ccache.git/log
thirdparty/ccache.git
4 years agoConvert Sloppiness enum to type-safe class
Joel Rosdahl [Wed, 21 Jul 2021 08:45:01 +0000 (10:45 +0200)] 
Convert Sloppiness enum to type-safe class

4 years agoMove code for cleanup, compressing and similar to storage/primary
Joel Rosdahl [Tue, 20 Jul 2021 11:46:37 +0000 (13:46 +0200)] 
Move code for cleanup, compressing and similar to storage/primary

4 years agoRename storage::CacheEntryWriter to EntryWriter
Joel Rosdahl [Tue, 20 Jul 2021 10:40:06 +0000 (12:40 +0200)] 
Rename storage::CacheEntryWriter to EntryWriter

4 years agoMove compression classes to compression directory/namespace
Joel Rosdahl [Tue, 20 Jul 2021 14:56:15 +0000 (16:56 +0200)] 
Move compression classes to compression directory/namespace

4 years agoConvert nonstd::string_view to std::string using constructor
Joel Rosdahl [Tue, 20 Jul 2021 05:14:46 +0000 (07:14 +0200)] 
Convert nonstd::string_view to std::string using constructor

to_string doesn’t exist in the std::string_view form, so use the
std::string constructor to make a future conversion to newer C++
versions easier.

4 years agoTweak language
Joel Rosdahl [Mon, 19 Jul 2021 19:19:26 +0000 (21:19 +0200)] 
Tweak language

Unix systems use the name “symbolic link” or “symlink”, not “soft link”.

4 years agotest: Use test_failed_internal in inode_cache suite
Joel Rosdahl [Mon, 19 Jul 2021 18:13:01 +0000 (20:13 +0200)] 
test: Use test_failed_internal in inode_cache suite

Using test_failed_internal makes line numbers in reported failures
correct.

4 years agoMove exceptions.hpp to core
Joel Rosdahl [Mon, 19 Jul 2021 11:29:53 +0000 (13:29 +0200)] 
Move exceptions.hpp to core

4 years agoDerive ccache featues from storage registry (#903)
Gregor Jasny [Tue, 20 Jul 2021 14:18:43 +0000 (16:18 +0200)] 
Derive ccache featues from storage registry (#903)

4 years agoHTTP storage: Fix crash when not specifying port
Joel Rosdahl [Mon, 19 Jul 2021 10:50:20 +0000 (12:50 +0200)] 
HTTP storage: Fix crash when not specifying port

Url::port(const std::string&) apparently doesn’t accept an empty string
as the port (even though Url::port() can return an empty string), so
work around that.

4 years agoMove Util::get_path_in_cache to PrimaryStorage
Joel Rosdahl [Sun, 18 Jul 2021 10:52:23 +0000 (12:52 +0200)] 
Move Util::get_path_in_cache to PrimaryStorage

PrimaryStorage is now the sole user of get_path_in_cache.

4 years agoStore secondary storage hits in primary storage
Joel Rosdahl [Sun, 18 Jul 2021 10:44:39 +0000 (12:44 +0200)] 
Store secondary storage hits in primary storage

4 years agoImprove secondary storage framework
Joel Rosdahl [Fri, 16 Jul 2021 20:12:17 +0000 (22:12 +0200)] 
Improve secondary storage framework

- Let the secondary storage framework create backend instances on demand and
  track their failure state - the framework will stop calling a backend after a
  connection error/timeout. This makes it possible for a backend to create a
  connection in the constructor if wanted.
- Added API and implementation for redacting secrets in secondary storage URLs
  and attributes. Passwords in URLs are now redacted in debug logs but not for
  "ccache -p" and "ccache -k secondary_storage".
- Adapted existing storage backends to the new APIs. In particular, the Redis
  backend could be simplified.
- Moved the SecondaryStorage class to src/storage/secondary, analogous to
  PrimaryStorage which is in src/storage/primary.

4 years agodoc: Mention file URLs without double slash
Joel Rosdahl [Fri, 16 Jul 2021 19:19:36 +0000 (21:19 +0200)] 
doc: Mention file URLs without double slash

4 years agoRemove redundant _utils suffix for util headers
Joel Rosdahl [Wed, 14 Jul 2021 08:10:10 +0000 (10:10 +0200)] 
Remove redundant _utils suffix for util headers

4 years agoAdd util::join function
Joel Rosdahl [Tue, 13 Jul 2021 18:40:31 +0000 (20:40 +0200)] 
Add util::join function

4 years agoSplit util headers into interface and implementation sections
Joel Rosdahl [Wed, 14 Jul 2021 07:41:55 +0000 (09:41 +0200)] 
Split util headers into interface and implementation sections

4 years agoMove parse_signed and parse_unsigned to util
Joel Rosdahl [Tue, 13 Jul 2021 11:04:49 +0000 (13:04 +0200)] 
Move parse_signed and parse_unsigned to util

4 years agoAdd util::value_or_throw function
Joel Rosdahl [Wed, 14 Jul 2021 08:07:15 +0000 (10:07 +0200)] 
Add util::value_or_throw function

4 years agoMove starts_with and ends_with to util
Joel Rosdahl [Tue, 13 Jul 2021 08:50:12 +0000 (10:50 +0200)] 
Move starts_with and ends_with to util

4 years agoMove strip_whitespace to util
Joel Rosdahl [Tue, 13 Jul 2021 08:41:44 +0000 (10:41 +0200)] 
Move strip_whitespace to util

4 years agoSort Config::set_* methods
Joel Rosdahl [Tue, 13 Jul 2021 08:29:34 +0000 (10:29 +0200)] 
Sort Config::set_* methods

4 years agoUse std::this_thread::sleep_for instead of usleep
Joel Rosdahl [Tue, 13 Jul 2021 07:49:15 +0000 (09:49 +0200)] 
Use std::this_thread::sleep_for instead of usleep

For portability.

4 years agoHTTP storage: Fix IPv6 address handling (#898)
Gregor Jasny [Sat, 17 Jul 2021 14:43:22 +0000 (16:43 +0200)] 
HTTP storage: Fix IPv6 address handling (#898)

4 years agoFix test-all-systems (#901)
Gregor Jasny [Sat, 17 Jul 2021 12:05:37 +0000 (14:05 +0200)] 
Fix test-all-systems (#901)

4 years agoExpose list of enabled features (#897)
Gregor Jasny [Wed, 14 Jul 2021 09:37:14 +0000 (11:37 +0200)] 
Expose list of enabled features (#897)

4 years agoHTTP storage: Implement timeout support (#896)
Gregor Jasny [Wed, 14 Jul 2021 09:36:48 +0000 (11:36 +0200)] 
HTTP storage: Implement timeout support (#896)

Closes #888.

4 years agoHTTP storage: Implement authentication support (#895)
Gregor Jasny [Wed, 14 Jul 2021 07:26:13 +0000 (09:26 +0200)] 
HTTP storage: Implement authentication support (#895)

Closes #887.

4 years agoAdd CII Best Practices badge
Joel Rosdahl [Wed, 14 Jul 2021 07:17:32 +0000 (09:17 +0200)] 
Add CII Best Practices badge

4 years agoMention that test cases are preferred for contributed code
Joel Rosdahl [Wed, 14 Jul 2021 07:03:31 +0000 (09:03 +0200)] 
Mention that test cases are preferred for contributed code

4 years agoOnly run redis test if backend is enabled (#891)
Gregor Jasny [Tue, 13 Jul 2021 07:31:20 +0000 (09:31 +0200)] 
Only run redis test if backend is enabled (#891)

4 years agoAdd test for Redis storage with password
Joel Rosdahl [Mon, 12 Jul 2021 11:51:50 +0000 (13:51 +0200)] 
Add test for Redis storage with password

4 years agoRemove read-only tests of HTTP and Redis storage backends
Joel Rosdahl [Sun, 11 Jul 2021 19:57:40 +0000 (21:57 +0200)] 
Remove read-only tests of HTTP and Redis storage backends

The “read-only” tests in secondary_http and secondary_redis were
inspired by the “read-only” test in secondary_file. However, that test
actually verifies the secondary storage *framework*, not the storage
backend itself, so it’s enough to just do it in secondary_file.

4 years agoMake secondary_http and secondary_redis tests independent
Joel Rosdahl [Sun, 11 Jul 2021 19:51:49 +0000 (21:51 +0200)] 
Make secondary_http and secondary_redis tests independent

Instead of starting an HTTP or Redis server that lives for the duration
of the test suite, start a new one for each test case. This makes tests
more independent and also opens up for future testing of e.g. different
ports and authentication modes by allowing different server
configurations for each test case.

4 years agotest: Fix secondary_http suite for test/run called with relative path
Joel Rosdahl [Sun, 11 Jul 2021 19:38:46 +0000 (21:38 +0200)] 
test: Fix secondary_http suite for test/run called with relative path

4 years agoImplement partial support for Redis provisional URI scheme
Joel Rosdahl [Sun, 11 Jul 2021 18:32:08 +0000 (20:32 +0200)] 
Implement partial support for Redis provisional URI scheme

Reference: https://www.iana.org/assignments/uri-schemes/prov/redis

Supported: Username, password, host, port and db number. Not supported:
connection parameters.

This also drops support for Unix sockets.

4 years agoSimplify Redis reply object management
Joel Rosdahl [Sun, 11 Jul 2021 06:52:55 +0000 (08:52 +0200)] 
Simplify Redis reply object management

4 years agoTouch up Redis storage code slightly
Joel Rosdahl [Sat, 10 Jul 2021 19:24:35 +0000 (21:24 +0200)] 
Touch up Redis storage code slightly

Note: Unlike atoi, std::stoi throws an exception on conversion error so
use Util::parse_unsigned instead which throws an exception that is
caught correctly.

4 years agoci: Extract common package list to a variable
Joel Rosdahl [Sat, 10 Jul 2021 18:42:50 +0000 (20:42 +0200)] 
ci: Extract common package list to a variable

4 years agoAdd optional Redis secondary storage backend (#875)
Anders Björklund [Sat, 10 Jul 2021 18:39:59 +0000 (20:39 +0200)] 
Add optional Redis secondary storage backend (#875)

4 years agoTouch up secondary storage code slightly
Joel Rosdahl [Sat, 10 Jul 2021 11:55:38 +0000 (13:55 +0200)] 
Touch up secondary storage code slightly

4 years agoMove is_full_path to util
Joel Rosdahl [Fri, 9 Jul 2021 08:25:46 +0000 (10:25 +0200)] 
Move is_full_path to util

4 years agoMerge pull request #676 from gjasny/httpcache-backend
Joel Rosdahl [Thu, 8 Jul 2021 14:34:41 +0000 (16:34 +0200)] 
Merge pull request #676 from gjasny/httpcache-backend

Add secondary HTTP storage.

4 years agoAdd secondary HTTP storage 676/head
Gregor Jasny [Tue, 6 Jul 2021 12:03:41 +0000 (14:03 +0200)] 
Add secondary HTTP storage

Fixes: #858
4 years agoRemove dead code in cpp-httplib
Gregor Jasny [Mon, 28 Jun 2021 06:46:36 +0000 (08:46 +0200)] 
Remove dead code in cpp-httplib

See: https://github.com/yhirose/cpp-httplib/pull/965

4 years agoAdd cpp-httplib 0.9.0
Gregor Jasny [Mon, 28 Jun 2021 06:46:05 +0000 (08:46 +0200)] 
Add cpp-httplib 0.9.0

from https://github.com/yhirose/cpp-httplib

4 years agoImprove ssize_t typedefs for Windows platforms
Joel Rosdahl [Wed, 7 Jul 2021 07:23:51 +0000 (09:23 +0200)] 
Improve ssize_t typedefs for Windows platforms

4 years agoRemove system.hpp, including what’s needed instead
Joel Rosdahl [Tue, 6 Jul 2021 19:19:57 +0000 (21:19 +0200)] 
Remove system.hpp, including what’s needed instead

This is the next step after a57f70eda32e99221de56f5499079b4f00dc2bc5.

4 years agoDon’t fail “Collect testdir” job if there is no testdir to collect
Joel Rosdahl [Tue, 6 Jul 2021 18:01:01 +0000 (20:01 +0200)] 
Don’t fail “Collect testdir” job if there is no testdir to collect

4 years agoMove READ_BUFFER_SIZE to config.h, adding a CCACHE_ prefix
Joel Rosdahl [Tue, 6 Jul 2021 07:04:44 +0000 (09:04 +0200)] 
Move READ_BUFFER_SIZE to config.h, adding a CCACHE_ prefix

4 years agoAdd util::split_path_list function and remove PATH_DELIM macro
Joel Rosdahl [Tue, 6 Jul 2021 06:57:50 +0000 (08:57 +0200)] 
Add util::split_path_list function and remove PATH_DELIM macro

4 years agoRemove now mostly superfluous DIR_DELIM_CH macro
Joel Rosdahl [Tue, 6 Jul 2021 06:44:25 +0000 (08:44 +0200)] 
Remove now mostly superfluous DIR_DELIM_CH macro

4 years agoUpdate dockerfiles with supported distributions (#886)
Gregor Jasny [Tue, 6 Jul 2021 20:18:44 +0000 (22:18 +0200)] 
Update dockerfiles with supported distributions (#886)

4 years agoMerge pull request #881 from gjasny/use-url-class
Joel Rosdahl [Tue, 6 Jul 2021 11:01:47 +0000 (13:01 +0200)] 
Merge pull request #881 from gjasny/use-url-class

4 years agoRequire CMake 3.10 (#885)
Gregor Jasny [Tue, 6 Jul 2021 10:49:08 +0000 (12:49 +0200)] 
Require CMake 3.10 (#885)

Fixes #884.

4 years agoUse URL class for URL parsing 881/head
Gregor Jasny [Mon, 5 Jul 2021 20:08:46 +0000 (22:08 +0200)] 
Use URL class for URL parsing

4 years agoAdd CxxUrl v0.2
Gregor Jasny [Fri, 2 Jul 2021 11:39:46 +0000 (13:39 +0200)] 
Add CxxUrl v0.2

from https://github.com/chmike/CxxUrl

4 years agoGlobally define WIN32_LEAN_AND_MEAN (#882)
Gregor Jasny [Mon, 5 Jul 2021 18:20:46 +0000 (20:20 +0200)] 
Globally define WIN32_LEAN_AND_MEAN (#882)

4 years agoFix CMake feature detection (#883)
Gregor Jasny [Mon, 5 Jul 2021 18:18:18 +0000 (20:18 +0200)] 
Fix CMake feature detection (#883)

When enabling CMake policy
<https://cmake.org/cmake/help/latest/policy/CMP0067.html> by either enabling it
directly or via a `cmake_minimum_required` of `3.8` or later, the
`test.inode_cache` test starts to fail.

This happens because this policy slightly changes the `CheckCSourceCompiles`
logic by passing-in any configured C-standard. The detection of the following
features now report absence:

    --- CMakeCache-old.txt 2021-07-05 15:50:25.698278961 +0200
    +++ CMakeCache-new.txt 2021-07-05 15:50:54.626397301 +0200
    @@ -657,7 +657,7 @@
     //Have function pthread_mutexattr_setpshared
     HAVE_PTHREAD_MUTEXATTR_SETPSHARED:INTERNAL=1
     //Test HAVE_PTHREAD_MUTEX_ROBUST
    -HAVE_PTHREAD_MUTEX_ROBUST:INTERNAL=1
    +HAVE_PTHREAD_MUTEX_ROBUST:INTERNAL=
     //Have include pwd.h
     HAVE_PWD_H:INTERNAL=1
     //Have function realpath
    @@ -675,9 +675,9 @@
     //Test HAVE_STRUCT_STATFS_F_FSTYPENAME
     HAVE_STRUCT_STATFS_F_FSTYPENAME:INTERNAL=
     //Test HAVE_STRUCT_STAT_ST_CTIM
    -HAVE_STRUCT_STAT_ST_CTIM:INTERNAL=1
    +HAVE_STRUCT_STAT_ST_CTIM:INTERNAL=
     //Test HAVE_STRUCT_STAT_ST_MTIM
    -HAVE_STRUCT_STAT_ST_MTIM:INTERNAL=1
    +HAVE_STRUCT_STAT_ST_MTIM:INTERNAL=
     //Have function syslog
     HAVE_SYSLOG:INTERNAL=1
     //Have include syslog.h

In case of `HAVE_PTHREAD_MUTEX_ROBUST` the now passed-in `-std=c99` does not
enable the required `__USE_XOPEN2K` extension:

    #ifdef __USE_XOPEN2K
    /* Robust mutex or not flags.  */
    enum
    {
      PTHREAD_MUTEX_STALLED,
      PTHREAD_MUTEX_STALLED_NP = PTHREAD_MUTEX_STALLED,
      PTHREAD_MUTEX_ROBUST,
      PTHREAD_MUTEX_ROBUST_NP = PTHREAD_MUTEX_ROBUST
    };
    #endif

To remedy the situation CMake now checks for those features within a C++
language context. In C++ those features seem to be available without enabling
any extra extensions.

It also makes the check more precise because all of the consumers are C++ (and
not C) compilation units.

4 years agoDon’t collapse empty lines in rewrite_stderr_to_absolute_paths
Joel Rosdahl [Mon, 5 Jul 2021 17:10:20 +0000 (19:10 +0200)] 
Don’t collapse empty lines in rewrite_stderr_to_absolute_paths

4 years agoDon’t collapse empty lines in Depfile::rewrite_paths
Joel Rosdahl [Mon, 5 Jul 2021 17:08:04 +0000 (19:08 +0200)] 
Don’t collapse empty lines in Depfile::rewrite_paths

4 years agoAdd mode parameter to split_into_* and Tokenizer
Joel Rosdahl [Mon, 5 Jul 2021 12:41:48 +0000 (14:41 +0200)] 
Add mode parameter to split_into_* and Tokenizer

4 years agoFix typo in Util::split_into_views doc string
Joel Rosdahl [Sun, 4 Jul 2021 16:45:14 +0000 (18:45 +0200)] 
Fix typo in Util::split_into_views doc string

4 years agoFix bug in debug_dir (CCACHE_DEBUGDIR)
Joel Rosdahl [Sun, 4 Jul 2021 05:13:02 +0000 (07:13 +0200)] 
Fix bug in debug_dir (CCACHE_DEBUGDIR)

The absolute path to the object file is not created correctly if the
object file doesn’t already exist.

4 years agoAdd util::to_absolute_path
Joel Rosdahl [Sun, 4 Jul 2021 05:12:53 +0000 (07:12 +0200)] 
Add util::to_absolute_path

4 years agoMove is_absolute_path to util
Joel Rosdahl [Sun, 4 Jul 2021 04:59:07 +0000 (06:59 +0200)] 
Move is_absolute_path to util

4 years agoAdd magic file for identifying ccache files (#880)
Anders Björklund [Sat, 3 Jul 2021 18:17:53 +0000 (20:17 +0200)] 
Add magic file for identifying ccache files (#880)

Useful when working with streams from server.

4 years agodoc: Mention “-” for standard input consistently
Joel Rosdahl [Sat, 3 Jul 2021 18:13:42 +0000 (20:13 +0200)] 
doc: Mention “-” for standard input consistently

4 years agoAdd integration test for stats_log
Joel Rosdahl [Fri, 2 Jul 2021 18:00:09 +0000 (20:00 +0200)] 
Add integration test for stats_log

4 years agoTweak stats_log documentation
Joel Rosdahl [Fri, 2 Jul 2021 17:59:03 +0000 (19:59 +0200)] 
Tweak stats_log documentation

4 years agoSimplify format_stats_log implementation
Joel Rosdahl [Fri, 2 Jul 2021 17:58:48 +0000 (19:58 +0200)] 
Simplify format_stats_log implementation

4 years agoAllow dumping stdin by giving - as path (#879)
Anders Björklund [Sat, 3 Jul 2021 18:10:36 +0000 (20:10 +0200)] 
Allow dumping stdin by giving - as path (#879)

Similar to other commands, such as tar.

4 years agoUse generator expression for ccache location (#878)
Gregor Jasny [Sat, 3 Jul 2021 18:03:34 +0000 (20:03 +0200)] 
Use generator expression for ccache location (#878)

With multi-config generators like Xcode the binary is stored
within an extra Debug / Release directory.

Tested with CMake 3.4.3

4 years agoMerge pull request #873 from gjasny/fix-appleclang-detection
Joel Rosdahl [Thu, 1 Jul 2021 18:51:40 +0000 (20:51 +0200)] 
Merge pull request #873 from gjasny/fix-appleclang-detection

4 years agoFix source file suffix selection for libblake3
Joel Rosdahl [Thu, 1 Jul 2021 06:34:54 +0000 (08:34 +0200)] 
Fix source file suffix selection for libblake3

In the add_source_if_enabled function in
src/third_party/blake3/CMakeLists.txt, the suffix variable is unset on a
CMake reconfigure in an already configured build tree. This makes CMake
guess the extension and always choose “.c” on a reconfigure.

Fix this by always setting the suffix variable.

4 years agoAllow one -Xarch_* option that matches -arch (#874)
Joel Rosdahl [Tue, 29 Jun 2021 18:09:49 +0000 (20:09 +0200)] 
Allow one -Xarch_* option that matches -arch (#874)

Closes #871.

4 years agoDefault to clang compiler on macOS 873/head
Gregor Jasny [Tue, 29 Jun 2021 09:45:10 +0000 (11:45 +0200)] 
Default to clang compiler on macOS

4 years agoFix Apple Clang detection
Gregor Jasny [Tue, 29 Jun 2021 09:42:50 +0000 (11:42 +0200)] 
Fix Apple Clang detection

Apple Clang, when called via `gcc` emits a `Configured with` line
on stderr which confuses the compiler detection. We just ignore
stderr for the `--version` query now.

4 years agoMark tests as skipped for unsupported compilers
Gregor Jasny [Tue, 29 Jun 2021 09:27:38 +0000 (11:27 +0200)] 
Mark tests as skipped for unsupported compilers

4 years agoSimplify header categorization rules
Joel Rosdahl [Tue, 29 Jun 2021 06:14:51 +0000 (08:14 +0200)] 
Simplify header categorization rules

4 years agoUse .clang-format regexes instead of comments to group system includes
Joel Rosdahl [Tue, 29 Jun 2021 05:42:21 +0000 (07:42 +0200)] 
Use .clang-format regexes instead of comments to group system includes

4 years agoDisable some clang-tidy checks that don’t contribute much
Joel Rosdahl [Mon, 28 Jun 2021 19:20:42 +0000 (21:20 +0200)] 
Disable some clang-tidy checks that don’t contribute much

4 years agoRemove unused function
Joel Rosdahl [Mon, 28 Jun 2021 05:18:47 +0000 (07:18 +0200)] 
Remove unused function

4 years agoImprove SecondaryStorage comments
Joel Rosdahl [Mon, 28 Jun 2021 05:18:12 +0000 (07:18 +0200)] 
Improve SecondaryStorage comments

4 years agoInclude $PWD in hash for -fprofile-generate with relative directory
Joel Rosdahl [Sun, 27 Jun 2021 18:34:06 +0000 (20:34 +0200)] 
Include $PWD in hash for -fprofile-generate with relative directory

For a relative profile directory D, GCC stores $PWD/D as part of the
profile filename in an object file generated with -fprofile-generate, so
we need to include the same information in the hash.

Fixes #872.

4 years agoAdd secondary file storage backend
Joel Rosdahl [Wed, 23 Jun 2021 14:29:15 +0000 (16:29 +0200)] 
Add secondary file storage backend

Closes #857.

4 years agoImplement configurations, API and framework for secondary storage
Joel Rosdahl [Wed, 23 Jun 2021 14:27:51 +0000 (16:27 +0200)] 
Implement configurations, API and framework for secondary storage

This introduces the possibility to add one or several secondary storage
backends to query after the primary cache storage. Note that cache
statistics counters will still be kept in the primary cache directory --
secondary storage backends only store cache results and manifests.

The API should now be ready enough to implement secondary storage
backends.

The framework is also ready enough for usage, but lacks two major things
that are still to be implemented:

1. Improved statistics handling. Up until now, ccache always increments
   exactly one statistics counter for each invocation (e.g. “hit”,
   “miss” or “some error”). Since I want to have separate statistics for
   primary and secondary storage, this model no longer works since an
   invocation can result in both a “primary miss” and a “secondary hit”.

2. Improved PrimaryStorage interface. The SecondaryStorage interface
   works with memory data, but PrimaryStorage, Result and Manifest still
   work with files at the API level. This means that if an invocation is
   a primary storage miss but a secondary storage hit, the data from
   secondary storage has to be written to a temporary file only to be
   read back into memory again by the Result/Manifest deserialization
   code.

Closes #855.
Closes #856.

4 years agoImprove parsing of umask values
Joel Rosdahl [Fri, 25 Jun 2021 13:06:10 +0000 (15:06 +0200)] 
Improve parsing of umask values

4 years agoAdd base parameter to Util::parse_unsigned
Joel Rosdahl [Fri, 25 Jun 2021 16:59:27 +0000 (18:59 +0200)] 
Add base parameter to Util::parse_unsigned

4 years agoCorrect documentation of Util::unlink_safe
Joel Rosdahl [Tue, 22 Jun 2021 17:27:14 +0000 (19:27 +0200)] 
Correct documentation of Util::unlink_safe

4 years agoAdd util::percent_decode
Joel Rosdahl [Mon, 21 Jun 2021 18:38:49 +0000 (20:38 +0200)] 
Add util::percent_decode

4 years agoAdd util::split_once
Joel Rosdahl [Mon, 21 Jun 2021 06:20:44 +0000 (08:20 +0200)] 
Add util::split_once

4 years agoRefactor main primary storage backend code into storage/primary
Joel Rosdahl [Tue, 15 Jun 2021 19:13:10 +0000 (21:13 +0200)] 
Refactor main primary storage backend code into storage/primary

This is the code that deals with retrieving and storing cache entries.

4 years agoRefactor config and context setup
Joel Rosdahl [Sun, 20 Jun 2021 13:36:33 +0000 (15:36 +0200)] 
Refactor config and context setup

4 years agoRemove now superfluous std::make_unique shim
Joel Rosdahl [Sun, 20 Jun 2021 17:48:49 +0000 (19:48 +0200)] 
Remove now superfluous std::make_unique shim

4 years agoAdd Tokenizer class
Joel Rosdahl [Wed, 15 Apr 2020 19:33:58 +0000 (21:33 +0200)] 
Add Tokenizer class

The class behaves like a collection and can be used in a range-based for
loop.

4 years agoRevise include file order to work with new directory structure
Joel Rosdahl [Fri, 25 Jun 2021 11:52:18 +0000 (13:52 +0200)] 
Revise include file order to work with new directory structure

4 years agoRemove superfluous context instance in test case
Joel Rosdahl [Sat, 19 Jun 2021 18:50:58 +0000 (20:50 +0200)] 
Remove superfluous context instance in test case

4 years agoUse single command line arg for /FI (#869)
Michael Kruse [Sun, 20 Jun 2021 19:20:40 +0000 (14:20 -0500)] 
Use single command line arg for /FI (#869)

CMake seems to interpret /FI and its argument as two separate options.
For instance, CMake de-duplicates arguments, leading any to non-first
/FI flag to be removed. This might be the reason why the option is not
honored with Visual Studio 16.10.2 / CMake 3.20.3.

Fix by combining /FI and its argument into a single command line option.

4 years agoAdd sloppy include_file_mtime to ivfsoverlay test (#868)
Michael Kruse [Sun, 20 Jun 2021 19:19:52 +0000 (14:19 -0500)] 
Add sloppy include_file_mtime to ivfsoverlay test (#868)

Add CCACHE_SLOPPINESS=include_file_mtime to ivfsoverlay test. This is
possibly due to me using my self-compiled clang since it does not fail
with the version of Clang that comes with Ubuntu 20.04.