Commit Graph

624 Commits

Author SHA1 Message Date
Ted Mielczarek
fa343243d0 bug 1286934 - Switch to using sccache2. r=gps
This patch does a few things:
1) Change all the in-tree tooltool manifests to contain sccache2 instead of the existing Python sccache
2) Change mozconfig.cache to point at sccache.
3) Lightly tweak the --with-cccache configure option to support sccache, and detect whether we're using ccache or sccache and set an option appropriately.
4) Add a MOZ_SCCACHE_VERBOSE_STATS option, and add a target in the top-level Makefile to make sccache spit out its stats at the end of the build. This is useful to see the cache hits/errors until we get something better.
5) Add MOZ_USING_SCCACHE to the build telemetry. Not that I think it will be immediately useful, but for future use.

MozReview-Commit-ID: 9lrdLwNj5Bm

--HG--
extra : rebase_source : d323457df10d0ee0ac5811940e518d9422a7e070
2016-08-25 18:39:57 -04:00
Mike Shal
458dc35b77 Bug 1315810 - Use tup's internal symlinking instead of build manifests; r=chmanchester
MozReview-Commit-ID: LNsbghIGJvH

--HG--
extra : rebase_source : 475bfbb846910095ae3d8f4b9d3412bd22b0eab5
2016-09-30 11:16:41 -04:00
Mike Hommey
6a5969b4b1 Bug 1311462 - Dump symbols from */dist/bin instead of dist/universal for Mac universal builds. r=ted
--HG--
extra : rebase_source : 43f8a83a616f7bb825e5e2d2cddf67e868b287ad
2016-11-01 14:05:27 +09:00
Gregory Szorc
5d3b5ab5bb Bug 1307435 - Generate symbols zip file concurrently; r=ted
Each archive takes 10+ seconds to generate. Split the archiving
part into separate make targets so this completes faster.

I'm not super thrilled about adding yet more make targets to the
root Makefile.in. We can refactor this later. For now, let's
take the quick win.

MozReview-Commit-ID: 2Oeq1rX6yLw

--HG--
extra : rebase_source : 55282a1dacf65adcaf559c178c61ae42591b29ea
2016-10-04 05:57:35 -07:00
Mike Shal
07b492f103 Bug 1306405 - add BUILDSTATUS messages to the tup backend; r=chmanchester
MozReview-Commit-ID: HoDUuKkmv2l

--HG--
extra : rebase_source : 3d4acbcf639976d769a51eacd0d04beb87a40bf3
2016-09-26 14:16:09 -04:00
Mike Shal
02bca067c4 Bug 1305157 - Fix buildid.h and create source-repo.h in make before tup runs; r=gps
MozReview-Commit-ID: CPYA1OJUfo8

--HG--
extra : rebase_source : ed8f4b193ec37f3015277a4d39f19a4904b04d9a
2016-09-28 13:51:34 -04:00
Mike Shal
90020e6770 Bug 1304143 - pass --verbose flag to tup when not running 'make -s'; r=chmanchester
MozReview-Commit-ID: DWwxQweCMze

--HG--
extra : rebase_source : eb6ed55c6147ff496f6d15aff037ca276885a171
2016-09-12 15:09:15 -04:00
Mike Shal
9f2ce6ecc0 Bug 1293448 - Build XPIDL files in the tup backend; r=glandium,gps
MozReview-Commit-ID: zyojbOFLLn

--HG--
extra : rebase_source : 17ebd8701bf1dc1a45559a3620a3f6703f950070
2016-07-29 13:43:29 -04:00
Ted Mielczarek
008bea8e06 bug 1262337 - add symbols for test plugins to symbols zip on Windows. r=gps
MozReview-Commit-ID: L10fff3MbX1

--HG--
extra : rebase_source : 7445541346ea4c84b314a8e2ebdaec324a5e0e72
2016-08-22 06:42:59 -04:00
Mike Shal
b7110a8a71 Bug 1275111 - Move artifact download/install into its own tier; r=glandium
This also fixes the issue of processing the artifacts twice in some
situations (bug 1275673). Note that the artifact download no longer
happens when a specific target is passed to 'mach build'.


