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