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

43 Коммитов

Автор SHA1 Сообщение Дата
Mitchell Hentges d925c83f15 Bug 1683797: Don't use "build targets" to build rusttests r=sheehan,firefox-build-system-reviewers,glandium
When "build targets" are used, the sccache server isn't
being used/integrated properly with make.
By moving rusttests to a separate build "application",
`client.mk` is invoked normally, and sccache is happy.

* Move rusttests to a new build "application".
* Move and denormalize rusttests mozconfigs. The new rusttests
  mozconfigs should expand to be mostly identical to their old
  versions, except with `MOZ_AUTOMATION_*=0` and
  `--enable-application=tools/rusttests`.
  They will differ a bit from their old variants because some
  of them originally didn't source from their
  respective `$app_mozconfigs/common`.
* Modify `baseconfig.mk` to change tiers if running rusttests.
* Adjust CI config to use new "rusttests" build application.

Differential Revision: https://phabricator.services.mozilla.com/D106294
2021-03-09 14:45:25 +00:00
Mike Hommey c4e1894f04 Bug 1651287 - Add a pre-compile pseudo-tier. r=firefox-build-system-reviewers,rstewart
Generated files marked as "required during compile" are limited to a
number of extensions, most of which are source file types, so they get
generated when compiling the corresponding object file. Other types,
though, are currently handled via EXTRA_DEPS, which is clunky.

As of now, these other types are limited to link-related items, but more
would be useful (e.g. .inc files, which are only included in one
location).

This however works against the static analysis tasks (coverity and
clang-tidy), which currently rely on everything they need being created
via the export tier. That excludes using EXTRA_DEPS-based hacks.

We create a "pre-compile" tier, that is not used during a normal build,
but can be invoked manually, which the static analysis tasks will do.

Differential Revision: https://phabricator.services.mozilla.com/D83035
2020-07-11 22:18:25 +00:00
Mike Hommey df18e17e18 Bug 1651608 - Remove leftovers from bug 1557788. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D82866
2020-07-09 12:19:58 +00:00
Nick Alexander 6790ecb3a2 Bug 1550146 - Part 2: Make mach "build" run "stage-package && android assemble-app" for mobile/android. r=glandium
Android artifacts (GeckoView AARs, GeckoViewExample (and Fennec) APKs)
require native libraries (`libxul.so`) and an omnijar (`omni.ja`).
These are produced by `mach package` (really, the `stage-package`
target).  Engineers essentially never want a build without a package
for mobile/android.  This adds mobile/android-only tiers that run
`mach package` and then `mach android assemble-app`.  The latter
consumes `libxul.so` and `omni.ja` to produce _all the things_
relevant to GeckoView engineers.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 03:07:16 +00:00
Mike Hommey 6098f22649 Bug 1565706 - Allow to run `mach build rust` without setting MOZ_RUST_TIER. r=froydnj
At the same time, make things a little more tangible in the tiers setup
in baseconfig.mk.

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

--HG--
extra : moz-landing-system : lando
2019-07-15 23:50:31 +00:00
Mike Hommey c74d2769cd Bug 1560442 - Allow to build rust code in a separate tier. r=froydnj
When the `MOZ_RUST_TIER` environment variable is set, we enable a separate
tier that builds rust code only. This is useful to measure build times for
rust code separately from other compilations.

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

--HG--
extra : moz-landing-system : lando
2019-06-21 13:20:17 +00:00
Nick Alexander 5893476bdb Bug 1508976 - Produce a multi-architecture GeckoView "fat AAR". r=glandium
This follows the model set down for EME artifacts:

- a new tier is added that uses a new Python build action to fetch and
  artifacts
- the action unpacks the fetched artifacts and moves specific inputs
  into places expected by the build and packager
- in automation, MOZ_ARTIFACT_TASK* is used to ensure the artifacts
  come from the correct tasks

In this case, the artifact fetching is done entirely in a new Python
build action that internally uses `mach artifact install --job ...`.
The action also verifies that the fetched artifacts are compatible and
that we're not assembling a fat AAR that is nonsensical.  The specific
inputs are not used in the Fennec APK that is produced; they're only
used in the GeckoView AAR that is produced.

The artifact fetching itself required tweaking to fetch only
`target.maven.zip` artifacts and to not unpack them.

