% Conditional Compilation There is a new edition of the book and this is an old link. > 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]** * [In the first edition: Ch 4.3 — Conditional Compilation][1] [1]: https://doc.rust-lang.org/1.30.0/book/first-edition/conditional-compilation.html [2]: index.html [3]: ../reference/conditional-compilation.html