All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Weil <sw@weilnetz.de>
To: Stewart Smith <stewart@linux.vnet.ibm.com>, qemu-devel@nongnu.org
Cc: qemu-trivial@nongnu.org
Subject: Re: [Qemu-trivial] [Qemu-devel] [PATCH v2 3/6] configure: alphabetize output of --help and separate into groups
Date: Fri, 24 Jan 2014 07:30:37 +0100	[thread overview]
Message-ID: <52E2088D.3030300@weilnetz.de> (raw)
In-Reply-To: <1390527551-22069-4-git-send-email-stewart@linux.vnet.ibm.com>

Am 24.01.2014 02:39, schrieb Stewart Smith:
> This should make it (slightly) easier to discover configure options.
> I've tried to separate out build options (e.g. gcov) from feature
> options (such as gtk).
> 
> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
> ---
>  configure | 174 ++++++++++++++++++++++++++++++++------------------------------
>  1 file changed, 89 insertions(+), 85 deletions(-)
> 
> diff --git a/configure b/configure
> index e61708a..c225291 100755
> --- a/configure
> +++ b/configure
> @@ -1102,7 +1102,7 @@ Standard options:
>  $(echo Available targets: $default_target_list | \
>    fold -s -w 53 | sed -e 's/^/                           /')
>  
> -Advanced options (experts only):
> +Advanced options, build (experts only):
>    --source-path=PATH       path of source code [$source_path]
>    --cross-prefix=PREFIX    use PREFIX for compile tools [$cross_prefix]
>    --cc=CC                  use C compiler CC [$cc]
> @@ -1135,16 +1135,18 @@ Advanced options (experts only):
>    --disable-sparse         disable sparse checker (default)
>    --disable-strip          disable stripping binaries
>    --disable-werror         disable compilation abort on warning
> -  --disable-sdl            disable SDL
> -  --enable-sdl             enable SDL
> -  --disable-gtk            disable gtk UI
> -  --enable-gtk             enable gtk UI
> -  --disable-virtfs         disable VirtFS
> -  --enable-virtfs          enable VirtFS
> -  --disable-vnc            disable VNC
> -  --enable-vnc             enable VNC
> -  --disable-cocoa          disable Cocoa (Mac OS X only)
> -  --enable-cocoa           enable Cocoa (default on Mac OS X)
> +  --disable-attr           disables attr and xattr support
> +  --enable-attr            enable attr and xattr support
> +  --enable-pie             build Position Independent Executables
> +  --disable-pie            do not build Position Independent Executables
> +  --cpu=CPU                Build for host CPU [$cpu]
> +  --disable-blobs          disable installing provided firmware blobs
> +  --enable-gcov            enable test coverage analysis with gcov
> +  --gcov=GCOV              use specified gcov [$gcov_tool]
> +  --enable-docs            enable documentation build
> +  --disable-docs           disable documentation build
> +
> +Advanced options, features (experts only):
>    --audio-drv-list=LIST    set audio drivers list:
>                             Available drivers: $audio_possible_drivers
>    --block-drv-whitelist=L  Same as --block-drv-rw-whitelist=L
> @@ -1154,105 +1156,107 @@ Advanced options (experts only):
>    --block-drv-ro-whitelist=L
>                             set block driver read-only whitelist
>                             (affects only QEMU, not qemu-img)
> -  --disable-xen            disable xen backend driver support
> -  --enable-xen             enable xen backend driver support
> -  --disable-xen-pci-passthrough
> -  --enable-xen-pci-passthrough
>    --disable-brlapi         disable BrlAPI
>    --enable-brlapi          enable BrlAPI
> -  --disable-vnc-tls        disable TLS encryption for VNC server
> -  --enable-vnc-tls         enable TLS encryption for VNC server
> -  --disable-vnc-sasl       disable SASL encryption for VNC server
> -  --enable-vnc-sasl        enable SASL encryption for VNC server
> -  --disable-vnc-jpeg       disable JPEG lossy compression for VNC server
> -  --enable-vnc-jpeg        enable JPEG lossy compression for VNC server
> -  --disable-vnc-png        disable PNG compression for VNC server (default)
> -  --enable-vnc-png         enable PNG compression for VNC server
> -  --disable-vnc-ws         disable Websockets support for VNC server
> -  --enable-vnc-ws          enable Websockets support for VNC server
> -  --disable-curses         disable curses output
> -  --enable-curses          enable curses output
> +  --disable-bluez          disable bluez stack connectivity
> +  --enable-bluez           enable bluez stack connectivity
> +  --disable-cap-ng         disable libcap-ng support
> +  --enable-cap-ng          enable libcap-ng support
> +  --disable-cocoa          disable Cocoa (Mac OS X only)
> +  --enable-cocoa           enable Cocoa (default on Mac OS X)
> +  --with-coroutine=BACKEND coroutine backend. Supported options:
> +                           gthread, ucontext, sigaltstack, windows
> +  --disable-coroutine-pool disable coroutine freelist (worse performance)
> +  --enable-coroutine-pool  enable coroutine freelist (better performance)
>    --disable-curl           disable curl connectivity
>    --enable-curl            enable curl connectivity
> +  --disable-curses         disable curses output
> +  --enable-curses          enable curses output
>    --disable-fdt            disable fdt device tree
>    --enable-fdt             enable fdt device tree
> -  --disable-bluez          disable bluez stack connectivity
> -  --enable-bluez           enable bluez stack connectivity
> -  --disable-slirp          disable SLIRP userspace network connectivity
> -  --disable-kvm            disable KVM acceleration support
> -  --enable-kvm             enable KVM acceleration support
> +  --fmod-lib               path to FMOD library
> +  --fmod-inc               path to FMOD includes
> +  --enable-glusterfs       enable GlusterFS backend
> +  --disable-glusterfs      disable GlusterFS backend
> +  --disable-gtk            disable gtk UI
> +  --enable-gtk             enable gtk UI
> +  --enable-guest-base      enable GUEST_BASE support for usermode
> +                           emulation targets
> +  --disable-guest-base     disable GUEST_BASE support
>    --disable-rdma           disable RDMA-based migration support
>    --enable-rdma            enable RDMA-based migration support
> -  --enable-tcg-interpreter enable TCG with bytecode interpreter (TCI)
> +  --disable-kvm            disable KVM acceleration support
> +  --enable-kvm             enable KVM acceleration support
> +  --disable-libiscsi       disable iscsi support
> +  --enable-libiscsi        enable iscsi support
> +  --disable-libssh2        disable ssh block device support
> +  --enable-libssh2         enable ssh block device support
> +  --disable-libusb         disable libusb (for usb passthrough)
> +  --enable-libusb          enable libusb (for usb passthrough)
> +  --disable-linux-aio      disable Linux AIO support
> +  --enable-linux-aio       enable Linux AIO support
> +  --disable-netmap         disable support for netmap network
> +  --enable-netmap          enable support for netmap network
> +  --enable-rbd             enable building the rados block device (rbd)
> +  --disable-sdl            disable SDL
> +  --enable-sdl             enable SDL
> +  --disable-seccomp        disable seccomp support
> +  --enable-seccomp         enables seccomp support
> +  --disable-slirp          disable SLIRP userspace network connectivity
> +  --disable-smartcard-nss  disable smartcard nss support
> +  --enable-smartcard-nss   enable smartcard nss support
> +  --disable-spice          disable spice
> +  --enable-spice           enable spice
>    --enable-system          enable all system emulation targets
>    --disable-system         disable all system emulation targets
> +  --enable-tcg-interpreter enable TCG with bytecode interpreter (TCI)
> +  --enable-tpm             enable TPM support
> +  --enable-trace-backend=B Set trace backend
> +                           Available backends: $($python $source_path/scripts/tracetool.py --list-backends)
> +  --with-trace-file=NAME   Full PATH,NAME of file to store traces
> +                           Default:trace-<pid>
>    --enable-user            enable supported user emulation targets
>    --disable-user           disable all user emulation targets
> -  --enable-linux-user      enable all linux usermode emulation targets
> -  --disable-linux-user     disable all linux usermode emulation targets
>    --enable-bsd-user        enable all BSD usermode emulation targets
>    --disable-bsd-user       disable all BSD usermode emulation targets
> -  --enable-guest-base      enable GUEST_BASE support for usermode
> -                           emulation targets
> -  --disable-guest-base     disable GUEST_BASE support
> -  --enable-pie             build Position Independent Executables
> -  --disable-pie            do not build Position Independent Executables
> -  --fmod-lib               path to FMOD library
> -  --fmod-inc               path to FMOD includes
> +  --enable-linux-user      enable all linux usermode emulation targets
> +  --disable-linux-user     disable all linux usermode emulation targets
>    --oss-lib                path to OSS library
>    --enable-uname-release=R Return R for uname -r in usermode emulation
> -  --cpu=CPU                Build for host CPU [$cpu]
> +  --disable-usb-redir      disable usb network redirection support
> +  --enable-usb-redir       enable usb network redirection support
>    --disable-uuid           disable uuid support
>    --enable-uuid            enable uuid support
>    --disable-vde            disable support for vde network
>    --enable-vde             enable support for vde network
> -  --disable-netmap         disable support for netmap network
> -  --enable-netmap          enable support for netmap network
> -  --disable-linux-aio      disable Linux AIO support
> -  --enable-linux-aio       enable Linux AIO support
> -  --disable-cap-ng         disable libcap-ng support
> -  --enable-cap-ng          enable libcap-ng support
> -  --disable-attr           disables attr and xattr support
> -  --enable-attr            enable attr and xattr support
> -  --disable-blobs          disable installing provided firmware blobs
> -  --enable-docs            enable documentation build
> -  --disable-docs           disable documentation build
> +  --disable-vhdx           disables support for the Microsoft VHDX image format
> +  --enable-vhdx            enable support for the Microsoft VHDX image format
>    --disable-vhost-net      disable vhost-net acceleration support
>    --enable-vhost-net       enable vhost-net acceleration support
> -  --enable-trace-backend=B Set trace backend
> -                           Available backends: $($python $source_path/scripts/tracetool.py --list-backends)
> -  --with-trace-file=NAME   Full PATH,NAME of file to store traces
> -                           Default:trace-<pid>
> -  --disable-spice          disable spice
> -  --enable-spice           enable spice
> -  --enable-rbd             enable building the rados block device (rbd)
> -  --disable-libiscsi       disable iscsi support
> -  --enable-libiscsi        enable iscsi support
> -  --disable-smartcard-nss  disable smartcard nss support
> -  --enable-smartcard-nss   enable smartcard nss support
> -  --disable-libusb         disable libusb (for usb passthrough)
> -  --enable-libusb          enable libusb (for usb passthrough)
> -  --disable-usb-redir      disable usb network redirection support
> -  --enable-usb-redir       enable usb network redirection support
> +  --disable-virtfs         disable VirtFS
> +  --enable-virtfs          enable VirtFS
> +  --disable-vnc            disable VNC
> +  --enable-vnc             enable VNC
> +  --disable-vnc-jpeg       disable JPEG lossy compression for VNC server
> +  --enable-vnc-jpeg        enable JPEG lossy compression for VNC server
> +  --disable-vnc-png        disable PNG compression for VNC server (default)
> +  --enable-vnc-png         enable PNG compression for VNC server
> +  --disable-vnc-sasl       disable SASL encryption for VNC server
> +  --enable-vnc-sasl        enable SASL encryption for VNC server
> +  --disable-vnc-tls        disable TLS encryption for VNC server
> +  --enable-vnc-tls         enable TLS encryption for VNC server
> +  --disable-vnc-ws         disable Websockets support for VNC server
> +  --enable-vnc-ws          enable Websockets support for VNC server
> +  --with-win-sdk=SDK-path  path to Windows Platform SDK (to build VSS .tlb)
> +  --disable-xen            disable xen backend driver support
> +  --enable-xen             enable xen backend driver support
> +  --disable-xen-pci-passthrough
> +  --enable-xen-pci-passthrough
> +
> +Advanced options, Guest Agent (experts only):
>    --disable-guest-agent    disable building of the QEMU Guest Agent
>    --enable-guest-agent     enable building of the QEMU Guest Agent
>    --with-vss-sdk=SDK-path  enable Windows VSS support in QEMU Guest Agent
> -  --with-win-sdk=SDK-path  path to Windows Platform SDK (to build VSS .tlb)
> -  --disable-seccomp        disable seccomp support
> -  --enable-seccomp         enables seccomp support
> -  --with-coroutine=BACKEND coroutine backend. Supported options:
> -                           gthread, ucontext, sigaltstack, windows
> -  --disable-coroutine-pool disable coroutine freelist (worse performance)
> -  --enable-coroutine-pool  enable coroutine freelist (better performance)
> -  --enable-glusterfs       enable GlusterFS backend
> -  --disable-glusterfs      disable GlusterFS backend
> -  --enable-gcov            enable test coverage analysis with gcov
> -  --gcov=GCOV              use specified gcov [$gcov_tool]
> -  --enable-tpm             enable TPM support
> -  --disable-libssh2        disable ssh block device support
> -  --enable-libssh2         enable ssh block device support
> -  --disable-vhdx           disables support for the Microsoft VHDX image format
> -  --enable-vhdx            enable support for the Microsoft VHDX image format
>  
>  NOTE: The object files are built at the place where configure is launched
>  EOF
> 


