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