blob: b25c02f7419614115b6ccfe7b01f1a644ce54f8b [file] [log] [blame] [view] [edit]
% Conditional Compilation
<small>There is a new edition of the book and this is an old link.</small>
> Sometimes one wants to have different compiler outputs from the same code, depending on build target, such as targeted operating system, or to enable release builds.
> Configuration options are either provided by the compiler or passed in on the command line using.
> Rust code then checks for their presence using the `#[cfg(...)]` attribute
```rust
// The function is only included in the build when compiling for macOS
#[cfg(target_os = "macos")]
fn macos_only() {
// ...
}
```
---
This particular chapter does not exist in [the second edition][2].
The best place to learn about it is [the Rust Reference][3].
* **[In the Rust Reference: Ch 5 Conditional Compilation][3]**
* <small>[In the first edition: Ch 4.3 Conditional Compilation][1]</small>
[1]: https://doc.rust-lang.org/1.30.0/book/first-edition/conditional-compilation.html
[2]: index.html
[3]: ../reference/conditional-compilation.html