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

129 Коммитов

Автор SHA1 Сообщение Дата
shravanrn@gmail.com 2a11cb1f78 Bug 1737733 - Update rlbox wasm configuration to use direct function calls r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D128566
2021-10-26 23:41:11 +00:00
Mike Hommey 0b4372e828 Bug 1721968 - Remove support for lucetc for rlbox. r=firefox-build-system-reviewers,shravanrn,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D120700
2021-08-11 21:58:52 +00:00
Mike Hommey e2a1db5178 Bug 1713735 - Add the bits necessary to build wasm sandbox libs with wasm2c. r=firefox-build-system-reviewers,mhentges
For the moment, it's opt-in via explicitly setting `LUCETC` to an empty
string.

Differential Revision: https://phabricator.services.mozilla.com/D119939
2021-07-16 02:38:41 +00:00
Agi Sferro 114966c6e0 Bug 1701269 - Remove mobile/android/base. r=nalexander,flod,owlish
Differential Revision: https://phabricator.services.mozilla.com/D109918
2021-05-20 22:03:03 +00:00
Mike Hommey 79e8df83dd Bug 1377445 - Remove build dependencies on gtk+2. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D111997
2021-04-20 01:57:03 +00:00
Aaron Klotz ae684a1dee Bug 1611554: Part 2 - Modify GeckoView build to generate manifest and service definitions from jinja files; r=nalexander,geckoview-reviewers,snorp
* We add a config option for setting the number of content services;
* We add a config option to indicate whether content services should be isolated.
  This one is just a `project_flag` since it doesn't really need the ability to
  be overridden; it's something whose default we would want to flip when the
  time comes;
* We set a dependency so that mobile/android/base/pre-export is executed;
* We add the `gen_from_jinja.py` script which is mostly just a dumb shim that
  takes the input template and the config arguments, instantiates jinja,
  generates the final output, and dumps it to the output fd;
* We add the requisite `moz.build` statements to generate the manifest overlay
  and the service definitions;
* We update `build.gradle` so that Gradle knows to look for the generated files
  when building the apk.

Differential Revision: https://phabricator.services.mozilla.com/D82577
2021-01-13 17:32:54 +00:00
Butkovits Atila bcdf48f6d6 Backed out 3 changesets (bug 1611554) for causing bustage on recurse.mk. CLOSED TREE
Backed out changeset bb1ce63d73ec (bug 1611554)
Backed out changeset 0d4317da1006 (bug 1611554)
Backed out changeset dc905e5db0cc (bug 1611554)
2021-01-13 03:16:17 +02:00
Aaron Klotz 669a8ecdcc Bug 1611554: Part 2 - Modify GeckoView build to generate manifest and service definitions from jinja files; r=nalexander,geckoview-reviewers,snorp
* We add a config option for setting the number of content services;
* We add a config option to indicate whether content services should be isolated.
  This one is just a `project_flag` since it doesn't really need the ability to
  be overridden; it's something whose default we would want to flip when the
  time comes;
* We set a dependency so that mobile/android/base/pre-export is executed;
* We add the `gen_from_jinja.py` script which is mostly just a dumb shim that
  takes the input template and the config arguments, instantiates jinja,
  generates the final output, and dumps it to the output fd;
* We add the requisite `moz.build` statements to generate the manifest overlay
  and the service definitions;
* We update `build.gradle` so that Gradle knows to look for the generated files
  when building the apk.

Differential Revision: https://phabricator.services.mozilla.com/D82577
2021-01-13 00:24:06 +00:00
Mike Hommey 228e721068 Bug 1669442 - Fix dependency between libxul and mozgtk after bug 1573566. r=andi,dmajor
Bug 1573566 moved libxul from toolkit/library to toolkit/library/build,
and that should be reflected in config/recurse.mk.

It's amazing the race condition hasn't caused problems earlier than now.

Differential Revision: https://phabricator.services.mozilla.com/D92708
2020-10-07 12:17:56 +00:00
Mike Hommey 3a2a805477 Bug 1653909 - Use the stub file for the icu data file dependencies. r=froydnj
The rules we create in the backend for generated files use a stub file
for the real file generation, and we do need dependencies on that
specific target for the changes in bug 1264836 to work without races.

