Граф коммитов

741 Коммитов

Автор SHA1 Сообщение Дата
Ted Mielczarek 3bf693fcb6 bug 1259832 - package generated sources and upload them along with other build artifacts. r=gps
This change makes us upload an `$(PKG_BASENAME).generated-files.tar.gz` archive
alongside other build artifacts which contains all the generated source files
from the build. A change after this will introduce an `upload-generated-sources`
task to take this artifact and upload the individual files to an S3 bucket.

This will be used to provide links to generated source files when they appear
in stack traces in crash reports.

MozReview-Commit-ID: 6yQAdlZ5q3O

--HG--
extra : rebase_source : 3f6ef734c062e0f5e9c2ca433ffad51fdf14b1ad
2017-07-31 12:47:08 -04:00
Mike Hommey eaa93380ca Bug 1382502 - Enable sccache on PGO builds. r=ted
Note this will only enable it on try, autoland and mozilla-inbound,
which are the only branches where sccache are enabled at the moment.
Enabling on more builds (or not) is the subject of bug 1373460.

Also note that bug 1181040, that ensured PGO builds weren't using
sccache mentions that back then, link times went up when using sccache
(with -Z7) vs. without, but that was presumably with MSVC 2013. Try
suggests link times are the same using sccache now (still using -Z7,
pending bug 1318370).

--HG--
extra : rebase_source : 9f9d87714f3c841b790eb7d692ea0968b1755b70
2017-07-20 11:31:14 +09:00
Mike Hommey 2a24da6832 Bug 1380964 - Get and upload useful sccache logs. r=gps
When investigating why a particular build got a particularly high number
of cache misses, it is useful to know exactly *what* had cache misses,
and you can't get the missing information after the fact.

We used to have some stats stored in a log file uploaded as artifact
with the old python sccache per bug 1005495 (and before that inline in
the build log), and we actually still have remains of that in the form
of a EXTRA_UPLOAD_FILES in build/mozconfig.cache.

Let's reuse that, and get some useful logs from sccache. Ideally sccache
would give better logs, but those are sufficient for now. We'll figure
things out eventually. https://github.com/mozilla/sccache/issues/151

--HG--
extra : rebase_source : a2e7093697a5b720ab28f155560211d6c0a4347e
2017-07-14 09:46:38 +09:00
Tom Prince c639c8aedc Bug 1379785 - Stop calling abspath on symbol_archive paths. r=gps
Thunderbird is still using MOZ_PKG_PRETTYNAMES which has spaces in the package
name, which gets mangled by abspath.

MozReview-Commit-ID: 23ngx6gIESI

--HG--
extra : rebase_source : 9038f295e582bec5872898a5e8f052bfacf8f85a
2017-07-10 15:25:04 -06:00
Chris Manchester 54be0bcae3 Bug 1371871 - Run the artifact tier during a tup artifact build. r=mshal
MozReview-Commit-ID: BIKtzjfu2SF

--HG--
extra : rebase_source : ac53d184a28a7364955cb47f6ecf0d29113801ce
2017-06-21 16:20:18 -07:00
Chris Manchester bdaf34a711 Bug 1307301 - Don't attempt to compress compressed files when packing the symbols archive. r=ted
MozReview-Commit-ID: 542dZflb00G

--HG--
extra : rebase_source : 6b942e687517a3053b349a20475de7cff956327a
2017-04-27 22:51:19 -07:00
Chris Manchester b9fb4033d1 Bug 1307301 - Pack symbols with a python helper and mozjar instead of zip. r=ted
MozReview-Commit-ID: SKwzZ7l8CS

--HG--
extra : rebase_source : 9e5765df89a966edfbe054b4f555ef347a3fd7e3
2017-04-27 20:37:11 -07:00
Ted Mielczarek f0e7f41c03 bug 1355961 - add some sccache stats to build_metrics. r=gps
This commit makes sccache dump JSON stats at the end of the build, and then
reads them in `BuildScript.generate_build_stats` and adds them to the
build_metrics we submit to Perfherder. The stats dumping is done in
Makefile.in where we currently dump verbose sccache stats because sccache
doesn't persist stats to disk right now and it will also shut down its server
process after 5 minutes, so when the post-build automation steps take more
than 5 minutes the server shuts down and the stats are lost.

