vector-of-bool
85ae3b2150
Attach mtimes to individual deps, not files. Fixes a miscompile (!!)
Fix bug:
- Assume X and Y depend on Z
- X and Y both compile clean.
- A change is made to Z
- X and Y are now "out-of-date," and marked to compile.
- The change causes a failure in X, but Y still compiles clean.
- Because X compiles clean, the database will be updated and store the new mtime of Z!
- Attempting to compile again, the mtime of Z will not be considered "changed" since the last compile.
- X depends on Z, but Z is not marked "changed," and X will not be recompiled, even though it is still in a dirty state!
- Linking of X and Y produces wild results. UB. ORD NDR. Badness.
The fix is to have the edges in the graph between inputs and outputs
store the mtime of the input, rather than to store that mtime on the
file itself. Thus, each individual relationship between inputs and
outputs will track the "outdated-ness" of themselves.
This also adds a test which can correctly reproduce the issue in absense of the fix.
5 年之前
vector-of-bool
409dc2c83e
Use package_id in remote package listings
5 年之前
vector-of-bool
990e3503af
Incorporate the new package_id type, as use `@` as a name separator
5 年之前
vector-of-bool
4eb8c508f1
A `package_id` type
5 年之前
vector-of-bool
142cc0ac95
Semver is now in a separate repo, we're using GCC 9 now
5 年之前
vector-of-bool
a56a3947e0
Implement all of semver
5 年之前
vector-of-bool
aaea35e23b
Remove the `--full` parameter
5 年之前
vector-of-bool
9c2a245dfa
Fix removal of a file causing a crash in deps tracking
5 年之前
vector-of-bool
f07e6ca9cb
Move `deps.hpp` all into build/
5 年之前
vector-of-bool
c2d2bd6f31
Cleanup compile_exec
5 年之前
vector-of-bool
33e8fbdae1
Rebase built-in toolchains from the DDS parser
5 年之前
vector-of-bool
9de9bbb7d6
Specify the output file for GNU-style deps
5 年之前
vector-of-bool
bf80d6a96b
Fix the main source file not being marked as an input to the compilation
5 年之前
vector-of-bool
7cea3a34f7
Fix deps parsing from striping whitespace on non-deps output
5 年之前
vector-of-bool
8d106a0eab
Handle MSVC deps output for incremental compilation
5 年之前
vector-of-bool
f806dba5ad
Create a dir for the database before opening it
5 年之前
vector-of-bool
c94bea0b68
Function to parse MSVC output for compile deps
5 年之前
vector-of-bool
1f14895a8f
split_view doesn't allocate new strings
5 年之前
vector-of-bool
2233043515
Can't bind a filesystem::path as a string
5 年之前
vector-of-bool
abf5586888
Persist dependency information in an SQLite database, and use it do incremental compilation
5 年之前
vector-of-bool
b2198488aa
Access compile rules of a compile_file_plan
5 年之前
vector-of-bool
1fca2fd03f
Add arguments that handle the generation of compile dependency information.
5 年之前
vector-of-bool
63b206fd7b
Fix language detection (based on file extension)
Update build script to build our deps
Run the bootstrap builds in their respective directory
5 年之前
vector-of-bool
3a0f668fb8
Fix `#include` directive for catch-main cpp file
5 年之前
vector-of-bool
fb3749cf27
Use external neo/buffer
5 年之前
vector-of-bool
5d3e49d2b6
Remove unused logging.hpp
5 年之前
vector-of-bool
810c0a69a3
Formatting
5 年之前
vector-of-bool
beb00fa96b
Convert our tests to use Catch2
5 年之前
vector-of-bool
10d8613836
Incorrect flags used in executable linking
5 年之前
vector-of-bool
bd05c2f595
Fix missing flags when linking executables
5 年之前
vector-of-bool
9fc453b0c4
Fix setting the `Include-Path` for dependencies
5 年之前
vector-of-bool
224a1b9599
Pull taywee/args directly into the source tree
5 年之前
vector-of-bool
8546a5722a
Automatic package generation from unchanged Git remotes
5 年之前
vector-of-bool
a642a5bf60
File extensions _must_ be sorted
5 年之前
vector-of-bool
8c419b8eb2
Fix argument name for --lm-index
5 年之前
vector-of-bool
e8dc793e88
Force crate the sdist when creating from a clone
5 年之前
vector-of-bool
0eb08490a1
We have to actually invoke ranges::to<>
5 年之前
vector-of-bool
e324031738
Rearrange flags on sdist command
5 年之前
vector-of-bool
e17acfdeb3
Simplify lm::pair to use plain public members
5 年之前
vector-of-bool
bacecce2f9
Missing header for source.hpp
5 年之前
vector-of-bool
1ef23d6b8b
Support for declarativily ignoring `X-` keys
5 年之前
vector-of-bool
69c7fd2112
Dependency downloading using `dds deps get`
5 年之前
vector-of-bool
675f8d365a
Parsing lines containing nested key-value pairs
5 年之前
vector-of-bool
130b794841
Change the format of the embedded Catch 2 header, since MSVC can't handle huge string literals
5 年之前
vector-of-bool
8f5e74ba0e
Support for using an embedded version of Catch2
5 年之前
vector-of-bool
5a38f5f6a3
Fix Windows file locks to actually _work_
5 年之前
vector-of-bool
404738a7a3
Fix bad string trimming, and safer trimming of temporary strings
5 年之前
vector-of-bool
55b7d56430
Fix bad string trimming creating bogus string_views
5 年之前
vector-of-bool
bc206eceed
Fix help text for --repo-dir
5 年之前
vector-of-bool
498a8c055c
Fix repo loading to support arbitrary filenames
5 年之前