mirror of
https://github.com/ziglang/zig.git
synced 2025-12-06 06:13:07 +00:00
std.Build: Deprecate Step.Compile APIs that mutate the root module
Not only are `Step.Compile` methods like `linkLibC()` redundant because `Module` exposes the same APIs, it also might not be immediately obvious to users that these methods modify the underlying root module, which can be a footgun and lead to unintended results if the module is exported to package consumers or shared by multiple compile steps. Using `compile.root_module.link_libc = true` makes it more clear to users which of the compile step and the module owns which options.
This commit is contained in:
parent
fc4b7c968a
commit
413179ccfc
@ -681,10 +681,14 @@ pub fn producesImplib(compile: *Compile) bool {
|
||||
return compile.isDll();
|
||||
}
|
||||
|
||||
/// Deprecated; use `compile.root_module.link_libc = true` instead.
|
||||
/// To be removed after 0.15.0 is tagged.
|
||||
pub fn linkLibC(compile: *Compile) void {
|
||||
compile.root_module.link_libc = true;
|
||||
}
|
||||
|
||||
/// Deprecated; use `compile.root_module.link_libcpp = true` instead.
|
||||
/// To be removed after 0.15.0 is tagged.
|
||||
pub fn linkLibCpp(compile: *Compile) void {
|
||||
compile.root_module.link_libcpp = true;
|
||||
}
|
||||
@ -802,10 +806,14 @@ fn runPkgConfig(compile: *Compile, lib_name: []const u8) !PkgConfigResult {
|
||||
};
|
||||
}
|
||||
|
||||
/// Deprecated; use `compile.root_module.linkSystemLibrary(name, .{})` instead.
|
||||
/// To be removed after 0.15.0 is tagged.
|
||||
pub fn linkSystemLibrary(compile: *Compile, name: []const u8) void {
|
||||
return compile.root_module.linkSystemLibrary(name, .{});
|
||||
}
|
||||
|
||||
/// Deprecated; use `compile.root_module.linkSystemLibrary(name, options)` instead.
|
||||
/// To be removed after 0.15.0 is tagged.
|
||||
pub fn linkSystemLibrary2(
|
||||
compile: *Compile,
|
||||
name: []const u8,
|
||||
@ -814,22 +822,26 @@ pub fn linkSystemLibrary2(
|
||||
return compile.root_module.linkSystemLibrary(name, options);
|
||||
}
|
||||
|
||||
/// Deprecated; use `c.root_module.linkFramework(name, .{})` instead.
|
||||
/// To be removed after 0.15.0 is tagged.
|
||||
pub fn linkFramework(c: *Compile, name: []const u8) void {
|
||||
c.root_module.linkFramework(name, .{});
|
||||
}
|
||||
|
||||
/// Handy when you have many C/C++ source files and want them all to have the same flags.
|
||||
/// Deprecated; use `compile.root_module.addCSourceFiles(options)` instead.
|
||||
/// To be removed after 0.15.0 is tagged.
|
||||
pub fn addCSourceFiles(compile: *Compile, options: Module.AddCSourceFilesOptions) void {
|
||||
compile.root_module.addCSourceFiles(options);
|
||||
}
|
||||
|
||||
/// Deprecated; use `compile.root_module.addCSourceFile(source)` instead.
|
||||
/// To be removed after 0.15.0 is tagged.
|
||||
pub fn addCSourceFile(compile: *Compile, source: Module.CSourceFile) void {
|
||||
compile.root_module.addCSourceFile(source);
|
||||
}
|
||||
|
||||
/// Resource files must have the extension `.rc`.
|
||||
/// Can be called regardless of target. The .rc file will be ignored
|
||||
/// if the target object format does not support embedded resources.
|
||||
/// Deprecated; use `compile.root_module.addWin32ResourceFile(source)` instead.
|
||||
/// To be removed after 0.15.0 is tagged.
|
||||
pub fn addWin32ResourceFile(compile: *Compile, source: Module.RcSourceFile) void {
|
||||
compile.root_module.addWin32ResourceFile(source);
|
||||
}
|
||||
@ -915,54 +927,80 @@ pub fn getEmittedLlvmBc(compile: *Compile) LazyPath {
|
||||
return compile.getEmittedFileGeneric(&compile.generated_llvm_bc);
|
||||
}
|
||||
|
||||
/// Deprecated; use `compile.root_module.addAssemblyFile(source)` instead.
|
||||
/// To be removed after 0.15.0 is tagged.
|
||||
pub fn addAssemblyFile(compile: *Compile, source: LazyPath) void {
|
||||
compile.root_module.addAssemblyFile(source);
|
||||
}
|
||||
|
||||
/// Deprecated; use `compile.root_module.addObjectFile(source)` instead.
|
||||
/// To be removed after 0.15.0 is tagged.
|
||||
pub fn addObjectFile(compile: *Compile, source: LazyPath) void {
|
||||
compile.root_module.addObjectFile(source);
|
||||
}
|
||||
|
||||
/// Deprecated; use `compile.root_module.addObject(object)` instead.
|
||||
/// To be removed after 0.15.0 is tagged.
|
||||
pub fn addObject(compile: *Compile, object: *Compile) void {
|
||||
compile.root_module.addObject(object);
|
||||
}
|
||||
|
||||
/// Deprecated; use `compile.root_module.linkLibrary(library)` instead.
|
||||
/// To be removed after 0.15.0 is tagged.
|
||||
pub fn linkLibrary(compile: *Compile, library: *Compile) void {
|
||||
compile.root_module.linkLibrary(library);
|
||||
}
|
||||
|
||||
/// Deprecated; use `compile.root_module.addAfterIncludePath(lazy_path)` instead.
|
||||
/// To be removed after 0.15.0 is tagged.
|
||||
pub fn addAfterIncludePath(compile: *Compile, lazy_path: LazyPath) void {
|
||||
compile.root_module.addAfterIncludePath(lazy_path);
|
||||
}
|
||||
|
||||
/// Deprecated; use `compile.root_module.addSystemIncludePath(lazy_path)` instead.
|
||||
/// To be removed after 0.15.0 is tagged.
|
||||
pub fn addSystemIncludePath(compile: *Compile, lazy_path: LazyPath) void {
|
||||
compile.root_module.addSystemIncludePath(lazy_path);
|
||||
}
|
||||
|
||||
/// Deprecated; use `compile.root_module.addIncludePath(lazy_path)` instead.
|
||||
/// To be removed after 0.15.0 is tagged.
|
||||
pub fn addIncludePath(compile: *Compile, lazy_path: LazyPath) void {
|
||||
compile.root_module.addIncludePath(lazy_path);
|
||||
}
|
||||
|
||||
/// Deprecated; use `compile.root_module.addConfigHeader(config_header)` instead.
|
||||
/// To be removed after 0.15.0 is tagged.
|
||||
pub fn addConfigHeader(compile: *Compile, config_header: *Step.ConfigHeader) void {
|
||||
compile.root_module.addConfigHeader(config_header);
|
||||
}
|
||||
|
||||
/// Deprecated; use `compile.root_module.addEmbedPath(lazy_path)` instead.
|
||||
/// To be removed after 0.15.0 is tagged.
|
||||
pub fn addEmbedPath(compile: *Compile, lazy_path: LazyPath) void {
|
||||
compile.root_module.addEmbedPath(lazy_path);
|
||||
}
|
||||
|
||||
/// Deprecated; use `compile.root_module.addLibraryPath(directory_path)` instead.
|
||||
/// To be removed after 0.15.0 is tagged.
|
||||
pub fn addLibraryPath(compile: *Compile, directory_path: LazyPath) void {
|
||||
compile.root_module.addLibraryPath(directory_path);
|
||||
}
|
||||
|
||||
/// Deprecated; use `compile.root_module.addRPath(directory_path)` instead.
|
||||
/// To be removed after 0.15.0 is tagged.
|
||||
pub fn addRPath(compile: *Compile, directory_path: LazyPath) void {
|
||||
compile.root_module.addRPath(directory_path);
|
||||
}
|
||||
|
||||
/// Deprecated; use `compile.root_module.addSystemFrameworkPath(directory_path)` instead.
|
||||
/// To be removed after 0.15.0 is tagged.
|
||||
pub fn addSystemFrameworkPath(compile: *Compile, directory_path: LazyPath) void {
|
||||
compile.root_module.addSystemFrameworkPath(directory_path);
|
||||
}
|
||||
|
||||
/// Deprecated; use `compile.root_module.addFrameworkPath(directory_path)` instead.
|
||||
/// To be removed after 0.15.0 is tagged.
|
||||
pub fn addFrameworkPath(compile: *Compile, directory_path: LazyPath) void {
|
||||
compile.root_module.addFrameworkPath(directory_path);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user