Ocamlbuild переопределяет параметры по умолчанию
Моя установка OCaml не распознает #!, поэтому camlp4o не может работать автономно. Он должен быть вызван как "ocamlrun camlp4o".
Я пытаюсь добавить флаг в плагин. Но новый флаг просто добавляется к существующему флагу.
В результате ocamlbuild вызовет компилятор с
"-pp camlp4o ocamlrun camlp4o".
Обходное решение - ввести новый тег "my_camlp4o". Однако в документации ocamlbuild упоминается возможность "переопределения" значений по умолчанию. Кажется, ocamlc, ocamlopt может быть переопределен. Но можем ли мы переопределить camlp4o? Это можно сделать в плагинах?
1 ответ
В Ocamlbuild есть поддержка изменения настроек по умолчанию через -ocamlc <command>
, -ocamldep <command>
и т.д. параметры командной строки. К сожалению, camlp4 в настоящее время не входит в набор настраиваемых команд. Не могли бы вы использовать трекер, чтобы запросить эту функцию?
(В то же время я рекомендую обходной путь, например, вы замените ocamlrun
исполняемый в вашем PATH исполняемым скриптом, который делает правильные вещи.)
редактировать
Другой обходной путь - выполнить всю компиляцию через ocamlfind
, которая поддерживает переопределение команды camlp4 (см. документацию) и может использоваться в качестве основы для всех команд ocamlbuild с -use-ocamlfind
вариант. К сожалению, сам ocamlfind поддерживает только предварительную обработку во время компиляции (при вызове фактического компилятора), а не автономную обработку от источника к источнику, так что это может не охватывать ваш собственный вариант использования.