```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"
+gcc = "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`
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