WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Re: [PATCH V5 2/3] libxl: Introduce libxl_internal_types.idl

To: Anthony PERARD <anthony.perard@xxxxxxxxxx>
Subject: [Xen-devel] Re: [PATCH V5 2/3] libxl: Introduce libxl_internal_types.idl.
From: Ian Campbell <Ian.Campbell@xxxxxxxxxxxxx>
Date: Mon, 27 Jun 2011 16:20:11 +0100
Cc: Xen Devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, Stefano Stabellini <Stefano.Stabellini@xxxxxxxxxxxxx>
Delivery-date: Mon, 27 Jun 2011 08:20:46 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <1309187551-21538-3-git-send-email-anthony.perard@xxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Organization: Citrix Systems, Inc.
References: <1309187551-21538-1-git-send-email-anthony.perard@xxxxxxxxxx> <1309187551-21538-3-git-send-email-anthony.perard@xxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
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