Commit Graph

5704 Commits

Author SHA1 Message Date
Mike Hommey
d6565296c3 Bug 1656141 - Rename version_win.py to create_rc.py. r=firefox-build-system-reviewers,mhentges,rstewart
Because while the original perl script was added to add version info
to Windows binaries, it does more and will do even more with upcoming
changes.

Differential Revision: https://phabricator.services.mozilla.com/D86153
2020-08-06 15:59:09 +00:00
Mike Hommey
afec638391 Bug 1656141 - Remove EMBED_MANIFEST_AT. r=froydnj
It was only ever set to the same value as its default, except in
comm-central, where it is unset, but in directories that now don't link
anything (they did back when binary components were a thing).

Differential Revision: https://phabricator.services.mozilla.com/D85381
2020-08-06 07:05:36 +00:00
Mike Hommey
53979f7c8a Bug 1657420 - Use single quotes instead of double quotes for the version_win.py command. r=dmajor
On Windows, with the double quotes, the command goes through the msys
shell, which then alters the command line such that empty arguments are
transformed into \ when they reach python.

With the single quotes, make invokes the command directly, without going
through the msys shell, and empty arguments are preserved.

Differential Revision: https://phabricator.services.mozilla.com/D86097
2020-08-05 22:48:45 +00:00
Mike Hommey
cd31cb1f77 Bug 1116553 - Rewrite version_win.pl in Python. r=firefox-build-system-reviewers,rstewart
This is not a feature-for-feature rewrite. The python version removes
unused things, and simplifies some others:

- Only two command line arguments are taken in, and all the others are
  dropped and the corresponding values are gotten from the buildconfig
  module instead. The command line arguments are also taken as
  positional arguments rather than going with a full argument parser.

- Variable expansion in module.ver used to be limited to one specific
  variable to expand for a given value, which is now replaced with the
  possibility to expand any of the variables that are allowed in
  module.ver.

- The perl version was adding a RT_MANIFEST entry on its own if a
  manifest file existed in the objdir for the given binary, but if such
  a file existed, the build would fail after linking from the changes in
  bug 1613799.

- The perl version was defaulting the module name to the binary name in
  a branch that was never taken because the module name was assigned to
  an empty string before that.

The output from the new script has been validated to being identical to
the output from the perl script, except for one extra whitespace at the
end of a comment.

Differential Revision: https://phabricator.services.mozilla.com/D85817
2020-08-04 22:21:01 +00:00
Nathan Froyd
623f837bed Bug 1655929 - run cargo update and mach vendor rust for rlbox + lucet updates; r=firefox-build-system-reviewers,rstewart
As the commit title suggests, this is a manual update, but we need to also
update `config/rules.mk` for the changed location of the wasi bindings.

Depends on D85408

Differential Revision: https://phabricator.services.mozilla.com/D85409
2020-07-30 15:54:20 +00:00
Jeff Walden
1de5dca426 Bug 1654927 - Move js.msg and js::GetErrorMessage into a new js/public/friend directory so users of them don't have to depend on all of jsfriendapi.h. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D84756
2020-07-29 04:44:50 +00:00
Mike Hommey
2e54d6bcc3 Bug 1655583 - Don't close fds in run-and-prefix.py. r=firefox-build-system-reviewers,rstewart
run-and-prefix.py is used as a wrapper of MAKE in moz-automation.mk, so
that the output is more clearly attributed to what part of the build is
happening, for everything that is post-build (e.g. package, upload,
etc.)

Ever since the switch to python 3, when it re-invokes MAKE, the
jobserver file descriptors would be closed and the sub-make wouldn't be
able to use it.

Differential Revision: https://phabricator.services.mozilla.com/D85051
2020-07-27 21:51:13 +00:00
Mike Hommey
2a4eb30ed4 Bug 1654465 - Set -Cembed-bitcode=yes instead of CARGO_PROFILE_RELEASE_LTO. r=firefox-build-system-reviewers,rstewart
It turns out setting CARGO_PROFILE_RELEASE_LTO has unwanted side
effects.

