aboutsummaryrefslogtreecommitdiffstats
path: root/src/build.c
Commit message (Collapse)AuthorAgeFilesLines
* Use full path instead of one concatenated filenameTharre2015-05-241-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 pathsTharre2015-05-051-10/+4
|
* 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-151-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_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
|
* Remember sources and don't rebuild missing onesTharre2015-01-031-3/+14
|
* Represent dependencies in the dep_info structTharre2015-01-031-63/+64
|
* Fix typo in build.c that made fseek() failTharre2014-11-291-1/+1
|
* 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-241-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 bugTharre2014-11-241-72/+86
|
* Some cleanupTharre2014-11-241-48/+41
|
* Remove Redofile as an alias for default.doTharre2014-11-181-6/+0
|
* Merge all redo-*.c files into redo.c.Tharre2014-11-171-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()Tharre2014-11-161-52/+45
| | | | Defined error messages have also been replaced with string literals.
* Change the way redo updates targets.Tharre2014-11-161-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 indentationTharre2014-11-111-365/+365
|
* Some refactoring and small fixes.Tharre2014-11-111-17/+21
|
* Replace openssl SHA1 functions with custom versionTharre2014-08-241-2/+2
|
* Remove unnecessary global const variablesTharre2014-08-231-22/+16
|
* Make targets depend on do-files.Tharre2014-08-201-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 filesTharre2014-08-161-0/+8
|
* Fix some smaller issues and edge casesTharre2014-08-141-22/+21
|
* Add documentation and fix the one that's already thereTharre2014-08-131-9/+13
|
* Header file cleanup and smaller format fixesTharre2014-08-131-14/+19
|
* Implement (incomplete) dependency checking.Tharre2014-08-131-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.
* Add the magic number to the dependency record.Tharre2014-08-121-2/+7
| | | | | The magic number will be used later to determine if a target has already been rebuild.
* Add _XOPEN_SOURCE to include the right headersTharre2014-07-311-3/+1
|
* Add several methods for storing dependenciesTharre2014-07-301-2/+137
|
* Print redo <target> later to not print source files and small cleanupTharre2014-07-291-4/+3
|
* Add filepath.c, refactor out parse_shebang() and rewrite most of the error ↵Tharre2014-07-291-91/+44
| | | | checking code to use predefined error macros
* Refactor file_exists() to fexists()Tharre2014-04-251-6/+6
|
* safe_strdup() and variable progname in util.cTharre2014-04-251-2/+2
|
* Reorder #include'sTharre2014-04-251-3/+4
|
* Convert __FILENAME__ to _FILENAME so it follows standard conventionsTharre2014-04-251-1/+1
|
* Rewrote malloc() and other wrappersTharre2014-04-161-23/+16
|
* Added explanation to why we parse the shebang line ourselfsTharre2014-04-161-0/+5
|
* Change $3 to the correct file after chdir()Tharre2014-04-141-1/+2
|
* Convert all tabs to whitespacesTharre2014-04-141-161/+161
|
* Initial codebaseTharre2014-04-081-0/+262