vector-of-bool
e7c1be5e6a
Builtin-toolchain prefix for debug
pirms 5 gadiem
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.
pirms 5 gadiem
vector-of-bool
9cb284c816
Merge branch 'feature/gcc-9-fixup' into develop
pirms 5 gadiem
vector-of-bool
329ec9848e
Fixup some stray refs to gcc-8
pirms 5 gadiem
vector-of-bool
b05153d5cf
Use gcc-9 in CI
pirms 5 gadiem
vector-of-bool
5d8e940dcd
Merge branch 'feature/full-semver' into develop
pirms 5 gadiem
vector-of-bool
142cc0ac95
Semver is now in a separate repo, we're using GCC 9 now
pirms 5 gadiem
vector-of-bool
a56a3947e0
Implement all of semver
pirms 5 gadiem
vector-of-bool
aaea35e23b
Remove the `--full` parameter
pirms 5 gadiem
vector-of-bool
9c2a245dfa
Fix removal of a file causing a crash in deps tracking
pirms 5 gadiem
vector-of-bool
18e2066beb
Merge branch 'feature/dep-tracking' into develop
pirms 5 gadiem
vector-of-bool
f07e6ca9cb
Move `deps.hpp` all into build/
pirms 5 gadiem
vector-of-bool
c2d2bd6f31
Cleanup compile_exec
pirms 5 gadiem
vector-of-bool
33e8fbdae1
Rebase built-in toolchains from the DDS parser
pirms 5 gadiem
vector-of-bool
9de9bbb7d6
Specify the output file for GNU-style deps
pirms 5 gadiem
vector-of-bool
26ed508a0a
gcc-8 is the C compiler
pirms 5 gadiem
vector-of-bool
bf80d6a96b
Fix the main source file not being marked as an input to the compilation
pirms 5 gadiem
vector-of-bool
7cea3a34f7
Fix deps parsing from striping whitespace on non-deps output
pirms 5 gadiem
vector-of-bool
8d106a0eab
Handle MSVC deps output for incremental compilation
pirms 5 gadiem
vector-of-bool
055cbe4354
Add a remote for neo-sqlite3
pirms 5 gadiem
vector-of-bool
f806dba5ad
Create a dir for the database before opening it
pirms 5 gadiem
vector-of-bool
c94bea0b68
Function to parse MSVC output for compile deps
pirms 5 gadiem
vector-of-bool
1f14895a8f
split_view doesn't allocate new strings
pirms 5 gadiem
vector-of-bool
2233043515
Can't bind a filesystem::path as a string
pirms 5 gadiem
vector-of-bool
abf5586888
Persist dependency information in an SQLite database, and use it do incremental compilation
pirms 5 gadiem
vector-of-bool
b2198488aa
Access compile rules of a compile_file_plan
pirms 5 gadiem
vector-of-bool
1fca2fd03f
Add arguments that handle the generation of compile dependency information.
pirms 5 gadiem
vector-of-bool
3755a15e2f
bootstrap-p4
pirms 5 gadiem
vector-of-bool
42cba8986f
Run full build as part of CI
pirms 5 gadiem
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
pirms 5 gadiem
vector-of-bool
5f38ebf341
Merge branch 'feature/use-bootstrap-p3' into develop
pirms 5 gadiem
vector-of-bool
32236dfb93
Merge branch 'feature/bootstrap-p3' into develop
pirms 5 gadiem
vector-of-bool
9479797b89
Install ccache for CI, even though unused in Azure Pipeline
pirms 5 gadiem
vector-of-bool
8c0480ae89
Announce usage of neo/buffer
pirms 5 gadiem
vector-of-bool
cdf7654771
Enable -fconcepts for GCC builds
pirms 5 gadiem
vector-of-bool
3a0f668fb8
Fix `#include` directive for catch-main cpp file
pirms 5 gadiem
vector-of-bool
fb3749cf27
Use external neo/buffer
pirms 5 gadiem
vector-of-bool
5d3e49d2b6
Remove unused logging.hpp
pirms 5 gadiem
vector-of-bool
44be1e12b3
New bootstrap-p3
pirms 5 gadiem
vector-of-bool
7988561513
Peru is gone
pirms 5 gadiem
vector-of-bool
810c0a69a3
Formatting
pirms 5 gadiem
vector-of-bool
beb00fa96b
Convert our tests to use Catch2
pirms 5 gadiem
vector-of-bool
87add9d5f8
Embedded dependencies are GONE!
pirms 5 gadiem
vector-of-bool
dfa559c1df
Bootstrap phase 3 is now the basis
pirms 5 gadiem
vector-of-bool
10d8613836
Incorrect flags used in executable linking
pirms 5 gadiem
vector-of-bool
4c94414b9d
Specify the tests directory for pytest
pirms 5 gadiem
vector-of-bool
bd05c2f595
Fix missing flags when linking executables
pirms 5 gadiem
vector-of-bool
ac0da1f0c4
Merge branch 'feature/get-deps' into develop
pirms 5 gadiem
vector-of-bool
8c5c462fba
Use a different temp basedir for pytest to prevent long paths
pirms 5 gadiem
vector-of-bool
9b15738526
Fix windows: Can't replace an executable that is currently open
pirms 5 gadiem