- Fix: create output dir before canonicalize
- Fix: canonicalize output directory path for
CARGO_NDK_OUTPUT_PATH
, fixes build scripts not at workspace root - Enhancement: output directory creation error now prints error message instead of panicking
- Fix: a type was optional, then wasn't, and now is optional again.
- Fix: use correct path on Linux
- Fix: only copy libraries being built
- Fix: add compile error if attempted to build for unsupported target OSes (please stop trying to build cargo-ndk for Android. Makes no sense.)
- Fix: remove underscore prefixed env vars from
ndk-env
- Enhancement: add usage instructions to the ndk-env output
- Enhancement: add
--powershell
flag to ndk-env
- Fix: make
CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER
correct
- Fix: make the exports from
ndk-env
use underscores
- Enhancement: added
ndk-env
command for printing env vars for use with things like rust-analyzer.
Please note the MSRV for building cargo-ndk
is now 1.73 due to dependency churn.
- Enhancement: add additional environment variables for sysroot directories (see README.md)
- Enhancement: console output now uses
cargo
's formatter (and looks prettier) - Enhancement: panics will print a dump for simplifying bug reports
RUST_LOG
is therefore now ignored. Use cargo
's usual -v
and -vv
for verbosity control.
- Fix: pass CFLAGS, CXXFLAGS and related variables as per
cc
crate behaviour
- Fix: pass CFLAGS and CXXFLAGS to cargo correctly (thanks @rib)
- Fix: linker workaround made more robust and fixing too many args issues (thanks @rib)
- Enhancement: use
OUT_DIR
to hold thecargo-ndk
wrapper executables on Windows (thanks @ScSofts)
- Fix: use
raw_args
for the Windows workaround subprocesses because random quotation marks still leak in
- Workaround: NDK r25 on Windows does not work with Rust (#92, android/ndk#1856).
cargo-ndk
works around this by filtering the arguments before being passed to the NDK build scripts.
I wish everyone a very good day, except Google.
- Fix: specifying
--profile dev
will now look in thedebug
target directory as expected.
libgcc
will no longer be linked against resultant libraries, and the workaround code in cargo-ndk
has been removed.
See https://blog.rust-lang.org/2023/01/09/android-ndk-update-r25.html for more information.
- Breaking change: minimum supported version of Rust is now 1.68.
- Enhancement: added
RANLIB
environment variables
- Fix: stop
cargo_metadata
from downloading the entire world for no reason.
- Fix: Handle bindgen clang arguments on Windows.
- Fix: Handle
CARGO_ENCODED_RUSTFLAGS
andRUSTFLAGS
correctly.
- Fix: add missing Cargo.lock file.
- Fix: Revert
__ANDROID_API__
changes from v2.12.0.
- Fix:
build --profile <foo>
is now supported.
This release clarifies that the MSRV is 1.56
. This is confirmed by CI.
- Fix: removed use of format strings in order to support older Rust releases
- Enhancement: define
__ANDROID_API__
inCFLAGS
andCXXFLAGS
(thanks @Zoxc) - Enhancement: updated dependencies
- Fix: remove automatic adding of bindgen flags (use
--bindgen
as expected) - Enhancement: consider all widely-used NDK/SDK env vars (thanks @rib)
- Enhancement: updated dependencies
- Fix: support NDK 23 and higher with libgcc workaround (thanks @rib)
- Fix: better bindgen handling (thanks @lattice0)
- Fix: missing NDK now exits with exit code 1 (thanks @complexspaces)
- Enhancement: more intelligent handling of manifest context (thanks @complexspaces)
- Fix: now works with NDK 23 and maybe up. Maybe. Google do be that company, yo.
- Enhancement: added
--bindgen
flag for adding relevant environment variables for bindgen. (thanks @mkpowers and @x3ro)
- Fix:
-v
shows version now.
- Fix: Expose
CARGO_NDK_ANDROID_PLATFORM
to subprocesses. (thanks @DoumanAsh)
- Fix:
ANDROID_NDK_HOME
will now try to resolve the highest version in the given directory before falling back to literal path. (thanks @dnaka91)
- Fix: Workspaces no longer cause build failures
- Enhancement: Added
CARGO_NDK_CMAKE_TOOLCHAIN_PATH
andCARGO_NDK_ANDROID_TARGET
environment variable exports
- Fix: Return support for Rust-style triples to the target command line argument (the new behaviour also remains)
- Fix: Handle --manifest-path correctly (thanks @ubamrein)
- Enhancement: Update some help text phrasing and general ergonomics of output
- Breaking change: most command line parameters have changed in some way, see the README for current usage.
- Feature: Added auto-detection of NDK where available
- Feature: Specify all build targets at once
- Feature: Output built libraries to
jniLibs
-formatted directory layout - Enhancement: Better error handling in general, better messages
- No changes, just guaranteeing stability of the command line interface. :)
- Add
CXX
environment variables (thanks @remyers)