OCaml默认包含目录和默认的ocamlrun位置

时间:2015-11-01 00:01:30

标签: macos ocaml include-path binaries cross-build

我已经在我的mac(主机)上从源代码编译了OCaml,我没有问题。我还在我的mac上交叉编译了OCaml以获得一些目标(与主机不同),在这种情况下我有以下问题:

1)我可以直接使用(在目标上)ocamlrunocamlyacc,因为它们是纯粹的"二进制文件,没有问题,就像在主机上一样。如果我想使用$INSTALL/bin中的其他二进制文件($INSTALL是目标上的ocaml的安装目录),例如ocamlopt,我有错误告诉我ocamlrun的路径{1}}错了。实际上,如果我用十六进制编辑器打开ocamlopt二进制文件,我会看到它以#!/not/target/but/host/path/to/ocamlrun开头,其中路径是主机(我的mac)上ocamlrun的路径。我configure交叉构建,而不是其目标版本的路径......当然,如果我用目标上的路径替换此路径,则不再需要ocamlrun ocamlopt,一切都是好。对于$INSTALL/binocamlrunocamlyacc放在一边的所有其他二进制文件也是如此。 (最后两个确实直接工作,正如我上面写的那样。)有没有办法configure(在主机上)ocaml交叉构建,以便ocamlrun的正确路径target直接出现在$INSTALL/bin的二进制文件的开头?

2)我无法编译代码而无需通过$INSTALL/lib/ocaml标志指定-I目录。有没有办法在configure处强制使用此标准库路径?或任何ocaml"内部"处理它的环境变量我可以编辑以确保ocaml将在$INSTALL/lib/ocaml中查找库? (我对环境变量解决方案非常悲观,因为在主机上我只有两个关于printenv的环境变量(ocaml)并且似乎没有人处理这类内容,所以我不知道#39;看看为什么它会在目标上变得不同/更好......)

0 个答案:

没有答案