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

Re: [Xen-devel] [PATCH] tools/ocaml: Fix library generation



On 08/04/13 18:26, Vincent Bernardoff wrote:
> From: Vincent Bernardoff <vincent.bernardoff@xxxxxxxxxx>
>
> Fix the commands given to the OCaml compiler to make the OCaml
> bindings to Xen usable outside the build environment.
>
> Signed-off-by: Vincent Bernardoff <vincent.bernardoff@xxxxxxxxxx>

Tested-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>

Ian: This supersedes the precurser of this patch in the thread "ocaml
bindings" and my patch by the same name.

> ---
>  tools/Rules.mk             |    8 ++++----
>  tools/ocaml/Makefile.rules |    6 +++---
>  2 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/tools/Rules.mk b/tools/Rules.mk
> index 8d55e03..91a5d02 100644
> --- a/tools/Rules.mk
> +++ b/tools/Rules.mk
> @@ -20,15 +20,15 @@ XEN_LIBVCHAN       = $(XEN_ROOT)/tools/libvchan
>  CFLAGS_xeninclude = -I$(XEN_INCLUDE)
>  
>  CFLAGS_libxenctrl = -I$(XEN_LIBXC) $(CFLAGS_xeninclude)
> -LDLIBS_libxenctrl = $(XEN_LIBXC)/libxenctrl.so
> +LDLIBS_libxenctrl = -L$(XEN_LIBXC) -lxenctrl
>  SHLIB_libxenctrl  = -Wl,-rpath-link=$(XEN_LIBXC)
>  
>  CFLAGS_libxenguest = -I$(XEN_LIBXC) $(CFLAGS_xeninclude)
> -LDLIBS_libxenguest = $(XEN_LIBXC)/libxenguest.so
> +LDLIBS_libxenguest = -L$(XEN_LIBXC) -lxenguest
>  SHLIB_libxenguest  = -Wl,-rpath-link=L$(XEN_LIBXC)
>  
>  CFLAGS_libxenstore = -I$(XEN_XENSTORE) $(CFLAGS_xeninclude)
> -LDLIBS_libxenstore = $(XEN_XENSTORE)/libxenstore.so
> +LDLIBS_libxenstore = -L$(XEN_XENSTORE) -lxenstore
>  SHLIB_libxenstore  = -Wl,-rpath-link=$(XEN_XENSTORE)
>  
>  CFLAGS_libxenstat  = -I$(XEN_LIBXENSTAT)
> @@ -56,7 +56,7 @@ SHLIB_libblktapctl  =
>  endif
>  
>  CFLAGS_libxenlight = -I$(XEN_XENLIGHT) $(CFLAGS_libxenctrl) 
> $(CFLAGS_xeninclude)
> -LDLIBS_libxenlight = $(XEN_XENLIGHT)/libxenlight.so $(SHLIB_libxenctrl) 
> $(SHLIB_libxenstore) $(SHLIB_libblktapctl)
> +LDLIBS_libxenlight = -L$(XEN_XENLIGHT) -lxenlight $(SHLIB_libxenctrl) 
> $(SHLIB_libxenstore) $(SHLIB_libblktapctl)
>  SHLIB_libxenlight  = -Wl,-rpath-link=$(XEN_XENLIGHT)
>  
>  CFLAGS += -D__XEN_TOOLS__
> diff --git a/tools/ocaml/Makefile.rules b/tools/ocaml/Makefile.rules
> index ff19067..28b81a9 100644
> --- a/tools/ocaml/Makefile.rules
> +++ b/tools/ocaml/Makefile.rules
> @@ -45,7 +45,7 @@ ALL_OCAML_OBJ_SOURCES=$(addsuffix .ml, $(ALL_OCAML_OBJS))
>       $(call quiet-command, $(OCAMLDEP) $(ALL_OCAML_OBJ_SOURCES) *.mli 
> $o,MLDEP,)
>  
>  clean: $(CLEAN_HOOKS)
> -     $(Q)rm -f .*.d *.o *.so *.a *.cmo *.cmi *.cma *.cmx *.cmxa *.annot 
> *.spot *.spit $(LIBS) $(PROGRAMS) $(GENERATED_FILES) .ocamldep.make
> +     $(Q)rm -f .*.d *.o *.so *.a *.cmo *.cmi *.cma *.cmx *.cmxa *.annot 
> *.spot *.spit $(LIBS) $(PROGRAMS) $(GENERATED_FILES) .ocamldep.make META
>  
>  quiet-command = $(if $(V),$1,@printf " %-8s %s\n" "$2" "$3" && $1)
>  
> @@ -54,7 +54,7 @@ mk-caml-lib-bytecode = $(call quiet-command, $(OCAMLC) 
> $(OCAMLCFLAGS) -a -o $1 $
>  
>  mk-caml-stubs = $(call quiet-command, $(OCAMLMKLIB) -o `basename $1 .a` 
> $2,MKLIB,$1)
>  mk-caml-lib-stubs = \
> -     $(call quiet-command, $(AR) rcs $1 $2 && $(OCAMLMKLIB) -o `basename $1 
> .a | sed -e 's/^lib//'` $2,MKLIB,$1)
> +     $(call quiet-command, $(OCAMLMKLIB) -o `basename $1 .a | sed -e 
> 's/^lib//'` $2 $3,MKLIB,$1)
>  
>  # define a library target <name>.cmxa and <name>.cma
>  define OCAML_LIBRARY_template
> @@ -65,7 +65,7 @@ define OCAML_LIBRARY_template
>   $(1)_stubs.a: $(foreach obj,$$($(1)_C_OBJS),$(obj).o)
>       $(call mk-caml-stubs,$$@, $$+)
>   lib$(1)_stubs.a: $(foreach obj,$($(1)_C_OBJS),$(obj).o)
> -     $(call mk-caml-lib-stubs,$$@, $$+)
> +     $(call mk-caml-lib-stubs,$$@, $$+, $(foreach lib,$(LIBS_$(1)),$(lib)))
>  endef
>  
>  define OCAML_NOC_LIBRARY_template


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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