From 38f1df0b86a515e309bf2edb845a4935ff4fcd47 Mon Sep 17 00:00:00 2001 From: "Mike D. Lowis" Date: Wed, 22 Feb 2012 20:25:20 -0500 Subject: [PATCH] deleted old rake_utils --- README.md | 2 +- tools/rake_utils/artifact.rb | 96 --------------------------------- tools/rake_utils/binary.rb | 44 --------------- tools/rake_utils/library.rb | 71 ------------------------ tools/rake_utils/tests.rb | 101 ----------------------------------- 5 files changed, 1 insertion(+), 313 deletions(-) delete mode 100644 tools/rake_utils/artifact.rb delete mode 100644 tools/rake_utils/binary.rb delete mode 100644 tools/rake_utils/library.rb delete mode 100644 tools/rake_utils/tests.rb diff --git a/README.md b/README.md index 2a6d562..14ceae2 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ DL Parser ============================================== Version: 0.1a Created By: Michael D. Lowis -Email: +Email: mike@mdlowis.com About This Project ---------------------------------------------- diff --git a/tools/rake_utils/artifact.rb b/tools/rake_utils/artifact.rb deleted file mode 100644 index 12f9e02..0000000 --- a/tools/rake_utils/artifact.rb +++ /dev/null @@ -1,96 +0,0 @@ -require 'pp' - -class Artifact - def initialize(config) - @settings = defaults() - @settings.merge!(config) - - # Process Source paths - @settings[:source_files] = make_file_list( @settings[:source_files] ) - - # Process Include paths - @settings[:include_dirs] = make_file_list( @settings[:include_dirs] ) - @settings[:include_dirs] = make_option_list( '-I', @settings[:include_dirs] ) - - # Process compiler options - @settings[:compiler_options] = make_option_list('',@settings[:compiler_options]) - - # Process linker options - @settings[:linker_options] = make_option_list('',@settings[:linker_options]) - - # Process preprocessor defines - @settings[:preprocessor_defines] = make_option_list('-D',@settings[:preprocessor_defines]) - end - - def defaults() - return { - :name => 'binary', - :output_dir => 'build', - - :compiler_bin => 'c++', - :compiler_options => ['-c'], - :preprocessor_defines => [], - - :linker_bin => 'c++', - :linker_options => [], - - :source_files => [ 'source/**/*.c*' ], - :include_dirs => [ 'source/**/' ], - :directories => [] - } - end - - def to_s - pp @settings - end - - def get_bin_extension() - if ENV['OS'] == 'Windows_NT' then - return '.exe' - else - return '' - end - end - - def make_option_list(prefix,list) - if list != nil then - return list.collect{|opt| "#{prefix}#{opt} "} - else - return list - end - end - - def make_file_list(patt_list) - file_list = [] - patt_list.each {|f| - file_list.concat( FileList[f] ) - } - return file_list - end - - def register_directory(dir_name) - @settings[:directories].push(dir_name) - directory dir_name - CLOBBER.include(dir_name) - end - - def directories() - return @settings[:directories] - end - - def compile(input,output) - config = @settings - sh "#{config[:compiler_bin]} #{config[:preprocessor_defines]} #{config[:include_dirs]} #{config[:compiler_options]} #{output} #{input}" - end - - def link(*args) - config = @settings - if args.size == 2 then - file_list = args[0] - output = args[1] - sh "#{config[:linker_bin]} #{config[:linker_options]} #{output} #{file_list.collect{|x| x + ' '}}" - else - sh "#{config[:linker_bin]} #{config[:linker_options]} #{config[:name]} #{config[:object_files].collect{|x| x + ' '}}" - end - end -end diff --git a/tools/rake_utils/binary.rb b/tools/rake_utils/binary.rb deleted file mode 100644 index fe34ff6..0000000 --- a/tools/rake_utils/binary.rb +++ /dev/null @@ -1,44 +0,0 @@ -require "#{File.expand_path(File.dirname(__FILE__))}/artifact" -require 'rake' -require 'rake/clean' - -class Binary < Artifact - def initialize(config) - super(config) - - # Register output directories - register_directory("#{@settings[:output_dir]}/bin") - register_directory("#{@settings[:output_dir]}/obj") - register_directory("#{@settings[:output_dir]}/test") - - # set output name - @settings[:name] = "#{@settings[:output_dir]}/bin/#{@settings[:name]}#{get_bin_extension()}" - CLEAN.include(@settings[:bin_name]) - - # Create object file list - @settings[:object_source_lookup] = {} - @settings[:object_files] = [] - @settings[:source_files].each{ |f| - obj_file = @settings[:output_dir] + '/obj/' + File.basename(f).ext('o') - CLEAN.include(obj_file) - @settings[:object_files].push( obj_file ) - @settings[:object_source_lookup][obj_file] = f - } - end - - def name() - return @settings[:name] - end - - def objects() - return @settings[:object_files] - end - - def source_from_obj(obj) - return @settings[:object_source_lookup][obj] - end - - def obj_src_lookup() - return lambda{|obj| @settings[:object_source_lookup][obj]} - end -end diff --git a/tools/rake_utils/library.rb b/tools/rake_utils/library.rb deleted file mode 100644 index 4f10c24..0000000 --- a/tools/rake_utils/library.rb +++ /dev/null @@ -1,71 +0,0 @@ -require "#{File.expand_path(File.dirname(__FILE__))}/artifact" -require 'rake' -require 'rake/clean' - -class Library < Artifact - def initialize(config) - super(config) - - # Register output directories - register_directory("#{@settings[:output_dir]}/bin") - register_directory("#{@settings[:output_dir]}/obj") - - # set output name - @settings[:name] = "#{@settings[:output_dir]}/bin/#{@settings[:name]}" - CLEAN.include(@settings[:name]) - - # Create object file list - @settings[:object_source_lookup] = {} - @settings[:object_files] = [] - @settings[:source_files].each{ |f| - obj_file = @settings[:output_dir] + '/obj/' + File.basename(f).ext('o') - CLEAN.include(obj_file) - @settings[:object_files].push( obj_file ) - @settings[:object_source_lookup][obj_file] = f - } - end - - def defaults() - return { - :name => 'binary', - :output_dir => 'build', - - :compiler_bin => 'c++', - :compiler_options => ['-c'], - :preprocessor_defines => [], - - :linker_bin => 'ar', - :linker_options => ['rcs'], - - :source_files => [ 'source/**/*.c*' ], - :include_dirs => [ 'source/**/' ], - :directories => [] - } - end - - def name() - return @settings[:name] - end - - def objects() - return @settings[:object_files] - end - - def source_from_obj(obj) - return @settings[:object_source_lookup][obj] - end - - def obj_src_lookup() - return lambda{|obj| @settings[:object_source_lookup][obj]} - end - - def setup_default_rake_tasks() - task name() => directories() + objects() do - link() - end - - rule(/obj\/.+.o$/ => obj_src_lookup()) do |t| - compile(t.source,t.name) - end - end -end diff --git a/tools/rake_utils/tests.rb b/tools/rake_utils/tests.rb deleted file mode 100644 index c03670b..0000000 --- a/tools/rake_utils/tests.rb +++ /dev/null @@ -1,101 +0,0 @@ -require "#{File.expand_path(File.dirname(__FILE__))}/artifact.rb" -require 'rake' -require 'rake/clean' - -class Tests < Artifact - def initialize(config) - super(config) - - # Register test output directory - register_directory("#{@settings[:output_dir]}/test") - - # Process test paths - @settings[:test_files] = make_file_list( @settings[:test_files] ) - - # Create source to runner lookup table - @settings[:src_test_lookup] = {} - @settings[:test_files].each{ |test| - out_dir = "#{@settings[:output_dir]}/test" - runner = "#{out_dir}/#{File.basename(test).ext('')}_runner.cpp" - @settings[:src_test_lookup][runner] = test - @settings[:runners].push( runner.ext(get_bin_extension()) ) - } - end - - def defaults() - defs = super() - defs.merge!({ - :test_gen_bin => 'python tools/cxxtest/bin/cxxtestgen', - :test_gen_options => ['--error-printer'], - :output_dir => 'build', - :test_files => ['tests/source/**.h'], - :include_dirs => [ '.','tests/**/', 'source/**/', 'tools/cxxtest' ], - :runners => [] - }) - return defs - end - - def directories() - dir_list = [ "#{@settings[:output_dir]}/test" ] - directory dir_list[0] - CLOBBER.include(dir_list[0]) - return dir_list - end - - def runners() - return @settings[:runners] - end - - def bin_obj_lookup() - return lambda{|bin| bin.ext('.o')} - end - - def obj_src_lookup() - return lambda{|obj| obj.ext('.cpp')} - end - - def src_test_lookup() - return lambda{|src| @settings[:src_test_lookup][src] } - end - - def generate_test_runner(input,output) - sh "#{@settings[:test_gen_bin]} #{@settings[:test_gen_options]} -o #{output} #{input}" - end - - def run_all_test_runners() - succeeded = true - puts '' - puts '------------------' - puts ' Unit Tests' - puts '------------------' - puts '' - @settings[:runners].each{|runner| - status = system(runner) - succeeded = (succeeded and status) - puts '' - } - if not succeeded then - abort('Error: There are unit test failures') - end - end - - def setup_default_rake_tasks() - desc 'Execute all unit tests' - task :test => directories() + runners() do - run_all_test_runners(); - end - - rule '_runner.exe' => bin_obj_lookup() do |t| - link([t.source],t.name) - end - - rule( /test\/.+_runner.o$/ => obj_src_lookup() ) do |t| - compile(t.source,t.name) - end - - rule '_runner.cpp' => src_test_lookup() do |t| - generate_test_runner(t.source,t.name) - end - end -end - -- 2.52.0