[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 7 of 8] libxl: generate destructors for each libxl defined type



Thanks for looking over this.

On Tue, 2010-08-03 at 13:07 +0100, Gianni Tedesco (3P) wrote:
> On Tue, 2010-08-03 at 12:00 +0100, Ian Campbell wrote:
> >  LIBXL_OBJS-y = osdeps.o libxl_paths.o libxl_bootloader.o
> >  LIBXL_OBJS = flexarray.o libxl.o libxl_pci.o libxl_dom.o libxl_exec.o 
> > libxl_xshelp.o libxl_device.o libxl_internal.o xenguest.o libxl_utils.o 
> > $(LIBXL_OBJS-y)
> > +LIBXL_OBJS += _libxl_types.c
> 
> uhm... _libxl_types.o ??

Oops, yes indeed.

> >  AUTOINCS= libxlu_cfg_y.h libxlu_cfg_l.h
> >  AUTOSRCS= libxlu_cfg_y.c libxlu_cfg_l.c
> > @@ -54,9 +55,10 @@ libxl_paths.c: _libxl_paths.h
> > 
> >  libxl.h: _libxl_types.h
> > 
> > -_libxl_types.h: gentypes.py libxltypes.py
> > -       python gentypes.py __libxl_types.h
> > +_libxl_types.h _libxl_types.c: gentypes.py libxltypes.py
> > +       python gentypes.py __libxl_types.h __libxl_types.c
> >         mv __libxl_types.h _libxl_types.h
> > +       mv __libxl_types.c _libxl_types.c
> 
> Something is still wrong in the dep tree that breaks a clean build. I
> think part of the problem is that the build system cannot find what
> depends on _libxl_types.h until the compile-time-generate dep files are
> created. On the other hand, it can't create the dep files if the
> _libxl_types.h is not there.
> 
> Solution is to manually tweak the dep tree, meh:

I thought that the next patch in the series (which adds _libxl_types.c)
also worked around the same problem so I didn't worry too much but I
seem to have been mistaken.

I wonder if this can be wildcarded at all, something like
        %.o: _libl_types.h
(except not that because it doesn't actually work, AFAICT)

Ian.

> 
> diff -r 87613ac31ddc tools/libxl/Makefile
> --- a/tools/libxl/Makefile    Tue Aug 03 12:50:05 2010 +0100
> +++ b/tools/libxl/Makefile    Tue Aug 03 13:09:35 2010 +0100
> @@ -19,7 +19,7 @@ LIBS = $(LDFLAGS_libxenctrl) $(LDFLAGS_l
>  
>  LIBXL_OBJS-y = osdeps.o libxl_paths.o libxl_bootloader.o
>  LIBXL_OBJS = flexarray.o libxl.o libxl_pci.o libxl_dom.o libxl_exec.o 
> libxl_xshelp.o libxl_device.o libxl_internal.o xenguest.o libxl_utils.o 
> $(LIBXL_OBJS-y)
> -LIBXL_OBJS += _libxl_types.c
> +LIBXL_OBJS += _libxl_types.o
>  
>  AUTOINCS= libxlu_cfg_y.h libxlu_cfg_l.h
>  AUTOSRCS= libxlu_cfg_y.c libxlu_cfg_l.c
> @@ -84,18 +84,20 @@ libxlutil.so.$(XLUMAJOR).$(XLUMINOR): $(
>  libxlutil.a: $(LIBXLU_OBJS)
>       $(AR) rcs libxlutil.a $^
>  
> -xl.o: xl.c
> +xl.o: xl.c _libxl_types.h
>       $(CC) $(CFLAGS) -c xl.c
>  
> -xl_cmdimpl.o: xl_cmdimpl.c
> +xl_cmdimpl.o: xl_cmdimpl.c _libxl_types.h
>       $(CC) $(CFLAGS) -c xl_cmdimpl.c
>  
> -xl_cmdtable.o: xl_cmdtable.c
> +xl_cmdtable.o: xl_cmdtable.c _libxl_types.h
>       $(CC) $(CFLAGS) -c xl_cmdtable.c
>  
>  $(CLIENTS): xl.o xl_cmdimpl.o xl_cmdtable.o libxlutil.so libxenlight.so
>       $(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
>  
> +%.so: _libxl_types.h
> +
>  .PHONY: install
>  install: all
>       $(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
> 
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.