Skip to content

Commit

Permalink
Update docs to use cc instead of gcc
Browse files Browse the repository at this point in the history
  • Loading branch information
efyang committed Oct 18, 2017
1 parent 7c47eeb commit 209513d
Showing 1 changed file with 9 additions and 7 deletions.
16 changes: 9 additions & 7 deletions src/doc/build-script.md
Original file line number Diff line number Diff line change
Expand Up @@ -372,24 +372,26 @@ portable, and standardized. For example, the build script could be written as:
```rust,ignore
// build.rs
// Bring in a dependency on an externally maintained `gcc` package which manages
// Bring in a dependency on an externally maintained `cc` package which manages
// invoking the C compiler.
extern crate gcc;
extern crate cc;
fn main() {
gcc::compile_library("libhello.a", &["src/hello.c"]);
cc::Build::new()
.file("src/hello.c")
.compile("hello");
}
```

Add a build time dependency on the `gcc` crate with the following addition to
Add a build time dependency on the `cc` crate with the following addition to
your `Cargo.toml`:

```toml
[build-dependencies]
gcc = "0.3"
cc = "1.0"
```

The [`gcc` crate](https://crates.io/crates/gcc) abstracts a range of build
The [`cc` crate](https://crates.io/crates/cc) abstracts a range of build
script requirements for C code:

* It invokes the appropriate compiler (MSVC for windows, `gcc` for MinGW, `cc`
Expand All @@ -398,7 +400,7 @@ script requirements for C code:
the compiler being used.
* Other environment variables, such as `OPT_LEVEL`, `DEBUG`, etc., are all
handled automatically.
* The stdout output and `OUT_DIR` locations are also handled by the `gcc`
* The stdout output and `OUT_DIR` locations are also handled by the `cc`
library.

Here we can start to see some of the major benefits of farming as much
Expand Down

0 comments on commit 209513d

Please sign in to comment.