May I suggest a different first step to make the help output more readable?

Do we really need two lines of help output for each pair of --enable-xxx
and --disable-xxx? It would be sufficient to document only one variant
if the other variant is always supported, too. My favourite is a pattern
like this:

--disable-xxx        disable xxx support (default: enabled)
--disable-xxx        disable xxx support (default: auto detected)
--disable-xxx        disable xxx support (default)

A final hint could say "Instead of --disable-xxx you can also enforce a
feature with --enable-xxx".

I like alphabetized sorts but would keep groups like the different
selections for the gui interfaces. Those could be largely reduced if we
used libvnc. That would also fix bugs and reduce the efforts needed for
maintainance of QEMU, but that is a different topic :-)

Stefan



WARNING: multiple messages have this Message-ID (diff)
From: Stefan Weil <sw@weilnetz.de>
To: Stewart Smith <stewart@linux.vnet.ibm.com>, qemu-devel@nongnu.org
Cc: qemu-trivial@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v2 3/6] configure: alphabetize output of --help and separate into groups
Date: Fri, 24 Jan 2014 07:30:37 +0100	[thread overview]
Message-ID: <52E2088D.3030300@weilnetz.de> (raw)
In-Reply-To: <1390527551-22069-4-git-send-email-stewart@linux.vnet.ibm.com>

