Каталог по умолчанию для OCaml и местоположение ocamlrun по умолчанию
Я скомпилировал OCaml из исходного кода на моем Mac (хост), и у меня нет проблем. Я также кросс-скомпилировал OCaml на моем Mac для некоторой цели (отличной от хоста), и в этом случае у меня возникают следующие проблемы:
1) Я могу использовать напрямую (на цель) ocamlrun
а также ocamlyacc
так как они "чистые" двоичные файлы, без проблем, как на хосте. Если я хочу использовать другие двоичные файлы из $INSTALL/bin
($INSTALL
это каталог установки ocaml
на цель) нравится ocamlopt
У меня есть ошибки, говорящие, что путь ocamlrun
неправильно. Действительно, если я открою ocamlopt
двоичный с и шестнадцатеричный редактор, я вижу, что он начинается с #!/not/target/but/host/path/to/ocamlrun
где путь это путь к ocamlrun
на хосте (мой mac) на котором я configure
d перекрестная сборка, а не путь к целевой версии... Конечно, если я заменю этот путь на целевой, больше не нужно делать ocamlrun ocamlopt
, все отлично. То же самое для всех остальных двоичных файлов из $INSTALL/bin
, ocamlrun
а также ocamlyacc
отложить в сторону. (Последние два работают напрямую, как я писал выше.) Есть ли способ configure
(на хосте) ocaml
построить кросс-так, чтобы правильный путь для ocamlrun
на цели появляется непосредственно в начале двоичных файлов из $INSTALL/bin
?
2) я не могу скомпилировать код без необходимости указывать $INSTALL/lib/ocaml
Дир через -I
флаг. Есть ли способ заставить этот путь стандартных библиотек на configure
? Или любой ocaml
"внутренняя" переменная окружения, имеющая дело с ней, которую я могу отредактировать ocaml
будет искать библиотек в $INSTALL/lib/ocaml
? (Я весьма пессимистичен в отношении решения переменных среды, поскольку на хосте у меня есть только две переменные среды (в printenv
) что касается ocaml
и никто, кажется, не имеет дело с такими вещами, так что я не понимаю, почему это пошло бы по-другому / лучше для цели...)