Próbuję utrzymać mój projekt w stanie zamkniętym, z wszystkimi głównymi zależnościami bibliotek zewnętrznych, które są budowane i odwoływane w repozytorium projektu. Główne części ocaml mojego projektu opierają się na ocamlbuild.W jaki sposób można użyć zestawu narzędzi ocamlfind/ocamlbuild z lokalnymi kopiami pakietów?
Ale w przypadku złożonych pakietów, takich jak baterie w zestawie, wydaje się, że istnieje silne oczekiwanie, że zostaną one połączone w projekt za pośrednictwem systemu ocamlfind. ocamlfind wydaje się zakładać, że pakiety zostaną zainstalowane globalnie. (Rozumiem, że pozwala on zmiennym środowiskowym i conf na wskazanie alternatywnych lokalizacji, ale zasadniczo wydaje się, że jest zbudowany na założeniu, że pakiety są skonfigurowane globalnie - nie ma odpowiednika flag -I
lub -L
, aby dynamicznie rozszerzać ścieżkę wyszukiwania dla na przykład, pakiety mogą być w stanie dynamicznie nadpisać konfigurację ocamlfind w celu wyszukania drzewa lokalnego projektu, ale jest to znacznie trudniejsze niż zwykłe argumenty, a także wydaje się, że byłoby to trudne jednocześnie usuwania wykrywalność podstawowych pakietów systemowych w podstawowym site-lib
, które również mogą być potrzebne.)
Jaka jest rozsądna strategia i budowy przed nietrywialnej 3 par paczki w drzewie projektu dla projektu korzystającego z ocamlbuild?
Do tej pory nie zwijałem tej trasy, więc byłem powolny, aby potwierdzić sukces, ale spodziewam się, że powinien zadziałać. – jrk