First it's not actually strictly equivalent to using `cargo rustc --
-Clto`. For instance, it apparently also enables cross-language LTO in
newer versions of cargo.

Second, it changes the rust computed hash for all the dependencies of
the crate being built with the variable set, which makes them diverge
from when the same dependencies are built through another crate in the
tree that is not LTOed. This effectively makes us build a _lot_ of
crates twice, many of which are not cacheable.

Since the original problem is that cargo >= 1.45 passes extra flags (`-C
embed-bitcode=no`) to rustc that are incompatible with `-Clto`, and while
it knows to adjust based on the `lto` setting in the build profile
(which CARGO_PROFILE_RELEASE_LTO overrides the default of), cargo
ignores flags passed via `cargo rustc -- ...` when making those
adjustments.

So, we need to override with `-C embed-bitcode=yes` on our own at the
same time we pass `-Clto`. But doing that through `cargo rustc -- ...`
is not enough because all the dependencies of the crate built with
`-Clto` need to be built with `-C embed-bitcode=yes`. So we need to
override with `RUSTFLAGS`, which will affect all the dependencies.
But we also need to do this consistently across all crates, not only the
dependencies of crates built with `-Clto`, otherwise we'd still end up
building crates twice (once with and once without the override).

Unfortunately, the `-C embed-bitcode=*` flag is also not supported in
versions older than 1.45, so we have to avoid adding it on older
versions.

We unfortunately support a large range of versions of rustc (albeit only
for tools/crashreporter), but we actually need to upgrade the smaller
supported version because rustc < 1.38 doesn't support our top-level
Cargo.lock. This makes the version check slightly less awful.

Differential Revision: https://phabricator.services.mozilla.com/D84652
2020-07-27 21:23:57 +00:00
Mozilla Releng Treescript
e0a22e8714 Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2020-07-27 17:45:43 +00:00
Mike Hommey
268a226874 Bug 1654182 - Only look at the dynamic symbols table for the version checks. r=froydnj
The main reason we look at the complete symbols table is that before bug
1541792, we needed to look at that table for _NSModule symbols.

In bug 1516228, we also made everything llvm-objdump to limit the
differences cross-platform, but that's not necessary anymore per the
previous change.

llvm-objdump doesn't support getting only the dynamic symbols table, so
we go back to what we were using before bug 1516228, namely readelf,
while preserving a code path to use the complete symbols table for the
networking test on libgkrust.a, which doesn't have a dynamic symbols
table.

With this change, check_binary goes from 45s to 0.2s on my machine.

Differential Revision: https://phabricator.services.mozilla.com/D84305
2020-07-22 04:09:39 +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
cb5b458548 Bug 1640982 - Set CARGO_PROFILE_RELEASE_LTO=true when enabling rust LTO. r=firefox-build-system-reviewers,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D84098
2020-07-20 16:05:36 +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
0ebe2bbd8f Bug 1652448 - Use the same codegen-units numbers on host and target rust builds. r=firefox-build-system-reviewers,rstewart
Otherwise, crates that are shared between host and target are always
rebuilt because of the difference in rust flags.

Differential Revision: https://phabricator.services.mozilla.com/D83412
2020-07-13 22:24:59 +00:00
Nathan Froyd
bddb48ea03 Bug 1625281 - force make to update timestamp caches when building rust programs; r=firefox-build-system-reviewers,rstewart
Doing this means that make will correctly understand that the underlying
program has changed and therefore it needs to trigger install rules.

Differential Revision: https://phabricator.services.mozilla.com/D83326
2020-07-13 19:01:40 +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
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
b979f62e15 Bug 1648680 - Do not build w95sock.c as part of a unified compilation unit. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D81290
2020-07-10 20:32: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
Tom Prince
204d796929 Bug 1651731: [lint] Python and shell files without #! should not be executable; r=linter-reviewers,perftest-reviewers,geckoview-reviewers,agi,sylvestre,sparky
Differential Revision: https://phabricator.services.mozilla.com/D82954
2020-07-09 20:29:18 +00:00
Ricky Stewart
51a23a4ba2 Bug 1651641 - servo/components/style/build.rs reads PYTHON3 configuration value in addition to environment variable r=glandium
The previous logic would check the value of the `PYTHON3` environment variable, which is not set by the Firefox build system, so this build script tends to just use the `python3` at the tip of the `PATH`, regardless of which value you've configured for it. Instead, it should prefer to read from the `OBJDIR` if one is present.

Differential Revision: https://phabricator.services.mozilla.com/D82981
2020-07-09 22:03:23 +00:00
Kris Maglione
b18c12677e Bug 1464542: Part 1 - Generate symbolic names for XPT interfaces and add lookup function. r=nika,froydnj
This makes it much simpler for the for the static JS services cache to store
and lookup interface IDs for components.

Differential Revision: https://phabricator.services.mozilla.com/D81416
2020-07-09 20:42:49 +00:00
Mike Hommey
2808f56f12 Bug 1651207 - Build the ICU data through an assembly file. r=froydnj
... instead of a C file. This avoids issues with sccache (via dist or
caching), because sccache doesn't do anything with assembly files,
but with a C file, it doesn't know about the incbin-included data file.

This has the unfortunate side effect of requiring some manual work to
mark the file for safeseh on 32-bits Windows.

Differential Revision: https://phabricator.services.mozilla.com/D82814
2020-07-09 12:20:56 +00:00
Csoregi Natalia
b355fcc4bf Backed out 6 changesets (bug 1464542) for xpcshell failures on test_Services.js. CLOSED TREE
Backed out changeset b50af9005851 (bug 1464542)
Backed out changeset 9d3a0ea2cf65 (bug 1464542)
Backed out changeset 71c3475fcbc2 (bug 1464542)
Backed out changeset 51ff93220a95 (bug 1464542)
Backed out changeset e84de1547c09 (bug 1464542)
Backed out changeset bbecc16d08eb (bug 1464542)
2020-07-09 23:19:26 +03:00
Andrew Halberstadt
0d3d8d4744 Bug 1640902 - [python-test] Add ability to mark tests as "slow" and an arugment to run them, r=raphael
This creates a general pytest plugin under "config/mozunit" which implements
the ability to mark tests as "slow". Slow tests will be skipped by default
unless "--run-slow" is passed in.

Differential Revision: https://phabricator.services.mozilla.com/D81402
2020-07-09 17:46:07 +00:00
Kris Maglione
55b68bde08 Bug 1464542: Part 1 - Generate symbolic names for XPT interfaces and add lookup function. r=nika,froydnj
This makes it much simpler for the for the static JS services cache to store
and lookup interface IDs for components.

Differential Revision: https://phabricator.services.mozilla.com/D81416
2020-07-09 17:59:09 +00:00
Axel Hecht
ac4d08312c Bug 1614941, add more date formats to dsb and hsb, r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D62732
2020-07-07 11:46:05 +00:00
Nick Alexander
b41ff18a94 Bug 1641291 - Part 2: Make NSDISTMODE=copy impact install manifests. r=glandium
This is strictly a quality of life improvement when cross-compiling to
Windows targets.  A common scenario is mounting an object directory
into a Windows VM, which requires additional VM configuration to
handle (absolute) symlinks.  With this patch, `export NSDISTMODE=copy`
in a mozconfig sidesteps any such symlink issues.

Differential Revision: https://phabricator.services.mozilla.com/D77118
2020-07-07 02:16:12 +00:00
Mike Hommey
f801a642f4 Bug 1650592 - Disable ICU dynamic loading. r=jwalden
For a while, now, ICU data has been stored as raw read-only data in rather
than a separate loadable library. This means the parts of ICU that can load
such a module are not necessary.

Differential Revision: https://phabricator.services.mozilla.com/D82262
2020-07-07 00:24:37 +00:00
Mike Hommey
e1f7ae82ed Bug 1650299 - Unify the inclusion of the ICU data file. r=froydnj
All the supported compilers support a GNU AS-like syntax, with only a
few details varying. It means we can use a single, simpler, way to
include the ICU data file, instead of 3 different ways, including one
that uses armasm64.exe, possibly wrapped with Wine.

Differential Revision: https://phabricator.services.mozilla.com/D82144
2020-07-06 22:57:53 +00:00
André Bargull
1f92968bc6 Bug 1496584 - Part 2: Include previously disabled date-interval formatters. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D79318
2020-07-01 11:19:52 +00:00
Mike Hommey
9c264b7cf2 Bug 1240930 - Move jar_maker to the misc tier. r=firefox-build-system-reviewers,geckoview-reviewers,rstewart,agi
Because jar_maker is not in the libs tier, we also rename the libs-%
targets for l10n repacks to l10n-%, which make it clearer what they are
for.

And because multilocale.txt is both a GeneratedFile and a file that is
generated (and installed) via manual build rules, keeping it in the misc
target actually breaks building in toolkit/locales during l10n repacks,
so move it to libs for now.

Differential Revision: https://phabricator.services.mozilla.com/D81766
2020-06-30 21:34:32 +00:00
Mozilla Releng Treescript
f6180a922b Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2020-06-29 15:15:46 +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
Mike Hommey
9820df71e8 Bug 1645986 - Avoid relative paths in GeneratedFile targets. r=firefox-build-system-reviewers,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D80605
2020-06-24 04:23:09 +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
Mike Hommey
eccc2c2c6b Bug 1645986 - Avoid relative paths in GeneratedFile targets. r=firefox-build-system-reviewers,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D80605
2020-06-24 00:45:32 +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
f1eea6d9e3 Bug 1645986 - Avoid relative paths in GeneratedFile targets. r=firefox-build-system-reviewers,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D80605
2020-06-23 16:19:21 +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
Ted Campbell
6aa5132146 Bug 1645464 - Use a shared ProfilingCategoryList.h r=gerald,froydnj
Replace the duplicate lists in mozglue/baseprofiler/public and js/public with
a shared list. Add this list to both moz.build files so it is published twice
which simplifies supporting different standalone configurations.

Differential Revision: https://phabricator.services.mozilla.com/D79520
2020-06-15 13:59:55 +00:00
Geoff Brown
e1d05bdc1d Bug 1644228 - Remove support for IMPACTED_TESTS; r=remote-protocol-reviewers,firefox-build-system-reviewers,rstewart,whimboo
IMPACTED_TESTS was added in bug 1184405, but is under-utilized in current moz.build
annotations; also bug 1516847 removed use of IMPACTED_TESTS in 'mach test'. This
patch removes remaining support for IMPACTED_TESTS.

Differential Revision: https://phabricator.services.mozilla.com/D79141
2020-06-12 08:04:08 +00:00
André Bargull
3d23887ba7 Bug 1636984 - Part 2: Reimport ICU to generate the data file. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D74682
2020-06-12 12:50:04 +00:00
Coroiu Cristina
3cce853af2 Backed out 4 changesets (bug 1641291) for build bustages and SM failures on a CLOSED TREE
Backed out changeset 9c0a44614576 (bug 1641291)
Backed out changeset 0dcf604b880e (bug 1641291)
Backed out changeset d830bee40b5c (bug 1641291)
Backed out changeset fe38c82c2dad (bug 1641291)
2020-06-03 22:09:52 +03:00
Nick Alexander
e3368880ab Bug 1641291 - Part 3: Ensure that paths are considered paths when compiling. r=glandium
Extremely common file paths on macOS like `/Users/...` are interpreted
as `/U...` flags by `clang-cl`.  This is so common that there's a
`-Wslash-u-filename` warning.  Ensure that file paths are considered
paths when compiling by terminating options with `--`.

This commit handles everything except assembler invocations, because
at least `nasm` doesn't handle `--`.

Differential Revision: https://phabricator.services.mozilla.com/D77119
2020-06-03 18:18:32 +00:00
Nick Alexander
26518d1bde Bug 1641291 - Part 2: Make NSDISTMODE=copy impact install manifests. r=glandium
This is strictly a quality of life improvement when cross-compiling to
Windows targets.  A common scenario is mounting an object directory
into a Windows VM, which requires additional VM configuration to
handle (absolute) symlinks.  With this patch, `export NSDISTMODE=copy`
in a mozconfig sidesteps any such symlink issues.

Differential Revision: https://phabricator.services.mozilla.com/D77118
2020-06-03 18:18:23 +00:00
Dorel Luca
61e47c120c Merge mozilla-cental to autoland. CLOSED TREE 2020-06-01 19:35:58 +03:00
Mozilla Releng Treescript
a56e4bfdd7 Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2020-06-01 10:15:55 +00:00
Ricky Stewart
0bbaac721b Bug 1641693 - Replace a bunch of uses of GENERATED_FILES with the GeneratedFile template r=necko-reviewers,geckoview-reviewers,aklotz,dragana,froydnj
Also update documentation to suggest using the `GeneratedFile` template rather than directly referencing `GENERATED_FILES` where possible.

Differential Revision: https://phabricator.services.mozilla.com/D77496
2020-06-01 16:00:28 +00:00
Axel Hecht
22b8c9b311 Bug 1642092, find toolkit/locales/en-US/defines.inc for comm* builds, r=nalexander
This was regressed by bug 1641791, mostly for the lack of comments in at
least two places.

Differential Revision: https://phabricator.services.mozilla.com/D77590
2020-05-31 01:30:57 +00:00
Axel Hecht
1343d506c0 Bug 1641184, use only the merge dir for repacks, r=nalexander
l10n-merge creates a full merge dir for a while now, let's
simplify the build logic to only read from that directory
during repacks and langpacks.

Differential Revision: https://phabricator.services.mozilla.com/D77023
2020-05-27 17:04:06 +00:00
André Bargull
d9dc862621 Bug 1557727 - Part 3: Implement Intl.DisplayNames proposal. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D52165
2020-05-19 11:18:16 +00:00
André Bargull
b029ce9ac8 Bug 1557727 - Part 1: Add resources for Intl.DisplayNames to ICU data file. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D52163
2020-05-19 11:17:21 +00:00
Nathan Froyd
8e55e43475 Bug 1638870 - add unicode/uniset.h to system headers; r=firefox-build-system-reviewers,rstewart
I haven't been able to confirm that this would actually fix
`--with-system-icu`, but since the new regexp
engine (`js/src/new-regexp`) explicitly includes this file and this file
isn't already present in system-headers...it seems very likely that this
change will fix `--with-system-icu`.

Differential Revision: https://phabricator.services.mozilla.com/D75809
2020-05-18 20:20:21 +00:00
Mike Hommey
28de21d935 Bug 1638193 - Remove build system support for iOS. r=nalexander
iOS support for Gecko has not been tested in years and is most probably
out of date. The build system part of it, specifically the checks in
build/autoconf/ios.m4, are not trivial to port to python configure, and
they prevent other things from moving to python configure (because some
of them change value when MOZ_IOS is set).

The code is left alone, although it could probably be stripped off as
well, but I'll leave that as an exercise for someone else.

Differential Revision: https://phabricator.services.mozilla.com/D75463
2020-05-15 03:56:16 +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
Ricky Stewart
4d4b22b3de Bug 1599658 - Delete previous definition of py_action in Makefiles. Now py_action calls into Python 3 and py3_action doesn't exist. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D72487
2020-05-05 20:04:30 +00:00
Ricky Stewart
fd72a5d35e Bug 1633016 - Remove a bunch of references to PYTHON(2) in Makefiles r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D72479
2020-05-05 19:53:22 +00:00
Ricky Stewart
3749c34fb4 Bug 1632916 - Run JS/web-platform/ipdl build machinery in Python 3 r=jgraham,nika,glandium
Differential Revision: https://phabricator.services.mozilla.com/D72478
2020-05-05 20:32:12 +00:00
André Bargull
13060683c1 Bug 1632434 - Part 2: Update ICU data file again to tzdata 2020a. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D72910
2020-04-29 23:47:39 +00:00
André Bargull
57a5eb29e7 Bug 1632434 - Part 1: Update in-tree ICU to release 67.1. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D72908
2020-04-29 23:47:31 +00:00
Mozilla Releng Treescript
b6bf8b5422 Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2020-05-04 14:53:37 +00:00
Bogdan Tara
f137fa0613 Backed out 6 changesets (bug 1632916, bug 1599658, bug 1633037, bug 1633039, bug 1633016, bug 1632920) for SA bustages CLOSED TREE
Backed out changeset 332ce0963b4e (bug 1633039)
Backed out changeset a9904cbc40d9 (bug 1633037)
Backed out changeset d06b0ec349f8 (bug 1599658)
Backed out changeset 8fd300cad80f (bug 1633016)
Backed out changeset f8820941c703 (bug 1632916)
Backed out changeset ac9c2c8746ed (bug 1632920)
2020-05-02 01:49:29 +03:00
Ricky Stewart
0daacc12c3 Bug 1599658 - Delete previous definition of py_action in Makefiles. Now py_action calls into Python 3 and py3_action doesn't exist. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D72487
2020-04-30 15:27:13 +00:00
Ricky Stewart
bb4e86d85a Bug 1633016 - Remove a bunch of references to PYTHON(2) in Makefiles r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D72479
2020-04-30 15:25:22 +00:00
Ricky Stewart
d990224458 Bug 1632916 - Run JS/web-platform/ipdl build machinery in Python 3 r=jgraham,nika,glandium
Differential Revision: https://phabricator.services.mozilla.com/D72478
2020-05-01 16:31:21 +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
André Bargull
1265aecea0 Bug 1633331: Update tzdata in ICU data files to 2020a. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D72588
2020-04-28 08:47:11 +00:00
Jamie Nicol
d384e8fa67 Bug 1604615 - Use cargo linker wrapper for native sanitizer builds, but don't set problematic flags. r=glandium
For native sanitizer builds, we currently do not pass the linker flags
to cargo, as they were causing crashes in some build scripts. Without
this, however, the linker is unable to find libstdc++. Instead, do
tell cargo to use the linker wrapper, but omit the problematic flags
from MOZ_CARGO_WRAP_LDFLAGS.

Differential Revision: https://phabricator.services.mozilla.com/D70354
2020-04-21 10:31:53 +00:00
Nika Layzell
1840f4505c Bug 1630361 - Remove [NeedsWindowsUndef] attribute from webidl, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D69450
2020-04-16 23:40:57 +00:00
Jan de Mooij
72d50388f6 Bug 1629791 part 3 - Define CacheIR ops in a YAML file and use that to generate a header file. r=iain
For now this generates just CACHE_IR_OPS and CACHE_IR_SHARED_OPS in CacheIROpsGenerated.h
but the plan is to use this to generate parts of the IR writer and compiler/transpiler
interface. The spewer could also potentially be improved now that each operand has a name
and more precise type.

Generating the IR writer will likely happen incrementally so that will give us
another chance to double check the precise types match what's in the YAML file.

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

--HG--
extra : moz-landing-system : lando
2020-04-16 05:21:38 +00:00
Jan de Mooij
c60dee00d5 Bug 1629791 part 1 - Rename MOpcodes.h to MOpcodesGenerated.h and LOpcodes to LOpcodesGenerated.h. r=iain
Most other generated SpiderMonkey files have the 'Generated' suffix so let's
follow that convention.

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

--HG--
extra : moz-landing-system : lando
2020-04-15 14:06:21 +00:00
David Major
e8a38f48d0 Bug 1627768 - Expand check_networking exemption to ASan and UBSan builds r=rstewart
They all fail for the same reason: the sanitizer runtime in compiler-rt installs an interceptor for `getsockname` which then contains a call to the real implementation.

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

--HG--
extra : moz-landing-system : lando
2020-04-15 15:56:34 +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
Mike Hommey
5944220eee Bug 1628205 - Convert nsinstall.py to python 3. r=rstewart
Also enable all config/tests with python3. unit-nsinstall.py was the
last one that didn't pass with python 3.

Switch the test to using @unittest.skipIf and disable the subprocess
test because we purposely broke running nsinstall.py independently with
python 2.

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

--HG--
extra : moz-landing-system : lando
2020-04-09 00:24:51 +00:00
Mike Hommey
ac5b6e6cd0 Bug 1628200 - Fix config/tests/test_mozbuild_reading.py. r=rstewart
Since the test goes through all moz.build files disregarding DIRS and
the conditions that may disable directories, in some cases, moz.builds
can fail to be evaluated properly because of missing variables in
config.status. This time (because it's not the first), it's
LLVM_DLLTOOL.

After fixing that, it turns out many of the files/directories pointed to
by Files() directives were removed or moved.

While here, make the test script python3-ready.

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

--HG--
extra : moz-landing-system : lando
2020-04-09 00:24:29 +00:00
Mike Hommey
0fb4a38faf Bug 1621436 - Run process_install_manifest with python3. r=rstewart
Differential Revision: https://phabricator.services.mozilla.com/D70156

--HG--
extra : moz-landing-system : lando
2020-04-09 00:21:12 +00:00
Mozilla Releng Treescript
a17ce3b6b4 Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2020-04-06 14:28:50 +00:00
Sylvestre Ledru
9e1d0beec8 Bug 1627439 - Remove an old reference to doxygen r=nalexander DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D69702

--HG--
extra : moz-landing-system : lando
2020-04-04 15:01: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
32bf570594 Bug 1618782 - Use winchecksec on Windows cross builds too. r=rstewart
Differential Revision: https://phabricator.services.mozilla.com/D68162

--HG--
extra : moz-landing-system : lando
2020-03-27 10:41:06 +00:00
Mike Hommey
e25a8bf02e Bug 1450088 - Use Winchecksec instead of Binscope. r=dmajor
While almost rewriting autobinscope.py entirely (and renaming it),
switch to python 3.

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

--HG--
rename : build/win32/autobinscope.py => build/win32/autowinchecksec.py
extra : moz-landing-system : lando
2020-03-26 22:13:14 +00:00
Mike Hommey
a80be41972 Bug 1021214 - Run binscope on all executables and libraries. r=froydnj
This needs a few adjustments to the autobinscope script because running
binscope currently creates an HTML file in the binscope directory, and
when multiple binscopes run at the same time (which happens during the
build with the changes to run it on all executables and libraries), all
but one fail to open the HTML file for write access.

So add a flag to create that file in a temporary directory.

While here, remove log_file_path, which hasn't been used since
bug 1448306.

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

--HG--
extra : moz-landing-system : lando
2020-03-20 01:54:00 +00:00
Iain Ireland
f502cef5ef Bug 1624015: Update shim code to support new import r=mgaudet
Because most of the recent changes to irregexp were patches I contributed myself, we barely need to change any of the shim code.

The only notable change is the addition of '#define COMPILING_IRREGEXP_FOR_EXTERNAL_EMBEDDER'. This is the solution that Jakob Gruber and I eventually came up with for the question of what to do with awkward V8 code that SM doesn't want. For example, NativeRegExpMacroAssembler::Match (in regexp-macro-assembler.cc) gets down in the muck with the internal details of V8's String implementation. It would be most convenient for SM if that function just didn't exist; we aren't going to use it, and we don't want to have to define a bunch of unused string API gunk in our shim. The answer is to wrap functions we don't need in "#ifndef COMPILING_IRREGEXP_FOR_EXTERNAL_EMBEDDER", which solves our problem and is minimally disruptive upstream.

Depends on D67718

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

--HG--
extra : moz-landing-system : lando
2020-03-23 19:19:38 +00:00
Oana Pop Rus
55ec4515da Backed out changeset 8009b44fdab1 (bug 1021214) for build bustages in autobinscope.py on a CLOSED TREE 2020-03-20 03:49:30 +02:00
Mike Hommey
89f6c7e9b7 Bug 1021214 - Run binscope on all executables and libraries. r=froydnj
This needs a few adjustments to the autobinscope script because running
binscope currently creates an HTML file in the binscope directory, and
when multiple binscopes run at the same time (which happens during the
build with the changes to run it on all executables and libraries), all
but one fail to open the HTML file for write access.

So add a flag to create that file in a temporary directory.

While here, remove log_file_path, which hasn't been used since
bug 1448306.

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

--HG--
extra : moz-landing-system : lando
2020-03-20 00:41:44 +00:00
André Bargull
5020091e8c Bug 1610512 - Part 1: Update in-tree ICU to release 66.1. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D66555

--HG--
extra : moz-landing-system : lando
2020-03-19 01:09:56 +00:00
William Lachance
e4da848fd8 Bug 1623132 - Rewrite printconfigsetting to use configparser, python 3 r=rstewart
Differential Revision: https://phabricator.services.mozilla.com/D67210

--HG--
extra : moz-landing-system : lando
2020-03-18 15:07:24 +00:00
Michael Woerister
5327bb2166 Bug 1623085 - Only explicitly set number of Rust codegen-units for target artifacts. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D67162

--HG--
extra : moz-landing-system : lando
2020-03-17 16:47:52 +00:00
Anthony Ramine
3d7a2ce032 Bug 1623073 - Properly prefix ICU data symbol with GNU as when needed; r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D67148

--HG--
extra : moz-landing-system : lando
2020-03-17 14:03:52 +00:00
Jan Beich
75deb5e1ac Bug 1622227 - Unhide more ICU headers after bug 1560038. r=zbraniecki
--HG--
extra : histedit_source : 0389f4496364d9dbebb9b49f899ac4833db5d37d
2020-03-17 09:57:56 +02:00
Ricky Stewart
13aa77e4a5 Bug 1619460 - ensure subsequent runs of ./mach build-backend under Python 3 produce consistent results r=dmajor
Dictionary iteration under Python 3 is in an inherently unpredictable order, and while we try to keep DEFINES ordered through the use of OrderedDicts, if at any point we populate DEFINES directly or indirectly while iterating through the contents of a non-ordered dictionary, the order of the DEFINES (and therefore the contents of the output Makefile) will be nondeterministic as well. This patch makes a number of changes to ensure that we only ever populate DEFINES in a deterministic fashion. (Note that in Python 3.7 and later, the built-in dict class actually has deterministic ordering, so these changes are technically only necessary until our minimum Python version becomes 3.7.)

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

--HG--
extra : moz-landing-system : lando
2020-03-12 21:05:26 +00:00
Narcis Beleuzu
4437350f38 Backed out changeset 1f0cfca78242 (bug 1619460) perf regression in automation, req by rstewart. CLOSED TREE
--HG--
extra : rebase_source : ef3f1ce03bc9fdedb81d33ede68f9925f447ba32
2020-03-12 19:37:27 +02:00
Mike Shal
2626cb441d Bug 1620744 - Convert jar_maker action to py3; r=firefox-build-system-reviewers,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D65857

--HG--
extra : moz-landing-system : lando
2020-03-10 20:19:47 +00:00
Mike Shal
c2e3a05aa3 Bug 1620744 - Convert dumpsymbols.py to py3; r=firefox-build-system-reviewers,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D65856

--HG--
extra : moz-landing-system : lando
2020-03-10 20:19:44 +00:00
Mike Shal
b5ef4a8d81 Bug 1620744 - Convert check_binary.py to py3; r=firefox-build-system-reviewers,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D65855

--HG--
extra : moz-landing-system : lando
2020-03-10 20:19:42 +00:00
Mike Shal
4017368b2f Bug 1620744 - Use py3_action for cases that already support it; r=firefox-build-system-reviewers,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D65846

--HG--
extra : moz-landing-system : lando
2020-03-10 20:19:13 +00:00
Daniel Varga
09acd57d19 Backed out 13 changesets (bug 1620744) for causing diffoscope failures firefox/browser/chrome/browser/content/browser/built_in_addons.json
CLOSED TREE

Backed out changeset 6beda54bcb9b (bug 1620744)
Backed out changeset a1e97f0b91ef (bug 1620744)
Backed out changeset b8faa0184d4f (bug 1620744)
Backed out changeset 3bc8fda68107 (bug 1620744)
Backed out changeset 8e95b21b2ae3 (bug 1620744)
Backed out changeset 1de09de1a802 (bug 1620744)
Backed out changeset 622a2f7414fa (bug 1620744)
Backed out changeset 3372c9ab721c (bug 1620744)
Backed out changeset 0997313a9f99 (bug 1620744)
Backed out changeset 2fa34749bbfa (bug 1620744)
Backed out changeset 6d597d2eb792 (bug 1620744)
Backed out changeset 78e78f7c7b26 (bug 1620744)
Backed out changeset 6e4d85b19f88 (bug 1620744)
2020-03-10 21:13:18 +02:00
Mike Shal
45ba77d509 Bug 1620744 - Convert jar_maker action to py3; r=firefox-build-system-reviewers,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D65857

--HG--
extra : moz-landing-system : lando
2020-03-09 22:02:48 +00:00
Mike Shal
a6b38f31ae Bug 1620744 - Convert dumpsymbols.py to py3; r=firefox-build-system-reviewers,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D65856

--HG--
extra : moz-landing-system : lando
2020-03-10 17:38:05 +00:00
Mike Shal
7e2ee7cfd9 Bug 1620744 - Convert check_binary.py to py3; r=firefox-build-system-reviewers,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D65855

--HG--
extra : moz-landing-system : lando
2020-03-09 22:02:43 +00:00
Mike Shal
a1ea58eb94 Bug 1620744 - Use py3_action for cases that already support it; r=firefox-build-system-reviewers,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D65846

--HG--
extra : moz-landing-system : lando
2020-03-09 22:02:22 +00:00
Ricky Stewart
5a39034089 Bug 1619460 - ensure subsequent runs of ./mach build-backend under Python 3 produce consistent results r=dmajor
Dictionary iteration under Python 3 is in an inherently unpredictable order, and while we try to keep DEFINES ordered through the use of OrderedDicts, if at any point we populate DEFINES directly or indirectly while iterating through the contents of a non-ordered dictionary, the order of the DEFINES (and therefore the contents of the output Makefile) will be nondeterministic as well. This patch makes a number of changes to ensure that we only ever populate DEFINES in a deterministic fashion. (Note that in Python 3.7 and later, the built-in dict class actually has deterministic ordering, so these changes are technically only necessary until our minimum Python version becomes 3.7.)

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

--HG--
extra : moz-landing-system : lando
2020-03-09 22:34:19 +00:00
ffxbld
7a35fa9703 Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2020-03-09 15:41:51 +00:00
Greg V
9949bb054e Bug 1594027 - add more STL wrappers to fix build with libc++ 9 r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D62847

--HG--
extra : moz-landing-system : lando
2020-02-24 20:18:01 +00:00
Mike Hommey
d2ca2acccf Bug 1620165 - Support compiling icudata.asm through Wine. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D65479

--HG--
extra : moz-landing-system : lando
2020-03-05 21:37:14 +00:00
Ricky Stewart
bd01350f97 Bug 1619788 - Ensure files generated by ./mach configure don't have CRLF line endings, even under Python 3 r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D65354

--HG--
extra : moz-landing-system : lando
2020-03-06 02:19:21 +00:00
Mike Shal
f91105f2f1 Bug 1618620 - Convert run_spidermonkey_checks.py to py3; r=firefox-build-system-reviewers,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D64625

--HG--
extra : moz-landing-system : lando
2020-02-28 00:28:36 +00:00
Mike Hommey
01879b59e1 Bug 1618766 - Properly find and use MT on Windows cross-builds. r=froydnj
- Remove the separate option() for MT, because it dates back from when
  we needed `MT` not being an absolute path, but that hasn't been true
  since bug 1290040.

- Extend what was done in bug 1617794 to MT, although the long term move
  is to not rely on MT at all.

- Patch leftovers from bug 1613799.

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

--HG--
extra : moz-landing-system : lando
2020-02-28 12:33:03 +00:00
Mike Hommey
f9285c1941 Bug 1618760 - Remove MSVC-specific include hacks in header wrappers. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D64708

--HG--
extra : moz-landing-system : lando
2020-02-28 21:41:18 +00:00
Tooru Fujisawa
350ed0cf8c Bug 1612515 - Part 6: Import the SmooshMonkey change from rust-frontend. r=jorendorff,glandium
Differential Revision: https://phabricator.services.mozilla.com/D64170

--HG--
extra : moz-landing-system : lando
2020-02-28 14:17:33 +00:00
Mike Hommey
d747b65211 Bug 1617794 - Wrap Windows tools with Wine on cross builds. r=dmajor
Windows programs run via Wine don't like Unix absolute paths (they look
like command line arguments), so we need to use relative paths.

Mingw already run fxc2 via wine, but for some reason it doesn't care
about the Unix absolute paths. genshaders does need some adjustements to
run properly with the real fxc.

Now, on actual Windows, because the temporary directory where
tempfile.NamedTemporaryFile creates files by default is not necessarily
on the same drive as where the command runs from, a relative path can't
be constructed. So we also force the temporary file to be created in the
current (obj) directory.

There is no similar concern for other files because we only go from
objdir to srcdir, and the build system already doesn't support both
being on a separate drive.

While here, flush stdout when the genshared script writes to it, so that
the messages are printed out immediately rather than randomly, later,
after output from subprocesses.

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

--HG--
extra : moz-landing-system : lando
2020-02-27 04:42:57 +00:00
Mike Hommey
83f784d880 Bug 1617794 - Properly set the target flag for bindgen when cross compiling for Windows. r=chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D64292

--HG--
extra : moz-landing-system : lando
2020-02-26 20:52:09 +00:00
David Major
5310d823e4 Bug 1617639 - No need to pass -LTCG in AR_FLAGS for Windows r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D63888

--HG--
extra : moz-landing-system : lando
2020-02-24 20:16:55 +00:00
Marco Bonardo
b5b6473a6d Bug 1611386 - Drop support for --enable-system-sqlite. r=asuth,glandium
Differential Revision: https://phabricator.services.mozilla.com/D63177

--HG--
extra : moz-landing-system : lando
2020-02-20 22:16:03 +00:00
Mike Shal
c8abdd68c2 Bug 1616630 - Use py3_action for GENERATED_FILES that already support it; r=firefox-build-system-reviewers,kvark,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D63438

--HG--
extra : moz-landing-system : lando
2020-02-21 00:05:17 +00:00
Csoregi Natalia
6360b24e80 Backed out 2 changesets (bug 1616630) for Android bustage. CLOSED TREE
Backed out changeset 15016546c954 (bug 1616630)
Backed out changeset dcb7dc51633b (bug 1616630)
2020-02-20 21:24:11 +02:00
Mike Shal
39492660f4 Bug 1616630 - Use py3_action for GENERATED_FILES that already support it; r=firefox-build-system-reviewers,kvark,rstewart
Depends on D63437

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

--HG--
extra : moz-landing-system : lando
2020-02-20 16:21:55 +00:00
Ricky Stewart
8528d9c4dd Bug 1613263 - Use io.open() rather than open() in mozbuild/preprocessor.py r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D61647

--HG--
extra : moz-landing-system : lando
2020-02-19 21:50:50 +00:00
Nick Alexander
7f5f33cf2f Bug 1616426 - Make cargo use --color=never on Windows. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D63279

--HG--
extra : moz-landing-system : lando
2020-02-19 01:26:38 +00:00
Mike Shal
d8e4653d19 Bug 1611326 - Default to py3_action, and add a py2 attribute to GENERATED_FILES; r=firefox-build-system-reviewers,rstewart
GENERATED_FILES now defaults to python3 unless py2=True is specified as
an argument. All existing GENERATED_FILES scripts and GeneratedFile
templates have the py2=True attribute added, so this patch should
effectively be a no-op.

Going forward, individual scripts can be converted to python3 and their
corresponding py2=True attribute can be deleted. In effect, this patch
will be backed out in pieces until all scripts run in python3, at which
point the py2 attribute itself can be removed.

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

--HG--
extra : moz-landing-system : lando
2020-02-14 13:22:46 +00:00
Nathan Froyd
e2ce985f34 Bug 1615072 - don't trigger the deadlock detector from static initializers for RWLock; r=mccr8
This change is a little gross, because we don't totally control where
the statically initialized instances of `RWLock` live, due to its uses
in third-party libraries.

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

--HG--
extra : moz-landing-system : lando
2020-02-14 21:44:05 +00:00
Cosmin Sabou
ff39f9206d Backed out 2 changesets (bug 1613263, bug 1611326) for presummably causing l10n langpack bustages. a=backout
Backed out changeset 77e54e76848a (bug 1611326)
Backed out changeset 36ba18ac3a68 (bug 1613263)
2020-02-14 15:02:21 +02:00
Mike Shal
ad0c283ab2 Bug 1611326 - Default to py3_action, and add a py2 attribute to GENERATED_FILES; r=firefox-build-system-reviewers,rstewart
GENERATED_FILES now defaults to python3 unless py2=True is specified as
an argument. All existing GENERATED_FILES scripts and GeneratedFile
templates have the py2=True attribute added, so this patch should
effectively be a no-op.

Going forward, individual scripts can be converted to python3 and their
corresponding py2=True attribute can be deleted. In effect, this patch
will be backed out in pieces until all scripts run in python3, at which
point the py2 attribute itself can be removed.

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

--HG--
extra : moz-landing-system : lando
2020-02-13 23:07:04 +00:00
Mike Hommey
89d916fc02 Bug 1615204 - Remove some MSVC-only compiler flags. r=dmajor
- -NOLOGO is used to hide the banner that MSVC displays by default. It's
a no-op with clang-cl, no need to keep it now that we don't support
MSVC.

- -utf-8 is only passed when the compiler is not GCC-ish and not
clang-cl, which used to mean MSVC, but now means no compiler.

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

--HG--
extra : moz-landing-system : lando
2020-02-13 13:40:15 +00:00
Nathan Froyd
b5ec5b84be Bug 1610986 - invoke lucetc with custom LD and LDFLAGS; r=firefox-build-system-reviewers,rstewart
`lucetc` by default will invoke `ld` directly, which is usually not what
we want, particularly when cross-compiling.  Instead, let's invoke the
compiler, which will do the hard work of determining the correct linker
to use, and we'll also explicitly specify `LDFLAGS`, since the default
`LDFLAGS` from `lucetc` assume you're invoking the linker directly.

Depends on D62797

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

--HG--
extra : moz-landing-system : lando
2020-02-13 21:19:56 +00:00
Nathan Froyd
9df9f90a4a Bug 1610986 - add a specific target for lucet compilation; r=firefox-build-system-reviewers,rstewart
We're going to need this for handling Mac cross compiles correctly.

Depends on D62795

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

--HG--
extra : moz-landing-system : lando
2020-02-13 21:20:34 +00:00
Brindusan Cristian
e2fb6b8344 Backed out changeset 7fefed11f117 (bug 1611326) for build bustages at update-1.xpi.stub. CLOSED TREE 2020-02-13 23:33:34 +02:00
Ricky Stewart
728d4108db Bug 1613263 - Use io.open() rather than open() in mozbuild/preprocessor.py r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D61647

--HG--
extra : moz-landing-system : lando
2020-02-13 17:27:53 +00:00
Mike Shal
e6464dd404 Bug 1611326 - Default to py3_action, and add a py2 attribute to GENERATED_FILES; r=firefox-build-system-reviewers,rstewart
GENERATED_FILES now defaults to python3 unless py2=True is specified as
an argument. All existing GENERATED_FILES scripts and GeneratedFile
templates have the py2=True attribute added, so this patch should
effectively be a no-op.

Going forward, individual scripts can be converted to python3 and their
corresponding py2=True attribute can be deleted. In effect, this patch
will be backed out in pieces until all scripts run in python3, at which
point the py2 attribute itself can be removed.

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

--HG--
extra : moz-landing-system : lando
2020-02-13 20:31:50 +00:00
shindli
b1e3726298 Backed out changeset 54f82c735487 (bug 1613263) for causing diff artifact bustages in generated-files.diff.txt CLOSED TREE 2020-02-13 03:51:15 +02:00
Ricky Stewart
3314dda593 Bug 1613263 - Use io.open() rather than open() in mozbuild/preprocessor.py r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D61647

--HG--
extra : moz-landing-system : lando
2020-02-12 23:19:37 +00:00
shravanrn@gmail.com
4fbd7a0f7c Bug 1610991 - Update rlbox_lucet lib to Mac compatible version r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D61077

--HG--
extra : moz-landing-system : lando
2020-02-12 04:11:49 +00:00
ffxbld
0d739c0fa1 Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2020-02-10 10:58:31 +00:00
Michael Woerister
785600d4d3 Bug 1613649 - Explicitly opt-out of Rust's local ThinLTO for DEVELOPER_OPTIONS builds. r=firefox-build-system-reviewers,chmanchester
By default the Rust compiler will perform a limited kind of ThinLTO on each
crate. For local builds this additional optimization is not worth the
increase in compile time.

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

--HG--
extra : moz-landing-system : lando
2020-02-07 08:55:04 +00:00
Mike Hommey
b62c405df2 Bug 1613799 - Stop supporting manifests in the objdir. r=froydnj
Baby steps. Working towards not using $(MT), let's unsupport what we
currently don't rely on (and in case someone would try to rely on it,
throw an error).

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

--HG--
extra : moz-landing-system : lando
2020-02-07 01:06:07 +00:00
Marco Castelluccio
459b81c52f Bug 1509665 - Only pass the base compiler flags for all coverage builds. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D61504

--HG--
extra : moz-landing-system : lando
2020-02-03 20:43:07 +00:00