Vendor m-c's nsstring in-tree

It is called nsstring_vendor since libgkrust already depends on nsstring, and
we can't have two crates with the same name in-tree. We can't directly depend
on the in-tree one since this will stop independent `./mach build-geckolib` builds from working.

MozReview-Commit-ID: CR4tHgzXWFZ
This commit is contained in:
Manish Goregaokar 2016-10-11 12:32:55 +05:30
parent 494a89c27f
commit 398a6343b3
9 changed files with 872 additions and 51 deletions

View file

@ -68,7 +68,9 @@ COMPILATION_TARGETS = {
"raw_lines": [
# We can get rid of this when the bindings move into the style crate.
"pub enum OpaqueStyleData {}",
"pub use nsstring::nsStringRepr as nsString;"
],
"blacklist_types": ["nsString"],
"whitelist_vars": [
"NS_THEME_.*",
"NODE_.*",
@ -426,6 +428,11 @@ def build(objdir, target_name, debug, debugger, kind_name=None,
flags.append("--opaque-type")
flags.append(ty)
if "blacklist_types" in current_target:
for ty in current_target["blacklist_types"]:
flags.append("--blacklist-type")
flags.append(ty)
if "servo_nullable_arc_types" in current_target:
for ty in current_target["servo_nullable_arc_types"]:
flags.append("--blacklist-type")