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