[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] ocaml: install built modules
# HG changeset patch # User Ian Campbell <ian.campbell@xxxxxxxxxx> # Date 1289489569 0 # Node ID d98249b40f3c4a41b2f1ae9dc6b09b90b323460c # Parent 566505063e89cf583633613893d2913fe56eefee ocaml: install built modules Previously the install target was having no effect because it ended up calling the default target in the subdir Makefile instead of the install target. Resolve this by tying the tools/ocaml Makefiles into the generic handling done by tools/Rules.mk. Other changes arising in one way or another from this: - Add libs/xl/META.in - Update .hgignore for META files - Create leading directories - Remove existing module before installation in install targer (worksaround what appears to be a quirk of "ocamlfind install") - Use the globally defined $(DESTDIR) - Move "ocamlfind printfconf destdir" to a common variable, repurposing exising unused OCAMLDESTDIR, incorporating $(DESTDIR) at the same time. - Drop a few unused variabe definitions (mainly to avoid deciding if $(DESTDIR) made sense for them or not. - Pass -destdir to ocamlfind in uninstall target for symmetry with install target. Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> diff -r 566505063e89 -r d98249b40f3c .hgignore --- a/.hgignore Thu Nov 11 15:07:42 2010 +0000 +++ b/.hgignore Thu Nov 11 15:32:49 2010 +0000 @@ -292,6 +292,7 @@ ^tools/ioemu-dir$ ^tools/ocaml/.*/.*\.annot$ ^tools/ocaml/.*/.*\.cmx?a$ +^tools/ocaml/.*/META$ ^tools/ocaml/.*/\.ocamldep\.make$ ^tools/ocaml/xenstored/oxenstored$ ^xen/\.banner.*$ diff -r 566505063e89 -r d98249b40f3c tools/ocaml/Makefile --- a/tools/ocaml/Makefile Thu Nov 11 15:07:42 2010 +0000 +++ b/tools/ocaml/Makefile Thu Nov 11 15:32:49 2010 +0000 @@ -1,43 +1,19 @@ XEN_ROOT = ../.. XEN_ROOT = ../.. include $(XEN_ROOT)/tools/Rules.mk -SUBDIRS_LIBS = \ - libs/uuid libs/mmap \ - libs/log libs/xc libs/eventchn \ - libs/xb libs/xs libs/xl - SUBDIRS_PROGRAMS = xenstored -SUBDIRS = $(SUBDIRS_LIBS) $(SUBDIRS_PROGRAMS) +SUBDIRS = libs $(SUBDIRS_PROGRAMS) .NOTPARALLEL: # targets here must be run in order, otherwise we can try # to build programs before the libraries are done .PHONY: all -all: build +all: subdirs-all -.PHONY: build -build: SUBDIRS - -.PHONY: SUBDIRS SUBDIRS_PROGRAMS SUBDIRS_LIBS -SUBDIRS SUBDIRS_PROGRAMS SUBDIRS_LIBS: - @set -e; for d in $($@); do \ - echo " === building $$d"; \ - $(MAKE) --no-print-directory -C $$d; \ - done - -.PHONY: install install-libs install-program -install: install-libs install-program - -install-program: SUBDIRS_PROGRAMS - $(INSTALL_DIR) $(DESTDIR)$(SBINDIR) - $(INSTALL_PROG) xenstored/oxenstored $(DESTDIR)$(SBINDIR) - -install-libs: SUBDIRS_LIBS +.PHONY: install +install: subdirs-install .PHONY: clean -clean: - @for dir in $(SUBDIRS); do \ - $(MAKE) --no-print-directory -C $$dir clean; \ - done +clean: subdirs-clean diff -r 566505063e89 -r d98249b40f3c tools/ocaml/common.make --- a/tools/ocaml/common.make Thu Nov 11 15:07:42 2010 +0000 +++ b/tools/ocaml/common.make Thu Nov 11 15:32:49 2010 +0000 @@ -17,13 +17,8 @@ OCAMLOPTFLAGS = $(OCAMLOPTFLAG_G) -ccopt OCAMLOPTFLAGS = $(OCAMLOPTFLAG_G) -ccopt "$(LDFLAGS)" -dtypes $(OCAMLINCLUDE) -cc $(CC) -w F -warn-error F OCAMLCFLAGS += -g $(OCAMLINCLUDE) -w F -warn-error F -#LDFLAGS = -cclib -L./ - -DESTDIR ?= / VERSION := 4.1 -OCAMLABI = $(shell $(OCAMLC) -version) -OCAMLLIBDIR = $(shell $(OCAMLC) -where) -OCAMLDESTDIR ?= $(OCAMLLIBDIR) +OCAMLDESTDIR ?= $(DESTDIR)$(shell ocamlfind printconf destdir) o= >$@.new && mv -f $@.new $@ diff -r 566505063e89 -r d98249b40f3c tools/ocaml/libs/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tools/ocaml/libs/Makefile Thu Nov 11 15:32:49 2010 +0000 @@ -0,0 +1,16 @@ +XEN_ROOT = ../../.. +include $(XEN_ROOT)/tools/Rules.mk + +SUBDIRS= \ + uuid mmap \ + log xc eventchn \ + xb xs xl + +.PHONY: all +all: subdirs-all + +.PHONY: install +install: subdirs-install + +.PHONY: clean +clean: subdirs-clean diff -r 566505063e89 -r d98249b40f3c tools/ocaml/libs/eventchn/Makefile --- a/tools/ocaml/libs/eventchn/Makefile Thu Nov 11 15:07:42 2010 +0000 +++ b/tools/ocaml/libs/eventchn/Makefile Thu Nov 11 15:32:49 2010 +0000 @@ -19,11 +19,13 @@ OCAML_LIBRARY = eventchn .PHONY: install install: $(LIBS) META - ocamlfind install -destdir $(DESTDIR)$(shell ocamlfind printconf destdir) -ldconf ignore eventchn META $(INTF) $(LIBS) *.a *.so *.cmx + mkdir -p $(OCAMLDESTDIR) + ocamlfind remove -destdir $(OCAMLDESTDIR) eventchn + ocamlfind install -destdir $(OCAMLDESTDIR) -ldconf ignore eventchn META $(INTF) $(LIBS) *.a *.so *.cmx .PHONY: uninstall uninstall: - ocamlfind remove eventchn + ocamlfind remove -destdir $(OCAMLDESTDIR) eventchn include $(TOPLEVEL)/Makefile.rules diff -r 566505063e89 -r d98249b40f3c tools/ocaml/libs/log/Makefile --- a/tools/ocaml/libs/log/Makefile Thu Nov 11 15:07:42 2010 +0000 +++ b/tools/ocaml/libs/log/Makefile Thu Nov 11 15:32:49 2010 +0000 @@ -32,11 +32,13 @@ syslog.mli : syslog.ml .PHONY: install install: $(LIBS) META - ocamlfind install -destdir $(DESTDIR)$(shell ocamlfind printconf destdir) -ldconf ignore log META $(INTF) $(LIBS) *.a *.so *.cmx + mkdir -p $(OCAMLDESTDIR) + ocamlfind remove -destdir $(OCAMLDESTDIR) log + ocamlfind install -destdir $(OCAMLDESTDIR) -ldconf ignore log META $(INTF) $(LIBS) *.a *.so *.cmx .PHONY: uninstall uninstall: - ocamlfind remove log + ocamlfind remove -destdir $(OCAMLDESTDIR) log include $(TOPLEVEL)/Makefile.rules diff -r 566505063e89 -r d98249b40f3c tools/ocaml/libs/mmap/Makefile --- a/tools/ocaml/libs/mmap/Makefile Thu Nov 11 15:07:42 2010 +0000 +++ b/tools/ocaml/libs/mmap/Makefile Thu Nov 11 15:32:49 2010 +0000 @@ -18,11 +18,13 @@ OCAML_LIBRARY = mmap .PHONY: install install: $(LIBS) META - ocamlfind install -destdir $(DESTDIR)$(shell ocamlfind printconf destdir) -ldconf ignore mmap META $(INTF) $(LIBS) *.a *.so *.cmx + mkdir -p $(OCAMLDESTDIR) + ocamlfind remove -destdir $(OCAMLDESTDIR) mmap + ocamlfind install -destdir $(OCAMLDESTDIR) -ldconf ignore mmap META $(INTF) $(LIBS) *.a *.so *.cmx .PHONY: uninstall uninstall: - ocamlfind remove mmap + ocamlfind remove -destdir $(OCAMLDESTDIR) mmap include $(TOPLEVEL)/Makefile.rules diff -r 566505063e89 -r d98249b40f3c tools/ocaml/libs/uuid/Makefile --- a/tools/ocaml/libs/uuid/Makefile Thu Nov 11 15:07:42 2010 +0000 +++ b/tools/ocaml/libs/uuid/Makefile Thu Nov 11 15:32:49 2010 +0000 @@ -17,11 +17,13 @@ OCAML_NOC_LIBRARY = uuid .PHONY: install install: $(LIBS) META - ocamlfind install -destdir $(DESTDIR)$(shell ocamlfind printconf destdir) -ldconf ignore uuid META $(INTF) $(LIBS) *.a *.cmx + mkdir -p $(OCAMLDESTDIR) + ocamlfind remove -destdir $(OCAMLDESTDIR) uuid + ocamlfind install -destdir $(OCAMLDESTDIR) -ldconf ignore uuid META $(INTF) $(LIBS) *.a *.cmx .PHONY: uninstall uninstall: - ocamlfind remove uuid + ocamlfind remove -destdir $(OCAMLDESTDIR) uuid include $(TOPLEVEL)/Makefile.rules diff -r 566505063e89 -r d98249b40f3c tools/ocaml/libs/xb/Makefile --- a/tools/ocaml/libs/xb/Makefile Thu Nov 11 15:07:42 2010 +0000 +++ b/tools/ocaml/libs/xb/Makefile Thu Nov 11 15:32:49 2010 +0000 @@ -33,10 +33,12 @@ OCAML_LIBRARY = xb .PHONY: install install: $(LIBS) META - ocamlfind install -destdir $(DESTDIR)$(shell ocamlfind printconf destdir) -ldconf ignore xb META $(INTF) $(LIBS) *.a *.so *.cmx + mkdir -p $(OCAMLDESTDIR) + ocamlfind remove -destdir $(OCAMLDESTDIR) xb + ocamlfind install -destdir $(OCAMLDESTDIR) -ldconf ignore xb META $(INTF) $(LIBS) *.a *.so *.cmx .PHONY: uninstall uninstall: - ocamlfind remove xb + ocamlfind remove -destdir $(OCAMLDESTDIR) xb include $(TOPLEVEL)/Makefile.rules diff -r 566505063e89 -r d98249b40f3c tools/ocaml/libs/xc/Makefile --- a/tools/ocaml/libs/xc/Makefile Thu Nov 11 15:07:42 2010 +0000 +++ b/tools/ocaml/libs/xc/Makefile Thu Nov 11 15:32:49 2010 +0000 @@ -20,10 +20,12 @@ libs: $(LIBS) .PHONY: install install: $(LIBS) META - ocamlfind install -destdir $(DESTDIR)$(shell ocamlfind printconf destdir) -ldconf ignore xc META $(INTF) $(LIBS) *.a *.so *.cmx + mkdir -p $(OCAMLDESTDIR) + ocamlfind remove -destdir $(OCAMLDESTDIR) xc + ocamlfind install -destdir $(OCAMLDESTDIR) -ldconf ignore xc META $(INTF) $(LIBS) *.a *.so *.cmx .PHONY: uninstall uninstall: - ocamlfind remove xc + ocamlfind remove -destdir $(OCAMLDESTDIR) xc include $(TOPLEVEL)/Makefile.rules diff -r 566505063e89 -r d98249b40f3c tools/ocaml/libs/xl/META.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tools/ocaml/libs/xl/META.in Thu Nov 11 15:32:49 2010 +0000 @@ -0,0 +1,4 @@ +version = "@VERSION@" +description = "Xen Toolstack Library" +archive(byte) = "xl.cma" +archive(native) = "xl.cmxa" diff -r 566505063e89 -r d98249b40f3c tools/ocaml/libs/xl/Makefile --- a/tools/ocaml/libs/xl/Makefile Thu Nov 11 15:07:42 2010 +0000 +++ b/tools/ocaml/libs/xl/Makefile Thu Nov 11 15:32:49 2010 +0000 @@ -17,10 +17,12 @@ libs: $(LIBS) .PHONY: install install: $(LIBS) META - ocamlfind install -destdir $(DESTDIR)$(shell ocamlfind printconf destdir) -ldconf ignore xl META $(INTF) $(LIBS) *.a *.so *.cmx + mkdir -p $(OCAMLDESTDIR) + ocamlfind remove -destdir $(OCAMLDESTDIR) xl + ocamlfind install -destdir $(OCAMLDESTDIR) -ldconf ignore xl META $(INTF) $(LIBS) *.a *.so *.cmx .PHONY: uninstall uninstall: - ocamlfind remove xl + ocamlfind remove -destdir $(OCAMLDESTDIR) xl include $(TOPLEVEL)/Makefile.rules diff -r 566505063e89 -r d98249b40f3c tools/ocaml/libs/xs/Makefile --- a/tools/ocaml/libs/xs/Makefile Thu Nov 11 15:07:42 2010 +0000 +++ b/tools/ocaml/libs/xs/Makefile Thu Nov 11 15:32:49 2010 +0000 @@ -33,11 +33,13 @@ OCAML_NOC_LIBRARY = xs .PHONY: install install: $(LIBS) META - ocamlfind install -destdir $(DESTDIR)$(shell ocamlfind printconf destdir) -ldconf ignore xs META $(INTF) xs.mli xst.mli xsraw.mli $(LIBS) *.a *.cmx + mkdir -p $(OCAMLDESTDIR) + ocamlfind remove -destdir $(OCAMLDESTDIR) xs + ocamlfind install -destdir $(OCAMLDESTDIR) -ldconf ignore xs META $(INTF) xs.mli xst.mli xsraw.mli $(LIBS) *.a *.cmx .PHONY: uninstall uninstall: - ocamlfind remove xs + ocamlfind remove -destdir $(OCAMLDESTDIR) xs include $(TOPLEVEL)/Makefile.rules diff -r 566505063e89 -r d98249b40f3c tools/ocaml/xenstored/Makefile --- a/tools/ocaml/xenstored/Makefile Thu Nov 11 15:07:42 2010 +0000 +++ b/tools/ocaml/xenstored/Makefile Thu Nov 11 15:32:49 2010 +0000 @@ -52,4 +52,8 @@ all: $(INTF) $(PROGRAMS) bins: $(PROGRAMS) +install: all + $(INSTALL_DIR) $(DESTDIR)$(SBINDIR) + $(INSTALL_PROG) oxenstored $(DESTDIR)$(SBINDIR) + include $(OCAML_TOPLEVEL)/Makefile.rules _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |