Ignore:
Timestamp:
Jul 9, 2020, 8:51:43 AM (4 years ago)
Author:
coas-nagasima
Message:

mrubyを2.1.1に更新

Location:
EcnlProtoTool/trunk/mruby-2.1.1
Files:
1 edited
1 moved

Legend:

Unmodified
Added
Removed
  • EcnlProtoTool/trunk/mruby-2.1.1/Rakefile

    r331 r439  
    66MRUBY_BUILD_HOST_IS_OPENBSD = RUBY_PLATFORM.include?('openbsd')
    77
     8Rake.verbose(false) if Rake.verbose == Rake::DSL::DEFAULT
     9
     10$LOAD_PATH << File.join(MRUBY_ROOT, "lib")
     11
    812# load build systems
    9 load "#{MRUBY_ROOT}/tasks/ruby_ext.rake"
    10 load "#{MRUBY_ROOT}/tasks/mruby_build.rake"
    11 load "#{MRUBY_ROOT}/tasks/mrbgem_spec.rake"
     13require "mruby-core-ext"
     14require "mruby/build"
    1215
    1316# load configuration file
     
    3033
    3134load "#{MRUBY_ROOT}/tasks/gitlab.rake"
     35load "#{MRUBY_ROOT}/tasks/doc.rake"
     36
     37def install_D(src, dst)
     38  rm_f dst
     39  mkdir_p File.dirname(dst)
     40  cp src, dst
     41end
    3242
    3343##############################
     
    3646
    3747bin_path = ENV['INSTALL_DIR'] || "#{MRUBY_ROOT}/bin"
    38 FileUtils.mkdir_p bin_path, { :verbose => $verbose }
    3948
    4049depfiles = MRuby.targets['host'].bins.map do |bin|
     
    4352
    4453  file install_path => source_path do |t|
    45     FileUtils.rm_f t.name, { :verbose => $verbose }
    46     FileUtils.cp t.prerequisites.first, t.name, { :verbose => $verbose }
     54    install_D t.prerequisites.first, t.name
    4755  end
    4856
     
    5664    current_build_dir = File.expand_path "#{build_dir}/#{relative_from_root}"
    5765
    58     if current_build_dir !~ /^#{build_dir}/
     66    if current_build_dir !~ /^#{Regexp.escape(build_dir)}/
    5967      current_build_dir = "#{build_dir}/mrbgems/#{gem.name}"
    6068    end
     
    6472      objs = Dir.glob("#{current_dir}/tools/#{bin}/*.{c,cpp,cxx,cc}").map { |f| objfile(f.pathmap("#{current_build_dir}/tools/#{bin}/%n")) }
    6573
    66       file exec => objs + [libfile("#{build_dir}/lib/libmruby")] do |t|
     74      file exec => objs + target.libraries do |t|
    6775        gem_flags = gems.map { |g| g.linker.flags }
    6876        gem_flags_before_libraries = gems.map { |g| g.linker.flags_before_libraries }
     
    7179        gem_library_paths = gems.map { |g| g.linker.library_paths }
    7280        linker.run t.name, t.prerequisites, gem_libraries, gem_library_paths, gem_flags, gem_flags_before_libraries, gem_flags_after_libraries
     81
     82        gem.call_post_build_event target
    7383      end
    7484
     
    7787
    7888        file install_path => exec do |t|
    79           FileUtils.rm_f t.name, { :verbose => $verbose }
    80           FileUtils.cp t.prerequisites.first, t.name, { :verbose => $verbose }
     89          install_D t.prerequisites.first, t.name
    8190        end
    8291        depfiles += [ install_path ]
     
    8695
    8796          file install_path => exec do |t|
    88             FileUtils.rm_f t.name, { :verbose => $verbose }
    89             FileUtils.cp t.prerequisites.first, t.name, { :verbose => $verbose }
     97            install_D t.prerequisites.first, t.name
    9098          end
    9199          depfiles += [ install_path ]
     
    99107
    100108depfiles += MRuby.targets.map { |n, t|
    101   [t.libfile("#{t.build_dir}/lib/libmruby")]
     109  t.libraries
    102110}.flatten
    103111
     
    114122    print_build_summary
    115123  end
     124  MRuby::Lockfile.write
    116125end
    117126
    118127desc "run all mruby tests"
    119 task :test => ["all"] do
    120   MRuby.each_target do
    121     run_test if test_enabled?
     128task :test
     129MRuby.each_target do
     130  if test_enabled?
     131    t = :"test_#{self.name}"
     132    task t => ["all"] do
     133      run_test
     134    end
     135    task :test => t
     136  end
     137
     138  if bintest_enabled?
     139    t = :"bintest_#{self.name}"
     140    task t => ["all"] do
     141      run_bintest
     142    end
     143    task :test => t
    122144  end
    123145end
     
    126148task :clean do
    127149  MRuby.each_target do |t|
    128     FileUtils.rm_rf t.build_dir, { :verbose => $verbose }
     150    rm_rf t.build_dir
    129151  end
    130   FileUtils.rm_f depfiles, { :verbose => $verbose }
     152  rm_f depfiles
    131153  puts "Cleaned up target build folder"
    132154end
    133155
    134156desc "clean everything!"
    135 task :deep_clean => ["clean"] do
     157task :deep_clean => ["clean", "clean_doc"] do
    136158  MRuby.each_target do |t|
    137     FileUtils.rm_rf t.gem_clone_dir, { :verbose => $verbose }
     159    rm_rf t.gem_clone_dir
    138160  end
    139161  puts "Cleaned up mrbgems build folder"
    140162end
    141 
    142 desc 'generate document'
    143 task :doc do
    144   begin
    145     sh "mrbdoc"
    146   rescue
    147     puts "ERROR: To generate documents, you should install yard-mruby gem."
    148     puts "  $ gem install yard-mruby"
    149   end
    150 end
Note: See TracChangeset for help on using the changeset viewer.