MozReview-Commit-ID: Ktys6u3r1kG
2016-06-01 13:48:53 -04:00
Ehsan Akhgari
3d4c047c6b Bug 1273006 - Don't include makefiles from toolkit/mozapps/installer needlessly; r=glandium
These includes make out-of-tree builds of SpiderMonkey depend on the
installer.
2016-05-30 13:45:19 -04:00
Gregory Szorc
797cecf6f0 Bug 1275740 - Use compression level 5 instead of 9 for symbols zips; r=ted
On my i7-6700K time and size for the full zip archive for a Windows
debug build is as follows:

          Time       Size
Before:   25.4s    278,708,278
After:    13.0s    280,623,521

Anything lower than level 5 and the archive size starts increasing by
several megabytes. Level 5 is definitely the sweet spot.

MozReview-Commit-ID: 9lW2W1htq93

--HG--
extra : rebase_source : 26458386e4032dfd85eddd937bf6e6bff057d99b
2016-05-25 15:04:02 -07:00
Ryan VanderMeulen
d1017437b3 Backed out changeset f8e784f16f69 (bug 1273006) for breaking Android nightlies. a=me 2016-05-19 10:35:39 -04:00
Ehsan Akhgari
438b3f3b0a Bug 1273006 - Don't include makefiles from toolkit/mozapps/installer needlessly; r=glandium
These includes make out-of-tree builds of SpiderMonkey depend on the
installer.
2016-05-17 21:39:29 -04:00
Chris Manchester
a7138cfc10 Bug 1242051 - Install test files to the objdir lazily rather than with each invocation of mach. r=gps
This moves test installation for test files out of the monolithic install
manifest for $objdir/_tests, and determines the test and support files
to install based on the object derived from all-tests.json. Additionally,
the files resulting from TEST_HARNESS_FILES are installed, as some tests
will depend on them.

As a result, the time to install tests when invoking the test runner will
scale with the number of tests requested to run rather than the entire set
of tests in the tree, resulting in significantly less overhead.

MozReview-Commit-ID: LeIrUVh1yD4
2016-04-04 14:56:52 -07:00
Dustin J. Mitchell
6618eec31d Bug 1261045: remove unused SYMBOL_SERVER_*; r=ted.mielczarek
MozReview-Commit-ID: 4fyzQufrXbO

--HG--
extra : rebase_source : a739e0c0004df6d3d49d3ec9687a25010b024dfe
2016-04-01 14:00:27 +00:00
Dustin J. Mitchell
3c0460b85b Bug 1261045: remove unused MOZ_SYMBOLS_EXTRA_BUILDID; r=ted.mielczarek
MozReview-Commit-ID: 6vX87lAGxF6

--HG--
extra : rebase_source : 119cd9bdbf1883523da804a66b24c9629470a6c5
2016-04-01 13:31:02 +00:00
Mike Hommey
8f7c8ceafe Bug 1257468 - Move setting MOZ_BUILD_APP subst and define to moz.configure. r=nalexander
This has the side effect of making the variable available in js/src,
which it was not in the past.
2016-03-22 11:09:40 +09:00
Birunthan Mohanathas
ec65f12dd8 Bug 623183 - Build dump_syms on Windows when using VS2015; r=ted
MozReview-Commit-ID: LCvipO5FXdR

--HG--
extra : source : e68a8c608182025bac53dcbb48b0c0d474931f90
extra : amend_source : 3113865fb4be93db6b51ce55514cd2a55e577df9
2016-03-08 14:07:28 -08:00
Mike Hommey
7df9087b2b Bug 1250294 - Make configure a Python script that invokes the old configure.sh. r=ted
--HG--
rename : js/src/configure.in => js/src/old-configure.in
rename : configure.in => old-configure.in
2016-02-25 07:22:33 +09:00
Mike Hommey
1d537257e2 Bug 1247162 - Generate a header defining MOZ_SOURCE_*. r=mshal
The behavior is not entirely idempotent (most notably for
buildconfig.html), but this can be improved later if necessary.
It is idempotent where it matters.