The specific inputs used are the native libraries (libs/$ARCH/*.so)
and the architecture-specific preference files ($ARCH/greprefs.js and
defaults/pref/$ARCH/geckoview-prefs.js).  None of these inputs are
impacted by l10n.

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

--HG--
extra : moz-landing-system : lando
2019-05-30 15:22:09 +00:00
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 bd1eb0ab94 Bug 445128 - Stop putting the version number in the target directory for make install. r=nalexander
Back when I filed this bug, $appname-$version was already useless, but
there actually were multiple supported versions (e.g. 3.5/3.6). So it
made sense to have e.g. firefox-3.5 and firefox-3.6, but not
firefox-3.5.12 and firefox-3.5.13.

Fast forward 10 years, and we change "major" versions every 6 to 8
weeks, have multiple chemspills every other week, and installing to
firefox-57.0, firefox-57.0.1, firefox-57.0.2, firefox-57.0.3 doesn't
make any kind of sense. Even firefox-56, firefox-57 is pretty much
useless.

There /kind/ of was some usefulness to the version in the SDK
directories, but those are gone.

I'm pretty sure no downstream is actually using versioned directories
anyways.

At this point, it seems better to just use the application name, without
the version. A case could be made about ESR, but that would be better
handled with a separate application name (e.g. firefox-esr).

--HG--
extra : rebase_source : 333e10ea1316714bf0008ec772b35093edfc45ff
2017-12-31 17:18:52 +09:00
Mike Hommey 3d82836a72 Bug 1427455 - Remove unused variables from baseconfig.mk. r=froydnj
Bug 1333826 removed their use.

--HG--
extra : rebase_source : 485de0d94f6f349b2c7ac0364b29ce9f5673e944
2017-12-31 10:36:46 +09:00
Mike Shal e86326d270 Bug 1338559 - Use the tier system to recurse for 'make check'; r=glandium
This helps us avoid recursing over every directory when we only need to
run 'make check' in a select few.

MozReview-Commit-ID: BJ3hJBOneIz

--HG--
extra : rebase_source : 2493f924b9ccba3c779e512d7a8b7a2c26f43797
2017-02-03 16:47:28 -05: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
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
Mike Hommey 2fcd7f7524 Bug 1235676 - Add a global ABS_DIST variable for a non-relative version of DIST, based on topobjdir. r=mshal
This replaces multiple local definitions of ABS_DIST.
2015-12-31 08:10:02 +09:00
Mike Hommey 158e08c29b Bug 1230355 - Remove include_deps. r=mshal
We used to use include_deps to trigger a fast-path in pymake, but we don't
use pymake anymore, so we can use normal includes now.
2015-12-09 19:23:53 +09:00
Mike Hommey 513dd064fd Bug 1227852 - Remove the --with-dist-dir configure flag from js/src/. r=mshal 2015-12-01 08:25:22 +09:00
Brian O'Keefe 48eccfb774 Bug 852814 - Move mozbuild variable blacklist logic into the backend. r=gps
--HG--
extra : rebase_source : 01acc12d0ac4d08f7f5367990037eb87db20a404
2015-03-27 15:39:34 -04:00
Brian O'Keefe c20a5a6dbe Bug 870366 - Part 3: Prohibit PREF_JS_EXPORTS in Makefile.ins. r=gps 2015-01-20 13:07:04 -05:00
Phil Ringnalda 2733df104d Back out 21284a1b338f (bug 870366) for breaking Android nightlies, a=backout 2015-02-01 06:54:25 -08:00
Brian O'Keefe eb8dac07f1 Bug 870366 - Part 3: Prohibit PREF_JS_EXPORTS in Makefile.ins. r=gps 2015-01-20 13:07:04 -05:00
Joshua Cranmer 6bc7254918 Bug 1099430, mozilla-central parts: Eliminate the duplication of the build system in comm-central, r=glandium.
See the revisions a few steps prior for more fine-grained information. This just
needs to be relanded because our automation doesn't like non-ASCII commit
messages.

--HG--
extra : amend_source : 0ee4e0da1ea9ada815abfe989c51030db24aac56
2014-11-29 19:45:31 -06:00
Phil Ringnalda 23f2a4bc21 Backed out 3 changesets (bug 1099430) because 256 characters should be enough for anybody's commit message
CLOSED TREE

Backed out changeset 28abb8af2d62 (bug 1099430)
Backed out changeset 358aa39360d5 (bug 1099430)
Backed out changeset 3313e545f4f6 (bug 1099430)
2014-11-29 17:17:58 -08:00
Joshua Cranmer 358bd037da Bug 1099430, part 一: Define MOZILLA_DIR early in the base makefiles, r=glandium.
This change allows us to use use MOZILLA_DIR even for changes in config.mk. The
corollary is that comm-central needs to define MOZILLA_DIR before calling into
baseconfig.mk, which it already does.

The change to the test Makefile is needed since it decides to skip including
config.mk, and hence baseconfig.mk, where it would need to grab the MOZILLA_DIR
declaration.
2014-11-29 18:44:10 -06:00
Mike Hommey 3412f068be Bug 1094033 part 2 - Add a "misc" parallel tier where to move parts of the libs tier that can be moved. r=gps 2014-11-06 09:29:11 +09: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 26049ee2f7 Bug 1062221 - Replace add_tier_dir with DIRS. r=gps 2014-10-02 09:14:07 +09:00
Mike Hommey 89777800f9 Bug 1047267 - Move remaining OS_LIBS and EXTRA_LIBS to moz.build. r=gps
* * *
Bug 1047267 - To fold with "Move remaining OS_LIBS and EXTRA_LIBS to moz.build"
2014-08-07 14:21:03 +09:00
Mike Hommey 8156d84bf2 Bug 1050029 - Improve Makefile checks for deprecated or moz.build variables. r=mshal 2014-08-07 13:48:08 +09:00
Mike Hommey c45c7baa9c Bug 1027890 - Reject builds with pymake. r=gps
--HG--
extra : rebase_source : a662b896b5f431a37a1250ec19451324ebed3d14
2014-06-25 08:38:12 +09:00
Mike Hommey 380b003fcb Bug 944650 - Allow mach to use a pristine GNU make if present and supported. r=gps 2014-01-20 09:09:56 +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
Gregory Szorc 82be7c91ec Bug 950736 - Part 2: Make build failures of codegen.pp fatal; r=glandium
--HG--
extra : rebase_source : a2a815dd0342a8fdf2dacd7d643d4504e2f29eb5
extra : amend_source : 474af6a65c7ad26cdfc7d6eb26caf0b42fe741c3
2013-12-16 13:15:37 -08:00
Mike Hommey 9387059310 Bug 944569 - Relax GNU make requirements on Windows. r=gps 2013-12-06 08:45:29 +09:00
Mike Hommey 0547bcf728 Bug 925605 - Allow to build with a special build of GNU make on windows. r=gps 2013-10-16 08:34:18 +09:00
Wes Kocher 1ec4cf1ebf Backed out changeset 5f0bfb16fa4a (bug 925605) 2013-10-15 16:57:00 -07:00
Mike Hommey 616f4b2735 Bug 925605 - Allow to build with a special build of GNU make on windows. r=gps 2013-10-16 08:34:18 +09:00
Ed Morley 79aac1d02b Backed out changeset cff5a22acb7c (bug 924992) for breaking upload_symbolds on Nightlies 2013-10-11 17:47:55 +01:00
Mike Hommey afd5566358 Bug 924992 - Use an absolute path for DIST; r=gps 2013-10-10 18:00:44 +09:00
Mike Hommey 81fd05ae2c Bug 912293 - Add a generic header and footer to generated Makefiles. r=gps 2013-09-05 09:01:45 +09:00
Mike Hommey 3dd1920bf3 Bug 904740 - Add a make macro for including dependency files. r=gps 2013-08-20 09:15:43 +09:00
Mike Hommey 4e5eecb03d Bug 763987 - Normalize autoconf.mk.in. r=ted 2012-06-20 09:00:48 +02:00
Mike Hommey a93eb5a48f Backout changeset 6984dace6afb (bug 763987) because of OSX opt jsreftest bustage 2012-06-20 10:55:59 +02:00
Mike Hommey cd69374e33 Bug 763987 - Normalize autoconf.mk.in. r=ted 2012-06-20 09:00:48 +02:00