63531e755f52: Significant reworking of how variables are parsed and stored. They are now stored as strings, instead of Expansion objects. Recursively-expanded variables are parsed at the time they are expanded. This coupling between the data model and the parser is ridiculous, but compatible.
Benjamin Smedberg <benjamin@smedbergs.us> - Mon, 09 Feb 2009 16:45:07 -0500 - rev 67
Push 39 by bsmedberg@mozilla.com at 2009-02-09 21:45 +0000
Significant reworking of how variables are parsed and stored. They are now stored as strings, instead of Expansion objects. Recursively-expanded variables are parsed at the time they are expanded. This coupling between the data model and the parser is ridiculous, but compatible.
cbeb0eba9087: This is preparatory work for separating parsemakesyntax from the comment and line-continuation rules. The data iterators here are not actually being used yet anywhere except the tests.
Benjamin Smedberg <benjamin@smedbergs.us> - Mon, 09 Feb 2009 12:14:52 -0500 - rev 66
Push 39 by bsmedberg@mozilla.com at 2009-02-09 21:45 +0000
This is preparatory work for separating parsemakesyntax from the comment and line-continuation rules. The data iterators here are not actually being used yet anywhere except the tests.
5f3bbfab4910: More expansion tests... it turns out that reworking expansion is in fact really hard.
Benjamin Smedberg <benjamin@smedbergs.us> - Mon, 09 Feb 2009 09:21:45 -0500 - rev 65
Push 38 by bsmedberg@mozilla.com at 2009-02-09 14:25 +0000
More expansion tests... it turns out that reworking expansion is in fact really hard.
348f682e3943: This test means that everything I've been doing to parse variables is wrong (don't even try to parse recursively-expanded variables until they are used). Refactoring needed.
Benjamin Smedberg <benjamin@smedbergs.us> - Sun, 08 Feb 2009 00:54:50 -0500 - rev 64
Push 37 by bsmedberg@mozilla.com at 2009-02-08 05:54 +0000
This test means that everything I've been doing to parse variables is wrong (don't even try to parse recursively-expanded variables until they are used). Refactoring needed.
e3b7241989d1: Fix VPATH correctly (before we remake) when actually remaking things.
Benjamin Smedberg <benjamin@smedbergs.us> - Sat, 07 Feb 2009 21:19:05 -0500 - rev 63
Push 36 by bsmedberg@mozilla.com at 2009-02-08 02:19 +0000
Fix VPATH correctly (before we remake) when actually remaking things.
6ea25c18adfb: Implement VPATH... this needs additional testing, especially for the remake case.
Benjamin Smedberg <benjamin@smedbergs.us> - Sat, 07 Feb 2009 17:12:08 -0500 - rev 62
Push 36 by bsmedberg@mozilla.com at 2009-02-08 02:19 +0000
Implement VPATH... this needs additional testing, especially for the remake case.
b4b8dc6c503b: Implement the rules for matching implicit rules against files with directories.
Benjamin Smedberg <benjamin@smedbergs.us> - Sat, 07 Feb 2009 14:20:49 -0500 - rev 61
Push 35 by bsmedberg@mozilla.com at 2009-02-07 19:20 +0000
Implement the rules for matching implicit rules against files with directories.
288bbc753c9f: And of course, I forgot to add the test for implicit chaining.
Benjamin Smedberg <benjamin@smedbergs.us> - Fri, 06 Feb 2009 17:04:12 -0500 - rev 60
Push 34 by bsmedberg@mozilla.com at 2009-02-06 22:04 +0000
And of course, I forgot to add the test for implicit chaining.
4aef5fbe7d4a: Simple chaining works. Not sure how much I care about really complex chaining scenarios with multiple targets, although (knock on wood) those should work too.
Benjamin Smedberg <benjamin@smedbergs.us> - Fri, 06 Feb 2009 16:54:00 -0500 - rev 59
Push 33 by bsmedberg@mozilla.com at 2009-02-06 21:54 +0000
Simple chaining works. Not sure how much I care about really complex chaining scenarios with multiple targets, although (knock on wood) those should work too.
33ec07baae05: I think I may have implemented implicit rules. I'm pretty sure that a single level works, but I'm not sure about chaining... more tests to be written.
Benjamin Smedberg <benjamin@smedbergs.us> - Fri, 06 Feb 2009 16:35:34 -0500 - rev 58
Push 33 by bsmedberg@mozilla.com at 2009-02-06 21:54 +0000
I think I may have implemented implicit rules. I'm pretty sure that a single level works, but I'm not sure about chaining... more tests to be written.
59302968cf3b: Detect conditionals which never terminate.
Benjamin Smedberg <benjamin@smedbergs.us> - Fri, 06 Feb 2009 15:34:09 -0500 - rev 57
Push 32 by bsmedberg@mozilla.com at 2009-02-06 20:34 +0000
Detect conditionals which never terminate.
3ce56bc0b679: Fix the parser tests.
Benjamin Smedberg <benjamin@smedbergs.us> - Fri, 06 Feb 2009 15:33:41 -0500 - rev 56
Push 32 by bsmedberg@mozilla.com at 2009-02-06 20:34 +0000
Fix the parser tests.
0c7929287af4: Forgot the all-important tests for the define directive.
Benjamin Smedberg <benjamin@smedbergs.us> - Fri, 06 Feb 2009 15:29:05 -0500 - rev 55
Push 31 by bsmedberg@mozilla.com at 2009-02-06 20:29 +0000
Forgot the all-important tests for the define directive.
10277ab28e31: Implement the 'define' directive. The edge cases and parsing rules for define are, once again, ridiculous. I never thought I would yearn for heredoc syntax!
Benjamin Smedberg <benjamin@smedbergs.us> - Fri, 06 Feb 2009 15:28:42 -0500 - rev 54
Push 31 by bsmedberg@mozilla.com at 2009-02-06 20:29 +0000
Implement the 'define' directive. The edge cases and parsing rules for define are, once again, ridiculous. I never thought I would yearn for heredoc syntax!
3e2e23603c36: More Error instead of Exception
Benjamin Smedberg <benjamin@smedbergs.us> - Fri, 06 Feb 2009 15:25:33 -0500 - rev 53
Push 31 by bsmedberg@mozilla.com at 2009-02-06 20:29 +0000
More Error instead of Exception
133385f0f6ac: Implement $(error) to make tests more fruitful.
Benjamin Smedberg <benjamin@smedbergs.us> - Fri, 06 Feb 2009 15:25:11 -0500 - rev 52
Push 31 by bsmedberg@mozilla.com at 2009-02-06 20:29 +0000
Implement $(error) to make tests more fruitful.
8c332a8bae92: Two-part change. I should have done these separately but forgot to commit after the first change:
Benjamin Smedberg <benjamin@smedbergs.us> - Fri, 06 Feb 2009 13:51:37 -0500 - rev 51
Push 31 by bsmedberg@mozilla.com at 2009-02-06 20:29 +0000
Two-part change. I should have done these separately but forgot to commit after the first change: * Don't build non-phony targets which exist, have rules, but don't have prerequisites. This was just a plain logic error. Also as part of this change, make sure all rules have locations so that we can identify particular rules in warning and error message. * Implement conditionals.
b046136650d1: Whoops, the differences between JS and Python sometimes catch up with me. Python is raise+Exception+try+except, JS is throw+error+try+catch
Benjamin Smedberg <benjamin@smedbergs.us> - Fri, 06 Feb 2009 10:21:28 -0500 - rev 50
Push 30 by bsmedberg@mozilla.com at 2009-02-06 15:21 +0000
Whoops, the differences between JS and Python sometimes catch up with me. Python is raise+Exception+try+except, JS is throw+error+try+catch
b083ab48a8eb: * Implement the $(shell) command so that dependency test cases can be set up effectively.
Benjamin Smedberg <benjamin@smedbergs.us> - Fri, 06 Feb 2009 10:16:35 -0500 - rev 49
Push 29 by bsmedberg@mozilla.com at 2009-02-06 15:16 +0000
* Implement the $(shell) command so that dependency test cases can be set up effectively. * A file that exists and has no dependencies should not be remade. Created a test for this case. * Added a minor bit of logging and a make.py command to control it (in theory) * Make the test harness run tests in an empty directory so that the test can create files without worrying about interactions or turds.
f1e67b0fcf5d: If you ignore implicit rules and order-only prerequisites, I think this might actually work! I'm not especially confident in the dependency calculations, though: I need to write some tests for that, which probably involves implementing $(shell)
Benjamin Smedberg <benjamin@smedbergs.us> - Fri, 06 Feb 2009 09:15:26 -0500 - rev 48
Push 28 by bsmedberg@mozilla.com at 2009-02-06 14:15 +0000
If you ignore implicit rules and order-only prerequisites, I think this might actually work! I'm not especially confident in the dependency calculations, though: I need to write some tests for that, which probably involves implementing $(shell)
(0) -50 -20 +20 +50 +100 tip