Sha256: 4411ba5223b50d308c8b7236db5876ae63d4572fd23cdd769c78ee1c35945d76
Contents?: true
Size: 1.22 KB
Versions: 2
Compression:
Stored size: 1.22 KB
Contents
require 'rubygems/ext' module Shoe module Tasks # Defines <tt>`rake compile`</tt> to build your C extensions. # # Uses # <tt>{Gem::Ext::ExtConfBuilder}[http://rubygems.rubyforge.org/rubygems-update/Gem/Ext/ExtConfBuilder.html]</tt>, # so extensions are compiled locally just as they will be with <tt>`gem # install`</tt>. Your users will thank you. # # To enable and configure, add # <tt>extensions[http://docs.rubygems.org/read/chapter/20#extensions]</tt> # to your gemspec. class Compile < Abstract def active? !spec.extensions.empty? end def define desc 'Compile C extensions' task :compile do top_level_path = File.expand_path('.') destination_path = File.join(top_level_path, spec.require_paths.first) spec.extensions.each do |extension| Dir.chdir File.dirname(extension) do Gem::Ext::ExtConfBuilder.build( extension, top_level_path, destination_path, results = [] ) end end end namespace :prepare do task :execute => :compile end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
shoe-0.6.1 | lib/shoe/tasks/compile.rb |
shoe-0.6.0 | lib/shoe/tasks/compile.rb |