Re: Bug: Makefile ignores CARGO_TARGET_DIR
Todd Zullinger <[email protected]> Tue, 28 Jul 2026 14:01:38 -0400
| Newsgroups | org.kernel.vger.git |
|---|---|
| Message-ID | <[email protected]> |
William Pursell wrote: > The Makefile hardcodes the path to the Rust static library at line > 962, but the cargo invocation at line 3036 does not override > CARGO_TARGET_DIR. (line numbers are relative to 9a0c4701) > > When CARGO_TARGET_DIR is set in the environment, the link step fails: > > clang: error: no such file or directory: 'target/release/libgitcore.a' If the fix simply to add `--target $*` as is used a few lines below in RUST_MEMBER_LIBS, e.g.: diff --git i/Makefile w/Makefile index 98e995e4be..fa6e4b2702 100644 --- i/Makefile +++ w/Makefile @@ -3034,7 +3034,7 @@ $(LIB_FILE): $(LIB_OBJS) ifndef NO_RUST ifeq ($(RUST_TARGETS),) $(RUST_LIB): Cargo.toml $(RUST_SOURCES) $(LIB_FILE) - $(QUIET_CARGO)cargo build $(CARGO_ARGS) + $(QUIET_CARGO)cargo build $(CARGO_ARGS) --target $* else ifneq ($(words $(RUST_TARGETS)),1) ifneq ($(uname_S),Darwin) Does this also affect the `cargo build` calls in the libgit-sys and libgit-rs make targets (~lines 4090 and 4092)? -- Todd