# submitting any changes
# defaults
+platform=default
build_dir=.
install_dir=/usr/local
build_type=release
--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__
}
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
;;
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
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.\*