Differential Revision: https://phabricator.services.mozilla.com/D84311
2020-07-21 13:13:02 +00:00
Mike Hommey 7eb905c213 Bug 1264836 - Automatically convert the little-endian ICU data file for big-endian builds. r=firefox-build-system-reviewers,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D83857
2020-07-17 22:25:57 +00:00
Butkovits Atila 1b5a008148 Backed out changeset cfaeba06ee87 (bug 1264836) for bustages at AccessibleRole.h. CLOSED TREE 2020-07-18 02:57:28 +03:00
Mike Hommey 7661e8879a Bug 1264836 - Automatically convert the little-endian ICU data file for big-endian builds. r=firefox-build-system-reviewers,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D83857
2020-07-17 22:25:57 +00:00
Narcis Beleuzu bef8fd0583 Backed out changeset d3004626988d (bug 1264836) for breaking the Gecko Decision Task. CLOSED TREE 2020-07-18 00:42:05 +03:00
Mike Hommey f1ffe803dd Bug 1264836 - Automatically convert the little-endian ICU data file for big-endian builds. r=firefox-build-system-reviewers,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D83857
2020-07-17 20:06:42 +00:00
Mike Hommey ee3002aa4e Bug 1651287 - Hook the pre-compile pseudo-tier in the compile graph. r=nalexander
This makes dir/target, dir/target-objects, etc. depend on
dir/pre-compile, which ensures all items in the pre-compile pseudo-tier
are built before entering in the directory they are defined in, during
the compile tier. This removes the need for EXTRA_DEPS hacks.

Differential Revision: https://phabricator.services.mozilla.com/D83036
2020-07-10 21:03:41 +00:00
Emilio Cobos Álvarez 7c995807da Bug 1646936 - Generate a single metadata file in the objdir, and feed it to cbindgen. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D80360
2020-06-26 10:41:26 +00:00
Coroiu Cristina 302c2fa31a Backed out changeset 8f948dd74aba (bug 1646936) for SM and Toolchain failures on a CLOSED TREE 2020-06-26 13:08:09 +03:00
Emilio Cobos Álvarez 9c7c03bf30 Bug 1646936 - Generate a single metadata file in the objdir, and feed it to cbindgen. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D80360
2020-06-26 09:37:16 +00:00
Mike Hommey 382cebd8f2 Bug 1648575 - Fix Android artifact builds after bug 1645986. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D81240
2020-06-25 22:31:02 +00:00
Mike Hommey a87a1c3b54 Bug 1645986 - Move most GeneratedFile generation to top-level backend.mk. r=firefox-build-system-reviewers,rstewart
While ideally we'd just move all of them at the top-level, there are
other things that depend on them that wouldn't then get the right
dependencies. One of them is install steps in dist/something, but there
are others, and that's a rather long pole of things requiring many
changes along with chances to break things.

So instead, we go with a simpler and more limited approach, where we
still recurse into directories to run their export tier (to run whatever
else than GeneratedFiles they have), but ensure the GeneratedFiles we
moved at the top-level are built before recursing by making
directory/export depend on them.

Differential Revision: https://phabricator.services.mozilla.com/D80608
2020-06-24 04:23:02 +00:00
Dorel Luca fdb71d7688 Backed out 4 changesets (bug 1645986) for Valgrid failure. CLOSED TREE
Backed out changeset 602ea804234f (bug 1645986)
Backed out changeset c43f9360b0a5 (bug 1645986)
Backed out changeset fe1142397e72 (bug 1645986)
Backed out changeset faf6de9409f9 (bug 1645986)
2020-06-24 07:16:13 +03:00
Mike Hommey 8a86310ac3 Bug 1645986 - Move most GeneratedFile generation to top-level backend.mk. r=firefox-build-system-reviewers,rstewart
While ideally we'd just move all of them at the top-level, there are
other things that depend on them that wouldn't then get the right
dependencies. One of them is install steps in dist/something, but there
are others, and that's a rather long pole of things requiring many
changes along with chances to break things.

So instead, we go with a simpler and more limited approach, where we
still recurse into directories to run their export tier (to run whatever
else than GeneratedFiles they have), but ensure the GeneratedFiles we
moved at the top-level are built before recursing by making
directory/export depend on them.

