Commit Graph

33 Commits

Author SHA1 Message Date
Mike Hommey
aab856a217 Bug 1242074 - Avoid going back and forth between FasterMake and RecursiveMake; r=gps
FasterMake needs some RecursiveMake install manifests to have been
processed before doing its work, so we can actually end up processing
them twice because of the going back and forth from FasterMake in the
hybrid build system.

Set the dependency at the RecursiveMake level when doing an hybrid
build.
2016-01-23 11:40:24 -08:00
Gregory Szorc
cd610a3b6b Bug 1242074 - Reorder pattern rules to placate GNU Make 3.81; r=glandium
Recent changes in bug 1239217 added the faster backend to the default
build mechanism for artifact builds. This seems to have uncovered a
difference in behavior between GNU Make 3.81 and newer. Starting with
GNU Make 3.82, pattern rules are selected according to shortest stem.
Before, they are used in definition order.

So, we change the order of the pattern rules so the longest prefixes are
first. This should result in the same behavior on various GNU Make
implementations.
2016-01-23 11:38:00 -08:00
Mike Hommey
8c69551b4d Bug 1239217 - Add the FasterMake+RecursiveMake hybrid backend. r=gps 2016-01-22 15:43:26 +09:00
Mike Hommey
266875452c Bug 1239217 - Stop making the FasterMake build system refresh the backend on its own. r=gps
The FasterMake build system is meant to be invoked through `mach build
faster`, which does it already, or, in the near future, as part of an
hybrid build system, which will deal with it as well. People doing
`make -C objdir/faster` won't have the backend automatically refreshed,
but that's not a supported way to use it anyways.
2016-01-22 15:43:23 +09:00
Mike Hommey
f42fbe1799 Bug 1240657 - Fix FasterMake race condition leading to missing "manifest interfaces.manifest" entries. r=gps
Turns out the claim in bug 1234439 that the FasterMake backend knows
about all the chrome manifest entries is wrong, and there's still one
that is added "manually" with buildlist.py, and during mach build
faster, that can happen before or after the corresponding chrome
manifests are written out by install manifest processing.

While the real fix here would be to make the build system totally
aware of those "manifest interfaces.manifest" entries, for now, it's
simpler to add dependencies to work around the race condition.
2016-01-20 07:24:40 +09:00
Mike Hommey
110878ccbd Bug 1235108 - Install bookmarks.html from jar.mn instead of a custom Makefile rule. r=gps 2016-01-05 20:03:43 +09:00
Mike Hommey
0c3d01c934 Bug 1235738 - Move MOZ_DEBUG_DEFINES to build frontend. r=gps
MOZ_DEBUG_DEFINES are essentially defines used everywhere. So treat them as
feeding the initial value for DEFINES in each moz.build sandbox. This allows
the kind overrides that was done in the past by resetting MOZ_DEBUG_DEFINES
in Makefiles.
2015-12-31 07:27:23 +09:00
Mike Hommey
547a9909a9 Bug 1234439 - Use new install manifests feature for chrome manifests in the FasterMake backend. r=gps
Bug 1191230 added override lines with # characters to chrome manifests
for Windows.

So far, chrome manifests were handled with buildlist.py like in the
RecursiveMake backend, fed with Make variables. Without proper quoting,
those Make variables are just truncated by Make on the first # character,
and this results in mach build faster failing because of that.

However, the reason why chrome manifests were handled with buildlist.py
originally is that not all chrome manifest entries were known to the
FasterMake backend, but they now all are.

So instead of relying on Make variables and buildlist.py, we can now
rely on the newly added install manifests feature allowing to create files
with a given content.
2015-12-24 13:12:29 +09:00
Mike Hommey
6aa2295e1e Bug 1230060 - Use process_install_manifest's --track option in the FasterMake backend. r=gps
This can probably be extended to the RecursiveMake backend, but I'd rather leave
that for later.
2015-12-05 11:04:21 +09:00
Carsten "Tomcat" Book
8362bcff02 Backed out changeset a788c06e448a (bug 1230060) 2015-12-04 15:17:36 +01:00
Mike Hommey
dd7bc86f71 Bug 1230060 - Use process_install_manifest's --track option in the FasterMake backend. r=gps
This can probably be extended to the RecursiveMake backend, but I'd rather leave
that for later.
2015-12-04 19:25:42 +09:00
Mike Hommey
6077e146dc Bug 1229233 - Add a (incomplete) end-to-end build test. r=gps
We have many unit tests in the tree for some small parts of the build system
pipeline, but we don't have anything that resembles an end to end test, and we
kind of rely on the resulting Firefox not being broken by our changes.

