]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
rust: --enable-rust-strict to turn warnings into errors
authorJason Ish <ish@unx.ca>
Fri, 14 Jul 2017 14:26:30 +0000 (08:26 -0600)
committerVictor Julien <victor@inliniac.net>
Wed, 19 Jul 2017 07:38:33 +0000 (09:38 +0200)
configure.ac
rust/Cargo.toml.in
rust/Makefile.am
rust/src/lib.rs

index 967ce24967c38c2ccb66ae3cb3e12e8af19e5c92..4e82c57565f5750245ad797ae969db911f7c10ad 100644 (file)
     fi
     AM_CONDITIONAL([HAVE_CARGO_VENDOR], [test "x$HAVE_CARGO_VENDOR" != "xno"])
 
+    AC_ARG_ENABLE(rust_strict,
+           AS_HELP_STRING([--enable-rust-strict], [Rust warnings as errors]),,[enable_rust_strict=no])
+    AS_IF([test "x$enable_rust_strict" = "xyes"], [
+        RUST_FEATURES="strict"
+    ])
+    AC_SUBST(RUST_FEATURES)
+
 # get revision
     if test -f ./revision; then
         REVISION=`cat ./revision`
@@ -2168,6 +2175,7 @@ SURICATA_BUILD_CONF="Suricata Configuration:
 
   Rust support (experimental):             ${enable_rust}
   Experimental Rust parsers:               ${enable_rust_experimental}
+  Rust strict mode:                        ${enable_rust_strict}
 
   Suricatasc install:                      ${enable_python}
 
index f10cd3c3e9d3c1a2d5f970a63185d8b41687aa44..f18373353548b519499109a3746a34064c389446 100644 (file)
@@ -11,6 +11,7 @@ debug = true
 [features]
 lua = []
 experimental = ["ntp-parser"]
+strict = []
 
 [dependencies]
 nom = "~3.0"
index 73c6d2a0d9aaae0b433d2f6ddf56b5b32ce14ee8..dfee1c43dc449820150ccce55f8448f6c3b9ba1d 100644 (file)
@@ -19,14 +19,14 @@ if !DEBUG
 RELEASE = --release
 endif
 
-FEATURES =
+RUST_FEATURES =
 
 if HAVE_LUA
-FEATURES +=    lua
+RUST_FEATURES +=       lua
 endif
 
 if HAVE_RUST_EXTERNAL
-FEATURES +=    experimental
+RUST_FEATURES +=       experimental
 endif
 
 all-local:
@@ -35,11 +35,11 @@ if HAVE_PYTHON
                $(HAVE_PYTHON) ./gen-c-headers.py && \
                CARGO_TARGET_DIR=$(abs_builddir)/target \
                CARGO_HOME=$(CARGO_HOME) $(CARGO) build $(RELEASE) $(FROZEN) \
-                       --features "$(FEATURES)"
+                       --features "$(RUST_FEATURES)"
 else
        cd $(top_srcdir)/rust && CARGO_TARGET_DIR=$(abs_builddir)/target \
                CARGO_HOME=$(CARGO_HOME) $(CARGO) build $(RELEASE) $(FROZEN) \
-                       --features "$(FEATURES)"
+                       --features "$(RUST_FEATURES)"
 endif
 
 clean-local:
index 08e891ffba309789e8a3d7ddd0e972dced8afaa3..fe37062f05a92f645c961c78ef8aa5eccc25d253 100644 (file)
@@ -15,6 +15,8 @@
  * 02110-1301, USA.
  */
 
+#![cfg_attr(feature = "strict", deny(warnings))]
+
 extern crate libc;
 
 #[macro_use]