const std = @import("std"); const kindle_target_query: std.Target.Query = .{ .cpu_arch = .arm, .cpu_model = std.Target.Query.CpuModel{ .explicit = &std.Target.arm.cpu.cortex_a8, }, .abi = .gnueabihf, .os_tag = .linux, .glibc_version = std.SemanticVersion.parse("2.12.0") catch unreachable, .dynamic_linker = std.Target.DynamicLinker.init("/lib/ld-linux.so.3"), }; pub fn build(b: *std.Build) void { const kindle_target = b.resolveTargetQuery(kindle_target_query); const optimize = b.standardOptimizeOption(.{}); const libkindle_sys = buildLibkindleSys(b, kindle_target, optimize); b.installArtifact(libkindle_sys); const kindle_mod = b.addModule("kindle", .{ .root_source_file = b.path("src/root.zig"), .target = kindle_target, .optimize = optimize, }); kindle_mod.linkLibrary(libkindle_sys); } fn buildLibkindleSys(b: *std.Build, target: std.Build.ResolvedTarget, optimize: std.builtin.OptimizeMode) *std.Build.Step.Compile { const getauxval_backport_dep = b.dependency("getauxval_backport", .{ .target = target, .optimize = optimize, .elf64 = false, }); const libgetauxval_backport = getauxval_backport_dep.artifact("getauxval_backport"); const libkindle_sys = @import("libs/kindle_sys.zig").create(b, target, optimize); libkindle_sys.linkLibrary(libgetauxval_backport); return libkindle_sys; }