Restructure to allow for other binding generators in the future

This commit is contained in:
Robin Voetter
2020-07-03 16:40:49 +02:00
parent e049300d02
commit cebecfe197
8 changed files with 16 additions and 15 deletions

View File

@@ -1,5 +1,5 @@
const std = @import("std"); const std = @import("std");
const vkgen = @import("generator/generator.zig"); const vkgen = @import("generator/index.zig");
const Builder = std.build.Builder; const Builder = std.build.Builder;
const FmtStep = std.build.FmtStep; const FmtStep = std.build.FmtStep;
@@ -12,14 +12,14 @@ pub fn generateVk(b: *Builder) []const u8 {
const output_file = std.fs.cwd().createFile(output, .{}) catch unreachable; const output_file = std.fs.cwd().createFile(output, .{}) catch unreachable;
defer output_file.close(); defer output_file.close();
vkgen.generate(b.allocator, spec, output_file.writer()) catch unreachable; vkgen.generateVk(b.allocator, spec, output_file.writer()) catch unreachable;
return output; return output;
} }
pub fn build(b: *Builder) void { pub fn build(b: *Builder) void {
var test_step = b.step("test", "Run all the tests"); var test_step = b.step("test", "Run all the tests");
test_step.dependOn(&b.addTest("generator/generator.zig").step); test_step.dependOn(&b.addTest("generator/index.zig").step);
const target = b.standardTargetOptions(.{}); const target = b.standardTargetOptions(.{});
const mode = b.standardReleaseOptions(); const mode = b.standardReleaseOptions();

6
generator/index.zig Normal file
View File

@@ -0,0 +1,6 @@
pub const generateVk = @import("vulkan/generator.zig").generate;
test "main" {
_ = @import("xml.zig");
_ = @import("c-parse.zig");
}

View File

@@ -1,5 +1,5 @@
const std = @import("std"); const std = @import("std");
const registry = @import("../registry.zig"); const registry = @import("registry.zig");
const xml = @import("../xml.zig"); const xml = @import("../xml.zig");
const mem = std.mem; const mem = std.mem;
const Allocator = mem.Allocator; const Allocator = mem.Allocator;

View File

@@ -1,8 +1,8 @@
const std = @import("std"); const std = @import("std");
const reg = @import("registry.zig"); const reg = @import("registry.zig");
const xml = @import("xml.zig"); const xml = @import("../xml.zig");
const renderRegistry = @import("render.zig").render; const renderRegistry = @import("render.zig").render;
const parseXml = @import("registry/parse.zig").parseXml; const parseXml = @import("parse.zig").parseXml;
const Allocator = std.mem.Allocator; const Allocator = std.mem.Allocator;
const FeatureLevel = reg.FeatureLevel; const FeatureLevel = reg.FeatureLevel;
@@ -204,8 +204,3 @@ pub fn generate(allocator: *Allocator, spec_xml: []const u8, writer: var) !void
try gen.resolveDeclarations(); try gen.resolveDeclarations();
try gen.render(writer); try gen.render(writer);
} }
test "main" {
_ = @import("xml.zig");
_ = @import("registry/c-parse.zig");
}

View File

@@ -1,5 +1,5 @@
const std = @import("std"); const std = @import("std");
const registry = @import("../registry.zig"); const registry = @import("registry.zig");
const xml = @import("../xml.zig"); const xml = @import("../xml.zig");
const cparse = @import("c-parse.zig"); const cparse = @import("c-parse.zig");
const mem = std.mem; const mem = std.mem;

View File

@@ -1,5 +1,5 @@
const std = @import("std"); const std = @import("std");
const reg = @import("../registry.zig"); const reg = @import("registry.zig");
const mem = std.mem; const mem = std.mem;
const Allocator = mem.Allocator; const Allocator = mem.Allocator;

View File

@@ -1,7 +1,7 @@
const std = @import("std"); const std = @import("std");
const reg = @import("registry.zig"); const reg = @import("registry.zig");
const util = @import("render/util.zig"); const util = @import("render-util.zig");
const cparse = @import("registry/c-parse.zig"); const cparse = @import("c-parse.zig");
const mem = std.mem; const mem = std.mem;
const Allocator = mem.Allocator; const Allocator = mem.Allocator;