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_MAKE_SET
AC_PROG_GREP 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") AC_PATH_PROG(HAVE_PKG_CONFIG, pkg-config, "no")
if test "$HAVE_PKG_CONFIG" = "no"; then if test "$HAVE_PKG_CONFIG" = "no"; then
echo echo
@ -2527,6 +2530,14 @@ if test "$WINDOWS_PATH" = "yes"; then
e_logfilesdir="$e_logdir\\\\files" e_logfilesdir="$e_logdir\\\\files"
e_logcertsdir="$e_logdir\\\\certs" e_logcertsdir="$e_logdir\\\\certs"
e_datarulesdir="$e_winbase\\\\rules\\\\" 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 else
EXPAND_VARIABLE(localstatedir, e_logdir, "/log/suricata/") EXPAND_VARIABLE(localstatedir, e_logdir, "/log/suricata/")
EXPAND_VARIABLE(localstatedir, e_rundir, "/run/") EXPAND_VARIABLE(localstatedir, e_rundir, "/run/")
@ -2537,6 +2548,9 @@ else
EXPAND_VARIABLE(localstatedir, e_localstatedir, "/run/suricata") EXPAND_VARIABLE(localstatedir, e_localstatedir, "/run/suricata")
EXPAND_VARIABLE(datadir, e_datarulesdir, "/suricata/rules") EXPAND_VARIABLE(datadir, e_datarulesdir, "/suricata/rules")
EXPAND_VARIABLE(ruledirprefix, e_defaultruledir, "/suricata/rules") EXPAND_VARIABLE(ruledirprefix, e_defaultruledir, "/suricata/rules")
e_abs_srcdir=$(cd $srcdir && pwd)
EXPAND_VARIABLE(e_abs_srcdir, e_rustdir, "/rust")
fi fi
AC_SUBST(e_logdir) AC_SUBST(e_logdir)
AC_SUBST(e_rundir) AC_SUBST(e_rundir)
@ -2551,6 +2565,7 @@ AC_SUBST(e_magic_file_comment)
AC_SUBST(e_enable_evelog) AC_SUBST(e_enable_evelog)
AC_SUBST(e_datarulesdir) AC_SUBST(e_datarulesdir)
AC_SUBST(e_defaultruledir) AC_SUBST(e_defaultruledir)
AC_SUBST(e_rustdir)
AC_SUBST(has_suricata_update_comment) AC_SUBST(has_suricata_update_comment)
AC_SUBST(no_suricata_update_comment) AC_SUBST(no_suricata_update_comment)

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

@ -33,11 +33,20 @@ all-local:
if HAVE_PYTHON if HAVE_PYTHON
cd $(top_srcdir)/rust && $(HAVE_PYTHON) ./gen-c-headers.py cd $(top_srcdir)/rust && $(HAVE_PYTHON) ./gen-c-headers.py
endif 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 && \ cd $(top_srcdir)/rust && \
CARGO_HOME=$(CARGO_HOME) \ CARGO_HOME=$(CARGO_HOME) \
CARGO_TARGET_DIR=$(abs_top_builddir)/rust/target \ CARGO_TARGET_DIR=$(abs_top_builddir)/rust/target \
$(CARGO) build $(RELEASE) $(FROZEN) \ $(CARGO) build $(RELEASE) $(FROZEN) \
--features "$(RUST_FEATURES)" --features "$(RUST_FEATURES)"
endif
clean-local: clean-local:
-rm -rf target -rm -rf target

Loading…
Cancel
Save