중소 규모의 OCaml 프로젝트를 구축하고 관리하는 데있어 정식으로 선호되는 방법은 생태계에 새로 온 사람들에게 불분명합니다. 나는 ocamlc
, & c의 기초를 이해합니다. 그들은 전통적인 UNIX C 컴파일러를 그대로 닮아 있습니다. 그러나 개별 파일을 일회성으로 컴파일하는 것 이상의 수준에서는 컴파일을 간단하고 깔끔하게 관리하는 것이 가장 바람직하지 않습니다. 이 쟁점은 잠재적 인 도구를 찾는 것이 아니라 표준 OCaml 프로젝트를 구조화하고 구축하기 위해 커뮤니티의 경험에 의해 검증 된 하나 또는 몇 가지의 올바른 (충분한) 방법을 보는 것입니다.OCaml 프로젝트를 구조화하고 구축하는 가장 좋은 방법은 무엇입니까?
내 모델 유스 케이스는 순수한 OCaml 또는 OCaml과 C 의존성에 대한 겸손하지만 치명적인 프로젝트는 아닙니다. 이러한 프로젝트는 :
- 소스 파일
- 가 선택적으로 C 라이브러리와 OCaml의 래퍼를 포함하는 하나 이상의 제 3의 라이브러리에
- 링크 표준 라이브러리의 수에
- 링크의 수를 포함
여러 다른 도구 (이것은 또한 (3)과 같이 제 3 자 라이브러리를 별도로 관리되고 포함될 수 있지만) 하위 프로젝트에 띄는 :
- 사용자 정의 Makefile은 대부분의 오픈 소스 OCaml 패키지에서 공통적 인 표준으로 보이지만, 겸손한 C/C++ 프로젝트에 비해 좌절스럽고 복잡합니다. 더욱이 겉으로보기에 단순한 OCaml 라이브러리는 autoconf/automake를 맨 위에 배치하여 훨씬 더 복잡합니다.
- ocamlbuild은 최소한의 구성으로 빌드를 자동화하기위한 최신의 간소화 된 메커니즘을 제공하는 것처럼 보입니다.하지만 OCaml 에코 시스템의 입문 자료에서 예제로 표현되거나 여러 가지 게시 된 내가 영감을 얻기 위해 탐색 한 OCaml 프로젝트.
- OASIS은 Cabal과 같은 패키지 관리자 및 라이브러리 구축을 지원하기 위해 다른 빌드 시스템 위에 규칙 및 라이브러리 코드 계층으로 보이는 것 같습니다.
(나는 또한으로 나타나는, OMake을 본 자칭, 또한 OCaml이 포함 공통 언어 표준 규칙 세트를 포함 "make++
"및 ocaml-make OCamlMakefile 니 표준 규칙 템플릿을 제공 GNU make
의 경우)
OCaml 빌드를 관리하는 가장 좋은 방법은 무엇입니까?
프로젝트 파일은 어떻게 가장 잘 구조화되어 있습니까?
타사 라이브러리 종속성은 어떻게 포함되고 관리됩니까? 시스템 수준에서 설치하는 것이 좋습니까? 아니면 프로젝트에 로컬로 관리하는 표준적이고 직접적인 방법이 있습니까? 나는 프로젝트가 가능한 한 자체적으로 유지되는 모델을 선호한다.
ocamlbuild 링크는 (지금) 깨진와
=> OCaml의-autoconf를 할 수 있습니다. –
링크가 고정되었습니다. – ygrek