Sha256: 81d35a84cf478c9dca68da5f94824c605f2ab4bf184280026757e318accaaebc

Contents?: true

Size: 1.98 KB

Versions: 2

Compression:

Stored size: 1.98 KB

Contents

module Dev
class BoostBuild
  def self.defaultToolset
    text=`b2 --debug-configuration` 
	toolset=''
    text.scan(/<toolset>([\.\w-]+)/).each{ | var_match |
	 toolset=var_match[0].to_s
	}
    return toolset
  end

  def self.getLibraryProperties(filename)
    words=filename.split('-')
	flags=words[2];
	flags = flags + "-" + words[3] if words.length == 5
	result="<toolset>" + getToolset(words[1])
	link="static"
	link="shared" if filename.index("lib") != 0
	link="shared" if filename.include?(".so")
    result = result + " <link>" + link + " " 
	result = result + " <variant>release " if !flags.include?("d")
	result = result + " <variant>debug " if flags.include?("d")
	result = result + " <threading>multi " if flags.include?("mt")
	result = result + " <threading>single " if !flags.include?("mt")
	result = result + " <runtime-link>shared " if !flags.include?("s")
	result = result + " <runtime-link>static " if flags.include?("s")
	result = result + " <runtime-debugging>off " if !flags.include?("g")
	result = result + " <runtime-debugging>on " if flags.include?("g")
	result = result + ";"
  end

  def self.buildJamfile(directory)
    jamfilename=directory+"/Jamfile"
	if(File.exists?(jamfilename))
	  puts "Jamfile already exists."
	  return
	end
    if(File.exists?(directory))
	  Dir.chdir(directory) do
	    File.open(jamfilename,'w') { |jamfile|
	      Dir.glob("*boost_*").each {|f|
		    jamfile.puts getJamfileLine(f)
		  }
		}
	  end
	end
  end

  def self.getJamfileLine(filename)
    words=filename.split('-')
	library = words[0]
	library = library[3,library.length-3] if library.index("lib") == 0
	return "lib " + library + " : : <file>./" + filename + " " + getLibraryProperties(filename)
  end

  def self.getToolset(name)
    toolset = "msvc"
	toolset = "darwin-4.2.1" if name=='xgcc42'
    toolset = "msvc-9.0" if name=='vc90'
    toolset = "msvc-10.0" if name=='vc100'
	toolset = "msvc-11.0" if name=='vc110'
	return toolset
  end
end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
dev-1.0.94 lib/dev/BoostBuild.rb
dev-1.0.93 lib/dev/BoostBuild.rb