This allows to get rid of config/makefiles/rcs.mk and its uses.
2016-02-12 07:16:14 +09:00
Mike Hommey
fd36539df9 Bug 1246881 - Generate a header defining MOZ_BUILDID. r=mshal 2016-02-12 07:15:55 +09:00
Mike Shal
4a501e1a0c Bug 1242663 - Add targets for each backend dependency; r=ted
We need to ignore dependencies on backend files that have been removed,
otherwise removing a Makefile.in will require a clobber.
2016-01-25 14:36:36 -05:00
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
Mike Hommey
e30bf4512a Bug 1242074 - Fix top-level install-dist_% rules; r=gps
For some reason, recent changes with the install-dist/% rules broke the
dummy wrapper used by `mach build faster`, leading to `Nothing to be done
for install-dist_idl.`, subsequently failing to build xpt files because
of the missing idls in dist/idl.

--HG--
extra : commitid : 7SoYbKdAeSQ
extra : rebase_source : 8fee8fdae0d04aed3906d00d33dd7b830f82d75f
extra : amend_source : 2a9a1086d409fbcd4386b7d589c8df50dcdf4b26
2016-01-23 11:39:18 -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
e50a6cfd7b Bug 1239217 - Make the RecursiveMake build system create backend files generically. r=gps
The current rule is only for "backend.RecursiveMakeBackend", but, with
the current default of generating both the RecursiveMake and FasterMake
backends, the command creates/refreshes both backends. This is, in fact,
how the FasterMake backend is refreshed in most cases.

Moreover, with an hybrid backends, the generated file is not
"backend.RecursiveMakeBackend" anymore, so we need a more generic way to
handle this.

Furthermore, it's not necessarily desirable for all backends to have a
dependency file to handle the dependencies to refresh the backend, so
generate a plain list instead. This has the side effect of making `mach
build-backend --diff` more readable for changes to that file.

Finally, make the backend.* files created like any other backend file,
such that its diff appears in the `mach build-backend --diff` output.
2016-01-22 15:43:24 +09:00
Mike Hommey
2bbd2afaf4 Bug 1239217 - Skip empty install manifests, apart a few exceptions. r=gps
Install manifests are not empty in normal conditions, apart a few
exceptions where they are only used for a "magic" `rm -rf`.

However, we're going to introduce changes that will empty some of
the install manifests and make their work happen from a different
backend, in which case we don't want them to correspond to a `rm -rf`.
2016-01-22 15:43:16 +09:00
Mike Hommey
5624c77753 Bug 1241416 - Create a tier for things happening before export. r=gps
While it would be possible to move those things in the export tier, it
is still interesting to have reporting for them separately, especially
considering I expect things to gradually move from the other tiers to
this new one.

While not entirely obvious, the recurse_pre-export target doesn't imply
actual recursion as long as the RecursiveMake backend doesn't emit
traversal information for it, so nothing will actually happen on this
target, but the interesting part is that it runs, per the generic
config/recurse.mk rules for tiers, between BUILDSTATUS TIER_START and
BUILDSTATUS TIER_FINISH, so that all its dependencies are accounted
as being part of the pre-export tier.
2016-01-22 07:00:23 +09:00
Steve Fink
917154d325 Bug 837969 - Enable buildsymbols target for js/src, r=ted
--HG--
extra : commitid : 1dphmhk6eHd
extra : rebase_source : 43ca531bf200424dc9e72e12d2dc8a06bd445f9a
2015-06-16 13:16:18 -07:00
Ted Mielczarek
47dba5ed8c bug 1160185 - support GENERATED_FILES in EXPORTS. r=glandium
This change allows specifying objdir-relative paths in EXPORTS to enable
exporting entries from GENERATED_FILES. Objdir paths in EXPORTS that are
not in GENERATED_FILES will raise an exception.

Example:
```
EXPORTS += ['!g.h', 'f.h']
GENERATED_FILES += ['g.h']
```

Given the implementation, this should also work for FINAL_TARGET_FILES,
FINAL_TARGET_PP_FILES, and TESTING_FILES, but those are not well-tested.

This patch also renames the install manifest for '_tests' to match the
directory name for convenience in some code I refactored.

