# Changelog
## v0.1.11 (2025-08-02)
- allow `{:elixir_make, "~> 0.7 or ~> 0.8 or ~> 0.9"}`
## v0.1.10 (2024-03-10)
- allow `{:elixir_make, "~> 0.7 or ~> 0.8"}`
## v0.1.9 (2023-11-16)
- added an `exclude_current_target` option
- updated ex_doc
## v0.1.8 (2023-07-19)
### Changed
Fixed `CCPrecompiler.all_supported_targets(:fetch)`. It should fetch and merge default available compilers when `include_default_ones` is `true`.
## v0.1.7 (2022-03-13)
### Added
- using `:include_default_ones` in `project.cc_precompiler.compilers`. Default (cross-)compiler will be included if it's `true`, otherwise only specified targets will be used.
Default value of `:include_default_ones` is `false` to avoid breaking changes.
If a custom target has the same name as a default one, then the custom one will override the default configuration for that target (e.g., the `x86_64-linux-gnu` entry below will override the default gcc configuration and use clang instead).
```elixir
def project do
[
# ...
cc_precompiler: [
compilers: %{
{:unix, :linux} => %{
:include_default_ones => true,
"my-custom-target" => {
"my-custom-target-gcc",
"my-custom-target-g++"
},
"x86_64-linux-gnu" => {
"x86_64-linux-gnu-clang",
"x86_64-linux-gnu-clang++"
}
}
}
]
]
end
```
## v0.1.6 (2022-02-20)
### Added
- allow missing CC or CXX when detecting available targets by setting `allow_missing_compiler` to `true`.
Adding this option because there is no need to require the presence of both CC and CXX for projects that only uses one of them.
```elixir
def project do
[
# ...
cc_precompiler: [
# optional config key
# true - the corresponding target will be available as long as we can detect either `CC` or `CXX`
# false - both `CC` and `CXX` should be present on the system
# defaults to `false`
allow_missing_compiler: false,
# ...
],
# ...
]
end
```