Commit Graph

26 Commits

Author SHA1 Message Date
Alfredo.Yang
d08397869b Bug 1323390 - Support audio profile in mp4 rust parser. r=kinetik
MozReview-Commit-ID: DLfLdgvc7B1
2016-12-14 16:01:43 +08:00
Ralph Giles
914fb8285c Bug 1324920 - Update mozjs_sys vendored crates. r=fitzgen,sfink
Update the vendored third-party dependencies for the mozjs-sys crate.
This picks up recent bug-fixes and reduces noise in unrelated runs
of 'mach vendor'.

The libc crate is also used by the rust url parser.

gcc 0.3.35 -> 0.3.40
libc 0.2.16 -> 0.2.18
libz-sys 1.0.6 -> 1.0.10

MozReview-Commit-ID: 5ri4nOtQQ1n
2016-12-20 14:24:05 -08:00
Manish Goregaokar
edf1a99641 Bug 1324193 - Bump rust-url to 1.2.4; r=valentin
MozReview-Commit-ID: 2EBQs6hIpku
2016-12-17 03:03:35 -08:00
Michael Layzell
793fec5817 Bug 1318428 - Use the nsstring bindings in rust-url-capi, r=valentin
This patch also drops the pretense that rust-url-capi will be used from
outside of c++, or that it will be used outside of mozilla-central,
removing the ifdef __cplusplus code, and including the C++ header
"nsString.h".

MozReview-Commit-ID: BULhHf3DObe
2016-11-24 12:23:09 -05:00
Alfredo.Yang
482a0af2b7 Bug 1313556 - update rust parser for pssh parsing. r=rillian
MozReview-Commit-ID: KH8K7mizUHl
2016-11-10 14:50:30 +08:00
Ralph Giles
bd485e5f14 Bug 1314460 - Update rust mp4parse to v0.6.0. r=kinetik
Result of running the update script.

MozReview-Commit-ID: 4rqFqaFJ028
2016-11-01 16:07:32 -07:00
Manish Goregaokar
2bbb804b70 Bug 1151899 - Include rust-url-capi (leave-open); r=valentin,ted
MozReview-Commit-ID: 1ITlPLvwzF4
2016-10-28 16:34:21 -07:00
Wes Kocher
1c352761ca Backed out 2 changesets (bug 1151899) for build bustage a=backout
Backed out changeset 7b5270bac41b (bug 1151899)
Backed out changeset 62f38c70d152 (bug 1151899)
2016-10-28 14:27:45 -07:00
Manish Goregaokar
a403b3dc6b Bug 1151899 - Include rust-url-capi; r=valentin,ted
MozReview-Commit-ID: 1ITlPLvwzF4
2016-10-28 14:03:13 -07:00
Ted Mielczarek
0107767589 bug 1305731 - Revert workaround from bug 1301751 now that we have updated to Rust 1.12. r=froydnj
MozReview-Commit-ID: 3akbELExfKT
2016-10-17 10:47:30 -04:00
Nathan Froyd
8a3ac73ffd Bug 1304815 - rearrange Rust crate structure for newer Rust releases; r=ted.mielczarek
In our current Rust world, we have the following dependency structure:

  xul.so --------------------------+
                                   |
  xul-gtest.so -+--> xul.a --------+-> gkrust
                |
                +--> gkrust-gtest

This structure results in link errors with multiply-defined symbols
between gkrust-gtest and gkrust with newer Rust releases when linking
xul-gtest.so.  So we have to do something different.

Our new structure is:

  xul.so --------------------------+
                                   |
  xul-gtest.so -+--> xul.a --------+-> gkrust --+-> gkrust-shared
                |                               |
                +--> gkrust-gtest --------------+

and we enforce that a given shared library can only have at most one
Rust library that it depends on.  Said Rust library is assumed to
include all significant Rust dependencies of the dependent static
libraries as well.  (In the above structure, gkrust is simply a wrapper
around gkrust-shared, so gkrust-gtest doesn't have to include gkrust as
a dependency.)
2016-10-15 18:16:13 -04:00
Ted Mielczarek
3d13eda662 bug 1301751 - work around llvm-dsymutil crash by building rust with debuginfo=1 instead of -g. r=froydnj
MozReview-Commit-ID: 5pK8okLw0Cl
2016-09-27 06:24:24 -04:00
Michael Layzell
cc2ec32acb Bug 1295762 - Part 1: Implement rust bindings to XPCOM's string types, r=froydnj
MozReview-Commit-ID: 7fnWSc3AzlR
2016-09-20 11:26:43 -04:00
Michael Layzell
163973d51c Bug 1300208 - Allow specifying multiple rust crates to mozbuild within the same FINAL_LIBRARY, r=froydnj
MozReview-Commit-ID: IIjV4Kg7wOv
2016-09-20 11:26:43 -04:00
Carsten "Tomcat" Book
6d1f62c926 merge mozilla-inbound to mozilla-central a=merge 2016-09-15 11:59:50 +02:00
Ted Mielczarek
fb89176930 bug 1298422 - vendor byteorder into third-party/rust. r=froydnj
MozReview-Commit-ID: ChKCKiIVEfq
2016-09-08 15:12:34 -07:00
Ralph Giles
8c45a1d60d Bug 1301065 - Update rust mp4parse to v0.5.1. r=kinetik
Result of running the update script, followed by `cargo update`
in tookit/library/rust/.