--HG--
extra : commitid : CwayzXtxv1O
extra : rebase_source : 5fb6f461fc740da9bce14bbdbfabdfe618af8803
2015-12-01 09:53:16 -05: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
9af046b5b4 Bug 1211765 - Remove remnants from --with-libxul-sdk. r=bsmedberg
The configure option has explicitly thrown an error for more than a year now,
and it happens that the remaining way to still forcefully use it has been
broken for more than 8 months.
2015-10-14 08:02:34 +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
Ted Mielczarek
9c7373d53a bug 1168535 - print error response body in upload_symbols.py. r=gps
--HG--
extra : rebase_source : 7838dc42440eca1df2cbb98fce06fdb131b678b5
2015-05-27 13:50:04 -04:00
Brian O'Keefe
c6ba641724 Bug 924187 - Deal with interfaces.manifest from the backend. r=mshal
--HG--
extra : rebase_source : 2d2cbc1ebc97496c54aef63de73b00af8126e750
2015-02-13 08:11:57 -05:00
Ted Mielczarek
482ca6ffce bug 1153799 - Stop using SSH symbol upload when using Socorro API. r=gps
--HG--
extra : rebase_source : 8b677c63be70664e4c4e96417ae1908502222eaa
2015-04-24 06:41:56 -04:00
Brian O'Keefe
bb0f2688e6 Bug 786520 - Install things to $(DIST)/branding from moz.build instead of manual rules in Makefile.ins. r=mshal
--HG--
extra : rebase_source : 5c9900d28263466014ff391ae4142e98866e4032
2015-02-26 16:53:31 -05:00
Mike Hommey
cae0d0c98c Bug 1063880 - Allow a --disable-compile-environment to go through a full mach build. r=mshal 2015-03-11 16:03:55 +09:00
Ted Mielczarek
1097d4012f bug 1135700 - make uploadsymbols use Socorro symbol upload API. r=gps
--HG--
extra : rebase_source : 2f177f3e2dbae3e658da9c034dfd9e4b29c03015
2015-02-23 13:48:54 -05:00
Joshua Cranmer
7faf79f786 Bug 910781 - add support for FINAL_TARGET_FILES; r=gps 2014-07-23 13:56:25 -04:00
Mike Hommey
e8150918fc Bug 1094033 part 1 - Consolidate how to add new tiers. r=gps 2014-11-06 09:29:11 +09:00
Mike Hommey
988396196d Fixup for bug 1062668. r=me 2014-09-05 10:35:43 +09:00
Mike Hommey
8e735c799c Bug 1062668 - Only process the "include" install manifest when invoking the binaries target. r=gps 2014-09-05 10:27:39 +09:00
Mike Hommey
51f6cc88c1 Bug 1062219 - Don't build build/clang-plugin as an external directory. r=jcranmer 2014-09-04 17:44:01 +09:00
Joshua Cranmer
73512f7996 Bug 1035599: Merge the mozilla-central and comm-central objdir, r=gps
This change merges mozilla-central and comm-central into having a single
topobjdir file but retaining two topsrcdirs (and two build systems). This state
is hopefully only the first part of a series of changes that eliminate the
comm-central build system partial clone completely.

--HG--
extra : rebase_source : 02aa2c4551df405d9783ac85cc41fe90b67bf057
extra : amend_source : d3cc677d59603648165bf65afa28413f2c40b2fd
2014-08-07 19:27:58 -05:00
Mike Hommey
e8b438350d Bug 1049281 - Move third-party build system "drivers" to config/external, and stop using static dirs. r=gps
--HG--
rename : intl/icu/Makefile.in => config/external/icu/Makefile.in
rename : config/nspr/Makefile.in => config/external/nspr/Makefile.in
rename : config/nspr/moz.build => config/external/nspr/moz.build
rename : security/build/Makefile.in => config/external/nss/Makefile.in
rename : security/build/moz.build => config/external/nss/moz.build
rename : security/build/nspr-dummy.def => config/external/nss/nspr-dummy.def
rename : security/build/nss.def => config/external/nss/nss.def
rename : security/build/nss.mk => config/external/nss/nss.mk
2014-08-07 02:58:52 +09:00
Ted Mielczarek
2adda7e09f bug 1033938 - rm full symbols.zip during buildsymbols. r=glandium 2014-08-01 07:36:47 -04:00
Ian Neal
7251c1c7cd Bug 1046468 - toolkit/library has an inter-dependency on ldap for comm-central that it needs to be told about in the moz.build world r=glandium 2014-07-31 17:33:25 +01:00
Ted Mielczarek
d6179253e0 bug 462159 - Use install manifests to track header files from dist/include back to srcdir in symbolstore.py. r=gps 2014-07-18 16:33:34 -04:00