With the Faster make backend growing, I want to ensure it produces the same
thing as the recursive make backend, at least for the parts it supports.

This adds some kind of test that allows to check that.
2015-12-01 13:57:52 +09:00
Mike Hommey
c489bca936 Bug 1229233 - Ensure the target directory for copies exists in the FasterMake backend. r=gps 2015-12-01 13:57:52 +09:00
Mike Hommey
9a4b067a41 Bug 1229233 - Skip building XPIDL when there aren't any in the FasterMake backend. r=gps
The test I'm about to add doesn't have XPIDL files, and that currently avoids
the FasterMake backend to run properly. Also, in the future, when the FasterMake
grows the ability to build C++ files, it should be possible to build Spidermonkey
with the FasterMake backend, but it doesn't have XPIDL files either.
2015-12-01 13:57:52 +09:00
Mike Shal
3cccdc49c6 Bug 1223591 - add buildid dependency for platform.ini in faster make backend; r=glandium 2015-11-10 18:07:51 -05:00
Mike Hommey
712b747ca3 Bug 1219126 - Move greprefs.js definition in moz.build. r=mshal 2015-10-31 07:32:48 +09:00
Mike Hommey
4606448de6 Bug 1219122 - Move webapprt.ini definition to moz.build. r=mshal 2015-10-31 07:32:46 +09:00
Mike Hommey
76d603eddb Bug 1216901 - Make the FasterMake backend reticulate splines when moz.build or jar.mn files are modified. r=mshal 2015-10-31 07:32:43 +09:00
Wes Kocher
35b7fcf43d Backed out changeset b855984ff056 (bug 1216901) 2015-10-30 10:11:45 -07:00
Wes Kocher
9b4b36e1bc Backed out changeset 57137bb5c665 (bug 1219126) 2015-10-30 10:11:42 -07:00
Mike Hommey
de253c164d Backout changeset 2d9b31fd2c69 (bug 1219122) for Windows PGO bustage 2015-10-30 19:03:12 +09:00
Mike Hommey
7dff89ad27 Bug 1219126 - Move greprefs.js definition in moz.build. r=mshal 2015-10-30 08:19:04 +09:00
Mike Hommey
2662c98129 Bug 1219122 - Move webapprt.ini definition to moz.build. r=mshal 2015-10-30 08:19:04 +09:00
Mike Hommey
0c3bd62ba9 Bug 1216901 - Make the FasterMake backend reticulate splines when moz.build or jar.mn files are modified. r=mshal 2015-10-30 08:19:04 +09:00
Mike Hommey
56f097b817 Bug 1210687 - Use install manifests for jar.mn files in FasterMake backend. r=gps 2015-10-08 17:11:23 +09:00
Mike Hommey
f2843f8439 Bug 1211957 - Add the repackage step at the end of a faster build on Mac. r=gps
That is necessary until bug 934070 is fixed
2015-10-08 17:11:23 +09:00
Mike Hommey
c5e63a76f9 Bug 1210642 - Use install manifests for preprocessed files in the FasterMake build backend. r=gps 2015-10-06 11:15:07 +09:00
Mike Hommey
916388dd60 Bug 1210642 - s/APP_BUILDID/MOZ_APP_BUILDID/ to use the same variable name across products. r=gps 2015-10-06 11:15:05 +09:00
Mike Hommey
1c8912ad05 Bug 1209606 - Limit using source searchplugin files directly to mach build faster until bug 1105092 is fixed. r=gps 2015-10-01 07:30:56 +09:00
Mike Hommey
b910106253 Bug 1209875 - Get rid of XULPPFLAGS. r=gps
The flags added in toolkit/locales/Makefile.in turn out not to be actually
used, so just remove that.

The remaining uses of XULPPFLAGS are to set debug flags depending on whether
MOZ_DEBUG is set or not. Just set a dedicated variable with the right value
from configure.
2015-10-01 07:30:48 +09:00
Mike Hommey
430d12a198 Bug 1209403 - Build xpidl stuff in the faster make backend. r=gps 2015-09-30 11:51:49 +09:00
Mike Hommey
ac249eb19a Bug 1209401 - Don't use preprocessor forced includes for API keys in nsURLFormatter.js. r=gps 2015-09-30 11:51:48 +09:00
Mike Hommey
51d10b799b Bug 1207882 - Add an initial partial implementation of a new, faster, build backend. r=gps 2015-09-29 09:23:46 +09:00