Commit Graph

11 Commits

Author SHA1 Message Date
Nathan Froyd
26a1482f32 Bug 1359425 - commonize the Rust feature definitions for gkrust*; r=rillian
Having these definitions in two different places is silly, especially
when they must be identical.  If they ever got out of sync, there would
be problems.
2017-04-26 10:43:03 -04:00
Nathan Froyd
64ea7ef7f0 Bug 1357556 - define a gecko_debug feature for gkrust*; r=emilio
Servo needs to know whether C++ code is compiled with MOZ_DEBUG, and
passing along an explicit feature is a better way to determine that
information than relying on cfg(debug_assertions).

MozReview-Commit-ID: B3XCskDQ56p
2017-04-20 13:54:14 -04:00
Dan Glastonbury
42073d63bf Bug 1346665 - P2: Import rustified cubeb_pulse.c. r=kinetik,rillian
Enable by setting:

  media.cubeb.backend = "pulse-rust"

MozReview-Commit-ID: EZXJAzN3X7c
2017-04-21 14:01:01 +10:00
Kartikaya Gupta
5f2c670e9a Bug 1342450 - Rename MOZ_ENABLE_WEBRENDER to MOZ_BUILD_WEBRENDER. r=rhunt
MozReview-Commit-ID: 3GkmCJJq8et
2017-03-22 17:36:25 -04:00
Nathan Froyd
5e00cd9e55 Bug 1302704 - part 4 - provide a target directory for gkrust and gkrust-gtest; r=chmanchester
Doing this gets us all of the benefits that we want from Cargo
workspaces (only compiling artifacts from gkrust-shared one time for
both libraries) without all the hassles that using Cargo workspaces
would require.  We don't have to worry about multiple Cargo processes
running simultaneously and racing to write files; Cargo is smart enough
to lock the build directory to serialize access to it.
2017-02-23 10:35:07 -05:00
Kartikaya Gupta
8665912551 Bug 1335525 - Add --enable-webrender configure option and hook it up build webrender. r=gps
MozReview-Commit-ID: BWLoSnV2yEN
2017-02-06 11:42:53 -05:00
Gregory Szorc
fdf15ed263 Bug 1322769 - Declare servo rust feature properly; r=manishearth
268fa5f3bc25 grafted an old patch to define --features=servo in
rules.mk. That patch was written before RUST_LIBRARY_FEATURES
existed. This commit fixes it up.

MozReview-Commit-ID: L5atm5CsP8d
2017-02-02 16:32:54 -08:00
nfroyd@mozilla.com
89a52c8ccc Bug 1302028 - part 7 - conditionally add bindgen features to gkrust* libraries; r=gps 2017-01-20 16:33:04 +00: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