Kouhei Sutou
null+****@clear*****
Thu Mar 5 00:24:08 JST 2015
Kouhei Sutou 2015-03-05 00:24:08 +0900 (Thu, 05 Mar 2015) New Revision: c9f862aa9eb0bae9f615db03e55101619616a9c2 https://github.com/groonga/groonga/commit/c9f862aa9eb0bae9f615db03e55101619616a9c2 Message: mruby: extract mruby build code to Ruby to share Added files: vendor/mruby/mruby_build.rb Modified files: vendor/mruby/Makefile.am Modified: vendor/mruby/Makefile.am (+6 -19) =================================================================== --- vendor/mruby/Makefile.am 2015-03-05 00:23:24 +0900 (5b13703) +++ vendor/mruby/Makefile.am 2015-03-05 00:24:08 +0900 (4e8e6d4) @@ -1,5 +1,6 @@ EXTRA_DIST = \ build_config.rb \ + mruby_build.rb \ mruby_build.timestamp DEFAULT_INCLUDES = \ @@ -36,26 +37,12 @@ mruby-io/src/mruby_io_gem.c: mruby_build.timestamp MRUBY_CONFIG = $(abs_srcdir)/build_config.rb MRUBY_BUILD_DIR = $(abs_top_builddir)/vendor/mruby-build -MRUBY_ONIG_REGEXP_DIR = $(MRUBY_BUILD_DIR)/mrbgems/mruby-onig-regexp -MRUBY_IO_DIR = $(MRUBY_BUILD_DIR)/mrbgems/mruby-io mruby_build.timestamp: build_config.rb - rm -rf $(MRUBY_BUILD_DIR) - cd $(srcdir)/../mruby-source && \ - $(RUBY) minirake \ - MRUBY_BUILD_DIR=$(MRUBY_BUILD_DIR) \ - MRUBY_CONFIG=$(MRUBY_CONFIG) - touch $@ - cp $(MRUBY_BUILD_DIR)/host/src/y.tab.c parse.c - cp $(MRUBY_BUILD_DIR)/host/mrblib/mrblib.c ./ - ( \ - cat $(MRUBY_BUILD_DIR)/host/mrbgems/gem_init.c; \ - cat $(MRUBY_BUILD_DIR)/host/mrbgems/*/gem_init.c; \ - ) > mrbgems_init.c - $(MKDIR_P) mruby-onig-regexp/ - cp -r $(MRUBY_ONIG_REGEXP_DIR)/src/ mruby-onig-regexp/ - $(MKDIR_P) mruby-io/ - cp -r $(MRUBY_IO_DIR)/include/ mruby-io/ - cp -r $(MRUBY_IO_DIR)/src/ mruby-io/ + $(RUBY) "$(srcdir)/mruby_build.rb" \ + "$(srcdir)/build_config.rb" \ + "$(srcdir)/../mruby-source" \ + "$(builddir)/../mruby-build" \ + "mruby_build.timestamp" CLEANFILES = *.gcno *gcda MAINTAINERCLEANFILES = mruby-build.timestamp Added: vendor/mruby/mruby_build.rb (+45 -0) 100755 =================================================================== --- /dev/null +++ vendor/mruby/mruby_build.rb 2015-03-05 00:24:08 +0900 (8eb89a9) @@ -0,0 +1,45 @@ +#!/usr/bin/env ruby + +if ARGV.size != 4 + puts("Usage: #{$0} BUILD_COFNIG.RB MRUBY_SOURCE_DIR MRUBY_BUILD_DIR TIMESTAMP_FILE") + exit(false) +end + +require "rbconfig" +require "fileutils" + +build_config_rb = File.expand_path(ARGV.shift) +mruby_source_dir = ARGV.shift +mruby_build_dir = File.expand_path(ARGV.shift) +timestamp_file = File.expand_path(ARGV.shift) + +FileUtils.rm_rf(mruby_build_dir) + +Dir.chdir(mruby_source_dir) do + unless system(RbConfig.ruby, + "minirake", + "MRUBY_CONFIG=#{build_config_rb}", + "MRUBY_BUILD_DIR=#{mruby_build_dir}") + exit(false) + end +end + +FileUtils.touch(timestamp_file) + +FileUtils.cp("#{mruby_build_dir}/host/src/y.tab.c", "parse.c") +FileUtils.cp("#{mruby_build_dir}/host/mrblib/mrblib.c", "./") + +File.open("mrbgems_init.c", "w") do |mrbgems_init| + Dir.glob("#{mruby_build_dir}/host/mrbgems/**/gem_init.c") do |gem_init| + mrbgems_init.puts(File.read(gem_init)) + end +end + +mruby_onig_regexp_dir = "#{mruby_build_dir}/mrbgems/mruby-onig-regexp" +FileUtils.mkdir_p("mruby-onig-regexp/") +FileUtils.cp_r("#{mruby_onig_regexp_dir}/src/", "mruby-onig-regexp/") + +mruby_io_dir = "#{mruby_build_dir}/mrbgems/mruby-io" +FileUtils.mkdir_p("mruby-io/") +FileUtils.cp_r("#{mruby_io_dir}/include/", "mruby-io/") +FileUtils.cp_r("#{mruby_io_dir}/src/", "mruby-io/") -------------- next part -------------- HTML����������������������������...Download