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 cc_profile : string
142
143 The command line option to the C compiler to enable profiling.
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 profiling : bool
340
341 Whether profiling with gprof is supported on this platform
342
343
344
345 val flambda : bool
346
347 Whether the compiler was configured for flambda
348
349
350
351 val with_flambda_invariants : bool
352
353 Whether the invariants checks for flambda are enabled
354
355
356
357 val spacetime : bool
358
359 Whether the compiler was configured for Spacetime profiling
360
361
362
363 val enable_call_counts : bool
364
365 Whether call counts are to be available when Spacetime profiling
366
367
368
369 val profinfo : bool
370
371 Whether the compiler was configured for profiling
372
373
374
375 val profinfo_width : int
376
377 How many bits are to be used in values' headers for profiling informa‐
378 tion
379
380
381
382 val libunwind_available : bool
383
384 Whether the libunwind library is available on the target
385
386
387
388 val libunwind_link_flags : string
389
390 Linker flags to use libunwind
391
392
393
394 val safe_string : bool
395
396 Whether the compiler was configured with -force-safe-string; in that
397 case, the -unsafe-string compile-time option is unavailable
398
399
400 Since 4.05.0
401
402
403
404 val default_safe_string : bool
405
406 Whether the compiler was configured to use the -safe-string or
407 -unsafe-string compile-time option by default.
408
409
410 Since 4.06.0
411
412
413
414 val flat_float_array : bool
415
416 Whether the compiler and runtime automagically flatten float arrays
417
418
419
420 val windows_unicode : bool
421
422 Whether Windows Unicode runtime is enabled
423
424
425
426 val supports_shared_libraries : bool
427
428 Whether shared libraries are supported
429
430
431 Since 4.08.0
432
433
434
435 val afl_instrument : bool
436
437 Whether afl-fuzz instrumentation is generated by default
438
439
440
441 val print_config : out_channel -> unit
442
443 Access to configuration values
444
445
446
447 val config_var : string -> string option
448
449 the configuration value of a variable, if it exists
450
451
452
453
454
455OCamldoc 2019-07-30 Config(3)