Differential Revision: https://phabricator.services.mozilla.com/D80608
2020-06-24 00:45:25 +00:00
Dorel Luca b159956383 Backed out 4 changesets (bug 1645986) for Build bustage
Backed out changeset ac871b2f34dc (bug 1645986)
Backed out changeset 07b14b6a0b91 (bug 1645986)
Backed out changeset fdd319bdbfa7 (bug 1645986)
Backed out changeset ce213e6bbc1f (bug 1645986)
2020-06-24 03:42:47 +03:00
Mike Hommey f6fcdd8d5c Bug 1645986 - Move most GeneratedFile generation to top-level backend.mk. r=firefox-build-system-reviewers,rstewart
While ideally we'd just move all of them at the top-level, there are
other things that depend on them that wouldn't then get the right
dependencies. One of them is install steps in dist/something, but there
are others, and that's a rather long pole of things requiring many
changes along with chances to break things.

So instead, we go with a simpler and more limited approach, where we
still recurse into directories to run their export tier (to run whatever
else than GeneratedFiles they have), but ensure the GeneratedFiles we
moved at the top-level are built before recursing by making
directory/export depend on them.

Differential Revision: https://phabricator.services.mozilla.com/D80608
2020-06-23 16:07:26 +00:00
Mike Hommey 39efc5bc7b Bug 1646653 - Remove dependencies on xpcom/xpidl/export. r=froydnj
They were necessary some time ago, but:
- there is no js/xpconnect/src/export target anymore,
- accessibility/xpcom/export had a dependency on xpcom/xpidl/export for
  the ply cache files, but they're not used as of bug 1633156.
- the recursive make backend was adding automatic dependencies on
  xpcom/xpidl/export for the ply cache files.

Differential Revision: https://phabricator.services.mozilla.com/D80150
2020-06-18 11:02:46 +00:00
Ricky Stewart 09750d5dab Bug 1646190 - Remove pymake from tree r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D79920
2020-06-18 21:06:32 +00:00
Ricky Stewart 933b3522b8 Bug 1633156 - Don't emit cached table files from ply r=glandium
`ply`, [by design](https://github.com/dabeaz/ply/issues/79), does not produce reproducible table files; hence bug 1633156. (Note that this was *always* true, but only became a problem once we switched to Python 3, which has more unpredictable dict iteration order than Python 2.7, at least prior to [3.7](https://docs.python.org/3/whatsnew/3.7.html#summary-release-highlights).)

In any other circumstance I would consider submitting a patch to `ply` to fix this, but as of the [in-progress version 4.0 of the library](https://github.com/dabeaz/ply/blob/master/CHANGES), it doesn't even emit this cached data any more, and indeed the [latest version of the code](1fac9fed64/ply) doesn't even call `open()` at all except to do logging or to read the text data to be parsed from `stdin`. So if we were going to pin our future on `ply` and upgrade to later versions of the library in the future, we would have to live in a world where `ply` doesn't generate cached table files for us anyway.

Emitting the cached table files so later build steps can consume them is an "optimization", but it's not clear exactly how much actual value that optimization provides overall. Quoth the `CHANGES` file from that repository:

```
PLY no longer writes cached table files.  Honestly, the use of
the cached files made more sense when I was developing PLY on
my 200Mhz PC in 2001. It's not as much as an issue now. For small
to medium sized grammars, PLY should be almost instantaneous.
```

In practice, I have found this to be true; namely, `./mach build pre-export export` takes just about as long on my machine after this patch as it did before, and in a try push I performed, there's no noticeable performance regression from applying this patch. In local testing I also found that generating the LALR tables in calls to `yacc()` takes about 0.01s on my machine generally, and we generate these tables a couple dozen times total over the course of the `export` tier now. This isn't *nothing*, but in my opinion it's also not nearly long enough where it would be a concern given how long `export` already takes.

That `CHANGES` file also stresses that if caching this data is important, we have the option of doing so via `pickle`. If and when we decide that re-enabling this optimization is valuable for us, we should take control of this process and perform the generation in such a way that we can guarantee reproducibility.

Differential Revision: https://phabricator.services.mozilla.com/D73484
2020-05-07 00:39:28 +00:00
Mike Hommey 824e3fcd1f Bug 1634926 - Drive-by: fix condition for security/target vs. multiple target. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D73797
2020-05-05 11:07:16 +00:00
Mike Hommey 4fc2a1364a Bug 1634926 - Don't depend on in-tree NSS/NSPR when building against system NSS/NSPR. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D73796
2020-05-05 11:28:54 +00:00
Kirk Steuber 01623391ec Bug 1627805 - Allow the update agent to link against updatecommon r=glandium
Linking Rust code against the updatecommon library is not well supported by our build system, but it should be possible. The changes to updatecommon's moz.build will cause updatecommon.lib to be created, which Rust can link against. The build.rs script tells cargo which shared Windows libraries are needed for linking, and where updatecommon.lib can be found. The change to config/recurse.mk enforces the dependency of the update agent on updatecommon, so that we do not attempt to link the agent before updatecommon has been built.

Differential Revision: https://phabricator.services.mozilla.com/D70207
2020-04-24 19:23:08 +00:00
Jan Beich 307671c87e Bug 1628660 - Unbreak tests on Tier3 platforms after bug 1587353 r=dragana
Differential Revision: https://phabricator.services.mozilla.com/D70374

--HG--
extra : moz-landing-system : lando
2020-04-09 16:19:04 +00:00
Michal Novotny e4de0c38d1 Bug 1587353 - Add an http3 test server r=agrover
Differential Revision: https://phabricator.services.mozilla.com/D48666

--HG--
extra : moz-landing-system : lando
2020-03-28 20:06:41 +00:00
Mike Hommey b483279699 Bug 1586100 - Only depend on js/src/export when it is available. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D51978

--HG--
extra : moz-landing-system : lando
2019-11-06 13:16:40 +00:00
Mike Hommey 4734e201cf Bug 1586100 - Avoid circular dependencies related to config/export|host. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D51977

--HG--
extra : moz-landing-system : lando
2019-11-06 13:17:09 +00:00
Mike Hommey 8f69271ae4 Bug 1579761 - Add missing dependencies on .cargo/config. r=mshal
.cargo/config is necessary for all invocations of cargo, which, apart
from normal rust targets, actually also happens indirectly when we
invoke cbindgen.

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

--HG--
extra : moz-landing-system : lando
2019-10-25 23:55:50 +00:00
Nick Alexander c46ec74815 Bug 1580356 - Remove Fennec (Firefox for Android). r=snorp,mshal
This does many things:

1) stops producing (and consuming) `FennecJNI*` JNI wrappers
2) removes the :app and :thirdparty Gradle projects
3) removes relevant pieces of the Gradle target configuration
4) updates lints
5) purges old configurations

