You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
17 lines
683 B
17 lines
683 B
let _ =
|
|
let prefix = "keystone_stub" in
|
|
let generate_ml, generate_c = ref false, ref false in
|
|
Arg.(parse [ ("-ml", Set generate_ml, "Generate ML");
|
|
("-c", Set generate_c, "Generate C") ])
|
|
(fun _ -> failwith "unexpected anonymous argument")
|
|
"stubgen [-ml|-c]";
|
|
match !generate_ml, !generate_c with
|
|
| false, false
|
|
| true, true ->
|
|
failwith "Exactly one of -ml and -c must be specified"
|
|
| true, false ->
|
|
Cstubs.write_ml Format.std_formatter ~prefix (module Ffi_bindings.Bindings)
|
|
| false, true ->
|
|
print_endline ("#include " ^ Config.keystone_header_loc);
|
|
Cstubs.write_c Format.std_formatter ~prefix (module Ffi_bindings.Bindings)
|