srctree

Andrew Kelley parent c09606b6 5add7a07
add build option for configuring dependency optimization mode

and default to release fast for deps
build.zig added: 6, removed: 9, total 0
@@ -3,10 +3,7 @@ const std = @import("std");
pub fn build(b: *std.Build) void {
const target = b.standardTargetOptions(.{});
const optimize = b.standardOptimizeOption(.{});
const unsafe_release_mode = switch (optimize) {
.Debug, .ReleaseSafe => .ReleaseFast,
else => optimize,
};
const dep_optimize = b.option(std.builtin.OptimizeMode, "dep-optimize", "optimization mode of most dependencies") orelse .ReleaseFast;
const wasm_target = b.resolveTargetQuery(.{
.cpu_arch = .wasm32,
.os_tag = .freestanding,
@@ -33,17 +30,17 @@ pub fn build(b: *std.Build) void {
 
const ffmpeg_dep = b.dependency("ffmpeg", .{
.target = target,
.optimize = optimize,
.optimize = dep_optimize,
});
const python_dep = b.dependency("cpython", .{
.target = target,
.optimize = unsafe_release_mode,
.optimize = dep_optimize,
});
const soundio_dep = b.dependency("soundio", .{
.target = target,
// I encountered undefined behavior in the pulseaudio C library code.
// This is a workaround that disables UBSAN.
.optimize = unsafe_release_mode,
// If this is Debug or ReleaseSafe it gets triggered.
.optimize = dep_optimize,
});
const libsoundio = soundio_dep.artifact("soundio");