From e592b3db1b9df595f939c7c7824a9f0261405dd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=C4=81vis=20Mos=C4=81ns?= Date: Mon, 2 Feb 2026 14:48:58 +0200 Subject: [PATCH] Fix FFIGenerate --- lib/ffi_generator.rb | 5 +++++ lib/ffi_generator/clang/translation_unit.rb | 2 +- lib/ffi_generator/empty.h | 0 3 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 lib/ffi_generator/empty.h diff --git a/lib/ffi_generator.rb b/lib/ffi_generator.rb index a1ab160..cc1c123 100644 --- a/lib/ffi_generator.rb +++ b/lib/ffi_generator.rb @@ -1,5 +1,10 @@ require 'ffi' +module FFIGenerate + module Clang + end +end + require 'ffi_generator/clang/c' require 'ffi_generator/clang/c/type' require 'ffi_generator/clang/cursor' diff --git a/lib/ffi_generator/clang/translation_unit.rb b/lib/ffi_generator/clang/translation_unit.rb index 9210ce5..9bf9a34 100644 --- a/lib/ffi_generator/clang/translation_unit.rb +++ b/lib/ffi_generator/clang/translation_unit.rb @@ -31,7 +31,7 @@ def create(source_files: , arguments: ) args_ptr.write_array_of_pointer(pointers) # TODO: use clang_parseTranslationUnit2 instead for a better error output? - c = C.parse_translation_unit(@index.c, File.join(File.dirname(__FILE__), "./empty.h"), args_ptr, args.size, nil, 0, Clang::C.enum_type(:translation_unit_flags)[:detailed_preprocessing_record]) + c = C.parse_translation_unit(@index.c, File.join(File.dirname(__FILE__), "../empty.h"), args_ptr, args.size, nil, 0, Clang::C.enum_type(:translation_unit_flags)[:detailed_preprocessing_record]) raise 'failed to parse translation unit' if c == FFI::Pointer::NULL return c diff --git a/lib/ffi_generator/empty.h b/lib/ffi_generator/empty.h new file mode 100644 index 0000000..e69de29