Commit Graph

84 Commits

Author SHA1 Message Date
Ziga Seilnacht
f6315842f7 Bug 935050 - Manually flush native command's stdout and stderr, multiprocessing exits via os._exit. r=gps 2013-11-08 09:04:28 -05:00
Ziga Seilnacht
e081d31453 Bug 874210 - Fix pymake stack depth issues when many targets and prerequisites are present. r=gps 2013-11-08 09:03:19 -05:00
Ziga Seilnacht
4f1de06f17 Bug 782037 - Fix NameError with missing depfinished function when there is a makefile error. r=gps 2013-11-08 09:03:04 -05:00
Gregory Szorc
bd3349b8c8 Bug 922685 - Local $(foreach) variable isn't set properly; r=bsmedberg 2013-10-01 18:48:26 +02:00
Ryan VanderMeulen
b8a61feb6f Merge inbound to m-c. 2013-09-26 21:29:08 -04:00
Gregory Szorc
3d9a5f4a26 Bug 921198 - Increase pymake recursion limit (again); r=glandium 2013-09-26 14:43:45 -07:00
Mike Hommey
520a763515 Bug 920896 - Strip ./ from targets and dependencies in includedeps files. r=gps 2013-09-26 16:43:53 +09:00
Mike Hommey
efc297fb0e Bug 920353 - Use PYCOMMANDPATH paths as site packages in pymake, and set it to the virtualenv site packages instead of $(topsrcdir)/config. r=gps 2013-09-26 16:43:53 +09:00
Mike Hommey
c17399e56b Bug 915642 - Allow simple variable references in includedeps files; r=gps 2013-09-12 22:05:34 +09:00
Mike Hommey
340d9d2fda Bug 914935 - Fix pymake handling of colon in includedep files. r=gps 2013-09-12 08:14:44 +09:00
Mike Hommey
2dc590de7f Bug 912971 - Strip ./ from targets given to pymake on the command line. r=ted 2013-09-06 09:21:04 +09:00
Mike Hommey
d9ddd5dd1f Bug 912846 - Bump pymake parser MRU cache to 50 items. r=gps 2013-09-05 15:10:33 +09:00
Mike Hommey
7ebfe66204 Bug 904743 - Allow multiple targets on the same rule with includedeps in pymake. r=gps 2013-08-23 08:08:11 +09:00
Benoit Girard
daa7175de3 Bug 899858 - Cache pymake len() computation to speed up parsing. r=benjamin 2013-08-06 15:25:57 -04:00
Mike Hommey
96c50c63fd Bug 899875 - Better handle empty arguments in pymake, and also treat whitespaces in bulk. r=ted 2013-08-02 10:29:31 +09:00
Mike Shal
3a57060438 Bug 751076 - fix $< and $^ for pymake; r=bsmedberg 2013-07-09 10:14:16 -04:00
Boris Zbarsky
1764bf1dfb Bug 875025. Use a deque, not a list, for the pending queue in pymake. r=glandium 2013-05-23 09:20:32 -04:00
Mike Hommey
cf465b943c Bug 875023 - Make Rule._executeweak faster in e.g. dom/bindings. r=ted 2013-05-23 07:27:50 +02:00
Gregory Szorc
3a41b0cbea Bug 872856 - Temporarily increase Python recursion limit in pymake; r=ted 2013-05-20 14:07:15 -07:00
Mike Hommey
4ec5fc4c1d Bug 777379 - Additional .DEFAULT_GOAL test for pymake. r=gps DONTBUILD 2013-05-07 17:34:47 +02:00
Mike Hommey
5858426dab Bug 777379 - Set .DEFAULT_GOAL unconditionally, override with OVERRIDE_DEFAULT_GOAL, and fix pymake to be on par with GNU make when handling .DEFAULT_GOAL. r=gps 2013-05-05 10:16:25 +02:00
Kyle Huey
f34aa971d5 Update pymake. No bug. 2013-04-09 10:17:33 -07:00
Kyle Huey
f8c6bcba34 Update pymake to pick up bug 832472. 2013-01-18 13:57:37 -08:00
Benjamin Smedberg
e837b18c07 Bug 814796 - Fix NameError when reporting an error. r=glandium
File "c:\mozilla-build\pymake\pymake\data.py", line 1417, in __call__
raise DataError("native command '%s': shell metacharacter '%s' in command line" % (cline, badchar), self.loc)
NameError: global name 'cline' is not defined
2012-12-11 16:37:07 +01:00
Mike Hommey
1d14e282d9 Bug 820351 - Add a pymake unit test for native touch -t. r=ted 2012-12-11 16:36:40 +01:00
Mike Hommey
57ae60e31c Bug 820351 - Add support for -t option of touch in pymake builtins. r=ted 2012-12-11 16:36:39 +01:00
Mike Hommey
3a3fbb075b Bug 794472 - Allow pymake to run more commands without sending them to a shell. r=ted 2012-10-18 14:46:33 +02:00
Mike Hommey
8de4907981 Bug 794966 - Treat environment variables as = assignments instead of := in pymake. r=ted 2012-10-02 14:18:00 +02:00
Mike Hommey
4e6044bc55 Bug 794490 - Don't buffer stdout and stderr in pymake. r=ted 2012-10-02 14:17:43 +02:00
Gregory Szorc
09bcf86719 Bug 793061 - Python 3 compatible string types; r=glandium
This is the start of porting pymake to be compatible with Python 3.
There are probably other instances of this in the code base. A more
robust port will be performed in the future.

