linux-cp: fix seg fault in get_v2 methods
[vpp.git] / configure
index 29f7dbd..19b5ecd 100755 (executable)
--- a/configure
+++ b/configure
@@ -5,6 +5,7 @@ set -o pipefail -o errtrace -o nounset -o errexit
 # submitting any changes
 
 # defaults
+platform=default
 build_dir=.
 install_dir=/usr/local
 build_type=release
@@ -30,6 +31,9 @@ OPTIONS:
   --build-type, -t        Build type (release, debug, ...)
   --native-only, -n       Only compile for Native CPU (no multiarch)
   --wipe, -w              Wipe whole repo (except startup.* files)
+  --sanitize, -s          Enable sanitizer (mem)
+  --platform, -p          Specify target platform
+  --option, -o            Enable specific VPP options (fib8, fib16)
 __EOF__
 }
 
@@ -75,6 +79,15 @@ while (( "$#" )); do
         exit 1
       fi
       ;;
+    -p|--platform)
+      if [ -n "$2" ] && [ ${2:0:1} != "-" ]; then
+        platform=$2
+        shift 2
+      else
+        echo "Error: Argument for $1 is missing" >&2
+        exit 1
+      fi
+      ;;
     -n|--native-only)
       native_only=yes
       shift 1
@@ -83,6 +96,28 @@ while (( "$#" )); do
       wipe=yes
       shift 1
       ;;
+    -s|--sanitize)
+      shift 1
+      case "$1" in
+       mem)
+         shift 1
+         args+=("-DVPP_ENABLE_SANITIZE_ADDR=ON")
+         ;;
+      esac
+      ;;
+    -o|--option)
+      shift 1
+      case "$1" in
+       fib8)
+         shift 1
+         args+=("-DVPP_IP_FIB_MTRIE_16=OFF")
+         ;;
+       fib16)
+         shift 1
+         args+=("-DVPP_IP_FIB_MTRIE_16=ON")
+         ;;
+      esac
+      ;;
     -*|--*=) # unsupported flags
       echo "Error: Unsupported flag $1" >&2
       exit 1
@@ -111,6 +146,7 @@ args+=("-DCMAKE_PREFIX_PATH=/opt/vpp/external/${arch}")
 args+=("-DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=ON")
 args+=("-DCMAKE_INSTALL_PREFIX=${install_dir}")
 args+=("-DCMAKE_BUILD_TYPE:STRING=${build_type}")
+args+=("-DVPP_PLATFORM=${platform}")
 [ "${native_only}" == "yes" ] && args+=("-DVPP_BUILD_NATIVE_ONLY:BOOL=ON")
 
 [ "${wipe}" == "yes" ] && git clean -fdx --exclude=startup.\*