struct CreateOptions [src]

Unspecified options here will be inherited from parent Module when inserted into an import table.

Fields

root_source_file: ?LazyPath = nullThis could either be a generated file, in which case the module contains exactly one file, or it could be a path to the root source file of directory of files which constitute the module. If null, it means this module is made up of only link_objects.
imports: []const Import = &.{}The table of other modules that this module can access via @import. Imports are allowed to be cyclical, so this table can be added to after the Module is created via addImport.
target: ?std.Build.ResolvedTarget = null
optimize: ?std.builtin.OptimizeMode = null
link_libc: ?bool = nulltrue requires a compilation that includes this Module to link libc. false causes a build failure if a compilation that includes this Module would link libc. null neither requires nor prevents libc from being linked.
link_libcpp: ?bool = nulltrue requires a compilation that includes this Module to link libc++. false causes a build failure if a compilation that includes this Module would link libc++. null neither requires nor prevents libc++ from being linked.
single_threaded: ?bool = null
strip: ?bool = null
unwind_tables: ?std.builtin.UnwindTables = null
dwarf_format: ?std.dwarf.Format = null
code_model: std.builtin.CodeModel = .default
stack_protector: ?bool = null
stack_check: ?bool = null
sanitize_c: ?bool = null
sanitize_thread: ?bool = null
fuzz: ?bool = null
valgrind: ?bool = nullWhether to emit machine code that integrates with Valgrind.
pic: ?bool = nullPosition Independent Code
red_zone: ?bool = null
omit_frame_pointer: ?bool = nullWhether to omit the stack frame pointer. Frees up a register and makes it more difficult to obtain stack traces. Has target-dependent effects.
error_tracing: ?bool = null

Source

pub const CreateOptions = struct { /// This could either be a generated file, in which case the module /// contains exactly one file, or it could be a path to the root source /// file of directory of files which constitute the module. /// If `null`, it means this module is made up of only `link_objects`. root_source_file: ?LazyPath = null, /// The table of other modules that this module can access via `@import`. /// Imports are allowed to be cyclical, so this table can be added to after /// the `Module` is created via `addImport`. imports: []const Import = &.{}, target: ?std.Build.ResolvedTarget = null, optimize: ?std.builtin.OptimizeMode = null, /// `true` requires a compilation that includes this Module to link libc. /// `false` causes a build failure if a compilation that includes this Module would link libc. /// `null` neither requires nor prevents libc from being linked. link_libc: ?bool = null, /// `true` requires a compilation that includes this Module to link libc++. /// `false` causes a build failure if a compilation that includes this Module would link libc++. /// `null` neither requires nor prevents libc++ from being linked. link_libcpp: ?bool = null, single_threaded: ?bool = null, strip: ?bool = null, unwind_tables: ?std.builtin.UnwindTables = null, dwarf_format: ?std.dwarf.Format = null, code_model: std.builtin.CodeModel = .default, stack_protector: ?bool = null, stack_check: ?bool = null, sanitize_c: ?bool = null, sanitize_thread: ?bool = null, fuzz: ?bool = null, /// Whether to emit machine code that integrates with Valgrind. valgrind: ?bool = null, /// Position Independent Code pic: ?bool = null, red_zone: ?bool = null, /// Whether to omit the stack frame pointer. Frees up a register and makes it /// more difficult to obtain stack traces. Has target-dependent effects. omit_frame_pointer: ?bool = null, error_tracing: ?bool = null, }