rust/mingw: build fixes

Fix path passed to cargo by using 'cygpath' if available.
pull/3772/head
Victor Julien 6 years ago
parent 968e613037
commit 24d6a16459

@ -75,6 +75,9 @@
AC_PROG_MAKE_SET
AC_PROG_GREP
AC_PATH_PROG(HAVE_CYGPATH, cygpath, "no")
AM_CONDITIONAL([HAVE_CYGPATH], [test "x$enable_cygpath" = "xyes"])
AC_PATH_PROG(HAVE_PKG_CONFIG, pkg-config, "no")
if test "$HAVE_PKG_CONFIG" = "no"; then
echo
@ -2527,6 +2530,14 @@ if test "$WINDOWS_PATH" = "yes"; then
e_logfilesdir="$e_logdir\\\\files"
e_logcertsdir="$e_logdir\\\\certs"
e_datarulesdir="$e_winbase\\\\rules\\\\"
if test "$HAVE_CYGPATH" != "no"; then
# turn srcdir into abs path and convert to the
# mixed output (/c/Users/dev into c:/Users/dev)
e_rustdir="$(cygpath -a -t mixed ${srcdir})/rust"
else
e_abs_srcdir=$(cd $srcdir && pwd)
e_rustdir="$e_abs_srcdir/rust"
fi
else
EXPAND_VARIABLE(localstatedir, e_logdir, "/log/suricata/")
EXPAND_VARIABLE(localstatedir, e_rundir, "/run/")
@ -2537,6 +2548,9 @@ else
EXPAND_VARIABLE(localstatedir, e_localstatedir, "/run/suricata")
EXPAND_VARIABLE(datadir, e_datarulesdir, "/suricata/rules")
EXPAND_VARIABLE(ruledirprefix, e_defaultruledir, "/suricata/rules")
e_abs_srcdir=$(cd $srcdir && pwd)
EXPAND_VARIABLE(e_abs_srcdir, e_rustdir, "/rust")
fi
AC_SUBST(e_logdir)
AC_SUBST(e_rundir)
@ -2551,6 +2565,7 @@ AC_SUBST(e_magic_file_comment)
AC_SUBST(e_enable_evelog)
AC_SUBST(e_datarulesdir)
AC_SUBST(e_defaultruledir)
AC_SUBST(e_rustdir)
AC_SUBST(has_suricata_update_comment)
AC_SUBST(no_suricata_update_comment)

@ -4,7 +4,7 @@ version = "@PACKAGE_VERSION@"
[lib]
crate-type = ["staticlib"]
path = "@abs_srcdir@/src/lib.rs"
path = "@e_rustdir@/src/lib.rs"
[profile.release]
debug = true

@ -33,11 +33,20 @@ all-local:
if HAVE_PYTHON
cd $(top_srcdir)/rust && $(HAVE_PYTHON) ./gen-c-headers.py
endif
if HAVE_CYGPATH
rustpath=`cygpath -a -t mixed $(abs_top_builddir)`
cd $(top_srcdir)/rust && \
CARGO_HOME=$(CARGO_HOME) \
CARGO_TARGET_DIR="$$rustpath/rust/target" \
$(CARGO) build $(RELEASE) $(FROZEN) \
--features "$(RUST_FEATURES)"
else
cd $(top_srcdir)/rust && \
CARGO_HOME=$(CARGO_HOME) \
CARGO_TARGET_DIR=$(abs_top_builddir)/rust/target \
$(CARGO) build $(RELEASE) $(FROZEN) \
--features "$(RUST_FEATURES)"
endif
clean-local:
-rm -rf target

Loading…
Cancel
Save