a1d75c7a23fb: merge from default win32-msys
Ted Mielczarek <ted.mielczarek@gmail.com> - Sat, 21 Feb 2009 11:10:37 -0500 - rev 152
Push 88 by tmielczarek@mozilla.com at 2009-02-21 16:08 +0000
merge from default
31094e191471: Make ParallelContext work on Windows. win32-msys
Ted Mielczarek <ted.mielczarek@gmail.com> - Sat, 21 Feb 2009 10:48:20 -0500 - rev 151
Push 87 by tmielczarek@mozilla.com at 2009-02-21 15:48 +0000
Make ParallelContext work on Windows. Call some Win32 API via ctypes so that we can wait on child processes. We still use subprocess, but call OpenProcess() to get a process HANDLE from a PID, and maintain a global dict of HANDLE -> PID. Then, to emulate os.waitpid(-1), we call WaitForMultipleObjects() on the list of open HANDLES. See the code sample I wrote for this here: http://stackoverflow.com/questions/100624/python-on-windows-how-to-wait-for-multiple-child-processes/573196#573196
d3574d51916d: Fix a bug in ifndef.
Benjamin Smedberg <benjamin@smedbergs.us> - Fri, 20 Feb 2009 17:27:33 -0500 - rev 150
Push 86 by bsmedberg@mozilla.com at 2009-02-21 00:25 +0000
Fix a bug in ifndef.
729f4f785446: Backslash escapes shouldn't hide tokens.
Benjamin Smedberg <benjamin@smedbergs.us> - Fri, 20 Feb 2009 16:40:10 -0500 - rev 149
Push 85 by bsmedberg@mozilla.com at 2009-02-20 21:56 +0000
Backslash escapes shouldn't hide tokens.
0c338ff3d3d1: Separate the parsing and "execution" of makefiles. This is preparation for cacheing parse results across multiple executions.
Benjamin Smedberg <benjamin@smedbergs.us> - Fri, 20 Feb 2009 16:35:12 -0500 - rev 148
Push 85 by bsmedberg@mozilla.com at 2009-02-20 21:56 +0000
Separate the parsing and "execution" of makefiles. This is preparation for cacheing parse results across multiple executions.
11f922d1289d: don't force running through the shell on msys, rely on the shell command detection win32-msys
Ted Mielczarek <ted.mielczarek@gmail.com> - Fri, 20 Feb 2009 15:45:52 -0500 - rev 147
Push 84 by tmielczarek@mozilla.com at 2009-02-20 20:45 +0000
don't force running through the shell on msys, rely on the shell command detection
ddbb23e8cb01: win32 fixup, all tests pass except the parallel tests win32-msys
Ted Mielczarek <ted.mielczarek@gmail.com> - Fri, 20 Feb 2009 15:41:15 -0500 - rev 146
Push 83 by tmielczarek@mozilla.com at 2009-02-20 20:41 +0000
win32 fixup, all tests pass except the parallel tests
660f249d254d: merge from default, this passes all tests on Linux with gmake/pymake, but will need some fixup on win32 win32-msys
Ted Mielczarek <ted.mielczarek@gmail.com> - Fri, 20 Feb 2009 15:13:11 -0500 - rev 145
Push 82 by tmielczarek@mozilla.com at 2009-02-20 20:11 +0000
merge from default, this passes all tests on Linux with gmake/pymake, but will need some fixup on win32
bf4d1889ba71: Some more win32-compat changes win32-msys
Ted Mielczarek <ted.mielczarek@gmail.com> - Fri, 20 Feb 2009 13:08:17 -0500 - rev 144
Push 81 by tmielczarek@mozilla.com at 2009-02-20 18:11 +0000
Some more win32-compat changes * Add a 'returncode-on' setting to the test harness so we can fail tests per-platform. * Split the symlink tests out of file-functions.mk into file-functions-symlinks.mk, and fail that on Windows. * Use forward slashes consistently in filenames to be compatible with GNU Make on Windows. * Fix PatternRule to execute through the MSYS shell when running under MSYS. * Change automatic-variables.mk to not use 'mkdir -p src/subdir subd' as that breaks due to a MSYS mkdir bug. * Change include-notfound.mk, since MAKEFILE_LIST uses native win32 paths on GNU Make on Windows (even in MSYS) * Add a NATIVE_TESTPATH variable to the test harness. * Pass a __WIN32__ variable from the test harness when running on Win32.
a2fd52a18fd2: Merge parallel execution to default, it's ready for prime time!
Benjamin Smedberg <benjamin@smedbergs.us> - Fri, 20 Feb 2009 09:44:46 -0500 - rev 143
Push 80 by bsmedberg@mozilla.com at 2009-02-20 14:44 +0000
Merge parallel execution to default, it's ready for prime time!
9f405c0369d3: Use a special serial execution context that blocks on execution when using -j1. parallel-execution
Benjamin Smedberg <benjamin@smedbergs.us> - Fri, 20 Feb 2009 09:37:40 -0500 - rev 142
Push 79 by bsmedberg@mozilla.com at 2009-02-20 14:37 +0000
Use a special serial execution context that blocks on execution when using -j1.
a4329e57ff78: Correctly implement separate MAKEFLAGS and actual command line handling so the command line overrides the MAKEFLAGS. optparse is weird parallel-execution
Benjamin Smedberg <benjamin@smedbergs.us> - Fri, 20 Feb 2009 09:16:09 -0500 - rev 141
Push 78 by bsmedberg@mozilla.com at 2009-02-20 14:16 +0000
Correctly implement separate MAKEFLAGS and actual command line handling so the command line overrides the MAKEFLAGS. optparse is weird
b22e68988ccc: 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
Benjamin Smedberg <benjamin@smedbergs.us> - Thu, 19 Feb 2009 23:32:16 -0500 - rev 140
Push 78 by bsmedberg@mozilla.com at 2009-02-20 14:16 +0000
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.
1d0ad43d2ff7: Pass -j options down, and then ignore them in submakes unless they are -j1... this isn't quite right, but is closer. parallel-execution
Benjamin Smedberg <benjamin@smedbergs.us> - Thu, 19 Feb 2009 22:52:35 -0500 - rev 139
Push 78 by bsmedberg@mozilla.com at 2009-02-20 14:16 +0000
Pass -j options down, and then ignore them in submakes unless they are -j1... this isn't quite right, but is closer.
da00388c96e1: Switch from threads to waitpid, and take deferred Windows pain. parallel-execution
Benjamin Smedberg <benjamin@smedbergs.us> - Thu, 19 Feb 2009 22:42:31 -0500 - rev 138
Push 77 by bsmedberg@mozilla.com at 2009-02-20 03:42 +0000
Switch from threads to waitpid, and take deferred Windows pain.
7e3690d47d4d: 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
Benjamin Smedberg <benjamin@smedbergs.us> - Thu, 19 Feb 2009 22:17:38 -0500 - rev 137
Push 77 by bsmedberg@mozilla.com at 2009-02-20 03:42 +0000
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. I chose threads for process.py primarily because there wasn't a simple way to wait for multiple processes in Windows. I think it's probably a bad choice and I'm going to go back to single-threaded using os.waitpid and some hacky Windows equivalent.
9c0fa7855fb0: Rename remake() (which looks like a public method) to _beingremade() which is clearly private.
Benjamin Smedberg <benjamin@smedbergs.us> - Thu, 19 Feb 2009 10:48:08 -0500 - rev 136
Push 77 by bsmedberg@mozilla.com at 2009-02-20 03:42 +0000
Rename remake() (which looks like a public method) to _beingremade() which is clearly private.
fcb8d4ddd21b: Run submakes within this process if we can.
Benjamin Smedberg <benjamin@smedbergs.us> - Wed, 18 Feb 2009 23:06:22 -0500 - rev 135
Push 76 by bsmedberg@mozilla.com at 2009-02-19 04:06 +0000
Run submakes within this process if we can.
ca40dbbeb55a: Be more careful about blacklisting shell builtins.
Benjamin Smedberg <benjamin@smedbergs.us> - Wed, 18 Feb 2009 18:02:40 -0500 - rev 134
Push 75 by bsmedberg@mozilla.com at 2009-02-18 23:21 +0000
Be more careful about blacklisting shell builtins.
7df5ab3b364f: Skip the shell when there aren't any special metacharacters to worry about.
Benjamin Smedberg <benjamin@smedbergs.us> - Wed, 18 Feb 2009 17:27:01 -0500 - rev 133
Push 75 by bsmedberg@mozilla.com at 2009-02-18 23:21 +0000
Skip the shell when there aren't any special metacharacters to worry about.
(0) -100 -50 -20 +20 +50 +100 tip