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. 
							
						 
						6 年前  
				
					
						
							
								 
						
							
								b2273b2ffb
								
							 
						 
						
							
								
								Merge branch 'develop' into feature/pkg-id-type  
							
							# Conflicts:
#	azure-pipelines.yml 
							
						 
						6 年前  
				
					
						
							
								 
						
							
								9cb284c816
								
							 
						 
						
							
								
								Merge branch 'feature/gcc-9-fixup' into develop  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								329ec9848e
								
							 
						 
						
							
								
								Fixup some stray refs to gcc-8  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								b05153d5cf
								
							 
						 
						
							
								
								Use gcc-9 in CI  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								cbebbe1650
								
							 
						 
						
							
								
								Use gcc-9 in CI  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								409dc2c83e
								
							 
						 
						
							
								
								Use package_id in remote package listings  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								990e3503af
								
							 
						 
						
							
								
								Incorporate the new package_id type, as use `@` as a name separator  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								4eb8c508f1
								
							 
						 
						
							
								
								A `package_id` type  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								5d8e940dcd
								
							 
						 
						
							
								
								Merge branch 'feature/full-semver' into develop  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								142cc0ac95
								
							 
						 
						
							
								
								Semver is now in a separate repo, we're using GCC 9 now  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								a56a3947e0
								
							 
						 
						
							
								
								Implement all of semver  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								aaea35e23b
								
							 
						 
						
							
								
								Remove the `--full` parameter  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								9c2a245dfa
								
							 
						 
						
							
								
								Fix removal of a file causing a crash in deps tracking  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								18e2066beb
								
							 
						 
						
							
								
								Merge branch 'feature/dep-tracking' into develop  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								f07e6ca9cb
								
							 
						 
						
							
								
								Move `deps.hpp` all into build/  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								c2d2bd6f31
								
							 
						 
						
							
								
								Cleanup compile_exec  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								33e8fbdae1
								
							 
						 
						
							
								
								Rebase built-in toolchains from the DDS parser  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								9de9bbb7d6
								
							 
						 
						
							
								
								Specify the output file for GNU-style deps  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								26ed508a0a
								
							 
						 
						
							
								
								gcc-8 is the C compiler  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								bf80d6a96b
								
							 
						 
						
							
								
								Fix the main source file not being marked as an input to the compilation  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								7cea3a34f7
								
							 
						 
						
							
								
								Fix deps parsing from striping whitespace on non-deps output  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								8d106a0eab
								
							 
						 
						
							
								
								Handle MSVC deps output for incremental compilation  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								055cbe4354
								
							 
						 
						
							
								
								Add a remote for neo-sqlite3  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								f806dba5ad
								
							 
						 
						
							
								
								Create a dir for the database before opening it  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								c94bea0b68
								
							 
						 
						
							
								
								Function to parse MSVC output for compile deps  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								1f14895a8f
								
							 
						 
						
							
								
								split_view doesn't allocate new strings  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								2233043515
								
							 
						 
						
							
								
								Can't bind a filesystem::path as a string  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								abf5586888
								
							 
						 
						
							
								
								Persist dependency information in an SQLite database, and use it do incremental compilation  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								b2198488aa
								
							 
						 
						
							
								
								Access compile rules of a compile_file_plan  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								1fca2fd03f
								
							 
						 
						
							
								
								Add arguments that handle the generation of compile dependency information.  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								3755a15e2f
								
							 
						 
						
							
								
								bootstrap-p4  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								42cba8986f
								
							 
						 
						
							
								
								Run full build as part of CI  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								63b206fd7b
								
							 
						 
						
							
								
								Fix language detection (based on file extension)  
							
							Update build script to build our deps
Run the bootstrap builds in their respective directory 
							
						 
						6 年前  
				
					
						
							
								 
						
							
								5f38ebf341
								
							 
						 
						
							
								
								Merge branch 'feature/use-bootstrap-p3' into develop  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								32236dfb93
								
							 
						 
						
							
								
								Merge branch 'feature/bootstrap-p3' into develop  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								9479797b89
								
							 
						 
						
							
								
								Install ccache for CI, even though unused in Azure Pipeline  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								8c0480ae89
								
							 
						 
						
							
								
								Announce usage of neo/buffer  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								cdf7654771
								
							 
						 
						
							
								
								Enable -fconcepts for GCC builds  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								3a0f668fb8
								
							 
						 
						
							
								
								Fix `#include` directive for catch-main cpp file  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								fb3749cf27
								
							 
						 
						
							
								
								Use external neo/buffer  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								5d3e49d2b6
								
							 
						 
						
							
								
								Remove unused logging.hpp  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								44be1e12b3
								
							 
						 
						
							
								
								New bootstrap-p3  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								7988561513
								
							 
						 
						
							
								
								Peru is gone  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								810c0a69a3
								
							 
						 
						
							
								
								Formatting  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								beb00fa96b
								
							 
						 
						
							
								
								Convert our tests to use Catch2  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								87add9d5f8
								
							 
						 
						
							
								
								Embedded dependencies are GONE!  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								dfa559c1df
								
							 
						 
						
							
								
								Bootstrap phase 3 is now the basis  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								10d8613836
								
							 
						 
						
							
								
								Incorrect flags used in executable linking  
							
							
							
						 
						6 年前  
				
					
						
							
								 
						
							
								4c94414b9d
								
							 
						 
						
							
								
								Specify the tests directory for pytest  
							
							
							
						 
						6 年前