summaryrefslogtreecommitdiffstats
path: root/third_party/rust/rustc_version/README.md
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
commit6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch)
treea68f146d7fa01f0134297619fbe7e33db084e0aa /third_party/rust/rustc_version/README.md
parentInitial commit. (diff)
downloadthunderbird-upstream.tar.xz
thunderbird-upstream.zip
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/rust/rustc_version/README.md')
-rw-r--r--third_party/rust/rustc_version/README.md81
1 files changed, 81 insertions, 0 deletions
diff --git a/third_party/rust/rustc_version/README.md b/third_party/rust/rustc_version/README.md
new file mode 100644
index 0000000000..e76ef950df
--- /dev/null
+++ b/third_party/rust/rustc_version/README.md
@@ -0,0 +1,81 @@
+rustc-version-rs
+================
+
+[![Documentation](https://docs.rs/rustc_version/badge.svg)](https://docs.rs/rustc_version/)
+[![Crates.io](https://img.shields.io/crates/v/rustc_version.svg)](https://crates.io/crates/rustc_version)
+[![Build status](https://github.com/Kimundi/rustc-version-rs/workflows/CI/badge.svg)](https://github.com/Kimundi/rustc-version-rs/actions?query=workflow%3ACI)
+
+A library for querying the version of a `rustc` compiler.
+
+This can be used by build scripts or other tools dealing with Rust sources
+to make decisions based on the version of the compiler. Current MSRV is 1.32.0.
+
+If this is of interest, also consider looking at these other crates:
+
+* [autocfg](https://crates.io/crates/autocfg/), which helps with feature detection instead of depending on compiler versions
+* [rustversion](https://github.com/dtolnay/rustversion) provides a procedural macro with no other dependencies
+
+# Getting Started
+
+[rustc-version-rs is available on crates.io](https://crates.io/crates/rustc_version).
+It is recommended to look there for the newest released version, as well as links to the newest builds of the docs.
+
+At the point of the last update of this README, the latest published version could be used like this:
+
+Add the following dependency to your Cargo manifest...
+
+```toml
+[build-dependencies]
+rustc_version = "0.2"
+```
+
+... and see the [docs](https://docs.rs/rustc_version) for how to use it.
+
+# Example
+
+```rust
+// This could be a cargo build script
+
+use rustc_version::{version, version_meta, Channel, Version};
+
+fn main() {
+ // Assert we haven't travelled back in time
+ assert!(version().unwrap().major >= 1);
+
+ // Set cfg flags depending on release channel
+ match version_meta().unwrap().channel {
+ Channel::Stable => {
+ println!("cargo:rustc-cfg=RUSTC_IS_STABLE");
+ }
+ Channel::Beta => {
+ println!("cargo:rustc-cfg=RUSTC_IS_BETA");
+ }
+ Channel::Nightly => {
+ println!("cargo:rustc-cfg=RUSTC_IS_NIGHTLY");
+ }
+ Channel::Dev => {
+ println!("cargo:rustc-cfg=RUSTC_IS_DEV");
+ }
+ }
+
+ // Check for a minimum version
+ if version().unwrap() >= Version::parse("1.4.0").unwrap() {
+ println!("cargo:rustc-cfg=compiler_has_important_bugfix");
+ }
+}
+```
+
+## License
+
+Licensed under either of
+
+ * Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
+ * MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
+
+at your option.
+
+### Contribution
+
+Unless you explicitly state otherwise, any contribution intentionally submitted
+for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any
+additional terms or conditions.