Re-enable spec/library for full CI runs.
[rbx.git] / lib / ffi / generator_task.rb
blob07e234fea372799f164d6f6a9ee137ee4a5129b7
1 begin
2   require 'ffi/struct_generator'
3   require 'ffi/const_generator'
4   require 'ffi/generator'
5 rescue LoadError
6   # from Rakefile
7   require 'lib/ffi/struct_generator'
8   require 'lib/ffi/const_generator'
9   require 'lib/ffi/generator'
10 end
12 require 'rake'
13 require 'rake/tasklib'
14 require 'tempfile'
17 # Rake task that calculates C structs for FFI::Struct.
19 class FFI::Generator::Task < Rake::TaskLib
21   def initialize(rb_names)
22     task :clean do rm_f rb_names end
24     rb_names.each do |rb_name|
25       ffi_name = "#{rb_name}.ffi"
27       file rb_name => ffi_name do |t|
28         puts "Generating #{rb_name}..." if Rake.application.options.trace
30         FFI::Generator.new ffi_name, rb_name
31       end
32     end
33   end
35 end