Module: Hoe::Compiler

### Home Classes Methods

### In Files

- lib/hoe/compiler.rb

### Methods

- #activate_compiler_deps
- #define_compiler_tasks
- #initialize_compiler

### Files

- History.txt
- Manifest.txt

### Class/Module Index

Quicksearch

- Hoe
- Hoe::Clean
- Hoe::Compiler
- Hoe::Debug
- Hoe::Deps
- Hoe::Flay
- Hoe::Flog
- Hoe::GemPreludeSucks
- Hoe::Gemcutter
- Hoe::Inline
- Hoe::Newb
- Hoe::Package
- Hoe::Publish
- Hoe::RCov
- Hoe::Racc
- Hoe::RubyForge
- Hoe::Signing
- Hoe::Test
- Rake
- Rake::Task
- Rake::TaskManager
- File
- Object
- String

No matching classes.

# Hoe::Compiler

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.

### Attributes

compile_tasks[RW]

Optional: Defines what tasks need to be compile first. [default: test]

### Public Instance Methods

activate_compiler_deps() click to toggle source

Activate the rake-compiler dependencies.

    # File lib/hoe/compiler.rb, line 35
    def activate_compiler_deps
      dependency "rake-compiler", "~> 0.7", :development
      gem "rake-compiler", "~> 0.7"
    end

define_compiler_tasks() click to toggle source

Define tasks for compiler plugin.

    # File lib/hoe/compiler.rb, line 43
    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

initialize_compiler() click to toggle source

Initialize variables for compiler plugin.

    # File lib/hoe/compiler.rb, line 25
    def initialize_compiler
      self.compile_tasks = [:multi, :test, :check_manifest]
      self.spec_extras   = { :extensions => ["ext/#{self.name}/extconf.rb"] }

      clean_globs << "lib/#{self.name}/*.{so,bundle,dll}"
    end

[Validate]

Generated with the Darkfish Rdoc Generator 2.