]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
configure: simplify options parsing
authorAndrea Claudi <aclaudi@redhat.com>
Thu, 14 Oct 2021 08:50:52 +0000 (10:50 +0200)
committerDavid Ahern <dsahern@kernel.org>
Fri, 15 Oct 2021 23:57:02 +0000 (17:57 -0600)
This commit simplifies options parsing moving all the code not related to
parsing out of the case statement.

- The conditional shift after the assignments is moved right after the
  case, reducing code duplication.
- The semantic checks on the LIBBPF_FORCE value is moved after the loop
  like we already did for INCLUDE and LIBBPF_DIR.
- Finally, the loop condition is changed to check remaining arguments, thus
  making it possible to get rid of the null string case break.

As a bonus, now the help message states that on or off should follow
--libbpf_force

Signed-off-by: Andrea Claudi <aclaudi@redhat.com>
Acked-by: Phil Sutter <phil@nwl.cc>
Signed-off-by: David Ahern <dsahern@kernel.org>
configure

index 9ec19a5b3dc2ff554de9cb68911fea657dd4df9f..26e06eb81323ef5e99b39631f9723d0af9399cd9 100755 (executable)
--- a/configure
+++ b/configure
@@ -485,12 +485,12 @@ usage()
 {
        cat <<EOF
 Usage: $0 [OPTIONS]
-       --include_dir <dir>     Path to iproute2 include dir
-       --libbpf_dir <dir>      Path to libbpf DESTDIR
-       --libbpf_force          Enable/disable libbpf by force. Available options:
-                                 on: require link against libbpf, quit config if no libbpf support
-                                 off: disable libbpf probing
-       -h | --help             Show this usage info
+       --include_dir <dir>             Path to iproute2 include dir
+       --libbpf_dir <dir>              Path to libbpf DESTDIR
+       --libbpf_force <on|off>         Enable/disable libbpf by force. Available options:
+                                         on: require link against libbpf, quit config if no libbpf support
+                                         off: disable libbpf probing
+       -h | --help                     Show this usage info
 EOF
        exit $1
 }
@@ -499,31 +499,25 @@ EOF
 if [ $# -eq 1 ] && [ "$(echo $1 | cut -c 1)" != '-' ]; then
        INCLUDE="$1"
 else
-       while true; do
+       while [ "$#" -gt 0 ]; do
                case "$1" in
                        --include_dir)
                                shift
-                               INCLUDE="$1"
-                               [ "$#" -gt 0 ] && shift ;;
+                               INCLUDE="$1" ;;
                        --libbpf_dir)
                                shift
-                               LIBBPF_DIR="$1"
-                               [ "$#" -gt 0 ] && shift ;;
+                               LIBBPF_DIR="$1" ;;
                        --libbpf_force)
-                               if [ "$2" != 'on' ] && [ "$2" != 'off' ]; then
-                                       usage 1
-                               fi
-                               LIBBPF_FORCE=$2
-                               shift 2 ;;
+                               shift
+                               LIBBPF_FORCE="$1" ;;
                        -h | --help)
                                usage 0 ;;
                        --*)
-                               shift ;;
-                       "")
-                               break ;;
+                               ;;
                        *)
                                usage 1 ;;
                esac
+               [ "$#" -gt 0 ] && shift
        done
 fi
 
@@ -531,6 +525,11 @@ fi
 if [ "${LIBBPF_DIR-unused}" != "unused" ]; then
        [ -d "$LIBBPF_DIR" ] || usage 1
 fi
+if [ "${LIBBPF_FORCE-unused}" != "unused" ]; then
+       if [ "$LIBBPF_FORCE" != 'on' ] && [ "$LIBBPF_FORCE" != 'off' ]; then
+               usage 1
+       fi
+fi
 
 echo "# Generated config based on" $INCLUDE >$CONFIG
 quiet_config >> $CONFIG