class Autorake::MkConfig
Attributes
mkconfig[R]
outfile[RW]
Public Class Methods
inherited(cls)
click to toggle source
# File lib/autorake/mkconfig.rb, line 28 def inherited cls @mkconfig = cls end
new(definition)
click to toggle source
# File lib/autorake/mkconfig.rb, line 45 def initialize definition @definition = definition end
Public Instance Methods
keep!()
click to toggle source
# File lib/autorake/mkconfig.rb, line 40 def keep! Builder.verbose = :keep end
verbose!()
click to toggle source
# File lib/autorake/mkconfig.rb, line 36 def verbose! @verbose = true Builder.verbose ||= @verbose end
Private Instance Methods
cleaned()
click to toggle source
overwrite this to do additional work
# File lib/autorake/mkconfig.rb, line 136 def cleaned end
define_options()
click to toggle source
Calls superclass method
Autorake::Application#define_options
# File lib/autorake/mkconfig.rb, line 51 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 ugly debugging information", nil, :verbose! add_option %w(k keep), "keep temporary files", nil, :keep! 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 109 def dump @definition.dump raise Done end
environ(name, val)
click to toggle source
# File lib/autorake/mkconfig.rb, line 114 def environ name, val @definition.environment[ name] = val end
execute()
click to toggle source
# File lib/autorake/mkconfig.rb, line 118 def execute if @clean then File.unlink @outfile if File.file? @outfile cleaned else cfg = @definition.perform File.open @outfile, "w" do |f| f.write cfg.to_yaml end made end end
made()
click to toggle source
overwrite this to do additional work
# File lib/autorake/mkconfig.rb, line 132 def made end
set_dir(name, val)
click to toggle source
# File lib/autorake/mkconfig.rb, line 85 def set_dir name, val @definition.directories[ name] = val end
set_feature(name, val)
click to toggle source
# File lib/autorake/mkconfig.rb, line 89 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 101 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 105 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 93 def set_parm name, val n = name.to_sym if Numeric === @definition.parameters[ n] and val =~ /\A(0x)?\d+\z/ then val = Integer val end @definition.parameters[ n] = val end