Commit Graph

33 Commits

Author SHA1 Message Date
Mike Hommey
efa26893a5 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.

--HG--
extra : commitid : 7nD60DTsoHz
extra : rebase_source : 61b5803732b0ecdff421e4e15a2086d4eae7a937
extra : amend_source : c0ae62708b2019888ea320c3793d4ea3f6d6d460
2016-01-23 11:40:24 -08:00
Gregory Szorc
b9191564fc 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.

--HG--
extra : commitid : GVAzwgjaChF
extra : rebase_source : e0765bcf80ad93b7b193f8d4218f4c6f90dbb843
extra : amend_source : d06092dde64d22be476ef1f9e0232eda87d48325
2016-01-23 11:38:00 -08:00
Mike Hommey
6098e02a36 Bug 1239217 - Add the FasterMake+RecursiveMake hybrid backend. r=gps 2016-01-22 15:43:26 +09:00
Mike Hommey
f549721406 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
92596da030 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
036949880e 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
e0c501a1c1 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
2eabcb84c2 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
830a72f8a1 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
774dac6729 Backed out changeset a788c06e448a (bug 1230060) 2015-12-04 15:17:36 +01:00
Mike Hommey
10d4c3b4aa 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
e5b1bb9e4e 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
d8414e8e44 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
fc199d9034 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
5aac275e85 Bug 1223591 - add buildid dependency for platform.ini in faster make backend; r=glandium 2015-11-10 18:07:51 -05:00
Mike Hommey
ccf2ec68da Bug 1219126 - Move greprefs.js definition in moz.build. r=mshal 2015-10-31 07:32:48 +09:00
Mike Hommey
329cb2d0be Bug 1219122 - Move webapprt.ini definition to moz.build. r=mshal
--HG--
rename : webapprt/application.ini.in => webapprt/webapprt.ini
2015-10-31 07:32:46 +09:00
Mike Hommey
0ac007b2f5 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
1f1147fd63 Backed out changeset b855984ff056 (bug 1216901)
--HG--
extra : commitid : DRn4qQLqwWu
2015-10-30 10:11:45 -07:00
Wes Kocher
46439f8894 Backed out changeset 57137bb5c665 (bug 1219126)
--HG--
extra : commitid : 2AioSh3eozm
2015-10-30 10:11:42 -07:00
Mike Hommey
e123e36812 Backout changeset 2d9b31fd2c69 (bug 1219122) for Windows PGO bustage
--HG--
rename : webapprt/webapprt.ini => webapprt/application.ini.in
2015-10-30 19:03:12 +09:00
Mike Hommey
b6620df9b1 Bug 1219126 - Move greprefs.js definition in moz.build. r=mshal 2015-10-30 08:19:04 +09:00
Mike Hommey
6613cfce5a Bug 1219122 - Move webapprt.ini definition to moz.build. r=mshal
--HG--
rename : webapprt/application.ini.in => webapprt/webapprt.ini
2015-10-30 08:19:04 +09:00
Mike Hommey
03e573e93c 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
f6bf50d04e Bug 1210687 - Use install manifests for jar.mn files in FasterMake backend. r=gps 2015-10-08 17:11:23 +09:00
Mike Hommey
ccf3953f83 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
e7fb0d3101 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
f4de6bfe91 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
4373d22b8e 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
9f2c4e94ba 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
c9cc8367e0 Bug 1209403 - Build xpidl stuff in the faster make backend. r=gps 2015-09-30 11:51:49 +09:00
Mike Hommey
688510366a 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
0e156c41d5 Bug 1207882 - Add an initial partial implementation of a new, faster, build backend. r=gps 2015-09-29 09:23:46 +09:00