forked from ocaml/ocaml
-
Notifications
You must be signed in to change notification settings - Fork 0
/
dune
177 lines (158 loc) · 6.4 KB
/
dune
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
;**************************************************************************
;* *
;* OCaml *
;* *
;* Thomas Refis, Jane Street Europe *
;* *
;* Copyright 2018 Jane Street Group LLC *
;* *
;* All rights reserved. This file is distributed under the terms of *
;* the GNU Lesser General Public License version 2.1, with the *
;* special exception on linking described in the file LICENSE. *
;* *
;**************************************************************************
(env
(dev (flags (:standard -w +a-4-9-41-42-44-45-48)))
(release (flags (:standard -w +a-4-9-41-42-44-45-48))))
;; Too annoying to get to work. Use (copy_files# ...) instead
; (include_subdirs unqualified)
; (ignored_subdirs (lex yacc testsuite ocamldoc ocamltest toplevel otherlibs))
(copy_files# utils/*.ml{,i})
(copy_files# parsing/*.ml{,i})
(copy_files# typing/*.ml{,i})
(copy_files# bytecomp/*.ml{,i})
(copy_files# driver/*.ml{,i})
(copy_files# asmcomp/*.ml{,i})
(copy_files# asmcomp/debug/*.ml{,i})
(copy_files# middle_end/*.ml{,i})
(copy_files# middle_end/base_types/*.ml{,i})
(library
(name ocamlcommon)
(wrapped false)
(flags (:standard -principal -nostdlib))
(libraries stdlib)
(modules_without_implementation
annot asttypes cmo_format outcometree parsetree)
(modules
;; UTILS
config build_path_prefix_map misc identifiable numbers arg_helper clflags
profile terminfo ccomp warnings consistbl strongly_connected_components
targetint
;; PARSING
location longident docstrings syntaxerr ast_helper camlinternalMenhirLib
parser lexer parse printast pprintast ast_mapper ast_iterator attr_helper
builtin_attributes ast_invariants depend
; manual update: mli only files
asttypes parsetree
;; TYPING
ident path primitive types btype oprint subst predef datarepr cmi_format env
typedtree printtyped ctype printtyp includeclass mtype envaux includecore
typedtreeIter tast_mapper cmt_format untypeast includemod
typetexp printpat parmatch stypes typedecl typeopt rec_check typecore
typeclass typemod typedecl_variance typedecl_properties typedecl_immediacy
typedecl_unboxed
; manual update: mli only files
annot outcometree
;; COMP
lambda printlambda semantics_of_primitives switch matching translobj
translattribute translprim translcore translclass translmod simplif
runtimedef meta opcodes bytesections dll symtable pparse main_args compenv
compmisc compdynlink_types compdynlink_platform_intf compdynlink_common
compdynlink compplugin makedepend compile_common
; manual update: mli only files
cmo_format
; manual update: this is required.
instruct
))
(library
(name ocamlbytecomp)
(wrapped false)
(flags (:standard -principal -nostdlib))
(libraries stdlib ocamlcommon)
(modules
bytegen printinstr emitcode bytelink bytelibrarian bytepackager errors
compile))
(library
(name ocamloptcomp)
(wrapped false)
(flags (:standard -principal -nostdlib))
(libraries stdlib ocamlcommon)
(modules_without_implementation
cmx_format x86_ast backend_intf inlining_decision_intf
simplify_boxed_integer_ops_intf)
(modules
;; ASMCOMP
arch backend_var cmm printcmm reg reg_with_debug_info reg_availability_set
mach proc clambda printclambda export_info export_info_for_pack compilenv
closure traverse_for_exported_symbols build_export_info closure_offsets
flambda_to_clambda import_approx un_anf afl_instrument strmatch cmmgen
interval printmach selectgen spacetime_profiling selection comballoc CSEgen
CSE liveness spill split interf coloring linscan reloadgen reload deadcode
printlinear linearize available_regs schedgen scheduling
branch_relaxation_intf branch_relaxation emitaux emit asmgen asmlink
asmlibrarian asmpackager opterrors optcompile
; manual update: mli only files
cmx_format
; arch specific files: we always include them even though depending on the
; target architecture they might not be used.
x86_ast
x86_proc
x86_dsl
x86_gas
x86_masm
;; MIDDLE_END
int_replace_polymorphic_compare debuginfo tag linkage_name compilation_unit
internal_variable_names variable mutable_variable id_types set_of_closures_id
set_of_closures_origin closure_element closure_id closure_origin
var_within_closure static_exception export_id symbol pass_wrapper
allocated_const parameter projection flambda flambda_iterators flambda_utils
inlining_cost effect_analysis freshening simple_value_approx lift_code
closure_conversion_aux closure_conversion initialize_symbol_to_let_symbol
lift_let_to_initialize_symbol find_recursive_functions invariant_params
inconstant_idents alias_analysis lift_constants share_constants
simplify_common remove_unused_arguments remove_unused_closure_vars
remove_unused_program_constructs simplify_boxed_integer_ops
simplify_primitives inlining_stats_types inlining_stats
inline_and_simplify_aux remove_free_vars_equal_to_args extract_projections
augment_specialised_args unbox_free_vars_of_closures unbox_specialised_args
unbox_closures inlining_transforms inlining_decision inline_and_simplify
ref_to_variables flambda_invariants middle_end
; manual update: mli only files
backend_intf inlining_decision_intf simplify_boxed_integer_ops_intf
)
)
;;;;;;;;;;;;;;
;;; ocamlc ;;;
;;;;;;;;;;;;;;
(executable
(name main)
(modes byte)
(flags (:standard -principal -nostdlib))
(libraries ocamlbytecomp ocamlcommon runtime stdlib)
(modules main))
(rule
(copy main.exe ocamlc.byte))
;;;;;;;;;;;;;;;;
;;; ocamlopt ;;;
;;;;;;;;;;;;;;;;
(executable
(name optmain)
(modes byte)
(flags (:standard -principal -nostdlib))
(libraries ocamloptcomp ocamlcommon runtime stdlib)
(modules optmain))
(rule
(copy optmain.exe ocamlopt.byte))
;;;;;;;;;;;;;;;
;;; aliases ;;;
;;;;;;;;;;;;;;;
(alias
(name world)
(deps ocamlc.byte
ocamlopt.byte
debugger/ocamldebug.byte
ocamldoc/ocamldoc.byte
ocamltest/ocamltest.byte
toplevel/ocaml.byte
toplevel/expunge.exe
))