Sha256: 125dfe774b073569c69710dc5b37511425b26dfcba6a264a10bc2b4e017a6594
Contents?: true
Size: 1.58 KB
Versions: 1
Compression:
Stored size: 1.58 KB
Contents
## # rake-compiler plugin for hoe c-extensions. # # This plugin is for extconf.rb based projects that want to use # rake-compiler to deal with packaging binary gems. It expects a # standard extconf setup, namely that your extconf.rb and c source is # located in: ext/project-name. # # Look at nokogiri for a good example of how to use this. # # === Tasks Provided: # # compile:: Compile your c-extension. module Hoe::Compiler ## # Optional: Defines what tasks need to be compile first. [default: test] attr_accessor :compile_tasks ## # Initialize variables for compiler plugin. def initialize_compiler self.compile_tasks = [:multi, :test, :check_manifest] end ## # Activate the rake-compiler dependencies. def activate_compiler_deps dependency "rake-compiler", "~> 0.9", :development gem "rake-compiler", "~> 0.9" rescue LoadError warn "Couldn't load rake-compiler. Skipping. Run `rake newb` to fix." end def extension name @extensions ||= [] @extensions << name end ## # Define tasks for compiler plugin. def define_compiler_tasks require "rake/extensiontask" @extensions.each do |name| clean_globs << "lib/#{name}/*.{so,bundle,dll}" Rake::ExtensionTask.new name, spec do |ext| ext.lib_dir = File.join(*["lib", name.to_s, ENV["FAT_DIR"]].compact) end end spec_extras[:extensions] = @extensions.map! { |name| "ext/#{name}/extconf.rb" } compile_tasks.each do |t| task t => :compile end rescue LoadError warn "Couldn't load rake-compiler. Skipping. Run `rake newb` to fix." end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
hoe-3.14.0 | lib/hoe/compiler.rb |