Commit Graph

741 Commits

Author SHA1 Message Date
Mike Hommey
e8b6f15845 Bug 1529194 - Allow to opt-in to widevine on aarch64 Windows. r=firefox-build-system-reviewers,chmanchester
This uses artifacts from a win32 build to get the necessary DLLs.

Differential Revision: https://phabricator.services.mozilla.com/D20597

--HG--
extra : moz-landing-system : lando
2019-03-05 08:41:04 +00:00
Mike Hommey
fa7300a70b Bug 1531680 - Don't disable LTO on standalone profile-generate builds. r=chmanchester
On one-go MOZ_PGO builds, it's generally not wanted to do LTO during the
profile-generate phase. And the build system doesn't really support
different build options between both phases in this case, so we relied
on MOZ_PROFILE_GENERATE to disable the LTO flags.

However, in standalone profile-generate builds, if --enable-lto is
passed explicitly, the build should respect that choice.

So instead of checking MOZ_PROFILE_GENERATE to disable the LTO flags,
we disable them when MOZ_LTO is not set, and we force it to be disabled
during the profile-generate phase of one-go MOZ_PGO builds.

Differential Revision: https://phabricator.services.mozilla.com/D21659

--HG--
extra : moz-landing-system : lando
2019-03-05 22:09:46 +00:00
Mike Hommey
d3af9d50b9 Bug 1529195 - Allow to opt-in to symbols/host-bin artifacts from the CLI. r=chmanchester
and to opt-out of test artifacts.

Depends on D20445

Differential Revision: https://phabricator.services.mozilla.com/D20446

--HG--
extra : moz-landing-system : lando
2019-02-21 22:53:43 +00:00
Mike Hommey
ef3ad686ee Bug 1512504 - Remove support for MSVC. r=froydnj
Consequently, this removes:
- MOZ_LIBPRIO, which is now always enabled.
- non_msvc_compiler, which is now always true.
- The cl.py wrapper, since it's not used anymore.
- CL_INCLUDES_PREFIX, which was only used for the cl.py wrapper.
- NONASCII, which was only there to ensure CL_INCLUDES_PREFIX still
  worked in non-ASCII cases.

This however keeps a large part of detecting and configuring for MSVC,
because we still do need it for at least headers, libraries, and midl.

Depends on D19614

Differential Revision: https://phabricator.services.mozilla.com/D19615

--HG--
extra : moz-landing-system : lando
2019-02-14 21:45:27 +00:00
Mike Shal
49fc6484f8 Bug 1507334 - Remove '10' argument to profileserver.py; r=firefox-build-system-reviewers,chmanchester#firefox-build-system-reviewers
Support for running profileserver.py multiple times was originally added
in bug 663251 and subsequently removed in bug 672563. Since then we've
been copying around the argument to profileserver.py from mozconfigs in
buildbot-configs, to mozconfigs in mozilla-central, to client.mk, and
ultimately to Makefile.in. It no longer does anything and can be
removed.

Differential Revision: https://phabricator.services.mozilla.com/D15748

--HG--
extra : moz-landing-system : lando
2019-01-10 01:34:39 +00:00
Mike Hommey
e489736f60 Bug 1518703 - Remove R_386_PC32 check. r=froydnj,ted
The test is actually redundant with the TEXTREL check in
check_binary.py (R_386_PC32 relocations will only happen as text
relocations)

Differential Revision: https://phabricator.services.mozilla.com/D16002

--HG--
extra : moz-landing-system : lando
2019-01-10 00:07:53 +00:00
Chris Manchester
b101c5a8f3 Bug 1517532 - Extend artifact builds to find and download artifacts from pgo builds when MOZ_PGO is set. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D15988

--HG--
extra : moz-landing-system : lando
2019-01-08 23:03:27 +00:00
Chris Manchester
25e14c4f13 Bug 1507338 - Add a configure option for MOZ_PROFILE_GENERATE. r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D12999

--HG--
extra : moz-landing-system : lando
2019-01-03 16:16:38 +00:00
Chris Manchester
d69003537d Bug 1498031 - Merge code paths for running configure between Tup and Make based backends. r=firefox-build-system-reviewers,mshal
This addresses a related issue along the way: a build that results in running
configure would not update the value of self.config_environment (and therefore
self.substs) as seen from the build driver, so out of date values would have
been used.

