Commit Graph

87 Commits

Author SHA1 Message Date
Ryan VanderMeulen
b26ab72f66 Backed out changeset 8553d6d258cc (bug 952206) for Windows bustage.
CLOSED TREE
2014-01-06 14:15:10 -05:00
Gregory Szorc
ca3052911b 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
8a9e7dc4c1 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
8e00ee4e31 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
89036a9a1f 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
5dd101cb1c 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
f9808270bb Bug 922685 - Local $(foreach) variable isn't set properly; r=bsmedberg 2013-10-01 18:48:26 +02:00
Ryan VanderMeulen
f2641c9a83 Merge inbound to m-c. 2013-09-26 21:29:08 -04:00
Gregory Szorc
8d22d44618 Bug 921198 - Increase pymake recursion limit (again); r=glandium 2013-09-26 14:43:45 -07:00
Mike Hommey
1e77a85b97 Bug 920896 - Strip ./ from targets and dependencies in includedeps files. r=gps 2013-09-26 16:43:53 +09:00
Mike Hommey
75de83039d 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
47702e77ff Bug 915642 - Allow simple variable references in includedeps files; r=gps 2013-09-12 22:05:34 +09:00
Mike Hommey
0e0ef4f375 Bug 914935 - Fix pymake handling of colon in includedep files. r=gps 2013-09-12 08:14:44 +09:00
Mike Hommey
d9cb726df7 Bug 912971 - Strip ./ from targets given to pymake on the command line. r=ted 2013-09-06 09:21:04 +09:00
Mike Hommey
c312274d6e Bug 912846 - Bump pymake parser MRU cache to 50 items. r=gps 2013-09-05 15:10:33 +09:00
Mike Hommey
93838e0362 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
0618865136 Bug 899858 - Cache pymake len() computation to speed up parsing. r=benjamin 2013-08-06 15:25:57 -04:00
Mike Hommey
54db32b7a4 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
614d2bf88c Bug 751076 - fix $< and $^ for pymake; r=bsmedberg 2013-07-09 10:14:16 -04:00
Boris Zbarsky
3f35d84f0a 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
3cad13118b Bug 875023 - Make Rule._executeweak faster in e.g. dom/bindings. r=ted 2013-05-23 07:27:50 +02:00
Gregory Szorc
265b5c503f Bug 872856 - Temporarily increase Python recursion limit in pymake; r=ted 2013-05-20 14:07:15 -07:00
Mike Hommey
b03817d34c Bug 777379 - Additional .DEFAULT_GOAL test for pymake. r=gps DONTBUILD 2013-05-07 17:34:47 +02:00
Mike Hommey
f936e5198e 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
56169a859a Update pymake. No bug. 2013-04-09 10:17:33 -07:00
Kyle Huey
ef6314f596 Update pymake to pick up bug 832472. 2013-01-18 13:57:37 -08:00
Benjamin Smedberg
9e281143b6 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
e0e23d1619 Bug 820351 - Add a pymake unit test for native touch -t. r=ted 2012-12-11 16:36:40 +01:00
Mike Hommey
9daa6bbf60 Bug 820351 - Add support for -t option of touch in pymake builtins. r=ted 2012-12-11 16:36:39 +01:00
Mike Hommey
b843df8e20 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
3b09a2705f Bug 794966 - Treat environment variables as = assignments instead of := in pymake. r=ted 2012-10-02 14:18:00 +02:00
Mike Hommey
9bdebc8fc9 Bug 794490 - Don't buffer stdout and stderr in pymake. r=ted 2012-10-02 14:17:43 +02:00
Gregory Szorc
67e106dcd0 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
10a557c105 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
50dbad64d5 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
f15989558f Bug 787658 - Recalculate mtime once the target is built. r=khuey 2012-09-04 21:30:32 -04:00
Siddharth Agarwal
d5c7aa9533 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
c5d4509bf1 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
93a9f3a89c 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
0006e71479 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
7d9a4df524 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
c8966962fa 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
b7a8efca0c 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
3386d66647 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
091500b7b4 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
6e855ba437 Fixup whitespaces from bug 777379. DONTBUILD 2012-08-06 15:31:10 +02:00
Mike Hommey
e9c3f71f8f Bug 777379 - Ensure that default is always the default target. r=ted 2012-08-06 15:21:10 +02:00
Siddharth Agarwal
67c64a334e The correct fix for bug 780497. Missed a backslash. 2012-08-06 02:16:00 +05:30
Siddharth Agarwal
cce6046224 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
5c170e7fab Bug 780407 - Pymake: Export variables in MAKEFLAGS, including those passed over the command-line. r=khuey 2012-08-05 03:22:00 +05:30