summaryrefslogtreecommitdiffstats
path: root/toolkit/library/gtest
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/library/gtest')
-rw-r--r--toolkit/library/gtest/Makefile.in35
-rw-r--r--toolkit/library/gtest/moz.build30
-rw-r--r--toolkit/library/gtest/rust/Cargo.lock110
-rw-r--r--toolkit/library/gtest/rust/Cargo.toml44
-rw-r--r--toolkit/library/gtest/rust/lib.rs7
-rw-r--r--toolkit/library/gtest/rust/moz.build7
-rw-r--r--toolkit/library/gtest/static/moz.build9
7 files changed, 242 insertions, 0 deletions
diff --git a/toolkit/library/gtest/Makefile.in b/toolkit/library/gtest/Makefile.in
new file mode 100644
index 000000000..f490b3f97
--- /dev/null
+++ b/toolkit/library/gtest/Makefile.in
@@ -0,0 +1,35 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this file,
+# You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Enforce that the clean/distclean rules removes everything that needs
+# to be removed from this directory.
+ifneq (,$(filter clean distclean,$(MAKECMDGOALS)))
+LINK_GTEST = 1
+endif
+
+ifndef LINK_GTEST
+# Force to not include backend.mk unless LINK_GTEST is defined.
+# Not including backend.mk makes traversing this directory do nothing.
+STANDALONE_MAKEFILE = 1
+
+else
+
+include $(topsrcdir)/toolkit/library/libxul.mk
+
+include $(topsrcdir)/config/config.mk
+
+# Wrap linker to print linking status periodically to prevent the linking
+# process from getting killed
+EXPAND_LIBS_EXEC := $(PYTHON) $(topsrcdir)/config/link.py
+
+ifdef COMPILE_ENVIRONMENT
+target:: $(DIST)/bin/dependentlibs.list.gtest
+endif
+
+$(DIST)/bin/dependentlibs.list.gtest: $(DIST)/bin/dependentlibs.list
+ sed -e 's|$(SHARED_LIBRARY)|gtest/$(SHARED_LIBRARY)|' $< > $@
+
+LINK_PDBFILE = xul-gtest.pdb
+
+endif
diff --git a/toolkit/library/gtest/moz.build b/toolkit/library/gtest/moz.build
new file mode 100644
index 000000000..c684f48e4
--- /dev/null
+++ b/toolkit/library/gtest/moz.build
@@ -0,0 +1,30 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+FINAL_TARGET = 'dist/bin/gtest'
+
+USE_LIBS += [
+ 'static:xul',
+ # xul-gtest is an intermediate static library. It is used as FINAL_TARGET
+ # for gtest code.
+ # If the FINAL_TARGET were the library in this directory, then the gtest
+ # code would end up before static:xul, and before StaticXULComponentStart,
+ # which needs to stay first.
+ 'xul-gtest',
+]
+
+# This needs to come after static:xul to avoid things like libfallible coming
+# before StaticXULComponentStart.
+Libxul('xul-gtest-real')
+
+if CONFIG['MOZ_RUST']:
+ USE_LIBS += [
+ 'gkrust-gtest',
+ ]
+
+DIRS += [
+ 'static',
+]
diff --git a/toolkit/library/gtest/rust/Cargo.lock b/toolkit/library/gtest/rust/Cargo.lock
new file mode 100644
index 000000000..e1f7ed14e
--- /dev/null
+++ b/toolkit/library/gtest/rust/Cargo.lock
@@ -0,0 +1,110 @@
+[root]
+name = "gkrust-gtest"
+version = "0.1.0"
+dependencies = [
+ "gkrust-shared 0.1.0",
+ "mp4parse-gtest 0.1.0",
+ "nsstring-gtest 0.1.0",
+]
+
+[[package]]
+name = "byteorder"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "gkrust-shared"
+version = "0.1.0"
+dependencies = [
+ "mp4parse_capi 0.6.0",
+ "nsstring 0.1.0",
+ "rust_url_capi 0.0.1",
+]
+
+[[package]]
+name = "idna"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "matches 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-bidi 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-normalization 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "matches"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "mp4parse"
+version = "0.6.0"
+dependencies = [
+ "byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "mp4parse-gtest"
+version = "0.1.0"
+
+[[package]]
+name = "mp4parse_capi"
+version = "0.6.0"
+dependencies = [
+ "mp4parse 0.6.0",
+]
+
+[[package]]
+name = "nsstring"
+version = "0.1.0"
+
+[[package]]
+name = "nsstring-gtest"
+version = "0.1.0"
+dependencies = [
+ "nsstring 0.1.0",
+]
+
+[[package]]
+name = "rust_url_capi"
+version = "0.0.1"
+dependencies = [
+ "libc 0.2.16 (registry+https://github.com/rust-lang/crates.io-index)",
+ "url 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "unicode-bidi"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "matches 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
+name = "unicode-normalization"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
+name = "url"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "idna 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "matches 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[metadata]
+"checksum byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0fc10e8cc6b2580fda3f36eb6dc5316657f812a3df879a44a66fc9f0fdbc4855"
+"checksum idna 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1053236e00ce4f668aeca4a769a09b3bf5a682d802abd6f3cb39374f6b162c11"
+"checksum libc 0.2.16 (registry+https://github.com/rust-lang/crates.io-index)" = "408014cace30ee0f767b1c4517980646a573ec61a57957aeeabcac8ac0a02e8d"
+"checksum matches 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bcc3ad8109fa4b522f9b0cd81440422781f564aaf8c195de6b9d6642177ad0dd"
+"checksum unicode-bidi 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c1f7ceb96afdfeedee42bade65a0d585a6a0106f681b6749c8ff4daa8df30b3f"
+"checksum unicode-normalization 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "26643a2f83bac55f1976fb716c10234485f9202dcd65cfbdf9da49867b271172"
+"checksum url 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8527c62d9869a08325c38272b3f85668df22a65890c61a639d233dc0ed0b23a2"
diff --git a/toolkit/library/gtest/rust/Cargo.toml b/toolkit/library/gtest/rust/Cargo.toml
new file mode 100644
index 000000000..5611e1777
--- /dev/null
+++ b/toolkit/library/gtest/rust/Cargo.toml
@@ -0,0 +1,44 @@
+[package]
+name = "gkrust-gtest"
+version = "0.1.0"
+authors = ["nobody@mozilla.org"]
+license = "MPL-2.0"
+description = "Testing code for libgkrust"
+
+[dependencies]
+mp4parse-gtest = { path = "../../../../dom/media/gtest" }
+nsstring-gtest = { path = "../../../../xpcom/rust/nsstring/gtest" }
+gkrust-shared = { path = "../../rust/shared" }
+
+[lib]
+path = "lib.rs"
+crate-type = ["staticlib"]
+test = false
+doctest = false
+bench = false
+doc = false
+plugin = false
+harness = false
+
+# Explicitly specify what our profiles use.
+[profile.dev]
+opt-level = 1
+debug = true
+rpath = false
+lto = false
+debug-assertions = true
+codegen-units = 1
+panic = "abort"
+
+[profile.release]
+opt-level = 2
+debug = true
+rpath = false
+# This would normally be 'true' for release configurations, but using LTO on
+# rul-gtest causes link failures due to symbols also being found in libxul's
+# librul.a. But LTO'ing things here is not crucial and not LTO'ing things
+# enables us to link libxul-gtest, so we leave it turned off.
+lto = false
+debug-assertions = false
+codegen-units = 1
+panic = "abort"
diff --git a/toolkit/library/gtest/rust/lib.rs b/toolkit/library/gtest/rust/lib.rs
new file mode 100644
index 000000000..c39801840
--- /dev/null
+++ b/toolkit/library/gtest/rust/lib.rs
@@ -0,0 +1,7 @@
+// This Source Code Form is subject to the terms of the Mozilla Public
+// License, v. 2.0. If a copy of the MPL was not distributed with this
+// file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+extern crate gkrust_shared;
+extern crate mp4parse_gtest;
+extern crate nsstring_gtest;
diff --git a/toolkit/library/gtest/rust/moz.build b/toolkit/library/gtest/rust/moz.build
new file mode 100644
index 000000000..89827a010
--- /dev/null
+++ b/toolkit/library/gtest/rust/moz.build
@@ -0,0 +1,7 @@
+# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+RustLibrary('gkrust-gtest')
diff --git a/toolkit/library/gtest/static/moz.build b/toolkit/library/gtest/static/moz.build
new file mode 100644
index 000000000..c6a84f0ac
--- /dev/null
+++ b/toolkit/library/gtest/static/moz.build
@@ -0,0 +1,9 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+Library('xul-gtest')
+
+Libxul_defines()