The changes to Makefile.in and client.mk made exploit the assumption that by
he time anything in the Make build is running, config.status is up to date.
Users running "make" without the benefit of "mach" will need to manually run
configure when necessary in order to take this into account.

Differential Revision: https://phabricator.services.mozilla.com/D8473

--HG--
extra : moz-landing-system : lando
2018-10-16 22:21:36 +00:00
Ted Mielczarek
e11506c714 bug 1490325 - write sccache log directly to artifact directory, make logs slightly more verbose. r=mshal
This patch makes it so we write the sccache log directly to the artifact
directory, so that it will be uploaded even if the build fails. It also makes
the log slightly more verbose. Both of these should help with diagnosing
sccache failures in CI.

The sccache log will no longer be explicitly gzip compressed, but some
Taskcluster client implementations will store it as gzip compressed.

Differential Revision: https://phabricator.services.mozilla.com/D6187

--HG--
extra : moz-landing-system : lando
2018-09-18 20:02:17 +00:00
Gabriele Svelto
b48b3e4db0 Bug 1473821 - The MOZ_PGO_INSTRUMENTED environment variable is not used anymore so remove all remaining mentions of it r=gps
Differential Revision: https://phabricator.services.mozilla.com/D3219

--HG--
extra : moz-landing-system : lando
2018-08-17 16:40:10 +00:00
Mike Hommey
f50e1c662a Bug 1483779 - Enable PGO on clang-cl 32-bits builds. r=dmajor
--HG--
extra : source : 5fcbe08fb321a5076f56c380b554c63068efbb00
2018-08-16 16:44:36 +09:00
arthur.iakab
07aa46fd13 Backed out 2 changesets (bug 1479800, bug 1483779)for frequent cgx and arm64 failures
Backed out changeset 5fcbe08fb321 (bug 1483779)
Backed out changeset dccd5299c5ad (bug 1479800)
2018-08-17 09:50:30 +03:00
Mike Hommey
152366b300 Bug 1483779 - Enable PGO on clang-cl 32-bits builds. r=dmajor 2018-08-17 10:19:52 +09:00
Mike Hommey
6d4eb0a92e Bug 1464170 - Support PGO in clang builds on Linux. r=dmajor
This uses the same code path as for clang-cl builds.
2018-08-10 05:54:11 +09:00
David Major
45083c4934 Bug 1341525: Enable PGO in 64-bit clang-cl builds. r=froydnj 2018-08-01 17:59:23 -04:00
Andreea Pavel
11f1c09ffe Backed out changeset 7a3882f27aa3 (bug 1341525) for failing win Sa builds on a CLOSED TREE
--HG--
extra : amend_source : dbf7c208749c67b6bb8674eb5ba55c6514f89a2d
2018-08-02 02:26:13 +03:00
David Major
ebe3264f11 Bug 1341525: Enable PGO in 64-bit clang-cl builds. r=froydnj 2018-08-01 17:59:23 -04:00
Andreea Pavel
250fd9a027 Backed out changeset 2011dae40293 (bug 1341525) for failing win Sa builds 2018-08-02 01:33:30 +03:00
David Major
622dccd28f Bug 1341525: Enable PGO in 64-bit clang-cl builds. r=froydnj
--HG--
extra : rebase_source : 06038cb081f7b2b2789a8b867b03340bf103b05e
2018-08-01 17:59:23 -04:00
Chris AtLee
38cced543a Bug 1466537: Disable full crashsymbols by branch r=ted
Differential Revision: https://phabricator.services.mozilla.com/D1558

--HG--
extra : moz-landing-system : lando
2018-07-30 20:23:14 +00:00
Aaron Klotz
9e27dd8849 Bug 1473423: Allow test symbols to be included in full symbol archive in try builds; r=ted
This patch moves the logic for include/exclude/compress from the makefile into
symbols_archive.py, and adds an additional check to the full-archive case to
allow the inclusion of test symbols in try builds.

