- allow
{:elixir_make, "~> 0.7 or ~> 0.8"}
- added an
exclude_current_target
option - updated ex_doc
Fixed CCPrecompiler.all_supported_targets(:fetch)
. It should fetch and merge default available compilers when include_default_ones
is true
.
- using
:include_default_ones
inproject.cc_precompiler.compilers
. Default (cross-)compiler will be included if it'strue
, 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).
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
-
allow missing CC or CXX when detecting available targets by setting
allow_missing_compiler
totrue
.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.
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