Compile
Fields of this type
Fields
- root_module:*Module
- name:[]const u8
- linker_script:?LazyPath
- = null
- version_script:?LazyPath
- = null
- out_filename:[]const u8
- out_lib_filename:[]const u8
- linkage:?std.builtin.LinkMode
- = null
- version:?std.SemanticVersion
- major_only_filename:?[]const u8
- name_only_filename:?[]const u8
- formatted_panics:?bool
- = null
- compress_debug_sections:enum { none, zlib, zstd }
- = .none
- verbose_link:bool
- verbose_cc:bool
- bundle_compiler_rt:?bool
- = null
- bundle_ubsan_rt:?bool
- = null
- rdynamic:bool
- import_memory:bool
- = false
- export_memory:bool
- = false
- import_symbols:bool
- For WebAssembly targets, this will allow for undefined symbols to
- import_table:bool
- = false
- export_table:bool
- = false
- initial_memory:?u64
- = null
- max_memory:?u64
- = null
- shared_memory:bool
- = false
- global_base:?u64
- = null
- zig_lib_dir:?LazyPath
- Set via options; intended to be read-only after that.
- exec_cmd_args:?[]const ?[]const u8
- filters:[]const []const u8
- test_runner:?TestRunner
- wasi_exec_model:?std.builtin.WasiExecModel
- = null
- installed_headers:std.array_list.Managed(HeaderInstallation)
- installed_headers_include_tree:?*Step.WriteFile
- This step is used to create an include tree that dependent modules can add to their include
- rc_includes:enum { any, msvc, gnu, none }
- Behavior of automatic detection of include directories when compiling .rc files.
- win32_manifest:?LazyPath
- (Windows) .manifest file to embed in the compilation
- installed_path:?[]const u8
- image_base:?u64
- Base address for an executable image.
- libc_file:?LazyPath
- = null
- each_lib_rpath:?bool
- = null
- build_id:?std.zig.BuildId
- On ELF targets, this will emit a link section called ".note.gnu.build-id"
- link_eh_frame_hdr:bool
- Create a .eh_frame_hdr section and a PT_GNU_EH_FRAME segment in the ELF
- link_emit_relocs:bool
- = false
- link_function_sections:bool
- Place every function in its own section so that unused ones may be
- link_data_sections:bool
- Place every data in its own section so that unused ones may be
- link_gc_sections:?bool
- Remove functions and data that are unreachable by the entry point or
- linker_dynamicbase:bool
- (Windows) Whether or not to enable ASLR.
- linker_allow_shlib_undefined:?bool
- = null
- linker_allow_undefined_version:?bool
- Allow version scripts to refer to undefined symbols.
- linker_enable_new_dtags:?bool
- = null
- link_z_notext:bool
- Permit read-only relocations in read-only segments.
- link_z_relro:bool
- Force all relocations to be read-only after processing.
- link_z_lazy:bool
- Allow relocations to be lazily processed after load.
- link_z_common_page_size:?u64
- Common page size
- link_z_max_page_size:?u64
- Maximum page size
- install_name:?[]const u8
- (Darwin) Install name for the dylib
- entitlements:?[]const u8
- (Darwin) Path to entitlements file
- pagezero_size:?u64
- (Darwin) Size of the pagezero segment.
- headerpad_size:?u32
- (Darwin) Set size of the padding between the end of load commands
- headerpad_max_install_names:bool
- (Darwin) Automatically Set size of the padding between the end of load commands
- dead_strip_dylibs:bool
- (Darwin) Remove dylibs that are unreachable by the entry point or exported symbols.
- force_load_objc:bool
- (Darwin) Force load all members of static archives that implement an Objective-C class or category
- discard_local_symbols:bool
- Whether local symbols should be discarded from the symbol table.
- pie:?bool
- Position Independent Executable
- lto:?std.zig.LtoMode
- Link Time Optimization mode
- dll_export_fns:?bool
- = null
- subsystem:?std.Target.SubSystem
- = null
- mingw_unicode_entry_point:bool
- (Windows) When targeting the MinGW ABI, use the unicode entry point (wmain/wWinMain)
- force_undefined_symbols:std.StringHashMap(void)
- List of symbols forced as undefined in the symbol table
- stack_size:?u64
- Overrides the default stack size
- want_lto:?bool
- Deprecated; prefer using `lto`.
- use_llvm:?bool
- use_lld:?bool
- allow_so_scripts:?bool
- Corresponds to the `-fallow-so-scripts` / `-fno-allow-so-scripts` CLI
- expect_errors:?ExpectedCompileErrors
- This is an advanced setting that can change the intent of this Compile step.
- emit_directory:?*GeneratedFile
- generated_docs:?*GeneratedFile
- generated_asm:?*GeneratedFile
- generated_bin:?*GeneratedFile
- generated_pdb:?*GeneratedFile
- generated_implib:?*GeneratedFile
- generated_llvm_bc:?*GeneratedFile
- generated_llvm_ir:?*GeneratedFile
- generated_h:?*GeneratedFile
- error_limit:?u32
- The maximum number of distinct errors within a compilation step
- is_linking_libc:bool
- Computed during make().
- is_linking_libcpp:bool
- Computed during make().
- zig_process:?*Step.ZigProcess
- Populated during the make phase when there is a long-lived compiler process.
- sanitize_coverage_trace_pc_guard:?bool
- Enables coverage instrumentation that is only useful if you are using third
Type definitions in this namespace
Types
Functions in this namespace
Functions
- installHeader
- Marks the specified header for installation alongside this artifact.
- installHeadersDirectory
- Marks headers from the specified directory for installation alongside this artifact.
- installConfigHeader
- Marks the specified config header for installation alongside this artifact.
- installLibraryHeaders
- Forwards all headers marked for installation from `lib` to this artifact.
- dependsOnSystemLibrary
- Returns whether the library, executable, or object depends on a particular system library.
- linkLibC
- Deprecated; use `compile.root_module.link_libc = true` instead.
- linkLibCpp
- Deprecated; use `compile.root_module.link_libcpp = true` instead.
- linkSystemLibrary
- Deprecated; use `compile.root_module.linkSystemLibrary(name, .{})` instead.
- linkSystemLibrary2
- Deprecated; use `compile.root_module.linkSystemLibrary(name, options)` instead.
- linkFramework
- Deprecated; use `c.root_module.linkFramework(name, .{})` instead.
- addCSourceFiles
- Deprecated; use `compile.root_module.addCSourceFiles(options)` instead.
- addCSourceFile
- Deprecated; use `compile.root_module.addCSourceFile(source)` instead.
- addWin32ResourceFile
- Deprecated; use `compile.root_module.addWin32ResourceFile(source)` instead.
- getEmittedBinDirectory
- Returns the path to the directory that contains the emitted binary file.
- getEmittedBin
- Returns the path to the generated executable, library or object file.
- getEmittedImplib
- Returns the path to the generated import library.
- getEmittedH
- Returns the path to the generated header file.
- getEmittedPdb
- Returns the generated PDB file.
- getEmittedDocs
- Returns the path to the generated documentation directory.
- getEmittedAsm
- Returns the path to the generated assembly code.
- getEmittedLlvmIr
- Returns the path to the generated LLVM IR.
- getEmittedLlvmBc
- Returns the path to the generated LLVM BC.
- addAssemblyFile
- Deprecated; use `compile.root_module.addAssemblyFile(source)` instead.
- addObjectFile
- Deprecated; use `compile.root_module.addObjectFile(source)` instead.
- addObject
- Deprecated; use `compile.root_module.addObject(object)` instead.
- linkLibrary
- Deprecated; use `compile.root_module.linkLibrary(library)` instead.
- addAfterIncludePath
- Deprecated; use `compile.root_module.addAfterIncludePath(lazy_path)` instead.
- addSystemIncludePath
- Deprecated; use `compile.root_module.addSystemIncludePath(lazy_path)` instead.
- addIncludePath
- Deprecated; use `compile.root_module.addIncludePath(lazy_path)` instead.
- addConfigHeader
- Deprecated; use `compile.root_module.addConfigHeader(config_header)` instead.
- addEmbedPath
- Deprecated; use `compile.root_module.addEmbedPath(lazy_path)` instead.
- addLibraryPath
- Deprecated; use `compile.root_module.addLibraryPath(directory_path)` instead.
- addRPath
- Deprecated; use `compile.root_module.addRPath(directory_path)` instead.
- addSystemFrameworkPath
- Deprecated; use `compile.root_module.addSystemFrameworkPath(directory_path)` instead.
- addFrameworkPath
- Deprecated; use `compile.root_module.addFrameworkPath(directory_path)` instead.
- getCompileDependencies
- Return the full set of `Step.Compile` which `start` depends on, recursively.
= .compile
Values
- base_id
- = .compile