--HG--
extra : amend_source : 306419aae90a1935ced49fec89112df05142501c
2018-07-11 17:38:37 -06:00
Nathan Froyd
5c5a455e97 Bug 1444171 - use the order file during re-link with clang-cl; r=glandium
Now that we've generated an order file of the first N functions invoked
during startup, let's tell the linker about said functions so it can
cluster them appropriately.
2018-07-09 18:36:14 -04:00
Nathan Froyd
e8a82fdba9 Bug 1444171: Perform an actual clobber for profiledbuild with clang-cl; r=gps
clang-cl-style PGO is more akin to what we have for GCC rather than
MSVC, so we should do a full clobber for maybe_clobber_profiledbuild.
2018-07-09 18:26:09 -04:00
Chris Manchester
843faaf73a Bug 1470552 - Update Makefile.in to refer to stub file target for buildid.h and source-repo.h generated in backend.mk r=froydnj
MozReview-Commit-ID: CxLkQjX8veW

--HG--
extra : rebase_source : 6db24d50fbb73a7a7ac2e0e771bc0fb9c73a443d
2018-06-22 15:10:39 -07:00
Ciure Andrei
3b1168a508 Backed out 1 changesets (bug 1470552) for build bustages mozbuild/test/backend/test_build.py CLOSED TREE
Backed out changeset 567df8598cdb (bug 1470552)
2018-06-23 00:16:35 +03:00
Chris Manchester
cc743e536a Bug 1470552 - Update Makefile.in to refer to stub file target for buildid.h and source-repo.h generated in backend.mk r=froydnj
MozReview-Commit-ID: JLgCA23U8zg

--HG--
extra : rebase_source : e0365b3b03d40de785838d8ca44148979b39f255
2018-06-22 13:29:00 -07:00
Chris Manchester
636b4fc4c0 Bug 1461836 - Write out complete configure dependencies from configure for consumption by make and non-make backends. r=mshal
MozReview-Commit-ID: 792seCZ2rs1

--HG--
extra : rebase_source : e6450cd2947e2fd55085a2af469535421bc07bfb
2018-05-21 14:01:50 -07:00
Nathan Froyd
5873523189 Bug 1461383 - fix test_build.py for local builds; r=chmanchester,f=mshal
test_build.py fails on local builds with messages like:

make[4]: Entering directory '/tmp/tmp65BjCH'
make[4]: *** No rule to make target 'buildid.h'.  Stop.
make[4]: Leaving directory '/tmp/tmp65BjCH'
/home/froydnj/src/gecko-dev.git/config/faster/rules.mk:76: recipe for target '/tmp/tmp65BjCH/buildid.h' failed
make[3]: *** [/tmp/tmp65BjCH/buildid.h] Error 2
make[3]: *** Waiting for unfinished jobs....
make[4]: Entering directory '/tmp/tmp65BjCH'
make[4]: *** No rule to make target 'source-repo.h'.  Stop.
make[4]: Leaving directory '/tmp/tmp65BjCH'
/home/froydnj/src/gecko-dev.git/config/faster/rules.mk:76: recipe for target '/tmp/tmp65BjCH/source-repo.h' failed
make[3]: *** [/tmp/tmp65BjCH/source-repo.h] Error 2
make[3]: Leaving directory '/tmp/tmp65BjCH/faster'
Makefile:155: recipe for target 'faster' failed

The tests pass in automation, however, because automation always defines
the rules for buildid.h and source-repo.h in the toplevel Makefile.in.
For local builds, however, those rules are not defined to avoid build
churn.  Let's ensure that the necessary rules are defined during testing
as well.
2018-05-15 10:05:23 -04:00
Nathan Froyd
33635829ac Bug 1459721 - part 7 - remove dist_idl install manifest; r=chmanchester
We no longer need to install the IDL files to the objdir for
processing. \o/
2018-05-15 10:05:23 -04:00
Chris Manchester
efa96c69f0 Bug 1454771 - Move tup invocation from Makefile.in to mach. r=mshal
MozReview-Commit-ID: HkhK4oe93Vm

--HG--
extra : rebase_source : cbfc0b05deae9ca5b871952bfb771320f7d51d9e
2018-04-25 14:50:18 -07:00
Chris Manchester
d5e62a783b Bug 1451530 - Pass the current topobjdir to our Tup invocation. r=mshal
MozReview-Commit-ID: D6UNvxwfGTa

--HG--
extra : rebase_source : b3bb9b559862a18ea058c15e2b668afea458752f
2018-04-04 15:13:13 -07:00
Mike Shal
e43c6624d2 Bug 1387098 - enable tup quiet mode; r=froydnj
Tup can have a lot of unnecessary log lines, particularly on a fresh
build when it is scanning directories for the first time. Turning on
--quiet when MOZ_AUTOMATION is set will help trim down the log size
significantly.

