Модуль Config
module Config: sig .. end
Конфигурация системы
Предупреждение: этот модуль нестабилен и входит в состав compiler-libs.
val version : string
Текущая версия системы
val bindir : string
Директория, содержащая бинарные программы
val standard_library : string
Директория, содержащая стандартные библиотеки
val ccomp_type : string
«Тип» используемого компилятора C, ассемблера и линковщика: один из «cc» (для компиляторов C в стиле Unix), «msvc» (для Microsoft Visual C++ и MASM)
val c_compiler : string
Используемый компилятор C для компиляции файлов C
val c_output_obj : string
Имя параметра компилятора C для указания выходного файла
val c_has_debug_prefix_map : bool
Поддерживает ли компилятор C параметр -fdebug-prefix-map
val as_has_debug_prefix_map : bool
Поддерживает ли ассемблер параметр --debug-prefix-map
val ocamlc_cflags : string
Флаги, которые ocamlc должен передать компилятору C
val ocamlc_cppflags : string
Флаги, которые ocamlc должен передать препроцессору C
val ocamlopt_cflags : string
Config.ocamlc_cflags следует использовать вместо этого. Флаги, которые ocamlopt должен передать компилятору Cval ocamlopt_cppflags : string
Config.ocamlc_cppflags следует использовать вместо этого. Флаги, которые ocamlopt должен передать препроцессору Cval bytecomp_c_libraries : string
Библиотеки C для связывания с пользовательскими runtimes
val native_c_libraries : string
Библиотеки C для связывания с программами нативного кода
val native_ldflags : string
val native_pack_linker : string
Линковщик для упаковки (ocamlopt -pack) и для частичных линков (ocamlopt -output-obj).
val mkdll : string
Командная строка линковщика для построения динамических библиотек.
val mkexe : string
Командная строка линковщика для построения исполняемых файлов.
val mkmaindll : string
Командная строка линковщика для построения основных программ как DLL.
val default_rpath : string
Параметр для добавления директории, которая будет проверяться на наличие библиотек во время выполнения (используется ocamlmklib)
val mksharedlibrpath : string
Параметр для добавления директории, которая будет проверяться на наличие динамических библиотек во время выполнения (используется ocamlmklib)
val ar : string
Имя команды ar или "" если не требуется (MSVC)
val interface_suffix : string ref
Суффикс для имён файлов интерфейса
val exec_magic_number : string
Магическое число для файлов исполняемых байткодов
val cmi_magic_number : string
Магическое число для скомпилированных файлов интерфейса
val cmo_magic_number : string
Магическое число для файлов объектных байткодов
val cma_magic_number : string
Магическое число для файлов архивов
val cmx_magic_number : string
Магическое число для описаний единиц компиляции
val cmxa_magic_number : string
Магическое число для библиотек описаний единиц компиляции
val ast_intf_magic_number : string
Магическое число для файлов, содержащих синтаксическое дерево интерфейса
val ast_impl_magic_number : string
Магическое число для файлов, содержащих синтаксическое дерево реализации
val cmxs_magic_number : string
Магическое число для динамически загружаемых плагинов
val cmt_magic_number : string
Магическое число для скомпилированных файлов интерфейса
val linear_magic_number : string
Магическое число для файлов внутренней репрезентации Linear
val max_tag : int
Наибольший тэг, который может быть сохранён в заголовке обычного блока.
val lazy_tag : int
Обычно совпадает с Obj.lazy_tag. Отдельное определение по техническим причинам для запуска.
val max_young_wosize : int
Максимальный размер массивов, которые напрямую выделяются в куче меньшего размера.
val stack_threshold : int
Размер в словах безопасной области в нижней части стека VM, см. runtime/caml/config.h
val stack_safety_margin : int
Размер в словах защитной области между нижней частью стека и указателем стека. Эта область может использоваться промежуточными вычислениями некоторых инструкций или обработчиком событий.
val native_compiler : bool
Доступен ли компилятор нативного кода.
- Since 5.1
val architecture : string
Имя типа процессора для компилятора нативного кода.
val model : string
Имя подмодели процессора для компилятора нативного кода.
val system : string
Имя операционной системы для компилятора нативного кода.
val asm : string
Используемый ассемблер (и флаги) для ассемблирования кода, сгенерированного ocamlopt.
val asm_cfi_supported : bool
Поддерживает ли ассемблер директивы CFI.
val with_frame_pointers : bool
Должен ли ассемблер сохранять указатели на фреймы.
val ext_obj : string
Расширение для файлов объектов, например, .o в Unix.
val ext_asm : string
Расширение для файлов ассемблера, например, .s в Unix.
val ext_lib : string
Расширение для файлов библиотек, например, .a в Unix.
val ext_dll : string
Расширение для динамически загружаемых библиотек, например, .so в Unix.
val ext_exe : string
Расширение для исполняемых программ, например, .exe в Windows.
- Since 4.12
val default_executable_name : string
Имя исполняемого файла, сгенерированного при линковке, если не указано с помощью -o, например, a.out в Unix.
val systhread_supported : bool
Реализована ли системная библиотека потоков.
val flexdll_dirs : string list
Необходимые директории для объектов FlexDLL.
val host : string
Является ли компилятор кросс-компилятором?
val target : string
Является ли компилятор кросс-компилятором?
val flambda : bool
Настроен ли компилятор для flambda?
val with_flambda_invariants : bool
Включены ли проверки инвариантов для flambda?
val with_cmm_invariants : bool
Включены ли проверки инвариантов для Cmm?
val reserved_header_bits : int
Сколько бит заголовка блока зарезервировано?
val flat_float_array : bool
Автоматически ли компилятор и runtime сглаживают массивы с плавающей точкой?
val function_sections : bool
Настроен ли компилятор на генерацию каждой функции в отдельном разделе?
val windows_unicode : bool
Включен ли Windows Unicode runtime?
val naked_pointers : bool
Поддерживает ли runtime указатели без имени?
- Since 4.14
val supports_shared_libraries : bool
Поддерживаются ли общие библиотеки?
- Since 4.08
val native_dynlink : bool
Поддерживаются ли общие библиотеки нативного кода?
- Since 5.1
val afl_instrument : bool
Генерируется ли по умолчанию инструмент для afl-fuzz?
val ar_supports_response_files : bool
Поддерживает ли ar аргументы @FILE?
val tsan : bool
Включена ли инструментация ThreadSanitizer?
val print_config : out_channel -> unit
Доступ к значениям конфигурации
val config_var : string -> string option
Значение конфигурации переменной, если она существует
© 1995-2024 INRIA.
https://ocaml.org/manual/5.2/api/compilerlibref/Config.html