1Config(3) OCaml library Config(3)
2
3
4
6 Config - System configuration
7
9 Module Config
10
12 Module Config
13 : sig end
14
15
16 System configuration
17
18 Warning: this module is unstable and part of Compiler_libs .
19
20
21
22
23
24
25 val version : string
26
27 The current version number of the system
28
29
30
31 val standard_library : string
32
33 The directory containing the standard libraries
34
35
36
37 val ccomp_type : string
38
39 The "kind" of the C compiler, assembler and linker used: one of "cc"
40 (for Unix-style C compilers) "msvc" (for Microsoft Visual C++ and MASM)
41
42
43
44 val c_compiler : string
45
46 The compiler to use for compiling C files
47
48
49
50 val c_output_obj : string
51
52 Name of the option of the C compiler for specifying the output file
53
54
55
56 val c_has_debug_prefix_map : bool
57
58 Whether the C compiler supports -fdebug-prefix-map
59
60
61
62 val as_has_debug_prefix_map : bool
63
64 Whether the assembler supports --debug-prefix-map
65
66
67
68 val ocamlc_cflags : string
69
70 The flags ocamlc should pass to the C compiler
71
72
73
74 val ocamlc_cppflags : string
75
76 The flags ocamlc should pass to the C preprocessor
77
78
79
80 val ocamlopt_cflags : string
81
82 The flags ocamlopt should pass to the C compiler
83
84
85
86 val ocamlopt_cppflags : string
87
88 The flags ocamlopt should pass to the C preprocessor
89
90
91
92 val bytecomp_c_libraries : string
93
94 The C libraries to link with custom runtimes
95
96
97
98 val native_c_libraries : string
99
100 The C libraries to link with native-code programs
101
102
103
104 val native_pack_linker : string
105
106 The linker to use for packaging (ocamlopt -pack) and for partial links
107 (ocamlopt -output-obj).
108
109
110
111 val mkdll : string
112
113 The linker command line to build dynamic libraries.
114
115
116
117 val mkexe : string
118
119 The linker command line to build executables.
120
121
122
123 val mkmaindll : string
124
125 The linker command line to build main programs as dlls.
126
127
128
129 val ranlib : string
130
131 Command to randomize a library, or "" if not needed
132
133
134
135 val ar : string
136
137 Name of the ar command, or "" if not needed (MSVC)
138
139
140
141 val interface_suffix : string ref
142
143 Suffix for interface file names
144
145
146
147 val exec_magic_number : string
148
149 Magic number for bytecode executable files
150
151
152
153 val cmi_magic_number : string
154
155 Magic number for compiled interface files
156
157
158
159 val cmo_magic_number : string
160
161 Magic number for object bytecode files
162
163
164
165 val cma_magic_number : string
166
167 Magic number for archive files
168
169
170
171 val cmx_magic_number : string
172
173 Magic number for compilation unit descriptions
174
175
176
177 val cmxa_magic_number : string
178
179 Magic number for libraries of compilation unit descriptions
180
181
182
183 val ast_intf_magic_number : string
184
185 Magic number for file holding an interface syntax tree
186
187
188
189 val ast_impl_magic_number : string
190
191 Magic number for file holding an implementation syntax tree
192
193
194
195 val cmxs_magic_number : string
196
197 Magic number for dynamically-loadable plugins
198
199
200
201 val cmt_magic_number : string
202
203 Magic number for compiled interface files
204
205
206
207 val max_tag : int
208
209 Biggest tag that can be stored in the header of a regular block.
210
211
212
213 val lazy_tag : int
214
215 Normally the same as Obj.lazy_tag. Separate definition because of
216 technical reasons for bootstrapping.
217
218
219
220 val max_young_wosize : int
221
222 Maximal size of arrays that are directly allocated in the minor heap
223
224
225
226 val stack_threshold : int
227
228 Size in words of safe area at bottom of VM stack, see runtime/caml/con‐
229 fig.h
230
231
232
233 val stack_safety_margin : int
234
235 Size in words of the safety margin between the bottom of the stack and
236 the stack pointer. This margin can be used by intermediate computations
237 of some instructions, or the event handler.
238
239
240
241 val architecture : string
242
243 Name of processor type for the native-code compiler
244
245
246
247 val model : string
248
249 Name of processor submodel for the native-code compiler
250
251
252
253 val system : string
254
255 Name of operating system for the native-code compiler
256
257
258
259 val asm : string
260
261 The assembler (and flags) to use for assembling ocamlopt-generated
262 code.
263
264
265
266 val asm_cfi_supported : bool
267
268 Whether assembler understands CFI directives
269
270
271
272 val with_frame_pointers : bool
273
274 Whether assembler should maintain frame pointers
275
276
277
278 val ext_obj : string
279
280 Extension for object files, e.g. .o under Unix.
281
282
283
284 val ext_asm : string
285
286 Extension for assembler files, e.g. .s under Unix.
287
288
289
290 val ext_lib : string
291
292 Extension for library files, e.g. .a under Unix.
293
294
295
296 val ext_dll : string
297
298 Extension for dynamically-loaded libraries, e.g. .so under Unix.
299
300
301
302 val default_executable_name : string
303
304 Name of executable produced by linking if none is given with -o, e.g.
305 a.out under Unix.
306
307
308
309 val systhread_supported : bool
310
311 Whether the system thread library is implemented
312
313
314
315 val flexdll_dirs : string list
316
317 Directories needed for the FlexDLL objects
318
319
320
321 val host : string
322
323 Whether the compiler is a cross-compiler
324
325
326
327 val target : string
328
329 Whether the compiler is a cross-compiler
330
331
332
333 val flambda : bool
334
335 Whether the compiler was configured for flambda
336
337
338
339 val with_flambda_invariants : bool
340
341 Whether the invariants checks for flambda are enabled
342
343
344
345 val spacetime : bool
346
347 Whether the compiler was configured for Spacetime profiling
348
349
350
351 val enable_call_counts : bool
352
353 Whether call counts are to be available when Spacetime profiling
354
355
356
357 val profinfo : bool
358
359 Whether the compiler was configured for profiling
360
361
362
363 val profinfo_width : int
364
365 How many bits are to be used in values' headers for profiling informa‐
366 tion
367
368
369
370 val libunwind_available : bool
371
372 Whether the libunwind library is available on the target
373
374
375
376 val libunwind_link_flags : string
377
378 Linker flags to use libunwind
379
380
381
382 val safe_string : bool
383
384 Whether the compiler was configured with -force-safe-string; in that
385 case, the -unsafe-string compile-time option is unavailable
386
387
388 Since 4.05.0
389
390
391
392 val default_safe_string : bool
393
394 Whether the compiler was configured to use the -safe-string or
395 -unsafe-string compile-time option by default.
396
397
398 Since 4.06.0
399
400
401
402 val flat_float_array : bool
403
404 Whether the compiler and runtime automagically flatten float arrays
405
406
407
408 val function_sections : bool
409
410 Whether the compiler was configured to generate each function in a sep‐
411 arate section
412
413
414
415 val windows_unicode : bool
416
417 Whether Windows Unicode runtime is enabled
418
419
420
421 val supports_shared_libraries : bool
422
423 Whether shared libraries are supported
424
425
426 Since 4.08.0
427
428
429
430 val afl_instrument : bool
431
432 Whether afl-fuzz instrumentation is generated by default
433
434
435
436 val print_config : out_channel -> unit
437
438 Access to configuration values
439
440
441
442 val config_var : string -> string option
443
444 the configuration value of a variable, if it exists
445
446
447
448
449
450OCamldoc 2020-02-27 Config(3)