29 lines
713 B
OCaml
29 lines
713 B
OCaml
let write fn s =
|
|
let oc = open_out fn in
|
|
output_string oc s;
|
|
close_out oc
|
|
|
|
let () =
|
|
let ocaml_version_str = Sys.argv.(1) in
|
|
let ocaml_version =
|
|
Scanf.sscanf ocaml_version_str "%u.%u" (fun a b -> (a, b))
|
|
in
|
|
write "ast-version"
|
|
(match ocaml_version with
|
|
| 4, 08 -> "408"
|
|
| 4, 09 -> "409"
|
|
| 4, 10 -> "410"
|
|
| 4, 11 -> "411"
|
|
| 4, 12 -> "412"
|
|
| 4, 13 -> "413"
|
|
| 4, 14 -> "414"
|
|
| 5, 0 ->
|
|
"414"
|
|
(* Ast_500 aliases Ast_414, since the AST hasn't changed between those two *)
|
|
| 5, 1 -> "501"
|
|
| 5, 2 -> "502"
|
|
| 5, 3 -> "503"
|
|
| 5, 4 -> "504"
|
|
| _ ->
|
|
Printf.eprintf "Unknown OCaml version %s\n" ocaml_version_str;
|
|
exit 1)
|