--HG--
extra : rebase_source : b2f8e85de9651dfa0ba4b57ecb39881cb6304405
2012-09-24 13:19:22 -07:00
Siddharth Agarwal
697d8bc5bd Bug 788971 - Pymake chokes when native commands raise exceptions without a "code" attribute. r=ted 2012-09-08 02:54:05 +05:30
Mike Hommey
06155edd25 Bug 785265 - Explicitely use sh -c instead of letting subprocess.Popen do it. r=ted 2012-09-05 16:42:09 +02:00
Siddharth Agarwal
0f206c678a Bug 787658 - Recalculate mtime once the target is built. r=khuey 2012-09-04 21:30:32 -04:00
Siddharth Agarwal
1a35d991f1 Bug 787600 - Pymake: Shell commands in submakes don't honour exported PATH and don't receive exported envvars. r=gps 2012-09-01 06:41:50 +05:30
Siddharth Agarwal
117a49819e Bug 784910 - Pymake: adjust sys.path so that native commands can load other modules from their own directories. r=ted 2012-09-01 06:40:16 +05:30
Siddharth Agarwal
0440fb3be4 Bug 782866 - Pymake: commands that don't use shells don't honour exported PATH on Win32. Use worker pool to execute Popen-based commands too, and fix up os.environ["PATH"] as necessary. r=gps DONTBUILD 2012-08-23 21:00:38 +05:30
Siddharth Agarwal
2002455c60 Bug 784496 - Run Pymake tests in sorted order. r=gps DONTBUILD
--HG--
extra : rebase_source : 7d05e3315e875506b8eea72895aa6aa17d4984c8
2012-08-22 04:33:50 +05:30
Siddharth Agarwal
3d8d42e709 Bug 782847 - Pymake native commands don't pass the correct environment to subprocesses. r=gps DONTBUILD
This change is technically backwards incompatible, but it brings native command
behavior in line with subprocess behavior.

--HG--
extra : rebase_source : a1cd4580ce7023f3c11eba8715133cdce116d984
2012-08-22 02:48:11 +05:30
Siddharth Agarwal
2ba368816d Bug 780612 - Add a list of characters which probably indicate shell scripts but native commands won't reject. r=khuey
--HG--
extra : rebase_source : 38ffd729c2972e142673fbca50584c241b4eade0
2012-08-08 00:49:02 +05:30
Gregory Szorc
07fa777702 Bug 778495 - Part 2: Add query related APIs for functions and expansions
khuey gave permission to land without review.

--HG--
extra : rebase_source : f76f8ae43efa9719f71ca6b6b2223ada1e18a6cd
2012-08-06 10:24:10 -07:00
Gregory Szorc
be9db1c891 Bug 778495 - Part 1: Add BaseExpansion class and new methods for expansions
khuey gave permission to land without review.

--HG--
extra : rebase_source : 18d741488cf93e6eaf4d553badad840cc620a4fd
2012-08-06 10:23:58 -07:00
Gregory Szorc
5e7c6406e2 Bug 769976 - Statement reformatting and equality operators
You can now call to_source() on Expansion, StringExpansion, Function
(and derived), Statement (and derived), Condition (and derived), and
StatementList to obtain make "source code" for that entity. This means
you can write out make files by constructing an appropriate set of
Statement instances.

This also implements __eq__ and __ne__ on all of the above. This is
being used in the tests to verify that the reformatting code works
properly (produces an equivalent StatementList).

khuey gave permission to land without review.

--HG--
extra : rebase_source : ffc16e930279fc4a6978117efabf5483d7087b53
2012-08-06 10:23:25 -07:00
Mike Hommey
7a50b770cf Fixup whitespaces from bug 777379. DONTBUILD 2012-08-06 15:31:10 +02:00
Mike Hommey
a195685a40 Bug 777379 - Ensure that default is always the default target. r=ted 2012-08-06 15:21:10 +02:00
Siddharth Agarwal
152872b738 The correct fix for bug 780497. Missed a backslash. 2012-08-06 02:16:00 +05:30
Siddharth Agarwal
d7e70f8548 Bug 780497 - Pymake build broken because it thinks touch {uuid}/Makefile contains shell metacharacters. r=khuey 2012-08-06 00:45:59 +05:30
Siddharth Agarwal
cda3e7de9e Bug 780407 - Pymake: Export variables in MAKEFLAGS, including those passed over the command-line. r=khuey 2012-08-05 03:22:00 +05:30
Siddharth Agarwal
1b00f2f47d Bug 770165 - Fix a test to reflect the reality that Pymake works with Windows paths but MSYS make works with Unix paths. r=khuey
--HG--
extra : rebase_source : 75be29ad11113ead1a16ed212e745759ee2fc4d6
2012-07-25 22:40:07 +05:30
Gregory Szorc
23d566d043 Bug 774558 - Fix typo in SubstitutionRef.__repr__; r=khuey
--HG--
extra : rebase_source : d3ed1a34ef61e0f23c2166c4c1071474494c93ac
2012-07-20 10:50:51 -07:00
Siddharth Agarwal
b2ace89d27 Bug 772186 - Support return values from pymake native commands. r=khuey
If the return value is an integer, treat it like an exit code. Otherwise, if
it is None, treat it like 0. Otherwise treat it as an error. This behaviour is
equivalent to that of sys.exit. Also fix our own sys.exit handling to match
this, and add tests for everything.

--HG--
extra : rebase_source : e36155d8fbe555e76effd182979cd6b1000a6ece
2012-07-12 09:52:25 +05:30