Commit Graph

1356 Commits

Author SHA1 Message Date
Chris Manchester
0ba415cc98 Bug 1482299 - Replace libxul.mk with OBJDIR_PP_FILES. r=ted,firefox-build-system-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D3371

--HG--
extra : moz-landing-system : lando
2018-08-15 14:04:00 +00:00
Chris Manchester
c346a68ae0 Bug 1474028 - Add a way to exclude libraries from the default build. r=ted
MozReview-Commit-ID: MVfplx9lN2

--HG--
extra : rebase_source : 10b4bd3dcc1386d782531206c84b66207297d00a
2018-08-10 12:07:29 -07:00
Narcis Beleuzu
f4e5fb2d0f Backed out 2 changesets (bug 1474028) per chmanchester`s request. a=backout
Backed out changeset 52bd814d3589 (bug 1474028)
Backed out changeset 39a528147c34 (bug 1474028)
2018-08-12 21:22:45 +03:00
Chris Manchester
2476269229 Bug 1474028 - Add a way to exclude libraries from the default build. r=ted
MozReview-Commit-ID: MVfplx9lN2

--HG--
extra : rebase_source : 3eb5352b5bc0d1b9be857c16efa5af0313afb6e7
2018-08-10 12:07:29 -07:00
Myk Melez
2c2b6eebf9 Bug 1445451 - vendor rkv; r=froydnj
MozReview-Commit-ID: KbcADpNltYq

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

--HG--
rename : third_party/rust/synstructure/.cargo-checksum.json => third_party/rust/synstructure-0.8.1/.cargo-checksum.json
rename : third_party/rust/synstructure/Cargo.toml => third_party/rust/synstructure-0.8.1/Cargo.toml
rename : third_party/rust/synstructure/README.md => third_party/rust/synstructure-0.8.1/README.md
rename : third_party/rust/synstructure/src/lib.rs => third_party/rust/synstructure-0.8.1/src/lib.rs
rename : third_party/rust/synstructure/src/macros.rs => third_party/rust/synstructure-0.8.1/src/macros.rs
extra : moz-landing-system : lando
2018-08-09 19:42:17 +00:00
Daniel Varga
edef4f17d4 Backed out changeset 08fa47a24e89 (bug 1445451) for failing Btup 2018-08-09 02:20:25 +03:00
Myk Melez
2d46903ee1 Bug 1445451 - vendor rkv r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D2246

--HG--
rename : third_party/rust/synstructure/.cargo-checksum.json => third_party/rust/synstructure-0.8.1/.cargo-checksum.json
rename : third_party/rust/synstructure/Cargo.toml => third_party/rust/synstructure-0.8.1/Cargo.toml
rename : third_party/rust/synstructure/README.md => third_party/rust/synstructure-0.8.1/README.md
rename : third_party/rust/synstructure/src/lib.rs => third_party/rust/synstructure-0.8.1/src/lib.rs
rename : third_party/rust/synstructure/src/macros.rs => third_party/rust/synstructure-0.8.1/src/macros.rs
extra : moz-landing-system : lando
2018-08-08 20:59:21 +00:00
Chris Manchester
137ac2c7e2 Bug 1478499 - Move symbol version script generation for js shared library to moz.build. r=mshal
MozReview-Commit-ID: 7H287jfbrVF

--HG--
rename : toolkit/library/gen_symverscript.py => build/gen_symverscript.py
extra : rebase_source : b2015cac12daccc4368e263008620532d67ec4ec
2018-08-01 13:25:38 -07:00
Andreea Pavel
67ce5df76f Backed out 6 changesets (bug 1478499) for failing spidermonkey pkg
Backed out changeset 9dee6a08a2dd (bug 1478499)
Backed out changeset 3982c14a834e (bug 1478499)
Backed out changeset 6f6e562e2013 (bug 1478499)
Backed out changeset 03f68a47b89e (bug 1478499)
Backed out changeset 237dc169f486 (bug 1478499)
Backed out changeset 3f72358d338a (bug 1478499)
2018-08-01 22:22:41 +03:00
Chris Manchester
493ea8dbbd Bug 1478499 - Move symbol version script generation for js shared library to moz.build. r=mshal
MozReview-Commit-ID: JF3dtk0ybw2

--HG--
extra : rebase_source : b04a5dae91f8a22f5871c9d0cbc38b83171fe90d
2018-07-31 15:29:42 -07:00
Chris Manchester
01b209808d Bug 1478561 - Bump OOM hook rustc version check to check for greater than 1.30.0-alpha. r=glandium
MozReview-Commit-ID: ESiK7tqHMT0

--HG--
extra : rebase_source : 1c3b406d95de349f8a64f8415b813ed2fcedf8cd
2018-07-30 16:46:20 -07:00
Franziskus Kiefer
3d0b306faa Bug 1464828 - DAR API with libsecret and NSS back-end, r=keeler,m_and_m,froydnj
This implements an API in `nsIOSKeyStore.idl` and `OSKeyStore.cpp` to encrypt and decrypt bytes with a key that is stored in the OS key store.
There are two OS adapters in this patch.
Libsecret is used on Linux if available.
The NSS key store is used as fallback if no OS specific key store is implemented.

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

--HG--
extra : rebase_source : 99d7d646968a46a13ffa61885bb246f6d3e443e4
2018-07-26 16:05:35 +02:00
Nicholas Nethercote
e6f8df84ad Bug 1477622 - Add microbenchmarks measuring hash table performance. r=froydnj
--HG--
extra : rebase_source : 2d76bfcb862b3b690ea8db2b5b007dde2a90f914
2018-07-24 10:38:43 +10:00
Stephen A Pohl
b25dbdce5c Bug 1290972: Remove linker flags for macOS that are no longer necessary and cause crashes such as bug 1471366 due to an inability to handle native exceptions when these flags are used. r=froydnj 2018-07-17 10:27:46 -04:00
Tiberius Oros
92ba19b150 Merge inbound to mozilla-central. a=merge 2018-07-10 12:45:13 +03:00
Nathan Froyd
5c5a455e97 Bug 1444171 - use the order file during re-link with clang-cl; r=glandium
Now that we've generated an order file of the first N functions invoked
during startup, let's tell the linker about said functions so it can
cluster them appropriately.
2018-07-09 18:36:14 -04:00
Chris Manchester
dc4c4637b0 Bug 1468547 - Re-factor gtest mach command to not invoke make when not necessary. r=mshal
MozReview-Commit-ID: 6j7t0YIZc8n

--HG--
extra : rebase_source : e4478904d4f4e54ead473435df2c9e9a47a9294c
2018-07-09 14:28:59 -07:00
Chris Manchester
ff7a5531ac Bug 1472857 - Allow rustc 1.27 to build in automation for the sake of the base-toolchains build. r=glandium
MozReview-Commit-ID: EQj9aLbbckA

--HG--
extra : rebase_source : 072ec286faefb00480ab51e099a36636cb05233b
2018-07-03 15:27:20 -07:00
Tiberius Oros
eacc3eda3e Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-06-28 01:15:41 +03:00
Jacek Caban
29adb6362f Bug 1471293 - Support using llvm-objdump in dependentlibs.py r=glandium
MozReview-Commit-ID: 8b0o06EQh3n

--HG--
extra : rebase_source : e5a3296723d6a64db38427d4b30fb820d0516abd
2018-06-26 15:15:19 +02:00
Nathan Froyd
95af520ba8 Bug 1299278 - remove --with-servo configure option; r=nalexander
This option is no longer needed.
2018-06-27 12:57:39 -04:00
Mike Hommey
72fd93fa0f Bug 1471096 - Choose OOM hooking version to use at build time rather than configure time. r=froydnj
When I originally implemented bug 1458161, this is how it was done, but
it was suggested to use a configure-time check. This turned out to not
be great, because the rust compiler changes regularly, and we don't run
the configure tests when the version changes. When people upgraded their
rust compiler to 1.27, the code subsequently failed to build because the
features were still set for the previous version they had installed.

--HG--
extra : rebase_source : 1b5f7a02ad8495d68cd29289f7beea59b8912183
2018-06-23 07:28:26 +09:00
Mike Hommey
733f22fb0d Bug 1471096 - Vendor rustc_version. r=froydnj
--HG--
extra : rebase_source : ea0b7697b33e1ec6554ba90a354c8b314293800c
2018-06-26 10:00:26 +09:00
Mike Hommey
0ddc27774e Bug 1471132 - Change how static xpcom components are linked. r=froydnj
Overall, this makes the whole setup less fragile, and make it work with
LTO in more situations.

--HG--
extra : rebase_source : de968c61dc4ef337fdc28745c202334ac41763cd
2018-06-26 14:40:51 +09:00
Mike Hommey
354a9e27a0 Bug 1470127 - Move binary checks to a standalone script. r=froydnj
We perform, on the binaries we build, a series of check, that are
implemented as half-baked make commands, invoked after linking them.

- check libstdc++ symbol versions to ensure binary compatibility with
  a baseline.
- check glibc symbol versions to ensure binary compatibility with a
  baseline.
- check that target binaries don't contain text relocations.
- check that libmozglue is linked before libc on android.
- on libxul, check that NSModules are laid out correctly.
- on libxul, check that there is more than one PT_LOAD segment.

Those checks happen to work where they matter, but their setup is
unreliable. For example, the checks for symbol versions are supposed to
work for libclang-plugin on cross osx builds, but in fact, don't,
because the readelf path doesn't exist, and the command doesn't fail in
that case.

So move them all to a standalone script, performing the checks more
thoroughly (especially the NSModules one, where we now also check that
they are all adjacent), and more verbosely.

--HG--
extra : rebase_source : 7072e622e95f363d4a6c3a8e272d3445d998b592
2018-06-21 18:13:03 +09:00
Narcis Beleuzu
dfdddff94d Merge autoland to mozilla-central. a=merge 2018-06-21 12:46:57 +03:00
Makoto Kato
98b8c3e3a6 Bug 1469760 - Add hid.dll and msimg32.dll to delay load dlls r=dmajor
hid.dll and msimg32.dll are unused at start up on Windows 10 RS4, so we can
move these dlls to delay load dll.

Differential Revision: https://phabricator.services.mozilla.com/D1722
2018-06-20 14:24:50 +00:00
Cosmin Sabou
c913a59748 Merge central to inbound. a=merge 2018-06-21 04:19:13 +03:00
Mike Hommey
f73a72d4c0 Fixup moz.build error logic from bug 1465709. r=me 2018-06-21 07:26:48 +09:00
Mike Hommey
0d05f8f1bc Bug 1469766 - Update OOM hook on rustc 1.28 after rust PR 51543. r=froydnj
--HG--
extra : rebase_source : ac43ba616b4ed00f54b8c79f909174f8603604c6
2018-06-20 13:44:10 +09:00
Chris Manchester
30f730a545 Bug 1319228 - Build dependentlibs.list in the tup backend, create a group for shared libraries to be used as its input. r=mshal
MozReview-Commit-ID: 5nDZpTcqVfv

--HG--
extra : rebase_source : faa44a40404b24f753ba25962397a1ca484de3fe
2018-06-13 22:33:23 -07:00
shindli
11cbcef059 Backed out 6 changesets (bug 1319228) for Btup bustages on Linux x64 on a CLOSED TREE
Backed out changeset 2eedbab9137b (bug 1319228)
Backed out changeset 6ba05238789f (bug 1319228)
Backed out changeset badf116dde30 (bug 1319228)
Backed out changeset a218f97e1b48 (bug 1319228)
Backed out changeset d3c835477d11 (bug 1319228)
Backed out changeset 3f3fa38b1a5f (bug 1319228)
2018-06-14 00:46:46 +03:00
Chris Manchester
25a7f13729 Bug 1319228 - Build dependentlibs.list in the tup backend, create a group for shared libraries to be used as its input. r=mshal
MozReview-Commit-ID: 3nvHaS5ZcIg

--HG--
extra : rebase_source : 4d9d4379a07eee5b7ee6ffde0e60d156c8c88333
2018-06-13 13:00:24 -07:00
Mike Hommey
d0e5083a98 Bug 1465709 - Hook rust OOM handler on rustc 1.28. r=froydnj
Bug 1458161 added a rust OOM handler based on an unstable API that was
removed in 1.27, replaced with something that didn't allow to get the
failed allocation size.

Latest 1.28 nightly (2018-06-13) has
https://github.com/rust-lang/rust/pull/50880,
https://github.com/rust-lang/rust/pull/51264 and
https://github.com/rust-lang/rust/pull/51241 merged, which allow to
hook the OOM handler and get the failed allocation size again.

Because this is still an unstable API, we explicitly depend on strict
versions of rustc. We also explicitly error out if automation builds
end up using a rustc version that doesn't allow us to get the allocation
size for rust OOM, because we don't want that to happen without knowing.

--HG--
extra : rebase_source : 6c097151046d088cf51f4755dd69bde97bb8bd8b
2018-05-31 16:36:05 +09:00
Henri Sivonen
e4805fd183 Bug 1466807 - Update encoding_rs to 0.8.0. r=emk
MozReview-Commit-ID: 30vmruy1kiL

--HG--
extra : rebase_source : 0e3e489fde0485919cd03529ba5d6d030863bfc1
2018-06-05 13:50:20 +03:00
Mike Hommey
8b091c97fd Bug 1464522 - Count static initializers from the crash reporter symbol files. r=froydnj
The crash reporter symbol files are the easiest cross-platform way to
find static initializers. While some types of static initializers (e.g.
__attribute__(constructor) functions) don't appear there in a notable
way, the static initializers we do care the most about for tracking do
(static initializers from C++ globals). As a matter of fact, there is
only a difference of 2 compared to the currently reported count of 125
on a linux64 build, so this is a good enough approximation. And allows
us to easily track the count on Android, OSX and Windows builds, which
we currently don't do.

The tricky part is that the symbol files are in
dist/crashreporter-symbols/$lib/$fileid/$lib.sym, and $fileid is hard to
figure out. There is a `fileid` tool in testing/tools, but it is a
target binary, meaning it's not available on cross builds (OSX,
Android).

So the simplest is just to gather the data while creating the symbol
files, which unfortunately requires to go through some hoops to make it
happen for just the files we care about.

--HG--
extra : rebase_source : 458fed1ffd6f9294eefef61f10ff7a284af0d986
2018-05-29 08:48:47 +09:00
Kris Maglione
f8506d46d0 Bug 1460600: Remove unsupported --enable-system-hunspell flag. r=glandium
Our bundled Hunspell now significantly differs from upstream Hunspell. Most
importantly, it supports loading dictionaries from jar: URIs, which is now a
requirement for loading bundled and extension dictionaries. This means that
system Hunspell libraries are no longer compatible with our spell checker
code. We should remove the option to use them so that users don't fall into
the trap of trying to use them.

MozReview-Commit-ID: 2ihJe6YOnGf

--HG--
extra : rebase_source : ceb091b9475a2b101156405a02a60015fc36da17
2018-05-10 10:36:53 -07:00
Tom Ritter
faac718e99 Bug 1457295 Trick clang+lld+lto into ordering NSModules correctly also r=glandium
MozReview-Commit-ID: 4JgOOVhA3YU

--HG--
extra : rebase_source : e99d6fdf715064339b01935eedc213bbe98a3deb
2018-04-27 09:29:37 -05:00
Matthew Gregan
c34ad7d35b Bug 1457359 - Update mp4parse and disable FallibleVec when jemalloc is disabled. r=glandium,jya
Update mp4parse-rust to 0c8e1d91464aaa63b82ebf076b63cda1df4230d1, which adds
uuid parsing support and exports the mp4parse_fallible feature from
mp4parse_capi.

Update gkrust to pass MOZ_MEMORY as a feature, and use that to conditionally
enable mp4parse_fallible/FallibleVec.

MozReview-Commit-ID: 2HDYbL2CGgJ

--HG--
extra : rebase_source : 6e8cf15241b0282406322cce29220a677edd1585
2018-05-10 12:11:51 +12:00
Coroiu Cristina
b11f8e3794 Backed out changeset b5fac38dc791 (bug 1457359) for build bustage on a CLOSED TREE 2018-05-11 04:17:18 +03:00
Matthew Gregan
f5a2e9785e Bug 1457359 - Update mp4parse and disable FallibleVec when jemalloc is disabled. r=glandium,jya
Update mp4parse-rust to 0c8e1d91464aaa63b82ebf076b63cda1df4230d1, which adds
uuid parsing support and exports the mp4parse_fallible feature from
mp4parse_capi.

Update gkrust to pass MOZ_MEMORY as a feature, and use that to conditionally
enable mp4parse_fallible/FallibleVec.

MozReview-Commit-ID: 2HDYbL2CGgJ

--HG--
extra : rebase_source : 299d9f8347d2f0ef0d66b9ea52a4ee7a31af0cd2
2018-05-10 12:11:51 +12:00
Ted Mielczarek
4fa1d9ed5a bug 1408502 - embed natvis info for Gecko types in our PDB files. r=froydnj
MSVC supports XML natvis files for pretty-printing types in the debugger:
https://docs.microsoft.com/en-us/visualstudio/debugger/create-custom-views-of-native-objects

The gecko.natvis in this commit is from vlad's github repo:
https://github.com/mozilla/moz-dev-contrib/blob/master/windows/Gecko.natvis

This change simply makes the linker embed this natvis file into xul.pdb
when linking xul.dll, so that Microsoft's debuggers can more usefully
display Gecko data types. With this file in-tree it should be easy for
developers to make additions or improvements.

MozReview-Commit-ID: JZhxyaDODC1

--HG--
extra : rebase_source : 75f9a71fdd3f315d98a34f0209956e07c7372b4f
2018-03-14 14:07:15 -04:00
Xidorn Quan
c8ab3318eb Bug 1457524 part 5 - Add crates with tests into the list of RUST_TESTS. r=froydnj,heycam
MozReview-Commit-ID: AaENV1xKKTg

--HG--
extra : rebase_source : cad65a85a66df2a10d5074bc36d932319163be93
2018-05-02 12:01:33 +10:00
Xidorn Quan
1c8dc43017 Bug 1457524 part 1 - Use a list for rust tests. r=froydnj
MozReview-Commit-ID: 6A0hHClXDUE

--HG--
extra : rebase_source : 827bb569642aa2ad834b94f08af3f60b68552de4
2018-05-02 11:51:25 +10:00
Mike Hommey
ed54beeab0 Bug 1458161 - Hook rust OOM handler. r=froydnj
OOM rust crashes are currently not identified as such in crash reports
because rust libstd handles the OOMs and panics itself.

There are unstable ways to hook into this, which unfortunately are under
active changes in rust 1.27, but we're currently on 1.24 and 1.27 is not
released yet. The APIs didn't change between 1.24 and 1.26, so it's
fine-ish to use them as long as we limit their use to those versions.

As long as the Firefox versions we ship (as opposed to downstream) use
the "right" version of rust, we're good to go.

The APIs are in their phase of stabilization, so there shouldn't be too
many variants of the code to support.

--HG--
extra : rebase_source : 08a85aa102b24380b1f6764effffcc909ef3191b
2018-05-01 10:30:03 +09:00
sotaro
666719aa81 Bug 1456350 - Forward webrender error log to gfxCriticalNote r=bholley 2018-04-27 16:48:39 +09:00
Nika Layzell
4f380cfe7d Bug 1444151 - Part 3: Only create a single allocation for MozURL objects, which is managed by rust, r=valentin
This patch rewrites the rust-url-capi crate as the mozurl crate, which
provides a threadsafe MozURL object which is compatible with the
previous MozURL class.

Creating a MozURL this way performs a single allocation, which contains
only a rust-url Url object and an atomic refcnt, however it is fully
compatible with the C++ RefPtr type.

This patch also exposes methods for accessing dependent substrings of
the serialized spec, meaning that string copies can be avoided in many
situations when inspecting attributes of the MozURL.




--HG--
rename : netwerk/base/rust-url-capi/.gitignore => netwerk/base/mozurl/.gitignore
2018-04-10 17:49:50 -04:00
Matt Brubeck
c6fc591471 Bug 1451945 - Remove syn dependency from gkrust-shared. r=ted
Remove the syn dependency from gkrust-shared, which was added in bug 1373878
as a workaround for this Cargo bug:

https://github.com/rust-lang/cargo/issues/3923

MozReview-Commit-ID: L34J0davEYd

--HG--
extra : rebase_source : 79e5684cba143f6215e7dcf9367f82227bca48c5
2018-04-05 15:51:14 -07:00
Dan Glastonbury
9e176607b5 Bug 1432779 - Rust vendor. r=jya
MozReview-Commit-ID: 5FQjIPBWTEZ
2018-03-24 10:57:58 +01:00
Emilio Cobos Álvarez
24cf27d33c Bug 1447611: Remove --enable-stylo and --enable-stylo-build-bindgen. r=froydnj
Will remove the prefs and stuff in a followup.

MozReview-Commit-ID: HVyfbHOEQYI
2018-03-21 19:13:26 +01:00
Csoregi Natalia
d6c6d38406 Backed out 4 changesets (bug 1447611) for mass failures due to --enable-stylo removal. CLOSED TREE
Backed out changeset c6193142bbcf (bug 1447611)
Backed out changeset 01ada1c5a95f (bug 1447611)
Backed out changeset 86c9fed44da2 (bug 1447611)
Backed out changeset bb84ac6e1468 (bug 1447611)
2018-03-21 19:01:07 +02:00
Emilio Cobos Álvarez
330ddd82bf Bug 1447611: Remove --enable-stylo and --enable-stylo-build-bindgen. r=froydnj
Will remove the prefs and stuff in a followup.

MozReview-Commit-ID: HVyfbHOEQYI
2018-03-21 17:24:41 +01:00
Paul Ellenbogen
9a973356aa Bug 1379265 - Add C API for rsdparsa; r=rillian
MozReview-Commit-ID: FdhpTT5wzwI

--HG--
extra : rebase_source : 9b0188b6e3c2604da77250b9e004508e91fe4497
2017-06-30 12:54:12 -07:00
Jan Beich
a09324313a Bug 1442753 - Use in-tree copy of cubeb-sys even when cubeb-remoting is disabled. r=kamidphish
MozReview-Commit-ID: 3dGtrSqr9HW

--HG--
extra : rebase_source : 2d29251178092a5a6206659ee01f546ca657dcd1
2018-03-05 03:38:33 +00:00
Matt Brubeck
be08cdcdc1 Bug 1381576 - Use a Cargo workspace for rust crates. r=ted
MozReview-Commit-ID: K6B9SifddXu

--HG--
extra : source : bbae7807c164273f6bb123d680a4fc31202d7a61
extra : amend_source : 53505e25f63a8eb228e62a0a9f3bd3ed98950296
extra : histedit_source : 597464181d4b79f5ac1a511d23e2a05aefb266da%2C63b89f3699e0e9598c8355e7293f10795acc80e7
2018-03-01 14:33:35 -08:00
Emilio Cobos Álvarez
ebde436970 No bug: Update bindgen to 0.33. r=nox on a CLOSED TREE
MozReview-Commit-ID: 4PgOmtt3zrg


--HG--
rename : third_party/rust/env_logger/.cargo-checksum.json => third_party/rust/env_logger-0.4.3/.cargo-checksum.json
rename : third_party/rust/env_logger/Cargo.toml => third_party/rust/env_logger-0.4.3/Cargo.toml
rename : third_party/rust/cfg-if-0.1.1/LICENSE-APACHE => third_party/rust/env_logger-0.4.3/LICENSE-APACHE
rename : third_party/rust/env_logger/src/lib.rs => third_party/rust/env_logger-0.4.3/src/lib.rs
rename : third_party/rust/env_logger/src/regex.rs => third_party/rust/env_logger-0.4.3/src/regex.rs
rename : third_party/rust/env_logger/src/string.rs => third_party/rust/env_logger-0.4.3/src/string.rs
rename : third_party/rust/env_logger/tests/regexp_filter.rs => third_party/rust/env_logger-0.4.3/tests/regexp_filter.rs
2018-03-02 20:30:14 +01:00
shindli
0ba01aed1b Backed out 3 changesets (bug 1381576) for Bugzilla linting failure on a CLOSED TREE
Backed out changeset 3bc1743ad418 (bug 1381576)
Backed out changeset bbae7807c164 (bug 1381576)
Backed out changeset 1ea18b70b170 (bug 1381576)
2018-03-02 21:17:20 +02:00
Matt Brubeck
c94fb26dea Bug 1381576 - Use a Cargo workspace for rust crates. r=ted
MozReview-Commit-ID: K6B9SifddXu

--HG--
extra : rebase_source : 75fae593e8765ec5b1e616d10eda0bc52f1f7194
extra : histedit_source : 21b38586bcc4576fce5eadff9a3c77ccf5e21341
2018-03-01 14:33:35 -08:00
Emilio Cobos Álvarez
04ea4e6ee0 Bug 1432153: Update bindgen. r=xidorn
on a CLOSED TREE.

MozReview-Commit-ID: BJH6Y58oYtk


--HG--
rename : third_party/rust/proc-macro2/.cargo-checksum.json => third_party/rust/proc-macro2-0.2.2/.cargo-checksum.json
rename : third_party/rust/proc-macro2/.travis.yml => third_party/rust/proc-macro2-0.2.2/.travis.yml
rename : third_party/rust/proc-macro2/Cargo.toml => third_party/rust/proc-macro2-0.2.2/Cargo.toml
rename : third_party/rust/proc-macro2/src/lib.rs => third_party/rust/proc-macro2-0.2.2/src/lib.rs
rename : third_party/rust/proc-macro2/src/stable.rs => third_party/rust/proc-macro2-0.2.2/src/stable.rs
rename : third_party/rust/proc-macro2/src/strnom.rs => third_party/rust/proc-macro2-0.2.2/src/strnom.rs
rename : third_party/rust/proc-macro2/tests/test.rs => third_party/rust/proc-macro2-0.2.2/tests/test.rs
2018-03-02 15:49:56 +01:00
Kartikaya Gupta
2cfaff56ac Bug 1440664 - Update Cargo lockfiles and re-vendor rust dependencies. r=jrmuizel
MozReview-Commit-ID: IZncD4fgDk7

--HG--
extra : rebase_source : e40e805ac4f069920277515ec509bc29c68b42d5
2018-03-01 16:51:58 -05:00
Servo VCS Sync
f5b5dab005 No bug - Revendor rust dependencies 2018-02-28 20:07:52 +00:00
Servo VCS Sync
ecd7b0490b No bug - Revendor rust dependencies 2018-02-28 10:03:41 +00:00
Servo VCS Sync
8c5c2dd863 No bug - Revendor rust dependencies 2018-02-27 06:13:30 +00:00
Dan Glastonbury
1f48e9c16c Bug 1440538 - P5: Vendor rust crates. r=rillian
MozReview-Commit-ID: 5YkwigTZxYG

--HG--
rename : third_party/rust/cmake/.cargo-checksum.json => third_party/rust/cmake-0.1.24/.cargo-checksum.json
rename : third_party/rust/cmake/Cargo.toml => third_party/rust/cmake-0.1.24/Cargo.toml
rename : third_party/rust/bitflags-0.9.1/LICENSE-APACHE => third_party/rust/cmake-0.1.24/LICENSE-APACHE
rename : third_party/rust/cmake/README.md => third_party/rust/cmake-0.1.24/README.md
rename : third_party/rust/cmake/src/lib.rs => third_party/rust/cmake-0.1.24/src/lib.rs
extra : rebase_source : 7a870d64b367d6d67060ecff86de1b7f8fc04471
2018-02-13 15:05:37 +10:00
Ralph Giles
ef7e020a97 Bug 1440449 - Remove codegen-units limit for debug builds. r=froydnj
Starting with Rust 1.24, the default codegen-units limit is 16,
with jobserver control to avoid overprovisioning. Remove our
previous fixed limit of 4 threads for debug builds.

For release, retain codegen-units=1 to make sure we get the
most complete optimization results.

Thanks to Simon Sapin for the suggestion.

MozReview-Commit-ID: FmYF4DcmBvt

--HG--
extra : rebase_source : 307ad8fad2874636adb3ce95a5cd47339e83f40c
2018-02-22 11:58:50 -08:00
Csoregi Natalia
ecb86060b4 Backed out 5 changesets (bug 1379265) for GTest crashes on RsdparsaSdpAttributeList::GetGroup. a=backout
Backed out changeset addf903ba015 (bug 1379265)
Backed out changeset 51f51dfe6095 (bug 1379265)
Backed out changeset 443378a6ed7a (bug 1379265)
Backed out changeset 0ea22b056105 (bug 1379265)
Backed out changeset d85d78ba8ccd (bug 1379265)
2018-02-24 12:58:24 +02:00
Sebastian Hengst
e6ed14057b merge mozilla-central to autoland on a CLOSED TREE
--HG--
extra : amend_source : d88824ea9bbe5e0298f0d64fd0e4cdedcbee342c
2018-02-24 03:07:44 +02:00
Paul Ellenbogen
ccaf43a57e Bug 1379265 - Add C API for rsdparsa; r=rillian
MozReview-Commit-ID: FdhpTT5wzwI

--HG--
extra : rebase_source : b1fd70e19346794f9309a49cda4a06ccfcd403aa
2017-06-30 12:54:12 -07:00
Matt Brubeck
a23e39069a Bug 1341102 - Update Cargo.lock files 2018-02-21 17:49:38 -08:00
Kartikaya Gupta
868a8d8bd5 Bug 1438892 - Update Cargo lockfiles and re-vendor rust dependencies. r=jrmuizel
MozReview-Commit-ID: wsncokjtul

--HG--
rename : third_party/rust/coco/LICENSE-APACHE => third_party/rust/crossbeam-deque/LICENSE-APACHE
rename : third_party/rust/coco/LICENSE-MIT => third_party/rust/crossbeam-deque/LICENSE-MIT
rename : third_party/rust/coco/LICENSE-APACHE => third_party/rust/crossbeam-epoch/LICENSE-APACHE
rename : third_party/rust/coco/LICENSE-MIT => third_party/rust/crossbeam-epoch/LICENSE-MIT
rename : third_party/rust/coco/LICENSE-APACHE => third_party/rust/crossbeam-utils/LICENSE-APACHE
rename : third_party/rust/coco/LICENSE-MIT => third_party/rust/crossbeam-utils/LICENSE-MIT
rename : third_party/rust/coco/LICENSE-APACHE => third_party/rust/rayon-0.8.2/LICENSE-APACHE
rename : third_party/rust/coco/LICENSE-MIT => third_party/rust/rayon-0.8.2/LICENSE-MIT
rename : third_party/rust/rayon/src/iter/README.md => third_party/rust/rayon-0.8.2/src/iter/README.md
rename : third_party/rust/rayon/src/iter/internal.rs => third_party/rust/rayon-0.8.2/src/iter/internal.rs
rename : third_party/rust/rayon/tests/compile-fail-unstable/future_escape.rs => third_party/rust/rayon-0.8.2/tests/compile-fail-unstable/future_escape.rs
rename : third_party/rust/rayon/tests/run-pass/sort-panic-safe.rs => third_party/rust/rayon-0.8.2/tests/run-pass/sort-panic-safe.rs
rename : third_party/rust/coco/LICENSE-APACHE => third_party/rust/rayon-core/LICENSE-APACHE
rename : third_party/rust/coco/LICENSE-MIT => third_party/rust/rayon-core/LICENSE-MIT
extra : rebase_source : fad67f2d82c7b49554ce9b03fb12da3d4b66a378
2018-02-20 09:05:08 -05:00
Chris Manchester
c94fd30a84 Bug 1440507 - Remove link.py wrapper script for linking xul. r=nalexander
MozReview-Commit-ID: BXrhdPzQ2jy

--HG--
extra : rebase_source : 801b1876af8639996f58a1985d47fb42cc3065a6
2018-02-22 16:03:17 -08:00
Kartikaya Gupta
230d90353f Bug 1438449 - Remove unused feature property from crate override. r=jrmuizel
MozReview-Commit-ID: 6twY57Hg4CC

--HG--
extra : rebase_source : 0bf706089e618aaffdda1e9834d48a84e770ad3f
2018-02-15 04:28:30 -05:00
Ralph Giles
62e62e57a2 Bug 1437351 - Update mp4parse to v0.10.0. r=kinetik
Import v0.10.0 of the mp4parse and mp4parse_capi crates
and update dependencies.

Reduces library size by removing debug tracing in release builds.
Also adds recognition of the ALAC codec, although we don't plan
to support it.

MozReview-Commit-ID: F1bnotCmbDf

--HG--
extra : rebase_source : 55bc014378d7f65fca8af82a9222edd36870b351
2018-02-13 16:58:43 -08:00
Servo VCS Sync
67d1d60ad7 No bug - Revendor rust dependencies 2018-02-14 17:42:57 +00:00
Emilio Cobos Álvarez
199da14cd0 No bug - Revendor rust dependencies. r=me on a CLOSED TREE
MozReview-Commit-ID: 7LSWUCyCxkT


--HG--
rename : third_party/rust/quote/.cargo-checksum.json => third_party/rust/quote-0.3.15/.cargo-checksum.json
rename : third_party/rust/quote/Cargo.toml => third_party/rust/quote-0.3.15/Cargo.toml
rename : third_party/rust/syn/LICENSE-MIT => third_party/rust/quote-0.3.15/LICENSE-MIT
rename : third_party/rust/quote/README.md => third_party/rust/quote-0.3.15/README.md
rename : third_party/rust/quote/src/ident.rs => third_party/rust/quote-0.3.15/src/ident.rs
rename : third_party/rust/quote/src/lib.rs => third_party/rust/quote-0.3.15/src/lib.rs
rename : third_party/rust/quote/src/to_tokens.rs => third_party/rust/quote-0.3.15/src/to_tokens.rs
rename : third_party/rust/quote/src/tokens.rs => third_party/rust/quote-0.3.15/src/tokens.rs
rename : third_party/rust/quote/tests/test.rs => third_party/rust/quote-0.3.15/tests/test.rs
rename : third_party/rust/syn/.cargo-checksum.json => third_party/rust/syn-0.11.11/.cargo-checksum.json
rename : third_party/rust/syn/Cargo.toml => third_party/rust/syn-0.11.11/Cargo.toml
rename : third_party/rust/syn/LICENSE-MIT => third_party/rust/syn-0.11.11/LICENSE-MIT
rename : third_party/rust/syn/README.md => third_party/rust/syn-0.11.11/README.md
rename : third_party/rust/syn/src/aster/generics.rs => third_party/rust/syn-0.11.11/src/aster/generics.rs
rename : third_party/rust/syn/src/aster/ident.rs => third_party/rust/syn-0.11.11/src/aster/ident.rs
rename : third_party/rust/syn/src/aster/invoke.rs => third_party/rust/syn-0.11.11/src/aster/invoke.rs
rename : third_party/rust/syn/src/aster/lifetime.rs => third_party/rust/syn-0.11.11/src/aster/lifetime.rs
rename : third_party/rust/syn/src/aster/mod.rs => third_party/rust/syn-0.11.11/src/aster/mod.rs
rename : third_party/rust/syn/src/aster/path.rs => third_party/rust/syn-0.11.11/src/aster/path.rs
rename : third_party/rust/syn/src/aster/qpath.rs => third_party/rust/syn-0.11.11/src/aster/qpath.rs
rename : third_party/rust/syn/src/aster/ty.rs => third_party/rust/syn-0.11.11/src/aster/ty.rs
rename : third_party/rust/syn/src/aster/ty_param.rs => third_party/rust/syn-0.11.11/src/aster/ty_param.rs
rename : third_party/rust/syn/src/aster/where_predicate.rs => third_party/rust/syn-0.11.11/src/aster/where_predicate.rs
rename : third_party/rust/syn/src/attr.rs => third_party/rust/syn-0.11.11/src/attr.rs
rename : third_party/rust/syn/src/constant.rs => third_party/rust/syn-0.11.11/src/constant.rs
rename : third_party/rust/syn/src/data.rs => third_party/rust/syn-0.11.11/src/data.rs
rename : third_party/rust/syn/src/derive.rs => third_party/rust/syn-0.11.11/src/derive.rs
rename : third_party/rust/syn/src/escape.rs => third_party/rust/syn-0.11.11/src/escape.rs
rename : third_party/rust/syn/src/expr.rs => third_party/rust/syn-0.11.11/src/expr.rs
rename : third_party/rust/syn/src/fold.rs => third_party/rust/syn-0.11.11/src/fold.rs
rename : third_party/rust/syn/src/generics.rs => third_party/rust/syn-0.11.11/src/generics.rs
rename : third_party/rust/syn/src/ident.rs => third_party/rust/syn-0.11.11/src/ident.rs
rename : third_party/rust/syn/src/item.rs => third_party/rust/syn-0.11.11/src/item.rs
rename : third_party/rust/syn/src/krate.rs => third_party/rust/syn-0.11.11/src/krate.rs
rename : third_party/rust/syn/src/lib.rs => third_party/rust/syn-0.11.11/src/lib.rs
rename : third_party/rust/syn/src/lit.rs => third_party/rust/syn-0.11.11/src/lit.rs
rename : third_party/rust/syn/src/mac.rs => third_party/rust/syn-0.11.11/src/mac.rs
rename : third_party/rust/syn/src/op.rs => third_party/rust/syn-0.11.11/src/op.rs
rename : third_party/rust/syn/src/ty.rs => third_party/rust/syn-0.11.11/src/ty.rs
rename : third_party/rust/syn/src/visit.rs => third_party/rust/syn-0.11.11/src/visit.rs
rename : third_party/rust/unicode-xid/.cargo-checksum.json => third_party/rust/unicode-xid-0.0.4/.cargo-checksum.json
rename : third_party/rust/unicode-xid/Cargo.toml => third_party/rust/unicode-xid-0.0.4/Cargo.toml
2018-02-14 12:40:42 +01:00
Ciure Andrei
72080bd73c Merge inbound to mozilla-central. a=merge 2018-02-13 00:08:37 +02:00
Franziskus Kiefer
fd68ca633e Bug 1436948 - update cbor lib, r=keeler
Reviewers: keeler

Reviewed By: keeler

Bug #: 1436948

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

--HG--
extra : rebase_source : e9e6e4957cd7bc578d7bc21e6db64c1e8ef170ae
2018-02-12 09:02:03 +01:00
Servo VCS Sync
99dff2319c No bug - Revendor rust dependencies 2018-02-10 18:14:30 +00:00
Servo VCS Sync
03ffcb7b2a No bug - Revendor rust dependencies 2018-02-09 22:19:11 +00:00
Kartikaya Gupta
e1dbbcbce0 Bug 1436058 - Update Cargo lockfiles and re-vendor rust dependencies. r=jrmuizel
MozReview-Commit-ID: GiRingn0bX1

--HG--
extra : rebase_source : 55e472428534e366a49ccc887f67b8c7836171b1
2018-02-12 11:32:10 -05:00
Servo VCS Sync
33acf03866 No bug - Revendor rust dependencies 2018-02-12 14:07:12 +00:00
Manish Goregaokar
72ed6d355d Bug 1436251 - Set codegen-units=1 in --enable-release; r=glandium
MozReview-Commit-ID: 8kGTFAXfB2i

--HG--
extra : rebase_source : bc1860366646e629deef3c819576d208b1b6cd73
2018-02-06 19:06:03 -08:00
Narcis Beleuzu
eeb7190f9a Merge inbound to mozilla-central. a=merge 2018-02-01 12:05:39 +02:00
Nicholas Nethercote
eeb14c6c69 Bug 1423840 (attempt 2) - Rewrite the prefs parser. r=glandium,Manishearth
The prefs parser has two significant problems.

- It doesn't separate tokenizing from parsing.

- It is implemented as a loop around a big switch on a "current state"
  variable.

As a result, it is hard to understand and modify, slower than it could be, and
in obscure cases (involving comments and whitespace) it fails to parse what
should be valid input.

This patch replaces it with a recursive descent parser (albeit one without any
recursion!) that has separate tokenization. The new parser is easier to
understand and modify, more correct, and has better error messages. It doesn't
do error recovery, but that would be much easier to add than in the old parser.

The new parser also runs about 1.9x faster than the existing parser. (As
measured by parsing greprefs.js's contents from memory 1000 times in
succession, omitting the prefs hash table construction. If the table
construction is included, it's about 1.6x faster.)

The new parser is slightly stricter than the old parser in a few ways.

- Disconcertingly, the old parser allowed arbitrary junk between prefs
  (including at the start and end of the prefs file) so long as that junk
  didn't include any of the following chars: '/', '#', 'u', 's', 'p'. I.e.
  lines like these:

    !foo@bar&pref("prefname", true);
    ticky_pref("prefname", true);       // missing 's' at start
    User_pref("prefname", true);        // should be 'u' at start

  would all be treated the same as this:

    pref("prefname", true);

  The new parser disallows such junk because it isn't necessary and seems like
  an unintentional botch by the old parser.

- The old parser allowed character 0x1a (SUB) between tokens and treated it
  like '\n'.

  The new parser does not allow this character. SUB was used to indicate
  end-of-file (*not* end-of-line) in some old operating systems such as MS-DOS,
  but this doesn't seem necessary today.

- The old parser tolerated (with a warning) invalid escape sequences within
  string literals -- such as "\q" (not a valid escape) and "\x1" and "\u12"
  (both of which have insufficient hex digits) -- accepting them literally.

  The new parser does not tolerate invalid escape sequences because it doesn't
  seem necessary and would complicate things.

- The old parser tolerated character 0x00 (NUL) within string literals; this is
  dangerous because C++ code that manipulates string values with embedded NULs
  will almost certainly consider those chars as end-of-string markers.

  The new parser treats NUL chars as end-of-file, to avoid this danger and
  because it facilitates a significant optimization (described within the
  code).

- The old parser allowed integer literals to overflow, silently wrapping them.

  The new parser treats integer overflow as a parse error. This seems better,
  and it caught existing overflows of places.database.lastMaintenance, in
  testing/profiles/prefs_general.js (bug 1424030) and
  testing/talos/talos/config.py (bug 1434813).

The first of these changes meant that a couple of existing prefs with ";;" at
the end had to be changed (done in the preceding patch).

The minor increase in strictness shouldn't be a problem for default pref files
such as greprefs.js within the application (which we can modify), nor for
app-written prefs files such as prefs.js. It could affect user-written prefs
files such as user.js; the experience above suggests that integer overflow and
";;" are the most likely problems in practice. In my opinion, the risk here is
acceptable.

The new parser also does a better job of tracking line numbers because it (a)
treats "\r\n" sequences as a single end-of-line marker, and (a) pays attention
to end-of-line sequences within string literals.

Finally, the patch adds thorough tests of both valid and invalid syntax.

MozReview-Commit-ID: JD3beOQl4AJ
2018-02-01 16:21:47 +11:00
Servo VCS Sync
47d56b8748 No bug - Revendor rust dependencies 2018-02-01 04:40:14 +00:00
Cosmin Sabou
9efa17a39e Backed out 2 changesets (bug 1423840) for mass Talos failures due to forbidden connections. CLOSED TREE
Backed out changeset e8b798a5205a (bug 1423840)
Backed out changeset e500592d3551 (bug 1423840)
2018-02-01 03:05:08 +02:00
Nicholas Nethercote
67e80b725b Bug 1423840 - Rewrite the prefs parser. r=glandium,Manishearth
The prefs parser has two significant problems.

- It doesn't separate tokenizing from parsing.

- It is implemented as a loop around a big switch on a "current state"
  variable.

As a result, it is hard to understand and modify, slower than it could be, and
in obscure cases (involving comments and whitespace) it fails to parse what
should be valid input.

This patch replaces it with a recursive descent parser (albeit one without any
recursion!) that has separate tokenization. The new parser is easier to
understand and modify, more correct, and has better error messages. It doesn't
do error recovery, but that would be much easier to add than in the old parser.

The new parser also runs about 1.9x faster than the existing parser. (As
measured by parsing greprefs.js's contents from memory 1000 times in
succession, omitting the prefs hash table construction. If the table
construction is included, it's about 1.6x faster.)

The new parser is slightly stricter than the old parser in a few ways.

- Disconcertingly, the old parser allowed arbitrary junk between prefs
  (including at the start and end of the prefs file) so long as that junk
  didn't include any of the following chars: '/', '#', 'u', 's', 'p'. I.e.
  lines like these:

    !foo@bar&pref("prefname", true);
    ticky_pref("prefname", true);       // missing 's' at start
    User_pref("prefname", true);        // should be 'u' at start

  would all be treated the same as this:

    pref("prefname", true);

  The new parser disallows such junk because it isn't necessary and seems like
  an unintentional botch by the old parser.

- The old parser allowed character 0x1a (SUB) between tokens and treated it
  like '\n'.

  The new parser does not allow this character. SUB was used to indicate
  end-of-file (*not* end-of-line) in some old operating systems such as MS-DOS,
  but this doesn't seem necessary today.

- The old parser tolerated (with a warning) invalid escape sequences within
  string literals -- such as "\q" (not a valid escape) and "\x1" and "\u12"
  (both of which have insufficient hex digits) -- accepting them literally.

  The new parser does not tolerate invalid escape sequences because it doesn't
  seem necessary and would complicate things.

- The old parser tolerated character 0x00 (NUL) within string literals; this is
  dangerous because C++ code that manipulates string values with embedded NULs
  will almost certainly consider those chars as end-of-string markers.

  The new parser treats NUL chars as end-of-file, to avoid this danger and
  because it facilitates a significant optimization (described within the
  code).

- The old parser allowed integer literals to overflow, silently wrapping them.

  The new parser treats integer overflow as a parse error. This seems better,
  and it caught an existing overflow in testing/profiles/prefs_general.js, for
  places.database.lastMaintenance (see bug 1424030).

The first of these changes meant that a couple of existing prefs with ";;" at
the end had to be changed (done in the preceding patch).

The minor increase in strictness shouldn't be a problem for default pref files
such as greprefs.js within the application (which we can modify), nor for
app-written prefs files such as prefs.js. It could affect user-written prefs
files such as user.js; the experience above suggests that ";;" is the most
likely problem in practice. In my opinion, the risk here is acceptable.

The new parser also does a better job of tracking line numbers because it (a)
treats "\r\n" sequences as a single end-of-line marker, and (a) pays attention
to end-of-line sequences within string literals.

Finally, the patch adds thorough tests of both valid and invalid syntax.

MozReview-Commit-ID: 8EYWH7KxGG
* * *
[mq]: win-fix

MozReview-Commit-ID: 91Bxjfghqfw

--HG--
extra : rebase_source : a8773413e5d68c33e4329df6819b6e1f82c22b85
2017-12-03 00:26:36 +11:00
Kartikaya Gupta
063a144958 Bug 1433567 - Update Cargo lockfiles and re-vendor rust dependencies. r=jrmuizel
MozReview-Commit-ID: HpOX4MTdU9Z

--HG--
extra : rebase_source : c9da41ea1c96097fb51e55d5227cde66e5e6c47b
2018-01-30 10:22:30 -05:00
Bryce Van Dyk
d6fa7ea4fd Bug 1432869 - Update locks to reflect new cubeb-rs, and audioipc versions. r=rillian
MozReview-Commit-ID: Hj9rcfHnO1L

--HG--
extra : rebase_source : c2366103116f8882d029caa4582b500e212f1406
2018-01-25 17:18:08 -05:00
marxin
8b80e36d01 Bug 1433383 Properly detect -flto flag. r=froydnj 2018-01-26 00:57:00 +02:00
Dzmitry Malyshau
a8e2dce594 Bug 1433139 - Enable the WR capture feature in webrender_bindings. r=kats
MozReview-Commit-ID: 2dJMVMto5Ly
2018-01-25 14:49:36 -05:00
Narcis Beleuzu
9279994eae Merge inbound to mozilla-central. a=merge 2018-01-24 23:56:14 +02:00
Kartikaya Gupta
ecdb4869cb Bug 1431776 - Update Cargo lockfiles and re-vendor rust dependencies r=jrmuizel
MozReview-Commit-ID: CGFjsnpjrDe

--HG--
extra : rebase_source : 1aab040b85371a509632dbe6a511aa90ee3d050d
2018-01-24 09:16:36 -05:00
Henri Sivonen
733ced6d8d Bug 1431356 - Update encoding_rs to 0.7.2 and simd to 0.2.1. r=emk.
MozReview-Commit-ID: Lp3zyF2rLxN

--HG--
extra : rebase_source : 81b515206ca5d28623cbaead16244ef258da2088
2018-01-18 12:26:21 +02:00
Nika Layzell
94e3d3cb1b Bug 1293362 - Part 2: Add skeleton crates for xpcom bindings, r=froydnj
MozReview-Commit-ID: H5nxsk4cg2E
2018-01-23 17:27:23 -05:00
Dan Glastonbury
cd2eb5e8a4 Bug 1428952 - P4: Vendor rust crates. r=rillian
MozReview-Commit-ID: 7UQPozxpmC1

--HG--
extra : rebase_source : fc27016f0e51a9f4d1f09f842da7943f65070508
2017-11-06 16:26:30 +10:00
Emilio Cobos Álvarez
296aed21d6 Bug 1432134: Update bindgen. r=SimonSapin
On a CLOSED TREE.

MozReview-Commit-ID: GXHw7KcCLN9
2018-01-22 15:22:46 +01:00
Kartikaya Gupta
deb1387041 Bug 1430829 - Update Cargo lockfiles and re-vendor rust dependencies. r=jrmuizel
MozReview-Commit-ID: GbEO29Hy9h6

--HG--
extra : rebase_source : d54f0c8e0ebfdad071a62c555ad0b7e193592a84
2018-01-19 12:33:03 -05:00
Dan Glastonbury
a539d73ba3 Bug 1430996 - P1: Update cubeb-pulse-rs to commit cb7141e. r=kinetik
MozReview-Commit-ID: 2wrPNI9rvKF

--HG--
extra : rebase_source : 2a009c40dfdfd06a20b704ed033a47b93788edf4
2018-01-17 15:24:43 +10:00
Martin Stransky
a65c7eb6a0 Bug 1409707 - [Wayland] - provide library shell, r=jhorak
We don't add build-time dependency on Wayland libraries; that allows Wayland enabled Firefox
builds to run on systems without Wayland support.

We also can't dlsym() Wayland symbols directly from libwayland-client.so library as we miss
global data entries referenced by code at wayland-client.h then.

As a partial solution (for glibc systems only) we create dummy libwayland-client.so library
implementation and place it *after* Gtk+ 3.0 libraries at linking time.

It fixes build-time dependencies (we link against our libwayland-client.so library).
Run-time dependency is resolved by ld.so - when Gtk+ 3.0 libraries are linked with
system libwayland-client.so library, wayland symbols are pulled from there instead
from our dummy libwayland-client.so library.

When Gtk+ 3.0 is not linked with system libwayland-client.so it means we're running
on system without Wayland support. Our dummy libwayland-client.so implementation
is used (symbols are pulled run-time from there) and Firefox Wayland support is
disabled then.

MozReview-Commit-ID: IyaePwp4MxV

--HG--
extra : rebase_source : 852955d001657176e0bf69c099580be862d0b448
2017-10-18 14:34:27 +02:00