After this commit, the `mobile/android` project/application builds
only GeckoView.

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

--HG--
extra : moz-landing-system : lando
2019-10-04 20:55:11 +00:00
Emilio Cobos Álvarez 9c8ffa9e68 Bug 1578661 - Add telemetry histograms for all CSS properties. r=chutten,boris
And add them to the UseCounter enum. Also add some sanity-check assertions that
the reporting code relies on.

This works much like the deprecated operation list.

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

--HG--
extra : moz-landing-system : lando
2019-09-19 00:20:37 +00:00
Cosmin Sabou 2978a72248 Backed out 10 changesets (bug 1578661) for linting failures on layout/style/ServoCSSPropList.py. CLOSED TREE
Backed out changeset b1b5393b1099 (bug 1578661)
Backed out changeset b87eebb0cf6e (bug 1578661)
Backed out changeset 6ba2ee45f26e (bug 1578661)
Backed out changeset 4a1d45160d60 (bug 1578661)
Backed out changeset 7a5687bebc02 (bug 1578661)
Backed out changeset 33c306c9020a (bug 1578661)
Backed out changeset 89d7e6fb24b0 (bug 1578661)
Backed out changeset 42c4943e569b (bug 1578661)
Backed out changeset 88d988a80de1 (bug 1578661)
Backed out changeset 78c90f9e9eee (bug 1578661)
2019-09-19 01:50:03 +03:00
Mike Hommey a2c98c357d Bug 1578530 - Add missing dependencies for clang-plugin tests. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D46255

--HG--
extra : moz-landing-system : lando
2019-09-18 13:39:03 +00:00
Emilio Cobos Álvarez 7155c266f5 Bug 1578661 - Add telemetry histograms for all CSS properties. r=chutten,boris
And add them to the UseCounter enum. Also add some sanity-check assertions that
the reporting code relies on.

