Function create [src]

Prototype

pub fn create( graph: *Graph, build_root: Cache.Directory, cache_root: Cache.Directory, available_deps: AvailableDeps, ) error{OutOfMemory}!*Build

Parameters

graph: *Graphbuild_root: Cache.Directorycache_root: Cache.Directoryavailable_deps: AvailableDeps

Possible Errors

OutOfMemory

Source

pub fn create( graph: *Graph, build_root: Cache.Directory, cache_root: Cache.Directory, available_deps: AvailableDeps, ) error{OutOfMemory}!*Build { const arena = graph.arena; const b = try arena.create(Build); b.* = .{ .graph = graph, .build_root = build_root, .cache_root = cache_root, .verbose = false, .verbose_link = false, .verbose_cc = false, .verbose_air = false, .verbose_llvm_ir = null, .verbose_llvm_bc = null, .verbose_cimport = false, .verbose_llvm_cpu_features = false, .invalid_user_input = false, .allocator = arena, .user_input_options = UserInputOptionsMap.init(arena), .available_options_map = AvailableOptionsMap.init(arena), .available_options_list = ArrayList(AvailableOption).init(arena), .top_level_steps = .{}, .default_step = undefined, .search_prefixes = .{}, .install_prefix = undefined, .lib_dir = undefined, .exe_dir = undefined, .h_dir = undefined, .dest_dir = graph.env_map.get("DESTDIR"), .install_tls = .{ .step = Step.init(.{ .id = TopLevelStep.base_id, .name = "install", .owner = b, }), .description = "Copy build artifacts to prefix path", }, .uninstall_tls = .{ .step = Step.init(.{ .id = TopLevelStep.base_id, .name = "uninstall", .owner = b, .makeFn = makeUninstall, }), .description = "Remove build artifacts from prefix path", }, .install_path = undefined, .args = null, .modules = .init(arena), .named_writefiles = .init(arena), .named_lazy_paths = .init(arena), .pkg_hash = "", .available_deps = available_deps, .release_mode = .off, }; try b.top_level_steps.put(arena, b.install_tls.step.name, &b.install_tls); try b.top_level_steps.put(arena, b.uninstall_tls.step.name, &b.uninstall_tls); b.default_step = &b.install_tls.step; return b; }