MozReview-Commit-ID: LNdvuOqVx9a
2016-09-13 09:16:44 -07:00
Sebastian Hengst
4d0f4ca143 Backed out changeset 8c9117de1e7f (bug 1300152) 2016-09-09 16:53:45 +02:00
Ted Mielczarek
5378f69273 bug 1300152 - Add nsIDebug2::rustPanic to allow triggering Rust panic for testing. r=froydnj
For testing purposes it will be useful to be able to trigger crashes in Rust
code. Being able to trigger a panic seems like a good place to start. This
will make it easier to validate improvements in crash reporting.

MozReview-Commit-ID: Bh5rBieLLWW
2016-09-02 13:22:21 -04:00
Ralph Giles
8cfb53dc79 Bug 1300219 - Update mp4parse to v0.5.0. r=kinetik
Result of running the update script and updating gecko's
integration crate for the layout change.

MozReview-Commit-ID: GaIMFKmPmtf
2016-09-02 14:27:50 -07:00
Ralph Giles
7ccd917c99 Bug 1295666 - Build byteorder as a separate crate. r=kinetik
Run the updated import script to split the in-tree byteorder
code into a separate directory and build it as a dependent crate.

MozReview-Commit-ID: EI5X4icOdmM
2016-08-16 11:06:46 -07:00
Nathan Froyd
f10d36cb3e Bug 1268727 - part 2 - compile Rust code with panic=abort; r=chmanchester 2016-08-09 18:10:19 -04:00
Nathan Froyd
0a5be4a885 Bug 1268547 - turn on LTO support for the Rust parts of libxul; r=chmanchester 2016-08-08 18:32:34 -04:00
Nathan Froyd
00ac9948d4 Bug 1231764 - part 6 - build rust code via cargo; r=chmanchester
This patch is really two separate changes.

The first change is that rust crates are large, standalone entities that
may contain multitudes of source files.  It therefore doesn't make sense
to keep them in SOURCES, as we have been doing.  Moving to use cargo
will require a higher-level approach, which suggests that we need a
different, higher-level representation for Rust sources in the build
system.

The representation here is to have the build system refer to things
defined in Cargo.toml files as the entities dealt with in the build
system, and let Cargo deal with the details of actually building things.
This approach means that adding a new crate to an existing library just
requires editing Rust and Cargo.toml files, rather than dealing with
moz.build, which seems more natural to Rust programmers.  By having the
source files for libraries (and binaries in subsequent iterations of
this support) checked in to the tree, we can also take advantage of
Cargo.lock files.

The second is that we switch the core build system over to building via
cargo, rather than invoking rustc directly.

We also clean up a number of leftover things from the Old Way of doing
things.  A number of tests are added to confirm that we'll only permit
crates to be built that have dependencies in-tree.
2016-08-06 00:49:26 -04:00
Wes Kocher
a6051cc658 Backed out 7 changesets (bug 1231764) for apparently causing linux debug wpt bustage
Backed out changeset 4b71272c92cf (bug 1231764)
Backed out changeset 234d8a930afa (bug 1231764)
Backed out changeset f9b204c2f5a7 (bug 1231764)
Backed out changeset f933119e57e4 (bug 1231764)
Backed out changeset e3af0b1d3473 (bug 1231764)
Backed out changeset 643b03aae1dd (bug 1231764)
Backed out changeset a945dbf63410 (bug 1231764)
2016-08-03 16:27:06 -07:00
Nathan Froyd
2bdaeb57ec Bug 1231764 - part 6 - build rust code via cargo; r=chmanchester
This patch is really two separate changes.

The first change is that rust crates are large, standalone entities that
may contain multitudes of source files.  It therefore doesn't make sense
to keep them in SOURCES, as we have been doing.  Moving to use cargo
will require a higher-level approach, which suggests that we need a
different, higher-level representation for Rust sources in the build
system.

The representation here is to have the build system refer to things
defined in Cargo.toml files as the entities dealt with in the build
system, and let Cargo deal with the details of actually building things.
This approach means that adding a new crate to an existing library just
requires editing Rust and Cargo.toml files, rather than dealing with
moz.build, which seems more natural to Rust programmers.  By having the
source files for libraries (and binaries in subsequent iterations of
this support) checked in to the tree, we can also take advantage of
Cargo.lock files.

The second is that we switch the core build system over to building via
cargo, rather than invoking rustc directly.

We also clean up a number of leftover things from the Old Way of doing
things.  A number of tests are added to confirm that we'll only permit
crates to be built that have dependencies in-tree.
2016-08-03 19:40:41 -04:00