MozReview-Commit-ID: AaRppurkXsA

--HG--
extra : rebase_source : dca18a0e3657853eacfc6cdbb935998cadb339ce
2018-02-23 14:27:58 -05:00
Chris Manchester
fcf16fe1e7 Bug 1445398 - Do not re-generate buildid.h for every Tup build. r=mshal
MozReview-Commit-ID: ErkTDOU8lYH

--HG--
extra : rebase_source : 085b0cb43b625fbb2691aa6bc788b62549927a02
2018-03-22 16:03:12 -07:00
Chris Manchester
7f9cffd5ea Bug 1298328 - Fix dependency between buildid.h and libxul, do not re-generate buildid.h for every developer build. r=ted
For automation builds, force buildid.h to be regenerated, and always
#include buildid.h in nsAppRunner.cpp. This will eliminate the mismatch at the
cost of re-linking libxul on every build.

For developer builds, always #include buildid.h in nsAppRunner.cpp, but do not
force buildid.h to be re-generated for incremental builds. This means we will
never have a mismatch between platform and application buildids, although
subsequent builds are no longer guaranteed to have a new buildid.

MozReview-Commit-ID: 19hvu8AQXgN

--HG--
extra : rebase_source : 9f4fd063f89b9b2165d5889fdaa8f83104c4411c
2018-03-09 13:49:55 -08:00
Gurzau Raul
70976c79b0 Backed out changeset 2d981ccf4c2e (bug 1298328) for failing X tests on /experiments/test/xpcshell/test_conditions.js on a CLOSED TREE 2018-03-09 01:53:26 +02:00
Chris Manchester
506c15d221 Bug 1298328 - Fix dependency between buildid.h and libxul, do not re-generate buildid.h for every developer build. r=ted
For automation builds, force buildid.h to be regenerated, and always
#include buildid.h in nsAppRunner.cpp. This will eliminate the mismatch at the
cost of re-linking libxul on every build.

For developer builds, always #include buildid.h in nsAppRunner.cpp, but do not
force buildid.h to be re-generated for incremental builds. This means we will
never have a mismatch between platform and application buildids, although
subsequent builds are no longer guaranteed to have a new buildid.

MozReview-Commit-ID: 19hvu8AQXgN

--HG--
extra : rebase_source : 181b53c2cc47526bd632a0931ba6e65fc74179ef
2018-03-07 13:45:12 -08:00
Tom Prince
1d74db87ce Bug 1424651: Remove unused SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE mozconfig variable; r=ted.mielczarek
MozReview-Commit-ID: CkIg3fiwp1z

--HG--
extra : rebase_source : 5a4a50c8feb477a9b50c30e35b72a316b1f1bc8c
2017-12-10 23:05:05 -07:00
Dorel Luca
2f271a1136 Backed out 4 changesets (bug 1424651) as requested by tomprice r=backout on a CLOSED TREE
Backed out changeset 10ebf78f32bb (bug 1424651)
Backed out changeset 746d96792d18 (bug 1424651)
Backed out changeset 6038fb7b458c (bug 1424651)
Backed out changeset 189fd4f1df41 (bug 1424651)
2017-12-12 06:33:18 +02:00
Tom Prince
4dfc8f7a46 Bug 1424651: Remove unused SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE mozconfig variable; r=ted.mielczarek
MozReview-Commit-ID: CkIg3fiwp1z

--HG--
extra : rebase_source : 475e2d8888ff4b93efa9886581de9d145b51c51c
2017-12-10 23:05:05 -07:00
Gregory Szorc
7b5dac63f8 Bug 1412932 - Inline pgo-profile-run target; r=ted
It is a one-liner and doesn't need to exist in a separate make file.

MozReview-Commit-ID: 5w3eLWD0CuB

--HG--
extra : rebase_source : 15ebb63156f8b4e8d3288dfaf0d9ec2c328b5914
2017-11-07 15:06:45 -08:00
Gregory Szorc
9e26b9fde3 Bug 1412932 - Switch to PGO build in Makefile.in; r=ted
Previously, client.mk made the decision of whether to perform a PGO
build. This required passing around MOZ_PGO and invoking a separate
make target if this variable was set.

