Commit Graph

84 Commits

Author SHA1 Message Date
Ziga Seilnacht
049577ca57 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
353b709e0b 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
2fb693668e 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
5c89d8f6ea Bug 922685 - Local $(foreach) variable isn't set properly; r=bsmedberg 2013-10-01 18:48:26 +02:00
Ryan VanderMeulen
a759e3fa7b Merge inbound to m-c. 2013-09-26 21:29:08 -04:00
Gregory Szorc
261e4c161f Bug 921198 - Increase pymake recursion limit (again); r=glandium 2013-09-26 14:43:45 -07:00
Mike Hommey
1cf8edd844 Bug 920896 - Strip ./ from targets and dependencies in includedeps files. r=gps 2013-09-26 16:43:53 +09:00
Mike Hommey
bcb417b132 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
2347d58a74 Bug 915642 - Allow simple variable references in includedeps files; r=gps 2013-09-12 22:05:34 +09:00
Mike Hommey
3f803c5000 Bug 914935 - Fix pymake handling of colon in includedep files. r=gps 2013-09-12 08:14:44 +09:00
Mike Hommey
3aee57b087 Bug 912971 - Strip ./ from targets given to pymake on the command line. r=ted 2013-09-06 09:21:04 +09:00
Mike Hommey
b22875d2b3 Bug 912846 - Bump pymake parser MRU cache to 50 items. r=gps 2013-09-05 15:10:33 +09:00
Mike Hommey
903617ab06 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
fbf11cf094 Bug 899858 - Cache pymake len() computation to speed up parsing. r=benjamin 2013-08-06 15:25:57 -04:00
Mike Hommey
da1fd24f25 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
766102f43a Bug 751076 - fix $< and $^ for pymake; r=bsmedberg 2013-07-09 10:14:16 -04:00
Boris Zbarsky
bf91a01713 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
f0e73b3fa2 Bug 875023 - Make Rule._executeweak faster in e.g. dom/bindings. r=ted 2013-05-23 07:27:50 +02:00
Gregory Szorc
681db035ec Bug 872856 - Temporarily increase Python recursion limit in pymake; r=ted 2013-05-20 14:07:15 -07:00
Mike Hommey
db4ef21318 Bug 777379 - Additional .DEFAULT_GOAL test for pymake. r=gps DONTBUILD 2013-05-07 17:34:47 +02:00
Mike Hommey
9aab515c1d 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
c06c6f0c3b Update pymake. No bug. 2013-04-09 10:17:33 -07:00
Kyle Huey
816905dd21 Update pymake to pick up bug 832472. 2013-01-18 13:57:37 -08:00
Benjamin Smedberg
5dea188129 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
beb63d0e4c Bug 820351 - Add a pymake unit test for native touch -t. r=ted 2012-12-11 16:36:40 +01:00
Mike Hommey
a82b98345d Bug 820351 - Add support for -t option of touch in pymake builtins. r=ted 2012-12-11 16:36:39 +01:00
Mike Hommey
b17887d50d 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
baeb10aa34 Bug 794966 - Treat environment variables as = assignments instead of := in pymake. r=ted 2012-10-02 14:18:00 +02:00
Mike Hommey
c613ca96a6 Bug 794490 - Don't buffer stdout and stderr in pymake. r=ted 2012-10-02 14:17:43 +02:00
Gregory Szorc
a4458b8728 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
94d899b9ce 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
160d5d1f93 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
87e1570a16 Bug 787658 - Recalculate mtime once the target is built. r=khuey 2012-09-04 21:30:32 -04:00
Siddharth Agarwal
4ae1c79342 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
5e71189826 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
b82b3179b2 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
8dc44864a3 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
3dc5df1539 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
9f6172f580 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
334a9ab45f 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
dc83c2972a 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
afc9223881 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
9726c7ef33 Fixup whitespaces from bug 777379. DONTBUILD 2012-08-06 15:31:10 +02:00
Mike Hommey
ee47330ec1 Bug 777379 - Ensure that default is always the default target. r=ted 2012-08-06 15:21:10 +02:00
Siddharth Agarwal
a2bc9e5ab7 The correct fix for bug 780497. Missed a backslash. 2012-08-06 02:16:00 +05:30
Siddharth Agarwal
f832645c05 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
27d0d3fe15 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
2a6e6fc1ca 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
ca683e333f Bug 774558 - Fix typo in SubstitutionRef.__repr__; r=khuey
--HG--
extra : rebase_source : d3ed1a34ef61e0f23c2166c4c1071474494c93ac
2012-07-20 10:50:51 -07:00
Siddharth Agarwal
fcc673a579 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