Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Implement new dependency storage system | Tharre | 2016-07-26 | 1 | -104/+112 |
| | |||||
* | Cleanup dep_info struct | Tharre | 2016-06-25 | 1 | -23/+20 |
| | |||||
* | Fix invalid memory access bug in parse_shebang() | Tharre | 2016-05-22 | 1 | -2/+2 |
| | |||||
* | Handle absolute $3 correctly | Tharre | 2016-05-02 | 1 | -1/+5 |
| | |||||
* | Make $3 an absolute path | Tharre | 2015-09-16 | 1 | -1/+2 |
| | |||||
* | Actually write the source flag into the dep store | Tharre | 2015-06-13 | 1 | -0/+2 |
| | |||||
* | Don't create files with executeable permissions | Tharre | 2015-06-13 | 1 | -1/+1 |
| | |||||
* | Make `general` path from get_doscripts() absolute | Tharre | 2015-06-13 | 1 | -9/+13 |
| | |||||
* | Designated initializers set values to 0 already | Tharre | 2015-06-13 | 1 | -6/+0 |
| | |||||
* | Only hash files once | Tharre | 2015-06-13 | 1 | -24/+31 |
| | |||||
* | Make sha1_to_hex static | Tharre | 2015-06-13 | 1 | -1/+1 |
| | |||||
* | Use dep_info earlier to avoid duplication | Tharre | 2015-06-13 | 1 | -80/+90 |
| | | | | | | This is a prerequisite for avoiding hashing one and the same file multiple times. This also keeps the necessary parsing code for the dependency store out of build_target() into handle_c() where it belongs. | ||||
* | Fix waitpid() error message and 2 if statements | Tharre | 2015-06-13 | 1 | -7/+5 |
| | |||||
* | Don't export build_target() | Tharre | 2015-06-13 | 1 | -2/+1 |
| | | | | | build_target() should not be called from outside, update_target() should be used instead. | ||||
* | Pass 0755 directly instead of using POSIX macros | Tharre | 2015-06-10 | 1 | -2/+1 |
| | | | | | I'm not perfectly sure if this actually violates the POSIX standard or not, but in practice all systems seem to accept it. | ||||
* | Fix error message for unsupported newlines | Tharre | 2015-06-08 | 1 | -1/+1 |
| | |||||
* | Rename `dependency file` to `dependency record` | Tharre | 2015-05-25 | 1 | -5/+5 |
| | |||||
* | Rename `do-file` to `.do script` | Tharre | 2015-05-25 | 1 | -38/+39 |
| | |||||
* | Small rename and code simplification | Tharre | 2015-05-25 | 1 | -5/+5 |
| | |||||
* | Store dependencies as plain text instead of binary | Tharre | 2015-05-25 | 1 | -20/+51 |
| | | | | | | | | Binary files are hard to debug, and even while the code required to parsing them is simpler it's not worth the tradeoff. Note that handling of newlines in target names is not implemented yet, they require some sort of special escaping. | ||||
* | Use full path instead of one concatenated filename | Tharre | 2015-05-24 | 1 | -3/+10 |
| | | | | | Creation of the redo store (.redo/) is now silent, that should probably be reimplemented in a better way at a later time. | ||||
* | Fix some issues with paths | Tharre | 2015-05-05 | 1 | -10/+4 |
| | |||||
* | Make redo lines colored to enhance readability | Tharre | 2015-05-05 | 1 | -1/+1 |
| | |||||
* | Always use the CWD of the dofile, not the target | Tharre | 2015-02-20 | 1 | -10/+5 |
| | |||||
* | Replace make_relative() with relpath() | Tharre | 2015-02-15 | 1 | -2/+2 |
| | | | | | Also improve the documentation for this function, and add a few examples to clarify what it does (and what not). | ||||
* | Rewrite add_dep() to be atomic through O_APPEND | Tharre | 2015-01-25 | 1 | -20/+24 |
| | |||||
* | FILENAME_MAX should be the largest path there is | Tharre | 2015-01-25 | 1 | -1/+1 |
| | |||||
* | Remove unecessary check for NULL from add_dep() | Tharre | 2015-01-15 | 1 | -5/+1 |
| | |||||
* | Fix the mode argument of open() | Tharre | 2015-01-09 | 1 | -1/+2 |
| | |||||
* | Remember sources and don't rebuild missing ones | Tharre | 2015-01-03 | 1 | -3/+14 |
| | |||||
* | Represent dependencies in the dep_info struct | Tharre | 2015-01-03 | 1 | -63/+64 |
| | |||||
* | Fix typo in build.c that made fseek() fail | Tharre | 2014-11-29 | 1 | -1/+1 |
| | |||||
* | Implement perfect dependency rebuilding | Tharre | 2014-11-29 | 1 | -64/+62 |
| | | | | | | | | | This means, if foo depends on blah, which in turn depends on blub and blub changes, blah get's rebuild but stays the same then foo won't be rebuild as it's dependencies (blah) have not changed. Note that because our currently included sha1 implementation does not work correctly, this doesn't either if the changes are small. | ||||
* | Rename diem to fatal to further confuse matters. | Tharre | 2014-11-24 | 1 | -24/+24 |
| | | | | | | It's actually pretty easy now, fatal() is used as a short cut for appending the strerror'd errno, while die() is just the generic version of printing errors that behaves just like fprintf(stderr, msg) + exit(). | ||||
* | Refactor out handle_c and fix > 8096 reading bug | Tharre | 2014-11-24 | 1 | -72/+86 |
| | |||||
* | Some cleanup | Tharre | 2014-11-24 | 1 | -48/+41 |
| | |||||
* | Remove Redofile as an alias for default.do | Tharre | 2014-11-18 | 1 | -6/+0 |
| | |||||
* | Merge all redo-*.c files into redo.c. | Tharre | 2014-11-17 | 1 | -4/+0 |
| | | | | | | | | The resulting redo binary behaves differently if called with each respective redo-* name, and is symlinked to the different command names. This should reduce the memory footprint of a redo build, as the OS only needs to keep one copy of the redo code in memory. | ||||
* | Refactor error handling system by using die() | Tharre | 2014-11-16 | 1 | -52/+45 |
| | | | | Defined error messages have also been replaced with string literals. | ||||
* | Change the way redo updates targets. | Tharre | 2014-11-16 | 1 | -43/+73 |
| | | | | | | | | It's done a lot more efficiently now, as we are no longer checking if a target is out-of-date before we rebuild it, but instead rebuild subtargets directly when they are checked. We also now correctly depend on .do files. | ||||
* | Fix indentation | Tharre | 2014-11-11 | 1 | -365/+365 |
| | |||||
* | Some refactoring and small fixes. | Tharre | 2014-11-11 | 1 | -17/+21 |
| | |||||
* | Replace openssl SHA1 functions with custom version | Tharre | 2014-08-24 | 1 | -2/+2 |
| | |||||
* | Remove unnecessary global const variables | Tharre | 2014-08-23 | 1 | -22/+16 |
| | |||||
* | Make targets depend on do-files. | Tharre | 2014-08-20 | 1 | -37/+60 |
| | | | | | | | | | | | This includes two different scenarios, first if the do-files which was used to build the target has changed the target must be rebuilt. Second, if a target was build by a lower priority do-file, like default.fuu.do, then it must be rebuilt if <target>.fuu.do appears. Note that at this point, Redofile as do-file is semi-supported, as it's future is uncertain. | ||||
* | Add license notice to README and source files | Tharre | 2014-08-16 | 1 | -0/+8 |
| | |||||
* | Fix some smaller issues and edge cases | Tharre | 2014-08-14 | 1 | -22/+21 |
| | |||||
* | Add documentation and fix the one that's already there | Tharre | 2014-08-13 | 1 | -9/+13 |
| | |||||
* | Header file cleanup and smaller format fixes | Tharre | 2014-08-13 | 1 | -14/+19 |
| | |||||
* | Implement (incomplete) dependency checking. | Tharre | 2014-08-13 | 1 | -9/+101 |
| | | | | | | | | | | Targets still do not depend on .do-files, and a lot of the edge cases are still not handled correctly. Furthermore some error-checking code is still missing, which could possibly crash the program (partially marked with comments), as well as some free() calls. An utitlity python script (print_dep.py) was also added to aid in debugging matters. |