forked from ocaml-flambda/flambda-backend
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathasminstantiator.ml
36 lines (34 loc) · 2.5 KB
/
asminstantiator.ml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
(**********************************************************************************
* MIT License *
* *
* *
* Copyright (c) 2019-2024 Jane Street Group LLC *
* *
* Permission is hereby granted, free of charge, to any person obtaining a copy *
* of this software and associated documentation files (the "Software"), to deal *
* in the Software without restriction, including without limitation the rights *
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included in all *
* copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR *
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE *
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER *
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, *
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE *
* SOFTWARE. *
* *
**********************************************************************************)
let read_unit_info file : Instantiator.unit_info =
let unit_info, _crc = Compilenv.read_unit_info file in
let { Cmx_format.ui_unit; ui_arg_descr; ui_format; _ } = unit_info in
{ Instantiator.ui_unit; ui_arg_descr; ui_format; }
let instantiate unix ~src ~args targetcmx ~flambda2 =
Instantiator.instantiate ~src ~args targetcmx
~expected_extension:".cmx"
~read_unit_info
~compile:(Optcompile.instance unix ~flambda2 ~keep_symbol_tables:false)