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

5538 Коммитов

Автор SHA1 Сообщение Дата
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