Commit Graph

386 Commits

Author SHA1 Message Date
nfroyd@mozilla.com
6371bcde57 Bug 1302028 - part 5 - add bindgen feature to gecko-side Cargo.toml files for propagation to geckoservo; r=Manishearth 2017-01-20 16:33:04 +00:00
Alfredo.Yang
ad92585014 Bug 1328221 - Support GASpecificConfig audio channel in rust mp4 parser. r=rillian
MozReview-Commit-ID: IQKxtjatU9J
2017-01-11 09:03:30 +08:00
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
Enes Goktas
9a4926503b Bug 1303227 - Wrap libxul.so linker to prevent getting the linking process killed; r=glandium
This patch removes the memory usage tracking in the script that wraps the
linking of the xul library. This patch also generalizes the wrapping of the
xul linking process to all platforms.

MozReview-Commit-ID: HyncF3aVwdx
2016-09-20 17:58:34 -07: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
Mike Hommey
321f72d95b Bug 1299616 - Rearrange libxul linking such that StaticXULComponentStart always is first. r=gps
When building gtest libxul with LTO, the fact that
StaticXULComponentStart is not passed first to the linker makes the
linker pull the NSModule symbols out of all the other objects first,
presumably because linking the gtest objects (which appear first) pulls
code from the other non StaticXULComponent* objects first.

So, to make things link properly with LTO, we trick the build system
to always put StaticXULComponentStart first.
2016-09-02 07:08:16 +09: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
Tom Tromey
1b5a2bdb96 Bug 1286877 - do not set c-basic-offset for python-mode; r=gps
This removes the unnecessary setting of c-basic-offset from all
python-mode files.

This was automatically generated using

    perl -pi -e 's/; *c-basic-offset: *[0-9]+//'

... on the affected files.

The bulk of these files are moz.build files but there a few others as
well.

MozReview-Commit-ID: 2pPf3DEiZqx
2016-07-14 10:16:42 -06:00
Mike Hommey
528423a154 Bug 1059113 - Use templates for shared libraries and frameworks. r=gps
Also force to use the existing template for XPCOM components.
2014-09-04 09:04:45 +09:00
Mike Hommey
aec0b61280 Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps 2014-09-03 14:10:54 +09:00
Mike Hommey
653abefce8 Bug 1043865 - Remove the remainder of compilation bits from the libs tier. r=gps 2014-07-29 08:59:27 +09:00
Mike Hommey
5a398d97ca Bug 1041936 part 2 - Directly use the static library "xul" to link into "xul-gtest" instead of having an intermediate library "xul" used by "xul-shared" and "xul-gtest". r=gps 2014-07-23 13:33:09 +09:00
Mike Hommey
ed0002b6d1 Bug 883339 - Enable gtest on windows TBPL non-PGO builds. r=ted 2014-06-26 07:59:24 +09:00
Mike Hommey
e6cee65c86 Bug 991769 - Add missing parenthesis. r=me 2014-04-04 15:08:25 +09:00
Mike Hommey
a4f6c8d52c Bug 991769 - Cleanup gtest libxul when doing make clean or distclean. r=mshal 2014-04-04 14:56:51 +09:00
Mike Hommey
560f251aa2 Bug 988168 - Better integrate gtest libxul in the build system. r=mshal. DONTBUILD 2014-03-31 13:21:38 +02:00
Mike Hommey
7a47eac3ba Backed out changeset 561b9329d832 (bug 988168) for wrong attribution. 2014-04-01 13:17:50 +09:00
Jacek Caban
60f48e2d4e Bug 988168 - Better integrate gtest libxul in the build system. r=mshal 2014-03-31 13:21:38 +02:00
Mike Hommey
81f4b2b06c Backout changesets ca413634eba3 and a92851ff7444 (bug 988168) for likely windows PGO perf regression 2014-03-29 16:49:19 +09:00
Mike Hommey
a469c210c9 Bug 988168 - Better integrate gtest libxul in the build system. r=mshal 2014-03-29 07:50:08 +09:00