Двоичные файлы ocamlopt
и ocamlc
поддерживают переключатели -vnum
и -version
для получения номера версии:
-vnum или -version Напечатайте номер версии компилятора в краткой форме (например, 3.11.0), затем выйдите.
Этот переключатель поддерживается в 3.12.0, и пример текста в документации предполагает, что 3.11.0 также поддерживает это.У меня нет 3.10.0 под рукой, но nlucaroni (чей OCaml Fu выглядит сильнее моего) указывает в комментариях, что 3.10.0 имеет ocamplopt -version
.
Так что вы можете добавитьчто-то вроде этого в ваш Makefile:
OCAML_VERSION_MAJOR = `ocamlopt -version | cut -f1 -d.`
OCAML_VERSION_MINOR = `ocamlopt -version | cut -f2 -d.`
OCAML_VERSION_POINT = `ocamlopt -version | cut -f3 -d.`
и затем передайте их вашему компилятору, используя -DOCAML_VERSION_MAJOR=$(OCAML_VERSION_MAJOR)
, -DOCAML_VERSION_MINOR=$(OCAML_VERSION_MINOR)
, ...