Am 24.01.2014 02:39, schrieb Stewart Smith:
> This should make it (slightly) easier to discover configure options.
> I've tried to separate out build options (e.g. gcov) from feature
> options (such as gtk).
> 
> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
> ---
>  configure | 174 ++++++++++++++++++++++++++++++++------------------------------
>  1 file changed, 89 insertions(+), 85 deletions(-)
> 
> diff --git a/configure b/configure
> index e61708a..c225291 100755
> --- a/configure
> +++ b/configure
> @@ -1102,7 +1102,7 @@ Standard options:
>  $(echo Available targets: $default_target_list | \
>    fold -s -w 53 | sed -e 's/^/                           /')
>  
> -Advanced options (experts only):
> +Advanced options, build (experts only):
>    --source-path=PATH       path of source code [$source_path]
>    --cross-prefix=PREFIX    use PREFIX for compile tools [$cross_prefix]
>    --cc=CC                  use C compiler CC [$cc]
> @@ -1135,16 +1135,18 @@ Advanced options (experts only):
>    --disable-sparse         disable sparse checker (default)
>    --disable-strip          disable stripping binaries
>    --disable-werror         disable compilation abort on warning
> -  --disable-sdl            disable SDL
> -  --enable-sdl             enable SDL
> -  --disable-gtk            disable gtk UI
> -  --enable-gtk             enable gtk UI
> -  --disable-virtfs         disable VirtFS
> -  --enable-virtfs          enable VirtFS
> -  --disable-vnc            disable VNC
> -  --enable-vnc             enable VNC
> -  --disable-cocoa          disable Cocoa (Mac OS X only)
> -  --enable-cocoa           enable Cocoa (default on Mac OS X)
> +  --disable-attr           disables attr and xattr support
> +  --enable-attr            enable attr and xattr support
> +  --enable-pie             build Position Independent Executables
> +  --disable-pie            do not build Position Independent Executables
> +  --cpu=CPU                Build for host CPU [$cpu]
> +  --disable-blobs          disable installing provided firmware blobs
> +  --enable-gcov            enable test coverage analysis with gcov
> +  --gcov=GCOV              use specified gcov [$gcov_tool]
> +  --enable-docs            enable documentation build
> +  --disable-docs           disable documentation build
> +
> +Advanced options, features (experts only):
>    --audio-drv-list=LIST    set audio drivers list:
>                             Available drivers: $audio_possible_drivers
>    --block-drv-whitelist=L  Same as --block-drv-rw-whitelist=L
> @@ -1154,105 +1156,107 @@ Advanced options (experts only):
>    --block-drv-ro-whitelist=L
>                             set block driver read-only whitelist
>                             (affects only QEMU, not qemu-img)
> -  --disable-xen            disable xen backend driver support
> -  --enable-xen             enable xen backend driver support
> -  --disable-xen-pci-passthrough
> -  --enable-xen-pci-passthrough
>    --disable-brlapi         disable BrlAPI
>    --enable-brlapi          enable BrlAPI
> -  --disable-vnc-tls        disable TLS encryption for VNC server
> -  --enable-vnc-tls         enable TLS encryption for VNC server
> -  --disable-vnc-sasl       disable SASL encryption for VNC server
> -  --enable-vnc-sasl        enable SASL encryption for VNC server
> -  --disable-vnc-jpeg       disable JPEG lossy compression for VNC server
> -  --enable-vnc-jpeg        enable JPEG lossy compression for VNC server
> -  --disable-vnc-png        disable PNG compression for VNC server (default)
> -  --enable-vnc-png         enable PNG compression for VNC server
> -  --disable-vnc-ws         disable Websockets support for VNC server
> -  --enable-vnc-ws          enable Websockets support for VNC server
> -  --disable-curses         disable curses output
> -  --enable-curses          enable curses output
> +  --disable-bluez          disable bluez stack connectivity
> +  --enable-bluez           enable bluez stack connectivity
> +  --disable-cap-ng         disable libcap-ng support
> +  --enable-cap-ng          enable libcap-ng support
> +  --disable-cocoa          disable Cocoa (Mac OS X only)
> +  --enable-cocoa           enable Cocoa (default on Mac OS X)
> +  --with-coroutine=BACKEND coroutine backend. Supported options:
> +                           gthread, ucontext, sigaltstack, windows
> +  --disable-coroutine-pool disable coroutine freelist (worse performance)
> +  --enable-coroutine-pool  enable coroutine freelist (better performance)
>    --disable-curl           disable curl connectivity
>    --enable-curl            enable curl connectivity
> +  --disable-curses         disable curses output
> +  --enable-curses          enable curses output
>    --disable-fdt            disable fdt device tree
>    --enable-fdt             enable fdt device tree
> -  --disable-bluez          disable bluez stack connectivity
> -  --enable-bluez           enable bluez stack connectivity
> -  --disable-slirp          disable SLIRP userspace network connectivity
> -  --disable-kvm            disable KVM acceleration support
> -  --enable-kvm             enable KVM acceleration support
> +  --fmod-lib               path to FMOD library
> +  --fmod-inc               path to FMOD includes
> +  --enable-glusterfs       enable GlusterFS backend
> +  --disable-glusterfs      disable GlusterFS backend
> +  --disable-gtk            disable gtk UI
> +  --enable-gtk             enable gtk UI
> +  --enable-guest-base      enable GUEST_BASE support for usermode
> +                           emulation targets
> +  --disable-guest-base     disable GUEST_BASE support
>    --disable-rdma           disable RDMA-based migration support
>    --enable-rdma            enable RDMA-based migration support
> -  --enable-tcg-interpreter enable TCG with bytecode interpreter (TCI)
> +  --disable-kvm            disable KVM acceleration support
> +  --enable-kvm             enable KVM acceleration support
> +  --disable-libiscsi       disable iscsi support
> +  --enable-libiscsi        enable iscsi support
> +  --disable-libssh2        disable ssh block device support
> +  --enable-libssh2         enable ssh block device support
> +  --disable-libusb         disable libusb (for usb passthrough)
> +  --enable-libusb          enable libusb (for usb passthrough)
> +  --disable-linux-aio      disable Linux AIO support
> +  --enable-linux-aio       enable Linux AIO support
> +  --disable-netmap         disable support for netmap network
> +  --enable-netmap          enable support for netmap network
> +  --enable-rbd             enable building the rados block device (rbd)
> +  --disable-sdl            disable SDL
> +  --enable-sdl             enable SDL
> +  --disable-seccomp        disable seccomp support
> +  --enable-seccomp         enables seccomp support
> +  --disable-slirp          disable SLIRP userspace network connectivity
> +  --disable-smartcard-nss  disable smartcard nss support
> +  --enable-smartcard-nss   enable smartcard nss support
> +  --disable-spice          disable spice
> +  --enable-spice           enable spice
>    --enable-system          enable all system emulation targets
>    --disable-system         disable all system emulation targets
> +  --enable-tcg-interpreter enable TCG with bytecode interpreter (TCI)
> +  --enable-tpm             enable TPM support
> +  --enable-trace-backend=B Set trace backend
> +                           Available backends: $($python $source_path/scripts/tracetool.py --list-backends)
> +  --with-trace-file=NAME   Full PATH,NAME of file to store traces
> +                           Default:trace-<pid>
>    --enable-user            enable supported user emulation targets
>    --disable-user           disable all user emulation targets
> -  --enable-linux-user      enable all linux usermode emulation targets
> -  --disable-linux-user     disable all linux usermode emulation targets
>    --enable-bsd-user        enable all BSD usermode emulation targets
>    --disable-bsd-user       disable all BSD usermode emulation targets
> -  --enable-guest-base      enable GUEST_BASE support for usermode
> -                           emulation targets
> -  --disable-guest-base     disable GUEST_BASE support
> -  --enable-pie             build Position Independent Executables
> -  --disable-pie            do not build Position Independent Executables
> -  --fmod-lib               path to FMOD library
> -  --fmod-inc               path to FMOD includes
> +  --enable-linux-user      enable all linux usermode emulation targets
> +  --disable-linux-user     disable all linux usermode emulation targets
>    --oss-lib                path to OSS library
>    --enable-uname-release=R Return R for uname -r in usermode emulation
> -  --cpu=CPU                Build for host CPU [$cpu]
> +  --disable-usb-redir      disable usb network redirection support
> +  --enable-usb-redir       enable usb network redirection support
>    --disable-uuid           disable uuid support
>    --enable-uuid            enable uuid support
>    --disable-vde            disable support for vde network
>    --enable-vde             enable support for vde network
> -  --disable-netmap         disable support for netmap network
> -  --enable-netmap          enable support for netmap network
> -  --disable-linux-aio      disable Linux AIO support
> -  --enable-linux-aio       enable Linux AIO support
> -  --disable-cap-ng         disable libcap-ng support
> -  --enable-cap-ng          enable libcap-ng support
> -  --disable-attr           disables attr and xattr support
> -  --enable-attr            enable attr and xattr support
> -  --disable-blobs          disable installing provided firmware blobs
> -  --enable-docs            enable documentation build
> -  --disable-docs           disable documentation build
> +  --disable-vhdx           disables support for the Microsoft VHDX image format
> +  --enable-vhdx            enable support for the Microsoft VHDX image format
>    --disable-vhost-net      disable vhost-net acceleration support
>    --enable-vhost-net       enable vhost-net acceleration support
> -  --enable-trace-backend=B Set trace backend
> -                           Available backends: $($python $source_path/scripts/tracetool.py --list-backends)
> -  --with-trace-file=NAME   Full PATH,NAME of file to store traces
> -                           Default:trace-<pid>
> -  --disable-spice          disable spice
> -  --enable-spice           enable spice
> -  --enable-rbd             enable building the rados block device (rbd)
> -  --disable-libiscsi       disable iscsi support
> -  --enable-libiscsi        enable iscsi support
> -  --disable-smartcard-nss  disable smartcard nss support
> -  --enable-smartcard-nss   enable smartcard nss support
> -  --disable-libusb         disable libusb (for usb passthrough)
> -  --enable-libusb          enable libusb (for usb passthrough)
> -  --disable-usb-redir      disable usb network redirection support
> -  --enable-usb-redir       enable usb network redirection support
> +  --disable-virtfs         disable VirtFS
> +  --enable-virtfs          enable VirtFS
> +  --disable-vnc            disable VNC
> +  --enable-vnc             enable VNC
> +  --disable-vnc-jpeg       disable JPEG lossy compression for VNC server
> +  --enable-vnc-jpeg        enable JPEG lossy compression for VNC server
> +  --disable-vnc-png        disable PNG compression for VNC server (default)
> +  --enable-vnc-png         enable PNG compression for VNC server
> +  --disable-vnc-sasl       disable SASL encryption for VNC server
> +  --enable-vnc-sasl        enable SASL encryption for VNC server
> +  --disable-vnc-tls        disable TLS encryption for VNC server
> +  --enable-vnc-tls         enable TLS encryption for VNC server
> +  --disable-vnc-ws         disable Websockets support for VNC server
> +  --enable-vnc-ws          enable Websockets support for VNC server
> +  --with-win-sdk=SDK-path  path to Windows Platform SDK (to build VSS .tlb)
> +  --disable-xen            disable xen backend driver support
> +  --enable-xen             enable xen backend driver support
> +  --disable-xen-pci-passthrough
> +  --enable-xen-pci-passthrough
> +
> +Advanced options, Guest Agent (experts only):
>    --disable-guest-agent    disable building of the QEMU Guest Agent
>    --enable-guest-agent     enable building of the QEMU Guest Agent
>    --with-vss-sdk=SDK-path  enable Windows VSS support in QEMU Guest Agent
> -  --with-win-sdk=SDK-path  path to Windows Platform SDK (to build VSS .tlb)
> -  --disable-seccomp        disable seccomp support
> -  --enable-seccomp         enables seccomp support
> -  --with-coroutine=BACKEND coroutine backend. Supported options:
> -                           gthread, ucontext, sigaltstack, windows
> -  --disable-coroutine-pool disable coroutine freelist (worse performance)
> -  --enable-coroutine-pool  enable coroutine freelist (better performance)
> -  --enable-glusterfs       enable GlusterFS backend
> -  --disable-glusterfs      disable GlusterFS backend
> -  --enable-gcov            enable test coverage analysis with gcov
> -  --gcov=GCOV              use specified gcov [$gcov_tool]
> -  --enable-tpm             enable TPM support
> -  --disable-libssh2        disable ssh block device support
> -  --enable-libssh2         enable ssh block device support
> -  --disable-vhdx           disables support for the Microsoft VHDX image format
> -  --enable-vhdx            enable support for the Microsoft VHDX image format
>  
>  NOTE: The object files are built at the place where configure is launched
>  EOF
> 


