Commit Graph

89 Commits

Author SHA1 Message Date
Mike Hommey
df8ec65f6f Bug 1027890 - Reject builds with pymake. r=gps
--HG--
extra : rebase_source : a662b896b5f431a37a1250ec19451324ebed3d14
2014-06-25 08:38:12 +09:00
Mike Hommey
3fd5ad6bb2 Bug 927672 - Force pymake to fall back to mozmake when run on build slaves. r=gps 2014-03-25 15:51:13 +09:00
Ryan VanderMeulen
ab53c3e13d Backed out changeset 8553d6d258cc (bug 952206) for Windows bustage.
CLOSED TREE
2014-01-06 14:15:10 -05:00
Gregory Szorc
de5adc60bd Bug 952206 - Abort execution when a required make file fails to remake; r=bsmedberg
Previously, errors during make file making (either the main make file or
an included make file) were ignored. This behavior diverged from GNU
Make, which aborted execution if the make file was required and ignored
the failure if it was optional.

This patch changes pymake to abort if the make file is required, brining
its behavior inline with GNU make.

--HG--
extra : rebase_source : f9a3f4c54273930616f4a8e41dafc463f363c891
extra : amend_source : f02236c3127602357f8f82a66d021144b3cdf3a0
2013-12-19 11:18:23 -08:00
Gregory Szorc
f01fffba21 Bug 951736 - Adjust sys.path while native commands are executed; r=ted
The previous behavior only adjusted sys.path during module import. This
caused problems when there were delayed imports.

--HG--
extra : rebase_source : ca331f6da5f4e69ae74e8e831a41b12405fdd7fc
extra : amend_source : e0bd180a6fe5b5f64b2b8860f85887a9fd5b848e
2013-12-18 09:45:56 -08:00
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