fi
RUST_LDADD="${RUST_SURICATA_LIB} ${RUST_LDADD}"
- CFLAGS="${CFLAGS} -I\${srcdir}/../rust/gen"
+ CFLAGS="${CFLAGS} -I\${srcdir}/../rust/gen -I\${srcdir}/../rust/dist"
AC_SUBST(RUST_SURICATA_LIB)
AC_SUBST(RUST_LDADD)
if test "x$CARGO_HOME" = "x"; then
have_cargo_vendor=$have_cargo_vendor_bin
fi
- AC_CHECK_FILES([$srcdir/rust/gen], [have_rust_headers="yes"])
+ AC_CHECK_FILES([$srcdir/rust/dist $srcdir/rust/gen], [have_rust_headers="yes"])
AC_PATH_PROG(CBINDGEN, cbindgen, "no")
if test "x$CBINDGEN" != "xno"; then
cbindgen_version=$(cbindgen --version | cut -d' ' -f2-)
fi
fi
+ AC_SUBST([CBINDGEN], [$CBINDGEN])
+
# Require cbindgen if generated headers are not bundled.
if test "x$have_rust_headers" != "xyes"; then
if test "x$CBINDGEN" = "xno"; then
EXTRA_DIST = src \
.cargo/config.in \
cbindgen.toml \
- gen/rust-bindings.h
+ dist/rust-bindings.h
if HAVE_CARGO_VENDOR
EXTRA_DIST += vendor
endif
all-local:
-if HAVE_CBINDGEN
- cbindgen --config $(abs_top_srcdir)/rust/cbindgen.toml \
- --quiet --output $(abs_top_builddir)/rust/gen/rust-bindings.h
-endif
if HAVE_CYGPATH
@rustup_home@ \
CARGO_HOME="$(CARGO_HOME)" \
$(CARGO) build $(RELEASE) \
--features "$(RUST_FEATURES)" $(RUST_TARGET)
endif
+ $(MAKE) gen/rust-bindings.h
clean-local:
rm -rf target
if HAVE_CBINDGEN
- rm -rf gen
+ rm -rf gen dist
endif
distclean-local:
vendor:
endif
-# Can only include the headers if we have Python to generate them.
if HAVE_CBINDGEN
-gen/rust-bindings.h:
+gen/rust-bindings.h: $(RUST_SURICATA_LIB)
+ rm -f gen/rust-bindings.h
cbindgen --config $(abs_top_srcdir)/rust/cbindgen.toml \
--quiet --output $(abs_top_builddir)/rust/gen/rust-bindings.h
else
doc:
CARGO_HOME=$(CARGO_HOME) $(CARGO) doc --all-features --no-deps
+
+if HAVE_CBINDGEN
+dist/rust-bindings.h:
+ cbindgen --config $(abs_top_srcdir)/rust/cbindgen.toml \
+ --quiet --output $(abs_top_builddir)/rust/dist/rust-bindings.h
+else
+dist/rust-bindings.h:
+endif