2013-06-28 1 views
3

ocamlbuild 프로젝트에는 목록이있는 .mlpack 파일이있는 하위 디렉토리에 일부 파일이 들어 있습니다.팩과 함께 ocamldoc 사용

모듈 Support.Logging을 정의하는 파일 support/logging.ml이 있습니다. _tags 파일에 "support": for-pack(Support)이라고 표시되어 있습니다.

이 모든 것이 올바르게 구현되어 실행됩니다. 하지만 ocamldoc을 사용하여이 문서를 생성하려면 어떻게해야합니까?

내가 가장 최근에 발견 한 게시물은 ocp-pack을 사용하여 하나의 큰 .ml 파일을 생성하고이를 ocamldoc으로 전달하는 2011 년부터 ocamldoc generation and packed files (2011 년)입니다. 그러나 빌드 순서를 고려하지 않으므로 생성 된 모듈은 전달 참조로 인해 작동하지 않습니다.

이 문제를 해결하는 가장 좋은 방법은 무엇입니까?

답변

2

다음은 현재 내 Makefile에서 사용하고있는 해결책입니다. 때문에

doc: 
    ocp-pack -o support.ml.tmp support/logging.ml support/common.ml support/utils.ml support/basedir.ml support/qdom.ml support/system.ml 
    echo '(** General support code; not 0install-specific *)' > support.ml 
    cat support.ml.tmp >> support.ml 
    rm support.ml.tmp 
    $(OCAMLBUILD) 0install.docdir/index.html 
    rm support.ml 

그것은 해키 : 그것은 지원 모듈 작업으로 작업하고, 상호 참조를 않습니다 당신은 빌드 순서에서 support.ml 파일을 나열해야

  • 손으로,
  • Makefile은 지원에 대한 문서 주석을 추가합니다 (그렇지 않으면 원하지 않는 첫 번째 하위 모듈에 대한 설명이 필요합니다).
3

문제는 the following bugreport에 설명되어 있습니다. ocamldoc 내부에서 -pack을 다루기 위해서는 관리자가 수행하도록 동기를 부여하지 않아야하며, 지금까지 아무도이 기능을위한 패치를 제출하지 않았다.

그 사이에 foo.mlpack 파일을 foo.odocl에 쉽게 복사하여 별도의 하위 모듈에 대한 문서를 생성 할 수 있습니다. 의사가 Foo.X이 아닌 X에 대해 이야기 할 것이므로 이는 불완전한 해결 방법 일뿐입니다.하지만 이는 최소한의 노력으로 해결할 수 있습니다.