Currently it's collecting:
* Cache hit rate
* Cache write errors
* Non-cacheable requests (compiler invocations that sccache can't cache)

We can always grow this list later.

MozReview-Commit-ID: J9CwU7XB05I

--HG--
extra : rebase_source : 084b09c3b0621330ac331a99b1bca9a15cf833b7
2017-04-12 15:06:22 -04:00
Chris Manchester 5c47bb8d2e Bug 1337986 - Dump symbols during the compile tier. r=ted
This commit moves symbol dumping to the compile tier, to be run via "syms"
targets. Tracking files are used for the sake of incremental builds, because
dump_syms may genearate multiple outputs whose paths are not known ahead of
time.

Minimal changes to symbolstore.py are made here. More extensive
simplifications will be made in a future commit on the basis of symbolstore.py
handling one file at a time.

MozReview-Commit-ID: 3mOP8A6Y7iM

--HG--
extra : rebase_source : bfe97afcdfc05b9e79f01577701c83e8b00eb4e9
2017-02-10 08:34:08 -08:00
Chris Manchester 8bf267a9f6 Bug 1314713 - Stop generating *symbols.txt files as part of dumping/packaging build symbols. r=ted
MozReview-Commit-ID: HPKIqgZK0Kj

--HG--
extra : rebase_source : 621afc1b1f60f79aeaaa37db41cb602cdc527848
2017-03-24 10:41:04 -07:00
Mike Shal ad087668b7 Bug 1339182 - Remove OSX universal support in the build system; r=glandium
This removes the UNIFY_DIST and UNIFIED_BUILD variables, as well as the
--unify flag from the packager and UnifiedBuildFinder from mozpack. As a
result the STAGEPATH variable is never defined anymore, so its uses can
be removed as well.

test_unify.py is currently the only mozbuild/mozpack test that fails
without running configure first, and there isn't much point in fixing
tests for things that we don't actually use anymore.

MozReview-Commit-ID: F5q1FPW3Did

--HG--
extra : rebase_source : cadbd237f51c23ea1983135294521d628d16f0df
2017-02-10 16:52:17 -05:00
Andrew Halberstadt ea89582f61 Bug 1320194 - Generate all-tests.pkl and related files when resolving tests r=mshal
This replaces the 'run-tests-deps' make target with a python function that will directly
read moz.build files, emit them with TestManifestEmitter, then consume them with
TestManifestBackend. Because the TestResolver is the only place that actually reads the
test metadata files, we can remove this logic from the CommonBackend as well.

MozReview-Commit-ID: DXgMoeH5dKf



MozReview-Commit-ID: HstZ57qkqf2

--HG--
extra : rebase_source : f377fa6863ef66d3adb86ed64f844e346686862f
2017-02-01 09:56:09 -05:00
Mike Shal 86c94c9187 Bug 1329355 - Remove MOZ_AUTOMATION_PRETTY*; r=ted
These automation steps are no longer relevant, since the last use of
MOZ_AUTOMATION_PRETTY was removed along with non-unified builds in bug
1121000.

MozReview-Commit-ID: 11VDu8pIs1p

--HG--
extra : rebase_source : a82b52400b73224e06e124dd10d6646d4b21a7fc
2017-01-10 11:07:13 -05:00
Chris Manchester 6a74c9ea61 Bug 1330421 - Update artifact code to populate generated test support files from the tests archive. r=gps
This updates the client artifact code to locate test support files in the
common test archive and populate the objdir with these files appropriately.

MozReview-Commit-ID: GuXjwUtsl

--HG--
extra : rebase_source : 3560efee22533f60be1e7394fa0841005991cca6
2017-01-12 15:30:51 -08:00
Sebastian Hengst 1be8d847a7 Backed out changeset 89e2853bf0e8 (bug 1330421) 2017-01-30 20:25:32 +01:00
Chris Manchester 752fd5e1ef Bug 1330421 - Update artifact code to populate generated test support files from the tests archive. r=gps
This updates the client artifact code to locate test support files in the
common test archive and populate the objdir with these files appropriately.

MozReview-Commit-ID: GuXjwUtsl

--HG--
extra : rebase_source : 3560efee22533f60be1e7394fa0841005991cca6
2017-01-12 15:30:51 -08:00
Mike Shal 1c12a11072 Bug 1331663 - Allow build backend generation to be invoked without config.status; r=gps
In bug 1320194 we want to generate a TestManifest backend without first
invoking configure. However, we still need a way to update the backend,
which is normally handled by the top-level Makefile. We can split this
logic out into a separate file, rebuild-backend.mk, which can be invoked
directly as long as the appropriate environment variables are set
(BUILD_BACKEND_FILES, BACKEND_GENERATION_SCRIPT, and PYTHON).

--HG--
extra : rebase_source : b6a486db3e3c97b406b11074fda052bd63fe1b8f
2017-01-25 19:09:13 -05:00
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
Mike Hommey a62cdc4fa7 Bug 1043344 - Move libraries and programs build to the compile tier. r=gps 2014-07-25 07:14:40 +09:00
Mike Shal 7099264c72 Bug 978211 - various asan/mar/pretty/mach fixes; r=glandium
- Linux ASAN nightly builds do not do update packaging
 - Only set mar properties if the mar file was actually created
 - Unset MOZ_SIGN_CMD for pretty-* steps
2014-07-03 22:14:59 -04:00
Mike Shal 4dd3387350 Bug 978211 - Windows configs; r=glandium 2014-07-03 19:28:43 -04:00
Mike Hommey c52d31562a Bug 1035543 - Remove the MOZ_PSEUDO_DERECURSE variable. r=gps 2014-07-10 14:11:52 +09:00
Mike Shal d7fca1e6f9 Bug 978211 - add 'pretty' targets for automation; r=glandium 2014-07-02 23:15:10 -04:00
Wes Kocher d73c4453a2 Backed out changeset a95aada9a565 (bug 978211) under suspicion of breaking xpcshell tests on a CLOSED TREE 2014-07-07 15:38:51 -07:00
Mike Shal 481f2ae7f8 Bug 978211 - add 'pretty' targets for automation; r=glandium 2014-07-02 23:15:10 -04:00
Carsten "Tomcat" Book 8e86bf906b Merge mozilla-central to mozilla-inbound 2014-06-26 15:51:31 +02:00
Mike Hommey 5961cd2c11 Bug 1030598 - Fix make export race condition after bug 1028563. r=gps 2014-06-26 15:26:16 +09:00
Wes Kocher b683b68251 Backed out 2 changesets (bug 1027890) for B2G Windows Build bustage on a CLOSED TREE
Backed out changeset bcd694f0e95d (bug 1027890)
Backed out changeset 49cadfcde709 (bug 1027890)
2014-06-24 18:33:46 -07:00
Mike Hommey 195a1f903a Bug 1027890 - Remove all sorts of build system code dedicated to pymake. r=gps 2014-06-25 08:38:28 +09:00
Mike Shal 0bfb7d3b01 Bug 978211 - add an automation/build target for post-build steps; r=glandium 2014-05-16 14:37:31 -04:00
Ms2ger 9f8242b9b4 Bug 1020165 - Remove empty makefiles; r=mshal 2014-06-06 10:06:24 +02:00
Mike Hommey b161fa67a5 Bug 1027890 - Remove all sorts of build system code dedicated to pymake. r=gps 2014-06-25 08:38:28 +09:00
Mike Hommey d5fc3d2867 Bug 986301 - Fix --with-libxul-sdk after bug 969164. r=gps 2014-03-21 11:52:25 +09:00
Mike Hommey 9dfe3dbc7b Bug 969164 - Replace most BUILDING_JS uses with JS_STANDALONE. r=gps
Before making top-level traverse js/src moz.build files, there was a need to
distinguish between top-level traversing e.g. top-level moz.build or
config/moz.build and js/src traversing them. With a single traversal of both
moz.build sets, we now only need to distinguish between js standalone builds
and gecko builds.

There is still, however, a need to distinguish between top-level vs. js/src
configure runs on gecko builds to make them subconfigure icu and libffi from
top-level instead of js/src in js standalone builds, or when choosing to make
js/src's config.status do something when run or not.
2014-02-11 10:37:47 +09:00
Mike Hommey 69e70086e0 Bug 969164 - Traverse js/src moz.builds from top-level configure. r=gps
Before, we would run configure in both top-level and js/src, and both
configures would traverse their own set of moz.builds, without actual
knowledge about the other. With this change, both configures still run,
but only top-level traverses moz.build files, and uses js/src's
config.status when traversing its moz.build files. This allows a better
sharing of information between both build systems and the removal of many
hacks.

This also moves running libffi and icu configure to top-level.

Standalone js builds still have their own configure doing moz.build traversal,
as before.

--HG--
rename : config/autoconf.mk.in => config/autoconf-js.mk.in
rename : config/emptyvars.mk.in => config/emptyvars-js.mk.in
2014-02-11 10:37:47 +09:00
Mike Hommey 71a7b66679 Bug 950298 - Make the js build system use top-level as its root objdir. r=gps 2014-01-14 07:38:40 +09:00
L. David Baron 2b3c1e040b Bug 388971: Enable the 'make check' test checking for bad relocations. r=bsmedberg 2013-12-03 12:51:08 -08:00
Mike Hommey 881a7c1554 Bug 943728 - Replace double quotes with single quotes in Makefiles (or remove them when it makes sense). r=mshal 2013-12-03 06:34:21 +09:00
Ted Mielczarek b1b4271ebe Bug 941120 - Stop running make check twice in js/src. r=gps 2013-11-20 15:14:31 -05:00
Carsten "Tomcat" Book debadf6309 merge fx-team to mozilla-central 2013-11-07 14:24:24 +01:00
Mike Hommey f932a1fe70 Bug 862770 - Fix --disable-compile-environment a little. r=gps
--HG--
rename : config/makefiles/target_libs.mk => config/makefiles/target_binaries.mk
rename : js/src/config/makefiles/target_libs.mk => js/src/config/makefiles/target_binaries.mk
2013-11-07 10:37:45 +09:00
Mike Hommey 9c6d59da57 Bug 934332 - Don't install tests under js/src in --with-libxul-sdk builds. r=gps 2013-11-07 10:37:45 +09:00
Matt Brubeck a0bd27f087 Bug 934713 - Explicitly use $(PYTHON) to run config.status [r=gps]
This fixes a mysterious bug where config.status has the wrong sys.path when
this recipe is built using GNU Make on Windows.
2013-11-06 13:16:44 -08:00
Mike Hommey 5a237ede03 Bug 934344 - Fix race condition in parallel export, between js/xpconnect/src and xpcom/idl-parser. r=mshal 2013-11-05 07:39:28 +09:00
Gregory Szorc 4c8f0feb82 Bug 877308 - Change when build backend update check it performed; r=glandium
Before, we checked if config.status was stale in any entrant Makefile
(top level or child directory). This had undesirable side-effects for
partial tree builds, notably that if the build backend was out of date,
the current Makefile was invalidated.

With this patch, we only regenerate the build config automatically in
full/toplevel builds. If an outdated build config is detected on partial
tree builds, we error. The impact of this is mitigated by having mach
build automatically ensure the build config is current.

--HG--
extra : rebase_source : a3a2c1d2bf68d1c0727352ebd9bfb785654e45bf
2013-10-29 14:53:52 -07:00
Mike Hommey 2eefafb740 Bug 930896 - Keep track of files generated by a build backend. r=gps 2013-10-29 08:00:30 +09:00
Mike Hommey a0a21e4262 Bug 926906 - Drop support for GNU make < 3.81. r=gps 2013-10-17 07:55:14 +09:00
Mike Hommey 2fa8e3c610 Bug 925993 - Ensure clang-plugin is built before everything else; r=gps 2013-10-12 08:29:46 +09:00
Mike Hommey fe52c2ade4 Bug 921307 - Aggregate dependencies in subdirectories that are still recursed with pseudo derecurse. r=gps 2013-10-03 05:51:19 +09:00
Mike Hommey 190b98c019 Bug 905973 part 3 - Add a "binaries" tier that optimizes for recompilation times. r=gps 2013-10-02 08:53:23 +09:00
Mike Hommey d12986c1ca Bug 921770 - Avoid doing things with js/src from top-level when building --with-libxul-sdk. r=gps 2013-10-01 08:25:38 +09:00
Gregory Szorc d03c8a0359 Bug 921070 - Remove precompile tier; r=glandium
It made sense at the time. We now have inverted tiers and will soon have
derecursified building. This doesn't make sense any more.
2013-09-26 16:05:10 -07:00
Gregory Szorc cce25ec859 Bug 901990 - Part 3: Don't purge _tests during PGO builds; r=glandium
CLOSED TREE
2013-09-24 15:05:43 -07:00
Mike Hommey 5e60e741d9 Bug 915648 - Parallelize make export. r=gps 2013-09-20 13:30:17 +09:00
Mike Hommey bbe7163df0 Bug 907365 - Pseudo-derecursify the build (opt-in). r=gps
Also remove the compile tier added in bug 912856 when pseudo-derecursify is disabled.
2013-09-20 10:44:11 +09:00
Gregory Szorc 6c15858170 Bug 911375 - Part 2: Convert uses of PurgeManifest to InstallManifest; r=glandium 2013-09-16 17:49:44 -07:00
Mike Hommey 265e821783 Bug 912856 - Add a compile 'tier' to build OBJS and HOST_OBJS. r=gps 2013-09-06 09:19:32 +09:00
Mike Hommey 61416bf7d3 Bug 912832 - Inverse tiers and subtiers for build traversal. r=gps 2013-09-06 09:17:59 +09:00
Mike Hommey af0d7db986 Bug 912795 - make export doesn't handle install/purge manifests. r=gps
At the same time, fix a few things in the top-level Makefile.in.
2013-09-05 15:07:57 +09:00
Mike Hommey f8bc7fa754 Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps 2013-09-05 09:01:46 +09:00
Mike Hommey 09b7788e66 Bug 911634 - Create a .mozconfig.mk in the objdir when starting a build, and include it from config.mk. r=gps 2013-09-05 09:01:44 +09:00
Gregory Szorc ea490cb122 Bug 896797 - Part 3: Use install manifests for managing dist/include; r=glandium 2013-09-03 22:51:58 -07:00
Phil Ringnalda d0f16d5486 Back out ce03cc2994aa:ae9f95fc1136 (bug 896797) for SpiderMonkey shell build bustage
CLOSED TREE
2013-09-03 23:21:30 -07:00
Gregory Szorc 2b5f3df5d4 Bug 896797 - Part 3: Use install manifests for managing dist/include; r=glandium 2013-09-03 22:51:58 -07:00
Mike Hommey f0d1c7b4a5 Bug 909076 - Remove useless rules for make export at the top-level directory. r=gps 2013-08-27 11:17:23 +09:00
Gregory Szorc 8a761b0d06 Bug 896797 - Part 1: Ensure js/src moz.build is up to date before building; r=glandium 2013-08-22 16:30:11 -07:00
Ms2ger af2c13c793 Bug 906412 - Cleanup some random parts of the build system; r=mshal 2013-08-22 08:55:59 +02:00
Gregory Szorc 962efc1ea1 Bug 906101 - Move tier make logic into own .mk file and don't use from rules.mk; r=glandium
The existing tier traversal logic is only used in the top-level Makefile
but was present in rules.mk. This meant it was getting evaluated for
every Makefile. This was silly and thus the logic has mostly been moved into
its own .mk file and is only included for the root Makefile.
2013-08-20 13:03:39 -07:00
Gregory Szorc 61a66aa0f0 Bug 905879 - More robust tier tracking; r=glandium 2013-08-20 00:06:32 -07:00
Ed Morley a4ae239c93 Bug 901898 - Remove codesighs now that it's no longer run in automation; r=gps 2013-08-12 13:10:41 +01:00
Gregory Szorc 329e5f905d Bug 891474 - Establish unified directory for Python build actions; r=glandium, ted
--HG--
rename : config/purge_directories.py => python/mozbuild/mozbuild/action/purge_manifests.py
rename : build/xpccheck.py => python/mozbuild/mozbuild/action/xpccheck.py
extra : rebase_source : 46bc960aa62c1117a7bf215653b768dc78b48d9a
2013-07-11 13:42:26 -07:00
Gregory Szorc 26b6273c6d Bug 884587 - Part 1: Perform file removal with purge manifests; r=glandium
--HG--
extra : rebase_source : bfe9c0eb27d5b19e26e557af8762bb45c21b949e
2013-06-25 11:04:03 -07:00
Ehsan Akhgari 86c57d04d0 Backed out 2 changesets (bug 884587) because of Windows build bustage on a CLOSED TREE
Backed out changeset 0244a34bc419 (bug 884587)
Backed out changeset 796961a384b4 (bug 884587)
2013-06-25 16:38:55 -04:00
Gregory Szorc b39bae5dc8 Bug 884587 - Part 1: Perform file removal with purge manifests; r=glandium 2013-06-25 11:04:03 -07:00
Ryan VanderMeulen 66ccaf8f81 Backed out 2 changesets (bug 884587)
Backed out changeset 447ff64adbb1 (bug 884587)
Backed out changeset 8d90527c22c6 (bug 884587)
2013-06-25 15:22:37 -04:00
Gregory Szorc 184599b8bf Bug 884587 - Part 1: Perform file removal with purge manifests; r=glandium 2013-06-25 11:04:03 -07:00
Gregory Szorc d68186dcef Bug 874078 - Move RecursiveMakeBackend.built rule to rules.mk; r=glandium 2013-05-20 23:26:20 -07:00
Gregory Szorc 3d9c02c05e Bug 873809 - Proper dependencies under pymake; r=khuey
--HG--
extra : rebase_source : dddc589c1052470312644b7f5f4e41e566e824e6
2013-05-19 13:19:00 -07:00
Gregory Szorc 2ef5ff2f09 Bug 848530 - Check for moz.build traversal at top of build; r=glandium
One of the first actions an invoked Makefile now does is check to see if
*any* moz.build file or Makefile.in is out of date. If so, config.status
is executed to rebuild the build backend.

Since we always perform this check as part of a build, we no longer need
special handling for out of date moz.build files during traversals. This
results in the removal of a significant amount of code!

Another upside of the change is that if a moz.build file is modified
during building, we don't (potentially) modify the build backend from
under the in-progress build. Thus the only race condition that remains
is if a moz.build is mutated during moz.build reading. This window (a
few seconds) is significantly shorter than the time of a full build
(minutes).

This patch should also enable us to remove empty Makefile.in files
without requiring a clobber.
2013-05-17 10:54:56 -07:00
Gregory Szorc c0e82f1e41 Bug 860957 - Support for invoking non-recursive targets during partial tree builds; r=glandium 2013-05-17 10:54:53 -07:00
Mike Hommey 23f8401b3a Bug 861178 - Don't purge dist/ data during the MOZ_PROFILE_USE pass of a PGO build. r=ted 2013-04-12 16:03:06 +02:00
Mike Hommey b4867af0b3 Bug 860371 - Remove dist/bin when starting a build. r=gps 2013-04-11 09:33:48 +02:00
Mike Hommey 86990b89fa Backout changeset 859361dea2f0 (bug 860371) for windows PGO regressions 2013-04-12 16:06:56 +02:00
Mike Hommey 6bb70049b5 Bug 860371 - Remove dist/bin when starting a build. r=gps 2013-04-11 09:33:48 +02:00
Gregory Szorc d93f593627 Bug 837323 - Automatically clobber when CLOBBER is updated; r=ted, glandium 2013-03-29 10:34:58 -07:00
Ryan VanderMeulen ef526e586a Backed out changesets 206bb159d62f, a6ab3e11f721, and a61aa08ab4ac (bug 837323) for frequent Windows fatal clobber errors on a CLOSED TREE. 2013-04-08 09:59:45 -04:00
Gregory Szorc 3e2b83c475 Bug 837323 - Automatically clobber when CLOBBER is updated; r=ted 2013-03-29 10:34:58 -07:00
Gregory Szorc 3211cb743c Bug 847369 - Hook up js/src to check make target; r=glandium
This is a regression from bug 784841.
2013-03-04 11:11:55 -08:00
Gregory Szorc c3f2ed9adf Bug 784841 - Part 18e: Convert /build, /config, and core build system; r=ted 2013-02-25 12:47:18 -08:00
Ms2ger 4951adbb99 Merge mozilla-central into build-system 2013-01-03 10:46:16 +01:00
Gregory Szorc 28aed6452e Bug 818646 - Add mozbuild Python tests to |make check|; r=ted 2012-12-21 12:43:46 -08:00
Mike Hommey cfcd4c91a8 Bug 822584 - Run elfhack on packaged binaries instead of built binaries. r=ted 2013-01-02 10:17:32 +01:00
Mike Hommey c51f5d814d Bug 804303 part 1 - Cleanup how the mozjemalloc/jemalloc3 glue is set up, attempting to make it clearer. r=jlebar,r=khuey
--HG--
rename : memory/build/extraMallocFuncs.c => memory/build/jemalloc_config.c
rename : memory/mozjemalloc/jemalloc.h => memory/build/mozmemory.h
rename : memory/build/extraMallocFuncs.c => memory/build/mozmemory_wrap.c
2012-12-07 09:32:24 +01:00
Jim Blandy 96292fe7f4 Bug 775789: Install .gdbinit correctly in $(DIST)/bin. r=glandium
--HG--
rename : .gdbinit => build/.gdbinit
2012-12-01 21:25:16 -08:00
Jan Beich 90b1515739 Bug 788955 - Without --enable-jemalloc detect and use jemalloc3 in libc. r=glandium 2012-10-17 16:36:49 +02:00
Mike Hommey e3cd9c3213 Bug 780462 - Actually remove dist/bin/chrome.manifest when starting a new build, and also remove dist/bin/components/components.manifest. r=khuey 2012-10-15 09:37:14 +02:00
Ted Mielczarek c90124df24 bug 787459 - Dump symbols from test programs, but don't package them. r=glandium
--HG--
extra : rebase_source : 78b10be59356e4abc115ea8a370c9355dfd9e3d5
2012-08-31 15:52:43 -04:00
Mike Hommey e149104528 Bug 785871 - Make config.status importable. r=gps 2012-08-29 08:55:58 +02:00
George Wright 2c43844d19 Bug 740194 - [Skia] Implement a version of SkMemory for Mozilla that uses the infallible mozalloc allocators r=cjones 2012-08-15 23:51:34 -04:00
George Wright 3966995e74 Backed out changeset c2475674e105 2012-08-15 17:26:45 -04:00
George Wright 638da0ba63 Bug 740194 - [Skia] Implement a version of SkMemory for Mozilla that uses the infallible mozalloc allocators r=cjones
--HG--
extra : rebase_source : 6dc39ae06b4cb38cd8e85e41c01077f815b8f8c8
2012-08-15 16:59:07 -04:00