This works much like the deprecated operation list.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 15:44:39 +00:00
Andreea Pavel 7494b360c0 Backed out 10 changesets (bug 1578661) for lints failure at ServoCSSPropList.cpp on a CLOSED TREE
Backed out changeset ed3c619100e7 (bug 1578661)
Backed out changeset 027514a2eaf6 (bug 1578661)
Backed out changeset f2e228282b20 (bug 1578661)
Backed out changeset 67c36136dce7 (bug 1578661)
Backed out changeset 2280b27cc130 (bug 1578661)
Backed out changeset 445d13a2c452 (bug 1578661)
Backed out changeset 89caaa850049 (bug 1578661)
Backed out changeset 2f8be5db1786 (bug 1578661)
Backed out changeset 51a015a9a0f8 (bug 1578661)
Backed out changeset ad8e1f27a600 (bug 1578661)
2019-09-18 18:09:30 +03:00
Emilio Cobos Álvarez e1882a044c Bug 1578661 - Add telemetry histograms for all CSS properties. r=chutten,boris
And add them to the UseCounter enum. Also add some sanity-check assertions that
the reporting code relies on.

This works much like the deprecated operation list.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 12:04:35 +00:00
Mike Shal 4d1c6efb73 Bug 1579969 - Don't add export dependency on .cargo/config when testing; r=glandium
Bug 1578254 added a dependency on .cargo/config to export, which happens
to work in the python/mozbuild/mozbuild/test/backend/test_build.py test
cases because DEPTH=., and make finds the checked-in file .cargo/config
in topsrcdir because VPATH points there. After removing VPATH in bug
1496746, the test no longer finds the file in topsrcdir, and doesn't
have a rule to build it since that exists in the top-level moz.build
file.

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

--HG--
extra : moz-landing-system : lando
2019-09-09 23:56:10 +00:00
Mike Hommey d9362c0f85 Bug 1578254 - Trick Make into running rust targets earlier again. r=nalexander
One of the things bug 1567616 did was to change how .cargo/config is
preprocessed, from it happening during configure to it happening during
the build. And to make things happen properly, dependencies were added
on the rust targets to ensure the .cargo/config file is created before
they run.

Unfortunately, that changed the order in which Make would run all the
targets while recursing for the compile tier, when the file doesn't
exist first. So instead of starting the compile tier with rust targets,
it would start with most C++, then do rust... which we know to make
builds slower overall because of the need to wait for those rust builds
to finish which C++ has all been dealt with already, and lacking
parallelism during the rust build.

So we force .cargo/config to be generated during export (which it is not
already because OBJDIR_PP_FILES are currently dealt with during misc).
That makes Make still run the rust targets early during the compile
tier.

And while here, we extend the if block in recurse.mk that excludes all
the top-level recursion dependencies when running from subdirectories.

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

--HG--
extra : moz-landing-system : lando
2019-09-06 22:58:03 +00:00
Mike Hommey 2c49da7d67 Bug 1575760 - Generate .cargo/config as part of the build rather than as a configure subst file. r=firefox-build-system-reviewers,chmanchester
We'll require preprocessing that configure subst files don't allow in
the next change, so prepare for that.

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

--HG--
extra : moz-landing-system : lando
2019-08-22 21:27:24 +00:00
Mike Hommey 5426bad1b9 Bug 1575484 - Don't LTO gkrust-gtest. r=froydnj
We don't actually care that much about LTO'ing the rust parts of libxul
for gtests, and not LTO'ing it would save multiple minutes of build time
on automation.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 11:14:14 +00:00
Mike Hommey 66d7fe943e Bug 1575420 - Replace MOZ_WIDGET_TOOLKIT value of "gtk3" with "gtk". r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D42765

--HG--
extra : moz-landing-system : lando
2019-08-21 12:25:42 +00:00
Mike Hommey c8dc824814 Bug 1573566 - Add target/host-objects targets to build objects. r=froydnj
Make the target and host targets depend on those, and flatten the
dependencies.

That is, instead of chains like:
  browser/app/target: mozglue/build/target
  mozglue/build/target: memory/build/target

we now have:
  browser/app/target: browser/app/target-objects \
                      mozglue/build/target-objects \
                      memory/build/target-objects

Which means Make can feel free to build the object files in browser/app
before building other dependencies.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 17:25:05 +00:00
Mike Hommey c15df41c2f Bug 1573566 - Undo bug 1573314 and bug 1572046. r=froydnj
With the addition of toolkit/library/build because of the rust
shenanigans, bug 1573314 and bug 1572046 don't do anything useful
anymore. We're going to do something better anyways.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 14:39:54 +00:00