On Mon, 2011-06-27 at 16:12 +0100, Anthony PERARD wrote:
> Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
> ---
> tools/libxl/Makefile | 10 +++++++++-
> tools/libxl/gentypes.py | 15 ++++++++-------
> tools/libxl/libxl_internal.h | 1 +
> tools/libxl/libxl_internal_types.idl | 10 ++++++++++
Do you not need to update .hgignore?
> 4 files changed, 28 insertions(+), 8 deletions(-)
> create mode 100644 tools/libxl/libxl_internal_types.idl
>
> diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
> index bfe9c58..f148ad3 100644
> --- a/tools/libxl/Makefile
> +++ b/tools/libxl/Makefile
> @@ -35,7 +35,7 @@ LIBXL_OBJS-$(CONFIG_IA64) += libxl_nocpuid.o
> LIBXL_OBJS = flexarray.o libxl.o libxl_create.o libxl_dm.o libxl_pci.o \
> libxl_dom.o libxl_exec.o libxl_xshelp.o libxl_device.o \
> libxl_internal.o libxl_utils.o libxl_uuid.o
> $(LIBXL_OBJS-y)
> -LIBXL_OBJS += _libxl_types.o libxl_flask.o
> +LIBXL_OBJS += _libxl_types.o libxl_flask.o _libxl_internal_types.o
>
> $(LIBXL_OBJS): CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenguest)
> $(CFLAGS_libxenstore) $(CFLAGS_libblktapctl)
>
> @@ -79,14 +79,22 @@ _libxl_paths.h: genpath
> libxl_paths.c: _libxl_paths.h
>
> libxl.h: _libxl_types.h
> +libxl_internal.h: _libxl_internal_types.h
>
> $(LIBXL_OBJS) $(LIBXLU_OBJS) $(XL_OBJS): libxl.h
> +$(LIBXL_OBJS): libxl_internal.h
>
> _libxl_%.h _libxl_%.c: libxl.idl gen%.py libxl%.py
> $(PYTHON) gen$*.py libxl.idl __libxl_$*.h __libxl_$*.c
If you simply s/gen$*.py/gentypes.py/ and s/libxl.idl/libxl$*.idl/g and
leave the other patterns does this rule work for both IDL files?
> mv __libxl_$*.h _libxl_$*.h
> mv __libxl_$*.c _libxl_$*.c
>
> +.NOTPARALLEL: _libxl_internal_types.h _libxl_internal_types.c
I'd been wondering how to do that!
> +_libxl_internal_types.h _libxl_internal_types.c: libxl_internal_types.idl
> gentypes.py libxltypes.py
> + $(PYTHON) gentypes.py $< __libxl_internal_types.h
> __libxl_internal_types.c
> + mv __libxl_internal_types.h _libxl_internal_types.h
> + mv __libxl_internal_types.c _libxl_internal_types.c
> +
> libxenlight.so: libxenlight.so.$(MAJOR)
> ln -sf $< $@
>
> diff --git a/tools/libxl/gentypes.py b/tools/libxl/gentypes.py
> index c9a3d9c..5188b66 100644
> --- a/tools/libxl/gentypes.py
> +++ b/tools/libxl/gentypes.py
> @@ -162,9 +162,10 @@ if __name__ == '__main__':
> print "outputting libxl type definitions to %s" % header
>
> f = open(header, "w")
> -
> - f.write("""#ifndef __LIBXL_TYPES_H
> -#define __LIBXL_TYPES_H
> +
> + header_define = header.upper().replace('.','_')
> + f.write("""#ifndef %s
> +#define %s
>
> /*
> * DO NOT EDIT.
> @@ -172,9 +173,9 @@ if __name__ == '__main__':
> * This file is autogenerated by
> * "%s"
> */
> -
> -""" % " ".join(sys.argv))
> -
> +
> +""" % (header_define, header_define, " ".join(sys.argv)))
> +
> for ty in types:
> f.write(libxl_C_type_define(ty) + ";\n")
> if ty.destructor_fn is not None:
> @@ -185,7 +186,7 @@ if __name__ == '__main__':
> f.write("extern libxl_enum_string_table %s_string_table[];\n" %
> (ty.typename))
> f.write("\n")
>
> - f.write("""#endif /* __LIBXL_TYPES_H */\n""")
> + f.write("""#endif /* %s */\n""" % (header_define))
> f.close()
>
> impl = sys.argv[3]
> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index 297310d..af35861 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
> @@ -35,6 +35,7 @@
>
> #include "flexarray.h"
> #include "libxl_utils.h"
> +#include "_libxl_internal_types.h"
>
> #define LIBXL_DESTROY_TIMEOUT 10
> #define LIBXL_DEVICE_MODEL_START_TIMEOUT 10
> diff --git a/tools/libxl/libxl_internal_types.idl
> b/tools/libxl/libxl_internal_types.idl
> new file mode 100644
> index 0000000..d993298
> --- /dev/null
> +++ b/tools/libxl/libxl_internal_types.idl
> @@ -0,0 +1,10 @@
> +
> +libxl__qmp_message_type = Enumeration("qmp_message_type", [
> + (1, "QMP"),
> + (2, "return"),
> + (3, "error"),
> + (4, "event"),
> + (5, "invalid"),
> + ],
> + namespace = "libxl__")
> +
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|