Sha256: 2d9b1c61a536ba11916a179b91eeef512a77d5a11c00eabd88d8db6ae562de76

Contents?: true

Size: 1.03 KB

Versions: 4

Compression:

Stored size: 1.03 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.
#
# === 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]
    self.spec_extras   = { :extensions => ["ext/#{self.name}/extconf.rb"] }

    extra_dev_deps << ["rake-compiler", "~> 0.7"]
  end

  ##
  # Define tasks for compiler plugin.

  def define_compiler_tasks
    require "rake/extensiontask"

    Rake::ExtensionTask.new self.name, spec do |ext|
      ext.lib_dir = File.join(*["lib", self.name, ENV["FAT_DIR"]].compact)
    end

    compile_tasks.each do |t|
      task t => :compile
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
hoe-2.9.1 lib/hoe/compiler.rb
hoe-2.9.1.b.2 lib/hoe/compiler.rb
hoe-2.9.0 lib/hoe/compiler.rb
hoe-2.8.0 lib/hoe/compiler.rb