1Config(3)                        OCaml library                       Config(3)
2
3
4

NAME

6       Config - System configuration
7

Module

9       Module   Config
10

Documentation

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 flat_float_array : bool
400
401       Whether the compiler and runtime automagically flatten float arrays
402
403
404
405       val function_sections : bool
406
407       Whether the compiler was configured to generate each function in a sep‐
408       arate section
409
410
411
412       val windows_unicode : bool
413
414       Whether Windows Unicode runtime is enabled
415
416
417
418       val naked_pointers : bool
419
420       Whether the runtime supports naked pointers
421
422
423       Since 4.14.0
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                          2023-07-20                         Config(3)
Impressum