Wasm-wc: Use the cargo build output as the make target dependency
cargo build creates the language module under
src/wasm-wasi-component/target/release/libwasm_wasi_component.so and not
build/lib/unit/modules/wasm_wasi_component.unit.so which is what we were
using as a target dependency in the Makefile which doesn't exist so this
resulted in the following
$ make wasm-wasi-component-install
cargo build --release --manifest-path src/wasm-wasi-component/Cargo.toml
Finished release [optimized] target(s) in 0.17s
install -d /opt/unit/modules
install -p src/wasm-wasi-component/target/release/libwasm_wasi_component.so \
/opt/unit/modules/wasm_wasi_component.unit.so
I.e it wanted to rebuild the module, after this patch we get the more
correct
$ make wasm-wasi-component-install
install -d /opt/unit/modules
install -p src/wasm-wasi-component/target/release/libwasm_wasi_component.so \
/opt/unit/modules/wasm_wasi_component.unit.so
This is all a little ugly because we're fighting against cargo wanting
to do its own thing and this wasm-wasi-component language module build
process is likely going to get some re-working anyway, so this will do
for now.
Reported-by: Konstantin Pavlov <thresh@nginx.com>
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
This commit is contained in:
@@ -5,6 +5,8 @@
|
||||
NXT_WCM_MODULE=wasm-wasi-component
|
||||
NXT_WCM_MOD_NAME=`echo $NXT_WCM_MODULE | tr '-' '_'`.unit.so
|
||||
|
||||
NXT_WCM_MOD_CARGO="src/wasm-wasi-component/target/release/libwasm_wasi_component.so"
|
||||
|
||||
|
||||
shift
|
||||
|
||||
@@ -97,16 +99,16 @@ cat << END >> $NXT_MAKEFILE
|
||||
|
||||
all: ${NXT_WCM_MODULE}
|
||||
|
||||
${NXT_WCM_MODULE}: $NXT_BUILD_DIR/lib/unit/modules/$NXT_WCM_MOD_NAME
|
||||
${NXT_WCM_MODULE}: ${NXT_WCM_MOD_CARGO}
|
||||
|
||||
$NXT_BUILD_DIR/lib/unit/modules/$NXT_WCM_MOD_NAME: build/src/nxt_unit.o
|
||||
${NXT_WCM_MOD_CARGO}: build/src/nxt_unit.o
|
||||
$NXT_CARGO_CMD
|
||||
|
||||
install: ${NXT_WCM_MODULE}-install
|
||||
|
||||
${NXT_WCM_MODULE}-install: ${NXT_WCM_MODULE} install-check
|
||||
install -d \$(DESTDIR)$NXT_MODULESDIR
|
||||
install -p src/wasm-wasi-component/target/release/libwasm_wasi_component.so \\
|
||||
install -p ${NXT_WCM_MOD_CARGO} \\
|
||||
\$(DESTDIR)$NXT_MODULESDIR/$NXT_WCM_MOD_NAME
|
||||
|
||||
uninstall: ${NXT_WCM_MODULE}-uninstall
|
||||
|
||||
Reference in New Issue
Block a user