Skip to content

Commit 24ade72

Browse files
committed
Publish preparation
1 parent 6df105e commit 24ade72

File tree

4 files changed

+98
-1
lines changed

4 files changed

+98
-1
lines changed

Cargo.toml

+12-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,18 @@
11
[package]
22
name = "rustc-llvm-proxy"
3-
version = "0.1.0"
3+
version = "0.1.1"
44
authors = ["Denys Zariaiev <denys.zariaiev@gmail.com>"]
5+
license = "MIT"
6+
7+
readme = "README.md"
8+
repository = "https://github.com/denzp/rustc-llvm-proxy"
9+
categories = ["development-tools::build-utils", "external-ffi-bindings"]
10+
keywords = ["llvm"]
11+
12+
[badges]
13+
appveyor = { repository = "denzp/rustc-llvm-proxy", branch = "master", service = "github" }
14+
travis-ci = { repository = "denzp/rustc-llvm-proxy", branch = "master" }
15+
maintenance = { status = "passively-maintained" }
516

617
[dependencies]
718
libloading = "0.5"

LICENSE

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2018 Denys Zariaiev
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Rustc LLVM Proxy
2+
3+
[![Build Status](https://travis-ci.org/denzp/rustc-llvm-proxy.svg?branch=master)](https://travis-ci.org/denzp/rustc-llvm-proxy)
4+
[![Build status](https://ci.appveyor.com/api/projects/status/4oxi872d3nir8ndk?svg=true)](https://ci.appveyor.com/project/denzp/rustc-llvm-proxy)
5+
[![Current Version](https://img.shields.io/crates/v/rustc-llvm-proxy.svg)](https://crates.io/crates/rustc-llvm-proxy)
6+
7+
Dynamically proxy LLVM calls into Rust own shared library! 🎉
8+
9+
## Use cases
10+
Normally there is no much need for the crate, except a couple of exotic cases:
11+
12+
* Your crate is some kind build process helper that leverages LLVM (e.g. [ptx-linker](https://github.com/denzp/rust-ptx-linker)),
13+
* Your crate needs to stay up to date with Rust LLVM version (again [ptx-linker](https://github.com/denzp/rust-ptx-linker)),
14+
* You would prefer not to have dependencies on host LLVM libs (as always [ptx-linker](https://github.com/denzp/rust-ptx-linker)).
15+
16+
## Usage
17+
First, you need to make sure no other crate links your binary against system LLVM library.
18+
In case you are using `llvm-sys`, this can be achieved with custom repo and a special feature:
19+
20+
``` toml
21+
[dependencies.llvm-sys]
22+
git = "https://github.com/denzp/llvm-sys.rs.git"
23+
features = ["no-llvm-linking"]
24+
```
25+
26+
Then all you need to do is to include the crate into your project:
27+
28+
``` toml
29+
[dependencies]
30+
rustc-llvm-proxy = "0.1"
31+
```
32+
33+
``` rust
34+
extern crate rustc_llvm_proxy;
35+
```

src/lib.rs

+30
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,36 @@
11
#![deny(warnings)]
22
#![allow(non_snake_case)]
33

4+
//! Dynamically proxy LLVM calls into Rust own shared library! 🎉
5+
//!
6+
//! ## Use cases
7+
//! Normally there is no much need for the crate, except a couple of exotic cases:
8+
//!
9+
//! * Your crate is some kind build process helper that leverages LLVM (e.g. [ptx-linker](https://github.com/denzp/rust-ptx-linker)),
10+
//! * Your crate needs to stay up to date with Rust LLVM version (again [ptx-linker](https://github.com/denzp/rust-ptx-linker)),
11+
//! * You would prefer not to have dependencies on host LLVM libs (as always [ptx-linker](https://github.com/denzp/rust-ptx-linker)).
12+
//!
13+
//! ## Usage
14+
//! First, you need to make sure no other crate links your binary against system LLVM library.
15+
//! In case you are using `llvm-sys`, this can be achieved with custom repo and a special feature:
16+
//!
17+
//! ``` toml
18+
//! [dependencies.llvm-sys]
19+
//! git = "https://github.com/denzp/llvm-sys.rs.git"
20+
//! features = ["no-llvm-linking"]
21+
//! ```
22+
//!
23+
//! Then all you need to do is to include the crate into your project:
24+
//!
25+
//! ``` toml
26+
//! [dependencies]
27+
//! rustc-llvm-proxy = "0.1"
28+
//! ```
29+
//!
30+
//! ``` rust
31+
//! extern crate rustc_llvm_proxy;
32+
//! ```
33+
434
#[macro_use]
535
extern crate lazy_static;
636
#[macro_use]

0 commit comments

Comments
 (0)