[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] tools/ocaml: Fix library generation
On Wed, 2013-04-03 at 19:02 +0100, Andrew Cooper wrote: > Currently, build environment relative paths are embedded in the generated > ocaml libraries. > > This renders them functionally usless outside of the build environment itself. nit: "useless" but more importantly am I correct that the change here is for each library foo to go forom passing "-cclib /path/to/libfoo.so" to instead using "-cclib -lfoo --ldopt /path/to/libfoo.so"? I presume cclib is the thing to use when linking against this ocaml library and ldopt is the thing to use when actually linking the ocaml library itself? Could we get a brief description of the change in those terms in the commit message. Why does this only impact libxenctrl and libxeneventchn? Are the libxl bindings not similarly affected? > > Signed-off-by: Jonathan Ludlam <Jonathan.Ludlam@xxxxxxxxxxxxx> > Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> > > -- > This should be backported to older trees > > diff -r 996fbd7657bb -r fe2d14f39de6 tools/ocaml/Makefile.rules > --- a/tools/ocaml/Makefile.rules > +++ b/tools/ocaml/Makefile.rules > @@ -58,14 +58,8 @@ mk-caml-lib-stubs = \ > > # define a library target <name>.cmxa and <name>.cma > define OCAML_LIBRARY_template > - $(1).cmxa: lib$(1)_stubs.a $(foreach obj,$($(1)_OBJS),$(obj).cmx) > - $(call mk-caml-lib-native,$$@, -cclib -l$(1)_stubs $(foreach > lib,$(LIBS_$(1)),-cclib $(lib)), $(foreach obj,$($(1)_OBJS),$(obj).cmx)) > - $(1).cma: $(foreach obj,$($(1)_OBJS),$(obj).cmo) > - $(call mk-caml-lib-bytecode,$$@, -dllib dll$(1)_stubs.so -cclib > -l$(1)_stubs, $$+) > - $(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,$$@, $$+) > +$(1).cma: $(foreach obj,$($(1)_OBJS),$(obj).cmx $(obj).cmo) $(foreach > obj,$($(1)_C_OBJS),$(obj).o) > + $(OCAMLMKLIB) -o $1 -oc $(1)_stubs $(foreach > obj,$($(1)_OBJS),$(obj).cmx $(obj).cmo) $(foreach > obj,$($(1)_C_OBJS),$(obj).o) $(foreach lib, $(LIBS_$(1)_SYSTEM), -cclib > $(lib)) $(foreach arg,$(LIBS_$(1)),-ldopt $(arg)) > endef > > define OCAML_NOC_LIBRARY_template > diff -r 996fbd7657bb -r fe2d14f39de6 tools/ocaml/libs/eventchn/Makefile > --- a/tools/ocaml/libs/eventchn/Makefile > +++ b/tools/ocaml/libs/eventchn/Makefile > @@ -9,6 +9,7 @@ INTF = $(foreach obj, $(OBJS),$(obj).cmi > LIBS = xeneventchn.cma xeneventchn.cmxa > > LIBS_xeneventchn = $(LDLIBS_libxenctrl) > +LIBS_xeneventchn_SYSTEM = -lxenctrl > > all: $(INTF) $(LIBS) $(PROGRAMS) > > diff -r 996fbd7657bb -r fe2d14f39de6 tools/ocaml/libs/xc/Makefile > --- a/tools/ocaml/libs/xc/Makefile > +++ b/tools/ocaml/libs/xc/Makefile > @@ -10,6 +10,7 @@ INTF = xenctrl.cmi > LIBS = xenctrl.cma xenctrl.cmxa > > LIBS_xenctrl = $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) > +LIBS_xenctrl_SYSTEM = -lxenctrl -lxenguest > > xenctrl_OBJS = $(OBJS) > xenctrl_C_OBJS = xenctrl_stubs > diff -r 996fbd7657bb -r fe2d14f39de6 tools/ocaml/xenstored/Makefile > --- a/tools/ocaml/xenstored/Makefile > +++ b/tools/ocaml/xenstored/Makefile > @@ -36,7 +36,9 @@ XENSTOREDLIBS = \ > -ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/eventchn > $(OCAML_TOPLEVEL)/libs/eventchn/xeneventchn.cmxa \ > -ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/xc > $(OCAML_TOPLEVEL)/libs/xc/xenctrl.cmxa \ > -ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/xb > $(OCAML_TOPLEVEL)/libs/xb/xenbus.cmxa \ > - -ccopt -L -ccopt $(XEN_ROOT)/tools/libxc > + -ccopt -L -ccopt $(XEN_ROOT)/tools/libxc \ > + $(foreach obj, $(LDLIBS_libxenctrl), -ccopt $(obj)) \ > + $(foreach obj, $(LDLIBS_libxenguest), -ccopt $(obj)) > > PROGRAMS = oxenstored > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |