diff options
Diffstat (limited to 'spec/ruby/optional/capi/rake_helper.rb')
-rw-r--r-- | spec/ruby/optional/capi/rake_helper.rb | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/spec/ruby/optional/capi/rake_helper.rb b/spec/ruby/optional/capi/rake_helper.rb new file mode 100644 index 0000000000..2b7a6ccbe3 --- /dev/null +++ b/spec/ruby/optional/capi/rake_helper.rb @@ -0,0 +1,23 @@ +require 'rake' +require 'rake/clean' + +input = "#{$cwd}/#{$ext_name}.c" +common = "-I shotgun/lib/subtend -g #{input}" + +case PLATFORM +when /darwin/ + output = "#{$cwd}/#{$ext_name}.bundle" + build_cmd = "cc -bundle -undefined suppress -flat_namespace #{common} -o #{output}" +else + output = "#{$cwd}/#{$ext_name}.so" + build_cmd = "cc -shared #{common} -o #{output}" +end + +CLOBBER.include(output) + +task default: [output] + +file output => [input] do + sh build_cmd +end + |