aeb76d986c599190a3b82f646e9d573e41d36ef7
2009-02-26 11:12 -0500
Benjamin Smedberg - Merge forward paren-matching and python 2.4 compatibility. There is still one significant issue with python 2.4 compatibility and process waiting, but that will be a different patch.
d0cbe562ed8e3070e9656bfe41a072d85a377539
2009-02-26 10:05 -0500
Benjamin Smedberg - Python 2.4 compatibility.
e0148d0161301ada4ba9214577714979a7165d66
2009-02-26 08:49 -0500
Benjamin Smedberg - When parsing expansions, the parenthesis used for the expansion is special: keep a special parse state to track it.
79707812e43244a0dc9af3771cea26838aaf4ba8
2009-02-26 07:38 -0500
Benjamin Smedberg - Change expansion and function resolution to yield results instead of joining them early. I'm not actually sure this is helping performance, but I'm committing it because, hey, with version control you can go back in time!
56f8cbd6b7b7d73f482f6092e49f1501daaf45a3
2009-02-25 16:20 -0500
Benjamin Smedberg - Performance optimization: reducing over a string allocates a bunch of 1-character strings and is vast overkill. Use find instead.
e373af4da9fc74b5ecb8e7484fb774901d3d223b
2009-02-25 15:30 -0500
Benjamin Smedberg - Performance optimization: parse variables as they are set, to reduce the total number of times things are parsed.
38b633e97cf72ff0f0e343f923496c376e1e45e4
2009-02-25 14:29 -0500
Benjamin Smedberg - Args can be empty. I should write a test for this, but I'm lazy right now.
1a7ac665abd4d9334c8752e3a3dab5c17e82044c
2009-02-25 13:48 -0500
Benjamin Smedberg - Use the logging module's features to avoid doing string formatting when we're not actually logging. This helps execution times a little bit.
482594865681af40760ae1f213d62ca11111867b
2009-02-25 10:47 -0500
Benjamin Smedberg - Merge with windows fixes.
32e820814611c0c8d3e5a0f3c3b64703dae32404
2009-02-25 10:40 -0500
Benjamin Smedberg - Strip whitespace after define variable names.
876590e51180ec08270653c2a8d82c29645dfca1
2009-02-25 09:26 -0500
Ted Mielczarek - a little renaming, and only run absolute path commands through the shell on msys
fbfd6fa05439b8a90f414c71c0722f7718ad8578
2009-02-24 16:35 -0500
Benjamin Smedberg - Untabify :-(
6204a77f79ceb80465be61a45e461fc5e86baa0f
2009-02-24 16:35 -0500
Benjamin Smedberg - If the executable is a relative path, resolve it relative to the expected working directory.
f8cf6398b12694f211fa510ceaf14df532547991
2009-02-24 14:46 -0500
Benjamin Smedberg - Strip leading whitespace from commands.
d986cbe802bfa4f50c3280a00971989cbb0c4c1e
2009-02-24 14:42 -0500
Benjamin Smedberg - Command modifiers may be repeated. Nauseating, but true!
3dfc19a996e7d3bb896372a8d7735ba823651a74
2009-02-24 13:20 -0500
Benjamin Smedberg - Catch OSErrors from launching processes, since these are thrown early.
8f8675dfb45415dbd1a9c1b57bef87b28572edc1
2009-02-24 12:42 -0500
Benjamin Smedberg - GNU make strips ./ off the front of all targets and prerequities. This very strange behavior is documented in a footnote section of the GNU make manual, and NSPR relies on it, at least on Windows. Hrmph.
62f51d80e8b1644811967276b6e32f721f21b535
2009-02-24 11:34 -0500
Benjamin Smedberg - Failure to resolve dependencies should make everything stop!
88d9b04640f58fa65e82c7367c09d0bb770f96ba
2009-02-24 10:39 -0500
Benjamin Smedberg - Merge
5efdf02bf3d91cfb72195dd02159ea7e16605e46
2009-02-24 10:38 -0500
Benjamin Smedberg - Wait for all the processes, not just the first one. Stupid error, but not too stupid for a testcase!
23188c81c0715301f319e343a9a6acf9fd15d3c3
2009-02-24 10:21 -0500
Zack Weinberg - Use standard python built-in `enumerate` and universal-newline support instead of `iterlines`.
047e3343eb109ca4092a254cf7e27cb887f9463b
2009-02-24 10:06 -0500
Benjamin Smedberg - Untabify :-(
d6826572aec835b0e765a81213e941dc083ae563
2009-02-24 09:57 -0500
Benjamin Smedberg - WaitForMultipleObjects had a race condition on opening a process handle via PID on a process that was already defunct. Use minor knowledge of subprocess internals (subp._handle) to re-use the existing handle instead of trying to find a safe way of creating a new one.
e7bede3064affc600bf13e3702cad3ea1aab21fa
2009-02-23 20:58 -0500
Benjamin Smedberg - Land Windows support to default. There's still some interesting stuff here: I have testcases passing, when running under an MSYS shell, which I wouldn't expect to be passing. Needs tender loving attention.
792a61bc11bb401bc0273c6fbdd09cc1f29ca9f2
2009-02-23 20:52 -0500
Benjamin Smedberg - Merge changes from default. win32-msys
01b035db473fd00ef3b4f233524cbc8c2dba4b9c
2009-02-23 20:35 -0500
Benjamin Smedberg - FAT32 has 2-second mtime resolution... make the test sleep times at least 2 seconds to avoid false-negatives in the remake process. win32-msys
91ec8fafe9ce5840f5ee1c557e2dfa136a9d0f4e
2009-02-23 17:18 -0500
Benjamin Smedberg - Immediate callbacks can cause too much recursion, especially when you're recursing deeply into submakefiles. To avoid this, allow processes to defer functions to the main event loop. This also fixes the serialized -j1 differently, by making dependency resolution use chained callbacks which won't fire in the serial case.
3ae1e58c1a258f099ef4a17b1d10fffe6911f10c
2009-02-22 21:50 -0500
Benjamin Smedberg - Cache parser model when possible.
6c4ae304d9a49ea27731a541b347242765531123
2009-02-22 21:36 -0500
Benjamin Smedberg - Merge to tip
c8132cbf96e4202aa2d5f150af625e917b14e194
2009-02-22 21:33 -0500
Benjamin Smedberg - Fix an error where a single-colon match-anything rule would be incorrectly eliminated from being a candidate.
6b366de3a54b576d5071f664d4b64b5cf6372419
2009-02-21 12:09 -0500
Benjamin Smedberg - Turns out we weren't actually running the token tests because of a missing multitest().
a1d75c7a23fbeb32028db6f966291b6f5404a17d
2009-02-21 11:10 -0500
Ted Mielczarek - merge from default win32-msys
31094e191471557df358568de37b4536f0713332
2009-02-21 10:48 -0500
Ted Mielczarek - Make ParallelContext work on Windows. win32-msys
d3574d51916dce209529f41c7ae1a7f5c5210ca0
2009-02-20 17:27 -0500
Benjamin Smedberg - Fix a bug in ifndef.
729f4f785446ea4aa669a96a5f89b4b4fca4535f
2009-02-20 16:40 -0500
Benjamin Smedberg - Backslash escapes shouldn't hide tokens.
0c338ff3d3d1b8fd0e31e5322e8bec02d50839f5
2009-02-20 16:35 -0500
Benjamin Smedberg - Separate the parsing and "execution" of makefiles. This is preparation for cacheing parse results across multiple executions.
11f922d1289d2e1d33b7aac9b5710c58e1808ba7
2009-02-20 15:45 -0500
Ted Mielczarek - don't force running through the shell on msys, rely on the shell command detection win32-msys
ddbb23e8cb015cfdf07d452237f0fbeda52e28c6
2009-02-20 15:41 -0500
Ted Mielczarek - win32 fixup, all tests pass except the parallel tests win32-msys
660f249d254dcebbd1ee456b464e0b66c255a7c6
2009-02-20 15:13 -0500
Ted Mielczarek - merge from default, this passes all tests on Linux with gmake/pymake, but will need some fixup on win32 win32-msys
bf4d1889ba7117450ce0daa9c21d4d0f2292a386
2009-02-20 13:08 -0500
Ted Mielczarek - Some more win32-compat changes win32-msys
a2fd52a18fd2260a5bd7e2f26a94ab4e1709af31
2009-02-20 09:44 -0500
Benjamin Smedberg - Merge parallel execution to default, it's ready for prime time!
9f405c0369d3294a04f686d1699badfc7a3c1fdc
2009-02-20 09:37 -0500
Benjamin Smedberg - Use a special serial execution context that blocks on execution when using -j1. parallel-execution
a4329e57ff784b33644492f9528be92f4e23614a
2009-02-20 09:16 -0500
Benjamin Smedberg - Correctly implement separate MAKEFLAGS and actual command line handling so the command line overrides the MAKEFLAGS. optparse is weird parallel-execution
b22e68988ccc5db247a3a06aa67272d69a9cde4e
2009-02-19 23:32 -0500
Benjamin Smedberg - Much better context management: we can assert that everything is done within a context as we "finish" it, and we can use multiple contexts without having to wait on each one sequentially. I need to write some more tests, but this has me feeling pretty good. parallel-execution
1d0ad43d2ff7b6c4a536353775d0913748528db0
2009-02-19 22:52 -0500
Benjamin Smedberg - Pass -j options down, and then ignore them in submakes unless they are -j1... this isn't quite right, but is closer. parallel-execution
da00388c96e18630e5aa9b5a32bb3b1bcd1584ee
2009-02-19 22:42 -0500
Benjamin Smedberg - Switch from threads to waitpid, and take deferred Windows pain. parallel-execution
7e3690d47d4da5530b9f2d694c5435b405c9903d
2009-02-19 22:17 -0500
Benjamin Smedberg - Initial implementation of parallel execution. This passes the testsuite, but has some issues. In particular, hitting Ctrl-C during execution tends to not kill everything in a process chain and leaves submakes as running orphans. parallel-execution
9c0fa7855fb0a2abf5c85addad681cf4156afa9e
2009-02-19 10:48 -0500
Benjamin Smedberg - Rename remake() (which looks like a public method) to _beingremade() which is clearly private.
fcb8d4ddd21becc82801d14effa07d1df13c6ec1
2009-02-18 23:06 -0500
Benjamin Smedberg - Run submakes within this process if we can.
ca40dbbeb55a00109b5c3d76c64c2d23b8364550
2009-02-18 18:02 -0500
Benjamin Smedberg - Be more careful about blacklisting shell builtins.
7df5ab3b364fac50aea2c025d3a973801ca7670e
2009-02-18 17:27 -0500
Benjamin Smedberg - Skip the shell when there aren't any special metacharacters to worry about.
f20d24d3c1069c8f700cc43fed20b6e6eeee04b8
2009-02-18 15:30 -0500
Benjamin Smedberg - Revert debugging code that was accidentally committed.
2d1c99f936f2a35904ffea1e1239281551663864
2009-02-18 15:23 -0500
Benjamin Smedberg - Factor out command execution a bit in preparation for recursive-make-within-one-process.
67dc20b5210fd5dd636ca306af51f81d280ae5d1
2009-02-18 12:05 -0500
Benjamin Smedberg - Unify command execution in regular and pattern rules.
bc238aefc4d9405820d8f429534f2c86f2cf66dd
2009-02-18 09:43 -0500
Benjamin Smedberg - Implement -C without actually issuing an os.chdir. This is preparation for same-process recursion.
450813b7b94a3b8f964efe88d80d9b136ffbf81b
2009-02-17 21:02 -0500
Benjamin Smedberg - Implement --no-print-directory, and log $(shell) execution... turns out that NSS uses $(shell $(MAKE) --no-print-directory echo-some-variable) and really expects not to have complete control over the output, which is terrifying.
a080d25e64a6e3e7ab45fe7bed69b45e56ca5db7
2009-02-17 19:28 -0500
Benjamin Smedberg - Don't try to regenerate included makefiles which would always be rebuilt.
51a1e6e5e804fbe8a28722b33adaf9ec31bce339
2009-02-17 15:30 -0500
Benjamin Smedberg - When the target of a double-colon rule is present and there are no prerequisites listed, we always remake the target. For a single-colon rule, we never remake the target. This little but important behavior difference eluded me!
c8a5d22af41742f79b2df1f56503e60a0d51829c
2009-02-17 15:05 -0500
Benjamin Smedberg - More non-evaluation of conditionals when they can't be active.
2545f3385285f5c19aec1cb0aae72658c8970229
2009-02-17 15:02 -0500
Benjamin Smedberg - Don't evaluate conditionals if they are initialized in an inactive conditional context.
(0) -100 -60 +60 +100 tip