In this commit, we move this logic to Makefile.in. We employ a special
mechanism in rules.mk to override the default make target so
`make` evaluates "profiledbuild" if MOZ_PGO is set. This also
required using an explicit target for $(MAKE) invocations inside
the "profiledbuild" rule to avoid infinite recursion.

MozReview-Commit-ID: 8sHiVspMisM

--HG--
extra : rebase_source : 76c8a0c592015802f2b9ad52fe2001012a4611f6
extra : source : 24e28b37fbc0ad55ee449699e09c62042af41b55
2017-11-07 16:38:39 -08:00
Gregory Szorc
67864be6bd Bug 1412932 - Move PGO logic from client.mk into root Makefile.in; r=ted
client.mk is going away. This commit moves the PGO build target out of
it.

We move the code to Makefile.in. This likely isn't its final
home, as we'll want to eliminate Makefile.in at some point. However,
it is easier to move things to the root Makefile.in than other
alternatives. Keep in mind that the logic needs access to primitives
like BUILDSTATUS and variables from mk_add_options, which the
Makefile.in mechanism has easy access to.

MozReview-Commit-ID: 4C43lBhZz4l

--HG--
extra : rebase_source : 0ff1e95dcf8cb0082b019713db0cb7f47f0bccb8
extra : source : 0d2083b8edc43fc13c77f71199e0fcaddb32fcfb
2017-11-07 15:08:11 -08:00
Gregory Szorc
3221d82f84 Bug 1412356 - Update CLOBBER message to not recommend client.mk; r=chmanchester
client.mk hasn't been well-supported for years. Stop recommending it.

MozReview-Commit-ID: KWFhAQPIXWu

--HG--
extra : rebase_source : dafb307d82f1f0a3141d077102fd2fe21add65b4
2017-10-27 10:19:05 -07:00
Mike Hommey
9f2dd4775e Bug 1407468 - Replace multiple !JS_STANDALONE with MOZ_WIDGET_TOOLKIT. r=mshal
--HG--
extra : rebase_source : 4f9f9f583c3422ed0f8d1d65ea8e7575bd9baf2c
2017-10-05 14:50:01 +09:00
Mike Shal
5b41b430f9 Bug 1390916 - Always use --track instead of --no-remove for install manifests; r=gps
The --track flag provides a more accurate accounting of what files were
installed by the manifest, so they can be appropriately removed. For
example, test files are now removed from _tests if an entry in a test
file is deleted.

The --no-remove flag is removed as an alternative, and the --track flag
is now mandatory.

MozReview-Commit-ID: Wiup4Gzwkb

--HG--
extra : rebase_source : 4a44c7fe066ba9b5f1e37ec682464f7f4f6cb2cf
2017-08-08 17:07:07 -04:00
Mike Shal
642e6c18ad Bug 1390916 - Remove references to dist/sdk install manifest; r=gps
The SDK installation code was removed in bug 1333826.

MozReview-Commit-ID: 3h63nFSKOfi

--HG--
extra : rebase_source : 4a99f56e62c749e8991831f1a86cb4d98a58d31e
2017-08-09 15:35:15 -04:00
Mike Shal
83b4b8ddf1 Bug 1390916 - Make .PHONY rule match the actual make targets; r=gps
MozReview-Commit-ID: Gy4YrUtaB5H

--HG--
extra : rebase_source : baa1aa44becab40e1305105b4ab821043ceab9ae
2017-08-10 14:58:04 -04:00
Ted Mielczarek
8715819616 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 : d92fb17ae737d1360e9724997f6688e29bedef12
extra : source : 14d18d7cf454c4c3d0f6d49d1d01660e06e4be4b
2017-07-31 12:47:08 -04:00
Wes Kocher
749da2f3e6 Backed out 4 changesets (bug 1259832) for apparently scheduling nightlies on every push/platform a=backout
Backed out changeset 7781a37a4db0 (bug 1259832)
Backed out changeset 73bf88110b38 (bug 1259832)
Backed out changeset 14d18d7cf454 (bug 1259832)
Backed out changeset a02695cbf576 (bug 1259832)

MozReview-Commit-ID: 4Tf6jBcvKLq
2017-08-16 17:26:08 -07:00
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