CompileClass
- Namespace
- Ancestors
-
-
Rake::DSL
Object
-
Defines tasks for compiling and cleaning extensions.
Constructor
initialize(optionsHash = {}
){ |taskself| … }?#⚙
Sets up tasks based on inventory, optionally yields the task object for further customization, then #defines the tasks.
- Options
-
- :inventoryInventory =
Inventory::Rake::Tasks.inventory
-
The inventory to use
- :inventoryInventory =
Instance Methods
define#⚙
Defines the following task:
- compile
Compile all extensions; depends on each compile:name.
Then, for each extension in the inventory, define the following tasks:
- compile:name
Compile extension name; depends on lib/path/so file.
- lib/path/so
Installed dynamic library of extension name inside inventory path; depends on ext/name/so.
- ext/name/so
Dynamic library of extension name; depends on ext/name/Makefile and the source files of the extension.
- ext/name/Makefile
Makefile for extension name; depends on inventory path, ext/name/extconf.rb file, and ext/name/depend file. Will be created by extconf.rb, which may take options from environment variable name#upcase
_EXTCONF_OPTIONS
orEXTCONF_OPTIONS
if defined.- clean:name
Clean files built for extension name; depended upon by clean.
Finally, if defined, the test task is set to depend on the compile task.
inventory=(valueInventory)Inventory#⚙
Sets and returns the inventory to use: value.