]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
rust: handle windows naming change from .lib to .a 5623/head
authorJason Ish <jason.ish@oisf.net>
Mon, 30 Nov 2020 21:11:57 +0000 (15:11 -0600)
committerJason Ish <jason.ish@oisf.net>
Tue, 1 Dec 2020 16:54:16 +0000 (10:54 -0600)
Prior to Rust 1.44, Cargo would name static libs with the .lib
extension. 1.44 changes this extension to .a when running under
a GNU environment on Windows like msys to make it more similar
to other unix environments.

Now assume static library name to be the same on Windows and
unix, but rename the .lib if found to still support older
versions of Rust on Windows.

(cherry picked from commit f3c59ef8a64f576c8784ab99a125b270f7b9c680)

configure.ac
rust/Makefile.am

index 1b586eca4d99279f84c9bd05b628b15af01558b7..bf18f6c02d11b03b2e007dfdec3cda29dcd33b58 100644 (file)
             WINDOWS_PATH="yes"
             PCAP_LIB_NAME="wpcap"
             AC_DEFINE([HAVE_NON_POSIX_MKDIR], [1], [mkdir is not POSIX compliant: single arg])
-            RUST_SURICATA_LIBNAME="suricata.lib"
             RUST_LDADD=" -lws2_32 -liphlpapi -lwbemuuid -lOle32 -lOleAut32 -lUuid -luserenv -lshell32 -ladvapi32 -lgcc_eh"
             ;;
         *-*-cygwin)
@@ -2406,10 +2405,11 @@ fi
     fi
 
     if test "x$enable_debug" = "xyes"; then
-      RUST_SURICATA_LIB="../rust/target/${RUST_SURICATA_LIB_XC_DIR}debug/${RUST_SURICATA_LIBNAME}"
+      RUST_SURICATA_LIBDIR="../rust/target/${RUST_SURICATA_LIB_XC_DIR}debug"
     else
-      RUST_SURICATA_LIB="../rust/target/${RUST_SURICATA_LIB_XC_DIR}release/${RUST_SURICATA_LIBNAME}"
+      RUST_SURICATA_LIBDIR="../rust/target/${RUST_SURICATA_LIB_XC_DIR}release"
     fi
+    RUST_SURICATA_LIB="${RUST_SURICATA_LIBDIR}/${RUST_SURICATA_LIBNAME}"
 
     RUST_LDADD="${RUST_SURICATA_LIB} ${RUST_LDADD}"
     CFLAGS="${CFLAGS} -I\${srcdir}/../rust/gen/c-headers"
@@ -2592,6 +2592,8 @@ AC_SUBST(CONFIGURE_SYSCONDIR)
 AC_SUBST(CONFIGURE_LOCALSTATEDIR)
 AC_SUBST(CONFIGURE_DATAROOTDIR)
 AC_SUBST(PACKAGE_VERSION)
+AC_SUBST(RUST_FEATURES)
+AC_SUBST(RUST_SURICATA_LIBDIR)
 
 AC_CONFIG_FILES(Makefile src/Makefile rust/Makefile rust/Cargo.toml rust/.cargo/config)
 AC_CONFIG_FILES(qa/Makefile qa/coccinelle/Makefile)
index 747a59fb05fb8b7315d3fcd1675c82f7de8c86c1..6f3b42590fcf2aadf96951efc2c8ec83c4b9b365 100644 (file)
@@ -39,6 +39,10 @@ else
                $(CARGO) build $(RELEASE) \
                        --features "$(RUST_FEATURES)" $(RUST_TARGET)
 endif
+       if test -e $(RUST_SURICATA_LIBDIR)/suricata.lib; then \
+               cp $(RUST_SURICATA_LIBDIR)/suricata.lib \
+                       $(RUST_SURICATA_LIBDIR)/libsuricata.a; \
+       fi
 
 clean-local:
        -rm -rf target gen