From 85f3e9ed33b3e3cab7e011bae3b1ac99fb4520a7 Mon Sep 17 00:00:00 2001 From: realtradam Date: Fri, 26 May 2023 01:01:44 -0400 Subject: some progress --- mrb_gems/basic_struct_example/autogen.rb | 39 ++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 mrb_gems/basic_struct_example/autogen.rb (limited to 'mrb_gems/basic_struct_example/autogen.rb') diff --git a/mrb_gems/basic_struct_example/autogen.rb b/mrb_gems/basic_struct_example/autogen.rb new file mode 100644 index 0000000..5db0cb8 --- /dev/null +++ b/mrb_gems/basic_struct_example/autogen.rb @@ -0,0 +1,39 @@ +require "FelBind" + +mgem = FelBind::BindGem.new(gem_name: "basic_struct_example") + +mgem.add_class("Color") + +mgem.add_struct(class_name: "Color", cstruct_name: "Color") do |struct| + struct.initializer = true + struct.member( + name: "r", + ctype: "char", + rtype: "int", + accessor: true + ) + struct.member( + name: "g", + ctype: "char", + rtype: "int", + accessor: true + ) + struct.member( + name: "b", + ctype: "char", + rtype: "int", + accessor: true + ) +end + +result = "typedef struct Color +{ + char r; + char g; + char b; +} Color;\n" + +result += mgem.build + +File.write("src/basic_struct_example.c", result) + -- cgit v1.2.3