[Libguestfs] [PATCH nbdkit 3/5] protocol: Generate map functions from NBD protocol flags to printable strings.
Eric Blake
eblake at redhat.com
Fri Dec 7 17:40:43 UTC 2018
On 12/6/18 3:50 PM, Richard W.M. Jones wrote:
> This generates small functions which map from various integer NBD
> protocol flags to the string equivalent.
>
> eg:
> name_of_nbd_cmd (NBD_CMD_READ)
> ---> "NBD_CMD_READ"
>
> This commit uses some hairy sed scripting to ensure that we don't add
> any more dependencies to nbdkit.
> ---
> +++ b/src/Makefile.am
> @@ -49,6 +49,7 @@ nbdkit_SOURCES = \
> options.h \
> plugins.c \
> protocol.h \
> + protostrings.c \
> sockets.c \
> threadlocal.c \
> utils.c \
> @@ -77,11 +78,23 @@ nbdkit_LDFLAGS = \
> $(PTHREAD_LIBS) \
> $(DL_LDFLAGS)
>
> +# protostrings.c is generated from the protocol.h header file where it
> +# is used to map NBD protocol flags to strings.
> +
> +BUILT_SOURCES = protostrings.c
> +EXTRA_DIST = protostrings.c
> +CLEANFILES += protostrings.c
> +protostrings.c: protocol.h protostrings.sed Makefile
> + rm -f $@ $@-t
> + $(SED) -n -f protostrings.sed < $< > $@-t
'make distcheck' caught a couple issues with this (we want
protostrings.sed in the tarball, and sed can't find the script in VPATH
builds). Now fixed.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
More information about the Libguestfs
mailing list