1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00

Adding ocamldoc generation.

Patch by Erick Tryzelaar.

llvm-svn: 48147
This commit is contained in:
Gordon Henriksen 2008-03-10 15:49:16 +00:00
parent a6d10e21f7
commit 7af7f7f186
5 changed files with 49 additions and 6 deletions

View File

@ -154,6 +154,7 @@ GZIP := @GZIP@
OCAMLC := @OCAMLC@ OCAMLC := @OCAMLC@
OCAMLOPT := @OCAMLOPT@ OCAMLOPT := @OCAMLOPT@
OCAMLDEP := @OCAMLDEP@ OCAMLDEP := @OCAMLDEP@
OCAMLDOC := @OCAMLDOC@
POD2HTML := @POD2HTML@ POD2HTML := @POD2HTML@
POD2MAN := @POD2MAN@ POD2MAN := @POD2MAN@
RUNTEST := @RUNTEST@ RUNTEST := @RUNTEST@

View File

@ -592,6 +592,7 @@ AC_PATH_PROG(ZIP, [zip])
AC_PATH_PROGS(OCAMLC, [ocamlc.opt ocamlc]) AC_PATH_PROGS(OCAMLC, [ocamlc.opt ocamlc])
AC_PATH_PROGS(OCAMLOPT, [ocamlopt.opt ocamlopt]) AC_PATH_PROGS(OCAMLOPT, [ocamlopt.opt ocamlopt])
AC_PATH_PROGS(OCAMLDEP, [ocamldep.opt ocamldep]) AC_PATH_PROGS(OCAMLDEP, [ocamldep.opt ocamldep])
AC_PATH_PROGS(OCAMLDOC, [ocamldoc.opt ocamldoc])
dnl Determine if the linker supports the -R option. dnl Determine if the linker supports the -R option.
AC_LINK_USE_R AC_LINK_USE_R

View File

@ -10,4 +10,9 @@
LEVEL := ../.. LEVEL := ../..
DIRS = llvm bitreader bitwriter analysis executionengine DIRS = llvm bitreader bitwriter analysis executionengine
ocamldoc:
$(Verb) for i in $(DIRS) ; do \
$(MAKE) -C $$i ocamldoc; \
done
include $(LEVEL)/Makefile.common include $(LEVEL)/Makefile.common

View File

@ -285,6 +285,13 @@ uninstall-cmxa::
endif endif
##===- Generate documentation ---------------------------------------------===##
$(ObjDir)/$(LIBRARYNAME).odoc: $(ObjectsCMI)
$(Echo) "Documenting $(notdir $@)"
$(Verb) $(OCAMLDOC) -I $(OcamlDir) -I $(ObjDir) -dump $@ $(OcamlHeaders)
ocamldoc: $(ObjDir)/$(LIBRARYNAME).odoc
##===- Debugging gunk -----------------------------------------------------===## ##===- Debugging gunk -----------------------------------------------------===##
printvars:: printcamlvars printvars:: printcamlvars

View File

@ -31,13 +31,16 @@ DOXYFILES := doxygen.cfg.in doxygen.css doxygen.footer doxygen.header \
doxygen.intro doxygen.intro
EXTRA_DIST := $(HTML) $(DOXYFILES) llvm.css CommandGuide img EXTRA_DIST := $(HTML) $(DOXYFILES) llvm.css CommandGuide img
.PHONY: install-html install-doxygen doxygen .PHONY: install-html install-doxygen doxygen install-ocamldoc ocamldoc
install_targets := install-html
ifeq ($(ENABLE_DOXYGEN),1) ifeq ($(ENABLE_DOXYGEN),1)
install-local:: install-html install-doxygen install_targets += install-doxygen
else
install-local:: install-html
endif endif
ifneq (,$(filter ocaml,$(BINDINGS_TO_BUILD)))
install_targets += install-ocamldoc
endif
install-local:: $(install_targets)
install-html: $(PROJ_OBJ_DIR)/html.tar.gz install-html: $(PROJ_OBJ_DIR)/html.tar.gz
$(Echo) Installing HTML documentation $(Echo) Installing HTML documentation
@ -55,7 +58,6 @@ $(PROJ_OBJ_DIR)/html.tar.gz: $(HTML)
$(Verb) $(GZIP) $(PROJ_OBJ_DIR)/html.tar $(Verb) $(GZIP) $(PROJ_OBJ_DIR)/html.tar
install-doxygen: doxygen install-doxygen: doxygen
$(Echo) Installing doxygen documentation
$(Echo) Installing doxygen documentation $(Echo) Installing doxygen documentation
$(Verb) $(MKDIR) $(PROJ_docsdir)/html/doxygen $(Verb) $(MKDIR) $(PROJ_docsdir)/html/doxygen
$(Verb) $(DataInstall) $(PROJ_OBJ_DIR)/doxygen.tar.gz $(PROJ_docsdir) $(Verb) $(DataInstall) $(PROJ_OBJ_DIR)/doxygen.tar.gz $(PROJ_docsdir)
@ -85,4 +87,31 @@ $(LLVM_SRC_ROOT)/docs/userloc.html:
$(Echo) Making User LOC Table $(Echo) Making User LOC Table
$(Verb) cd $(LLVM_SRC_ROOT) ; ./utils/userloc.pl -details -recurse \ $(Verb) cd $(LLVM_SRC_ROOT) ; ./utils/userloc.pl -details -recurse \
-html lib include tools runtime utils examples autoconf test > docs/userloc.html -html lib include tools runtime utils examples autoconf test > docs/userloc.html
install-ocamldoc: ocamldoc
$(Echo) Installing ocamldoc documentation
$(Verb) $(MKDIR) $(PROJ_docsdir)/ocamldoc/html
$(Verb) $(DataInstall) $(PROJ_OBJ_DIR)/ocamldoc.tar.gz $(PROJ_docsdir)
$(Verb) cd $(PROJ_OBJ_DIR)/ocamldoc && \
$(FIND) . -type f -exec \
$(DataInstall) {} $(PROJ_docsdir)/ocamldoc/html \;
ocamldoc: regen-ocamldoc $(PROJ_OBJ_DIR)/ocamldoc.tar.gz
regen-ocamldoc:
$(Echo) Building ocamldoc documentation
$(Verb) if test -e $(PROJ_OBJ_DIR)/ocamldoc ; then \
$(RM) -rf $(PROJ_OBJ_DIR)/ocamldoc ; \
fi
$(Verb) $(MAKE) -C $(LEVEL)/bindings/ocaml ocamldoc
$(Verb) $(MKDIR) $(PROJ_OBJ_DIR)/ocamldoc/html
$(Verb) \
$(OCAMLDOC) -d $(PROJ_OBJ_DIR)/ocamldoc/html -sort -colorize-code -html \
`$(FIND) $(LEVEL)/bindings/ocaml -name "*.odoc" -exec echo -load '{}' ';'`
$(PROJ_OBJ_DIR)/ocamldoc.tar.gz:
$(Echo) Packaging ocamldoc documentation
$(Verb) $(RM) -rf $@ $(PROJ_OBJ_DIR)/ocamldoc.tar
$(Verb) $(TAR) cf $(PROJ_OBJ_DIR)/ocamldoc.tar ocamldoc
$(Verb) $(GZIP) $(PROJ_OBJ_DIR)/ocamldoc.tar
$(Verb) $(CP) $(PROJ_OBJ_DIR)/ocamldoc.tar.gz $(PROJ_OBJ_DIR)/ocamldoc/html/