aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Don't export build_target()Tharre2015-06-132-3/+1
| | | | | build_target() should not be called from outside, update_target() should be used instead.
* Pass 0755 directly instead of using POSIX macrosTharre2015-06-101-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 newlinesTharre2015-06-081-1/+1
|
* Rename `dependency file` to `dependency record`Tharre2015-05-251-5/+5
|
* Rename `do-file` to `.do script`Tharre2015-05-251-38/+39
|
* Small rename and code simplificationTharre2015-05-252-8/+7
|
* Store dependencies as plain text instead of binaryTharre2015-05-251-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 filenameTharre2015-05-244-52/+23
| | | | | 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 pathsTharre2015-05-052-11/+5
|
* Make redo lines colored to enhance readabilityTharre2015-05-051-1/+1
|
* Always use the CWD of the dofile, not the targetTharre2015-02-201-10/+5
|
* Replace make_relative() with relpath()Tharre2015-02-153-19/+25
| | | | | 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_APPENDTharre2015-01-251-20/+24
|
* FILENAME_MAX should be the largest path there isTharre2015-01-251-1/+1
|
* Remove unecessary check for NULL from add_dep()Tharre2015-01-151-5/+1
|
* Fix the mode argument of open()Tharre2015-01-091-1/+2
|
* Randomize argument processing orderTharre2015-01-091-3/+10
|
* Make redo-* commands fail if called from outsideTharre2015-01-051-7/+14
|
* Remember sources and don't rebuild missing onesTharre2015-01-031-3/+14
|
* Represent dependencies in the dep_info structTharre2015-01-031-63/+64
|
* Exchange sha1 implementationTharre2014-12-122-299/+365
|
* Improve error message handling for debuggingTharre2014-12-053-8/+14
|
* Fix typo in build.c that made fseek() failTharre2014-11-291-1/+1
|
* Work if called with /usr/bin/redo instead of redoTharre2014-11-291-5/+6
|
* Implement perfect dependency rebuildingTharre2014-11-291-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.Tharre2014-11-245-36/+36
| | | | | | 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 bugTharre2014-11-242-73/+87
|
* Some cleanupTharre2014-11-241-48/+41
|
* Set _XOPEN_SOURCE to 600 to make fix FreeBSD buildTharre2014-11-231-1/+1
|
* Remove Redofile as an alias for default.doTharre2014-11-181-6/+0
|
* Merge all redo-*.c files into redo.c.Tharre2014-11-176-75/+28
| | | | | | | | 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()Tharre2014-11-167-112/+91
| | | | Defined error messages have also been replaced with string literals.
* Change the way redo updates targets.Tharre2014-11-166-58/+81
| | | | | | | | 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 indentationTharre2014-11-118-555/+555
|
* Some refactoring and small fixes.Tharre2014-11-117-28/+48
|
* Remove random math.h dependencyTharre2014-09-021-3/+2
|
* Fix refactoring uglyness.Tharre2014-09-021-1/+1
| | | | I mean, a constant string substition? Really?
* Replace openssl SHA1 functions with custom versionTharre2014-08-243-2/+341
|
* Remove unnecessary global const variablesTharre2014-08-231-22/+16
|
* Make targets depend on do-files.Tharre2014-08-205-41/+68
| | | | | | | | | | | 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 redo-ifcreate (and add redo-always properly)Tharre2014-08-161-0/+17
|
* Make redo-always pass the right ident to add_dep()Tharre2014-08-161-1/+1
|
* Add license notice to README and source filesTharre2014-08-1610-0/+80
|
* Make redo actually create the directories it needsTharre2014-08-143-15/+31
|
* Fix some smaller issues and edge casesTharre2014-08-141-22/+21
|
* Add documentation and fix the one that's already thereTharre2014-08-132-9/+14
|
* Header file cleanup and smaller format fixesTharre2014-08-134-30/+23
|
* Add redo-always subcommandTharre2014-08-131-0/+8
|
* Implement (incomplete) dependency checking.Tharre2014-08-134-11/+115
| | | | | | | | | | 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.
* Add the magic number to the dependency record.Tharre2014-08-122-2/+24
| | | | | The magic number will be used later to determine if a target has already been rebuild.