This commit is contained in:
Dominic Grimm 2025-05-21 16:46:39 +02:00
commit 12b41e011d
Signed by: dergrimm
SSH key fingerprint: SHA256:0uoWpcqOtkyvQ+ZqBjNYiDqIZY+9s8VeZkkJ/4ryB4E
12 changed files with 829 additions and 0 deletions

41
build.zig Normal file
View file

@ -0,0 +1,41 @@
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 lib_mod = b.createModule(.{
.root_source_file = b.path("src/root.zig"),
.target = kindle_target,
.optimize = optimize,
});
lib_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;
}