May I suggest a different first step to make the help output more readable?

Do we really need two lines of help output for each pair of --enable-xxx
and --disable-xxx? It would be sufficient to document only one variant
if the other variant is always supported, too. My favourite is a pattern
like this:

--disable-xxx        disable xxx support (default: enabled)
--disable-xxx        disable xxx support (default: auto detected)
--disable-xxx        disable xxx support (default)

A final hint could say "Instead of --disable-xxx you can also enforce a
feature with --enable-xxx".

I like alphabetized sorts but would keep groups like the different
selections for the gui interfaces. Those could be largely reduced if we
used libvnc. That would also fix bugs and reduce the efforts needed for
maintainance of QEMU, but that is a different topic :-)

Stefan

  reply	other threads:[~2014-01-24  6:31 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-23  4:54 [Qemu-trivial] [PATCH] configure: helpfully output package names for some missing dependencies Stewart Smith
2014-01-23  4:54 ` [Qemu-devel] " Stewart Smith
2014-01-23  6:21 ` [Qemu-trivial] " Stefan Weil
2014-01-23  6:21   ` Stefan Weil
2014-01-23 10:28   ` [Qemu-trivial] " Peter Maydell
2014-01-23 10:28     ` Peter Maydell
2014-01-23 11:08   ` [Qemu-trivial] " Stewart Smith
2014-01-23 11:08     ` Stewart Smith
2014-01-24  1:39 ` [Qemu-trivial] [PATCH v2 0/6] configure: make output and errors more friendly Stewart Smith
2014-01-24  1:39   ` [Qemu-devel] " Stewart Smith
2014-01-24  1:39   ` [Qemu-trivial] [PATCH v2 1/6] configure: add hint of libfdt to DTC dependency not found message Stewart Smith
2014-01-24  1:39     ` [Qemu-devel] " Stewart Smith
2014-01-24  6:13     ` [Qemu-trivial] " Stefan Weil
2014-01-24  6:13       ` Stefan Weil
2014-01-24  1:39   ` [Qemu-trivial] [PATCH v2 2/6] configure: sort output of configure results alphabetically Stewart Smith
2014-01-24  1:39     ` [Qemu-devel] " Stewart Smith
2014-01-24  1:39   ` [Qemu-trivial] [PATCH v2 3/6] configure: alphabetize output of --help and separate into groups Stewart Smith
2014-01-24  1:39     ` [Qemu-devel] " Stewart Smith
2014-01-24  6:30     ` Stefan Weil [this message]
2014-01-24  6:30       ` Stefan Weil
2014-01-24  1:39   ` [Qemu-trivial] [PATCH v2 4/6] configure: add help for --disable-xfsctl and --enable-xfsctl Stewart Smith
2014-01-24  1:39     ` [Qemu-devel] " Stewart Smith
2014-01-24  1:39   ` [Qemu-trivial] [PATCH v2 5/6] configure: add hints to a remedy for feature_not_found errors Stewart Smith
2014-01-24  1:39     ` [Qemu-devel] " Stewart Smith
2014-01-24  1:39   ` [Qemu-trivial] [PATCH v2 6/6] configure: helpfully output package names for some missing dependencies Stewart Smith
2014-01-24  1:39     ` [Qemu-devel] " Stewart Smith
2014-02-01  9:55   ` [Qemu-trivial] [PATCH v2 0/6] configure: make output and errors more friendly Michael Tokarev
2014-02-01  9:55     ` [Qemu-devel] " Michael Tokarev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52E2088D.3030300@weilnetz.de \
    --to=sw@weilnetz.de \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-trivial@nongnu.org \
    --cc=stewart@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.