class Autorake::MkConfig

Attributes

outfile[RW]

Public Class Methods

new(definition) click to toggle source
# File lib/autorake/mkconfig.rb, line 26
def initialize definition
  @definition = definition
end

Private Instance Methods

define_options() click to toggle source
Calls superclass method Autorake::Application#define_options
# File lib/autorake/mkconfig.rb, line 32
def define_options
  add_option %w(o outfile), "specify output file",
                                Configuration::CONFIG_FILE, :outfile=
  add_option %w(c clean),   "delete config file resp. -o outfile",
                                                    nil, :clean!
  add_option %w(d dump),    "just dump the results", nil, :dump
  add_option %w(v verbose), "lots of ubly debugging information",
                                                    nil, :verbose!
  super
  @definition.directories.each { |k,v|
    add_option %W(dir-#{k}), "set directory #{k}", v, :set_dir, k
  }
  @definition.features.each { |k,v|
    de, dd = "[default]", nil
    de, dd = dd, de unless v
    add_option %W(enable-#{k}),  "enable  #{k} #{de}", nil,
                                                    :set_feature, k, true
    add_option %W(disable-#{k}), "disable #{k} #{dd}", nil,
                                                    :set_feature, k, false
  }
  @definition.parameters.each { |k,v|
    add_option %W(with-#{k}), "define a parameter and C macro #{k}", v,
                                                            :set_parm, k
  }
  @definition.incpath.each { |k,v|
    add_option %W(incdir-#{k}), "include directory #{k}", v, :set_incdir, k
  }
  @definition.libpath.each { |k,v|
    add_option %W(libdir-#{k}), "library directory #{k}", v, :set_libdir, k
  }
end
dump() click to toggle source
# File lib/autorake/mkconfig.rb, line 84
def dump
  @definition.dump
  raise Done
end
environ(name, val) click to toggle source
# File lib/autorake/mkconfig.rb, line 89
def environ name, val
  @definition.environment[ name] = val
end
execute() click to toggle source
# File lib/autorake/mkconfig.rb, line 93
def execute
  if @clean then
    File.unlink @outfile if File.file? @outfile
  else
    cfg = @definition.perform
    File.open @outfile, "w" do |f|
      f.write cfg.to_yaml
    end
  end
end
set_dir(name, val) click to toggle source
# File lib/autorake/mkconfig.rb, line 64
def set_dir name, val
  @definition.directories[ name] = val
end
set_feature(name, val) click to toggle source
# File lib/autorake/mkconfig.rb, line 68
def set_feature name, val
  @definition.features[ name.to_sym] = val
end
set_incdir(name, val) click to toggle source
# File lib/autorake/mkconfig.rb, line 76
def set_incdir name, val
  @definition.incpath[ name.to_sym] = val
end
set_libdir(name, val) click to toggle source
# File lib/autorake/mkconfig.rb, line 80
def set_libdir name, val
  @definition.libpath[ name.to_sym] = val
end
set_parm(name, val) click to toggle source
# File lib/autorake/mkconfig.rb, line 72
def set_parm name, val
  @definition.parameters[ name.to_sym] = val
end