diff options
Diffstat (limited to 'mrbgems')
| -rw-r--r-- | mrbgems/GEMS.active | 0 | ||||
| -rw-r--r-- | mrbgems/Makefile4gem | 138 | ||||
| -rw-r--r-- | mrbgems/build_tasks.rb | 127 | ||||
| -rw-r--r-- | mrbgems/g/.gitignore | 1 | ||||
| -rw-r--r-- | mrbgems/generate_gem_mixlib.rb | 18 | ||||
| -rw-r--r-- | mrbgems/generate_gem_mrblib.rb | 15 | ||||
| -rw-r--r-- | mrbgems/generate_gem_mrblib_header.rb | 18 | ||||
| -rw-r--r-- | mrbgems/generate_gem_srclib.rb | 23 |
8 files changed, 0 insertions, 340 deletions
diff --git a/mrbgems/GEMS.active b/mrbgems/GEMS.active deleted file mode 100644 index e69de29bb..000000000 --- a/mrbgems/GEMS.active +++ /dev/null diff --git a/mrbgems/Makefile4gem b/mrbgems/Makefile4gem deleted file mode 100644 index d9f7d3724..000000000 --- a/mrbgems/Makefile4gem +++ /dev/null @@ -1,138 +0,0 @@ -# This is the default Makefile integrated -# by each Gem. It integrates important constants -# for usage inside of a Gem. - -ifeq ($(strip $(MRUBY_ROOT)),) - # mruby src root - MRUBY_ROOT := $(realpath ../../..) -endif - -# Tools -CC := gcc -RM := rm -f -AR := ar - -# mruby compiler -ifeq ($(OS),Windows_NT) -MRBC = $(MRUBY_ROOT)/bin/mrbc.exe -else -MRBC = $(MRUBY_ROOT)/bin/mrbc -endif - -SRC_DIR := src -MRB_DIR := mrblib -TEST_DIR := test - -GEM_TEST_RB_FILES := $(wildcard $(TEST_DIR)/*.rb) -GEM_TEST_C_FILES := $(wildcard $(TEST_DIR)/*.c) - -# LIBR can be manipulated with command line arguments -ifeq ($(strip $(LIBR)),) - # default mruby library - LIBR := $(MRUBY_ROOT)/lib/libmruby.a -endif - -GEM_PACKAGE := mrb-$(GEM)-gem.a - -ifeq ($(strip $(ACTIVE_GEMS)),) - # the default file which contains the active GEMs - ACTIVE_GEMS = GEMS.active -endif - -MAKEFILE_GEM_LIST := $(MRUBY_ROOT)/mrbgems/g/MakefileGemList --include $(MAKEFILE_GEM_LIST) - -# Default rules which are calling the -# gem specific gem-all and gem-clean -# implementations of a gem - -.PHONY : all -all : gem-info gem-all - -gem-info: - @echo "Building Gem '$(GEM)'" - -# Building target for C and Ruby files -gem-c-and-rb-files : gem_mixlib.o - $(AR) rs $(GEM_PACKAGE) $(GEM_OBJECTS) $^ - -gem_mixlib.c : gem_mrblib_header.ctmp gem_mrblib_irep.ctmp gem_mixlib_init.ctmp - cat $^ > $@ - -gem_mixlib_init.ctmp : - ruby $(MRUBY_ROOT)/mrbgems/generate_gem_mixlib.rb '$(GEM)' > $@ - -# Building target for C files -gem-c-files : gem_srclib.o - $(AR) rs $(GEM_PACKAGE) $(GEM_OBJECTS) $< - -gem_srclib.c : - ruby $(MRUBY_ROOT)/mrbgems/generate_gem_srclib.rb '$(GEM)' > $@ - -# Building target for Ruby Files -gem-rb-files : gem_mrblib.o - $(AR) rs $(GEM_PACKAGE) $< - -gem_mrblib.c : gem_mrblib_header.ctmp gem_mrblib_irep.ctmp gem_mrblib_init.ctmp - cat $^ > $@ - -gem_mrblib_header.ctmp : - ruby $(MRUBY_ROOT)/mrbgems/generate_gem_mrblib_header.rb '$(GEM)' > $@ - -gem_mrblib_init.ctmp : - ruby $(MRUBY_ROOT)/mrbgems/generate_gem_mrblib.rb '$(GEM)' > $@ - -gem_mrblib_irep.ctmp : gem_mrblib.rbtmp - $(MRBC) -Bgem_mrblib_irep_$(subst -,_,$(GEM)) -o$@ $< - -gem_mrblib.rbtmp : - cat $(GEM_RB_FILES) > $@ - - -gem_test.ctmp : gem_test.rbtmp $(GEM_TEST_C_FILES) - $(MRBC) -Bgem_mrblib_irep_$(subst -,_,$(GEM))_test -o$@ $< -ifeq ($(GEM_TEST_C_FILES),) - echo "void mrb_$(subst -,_,$(GEM))_gem_test_init(mrb_state* mrb) { }" >> $@ -else - cat $(GEM_TEST_C_FILES) >> $@ -endif - -gem_test.rbtmp : $(GEM_TEST_RB_FILES) -ifeq ($(GEM_TEST_RB_FILES),) - echo > $@ -else - cat $(GEM_TEST_RB_FILES) > $@ -endif - -gem-test-c-and-rb-files : gem_test.ctmp - -gem-test-c-files : gem_test.ctmp - -gem-test-rb-files : gem_test.ctmp - - -gem-clean-c-and-rb-files : - -$(RM) $(GEM_PACKAGE) gem_mixlib.o gem_mixlib.c gem_mrblib_header.ctmp gem_mrblib_irep.ctmp gem_mixlib_init.ctmp gem_mrblib.rbtmp - -$(RM) gem_srclib.c gem_srclib.o $(GEM_OBJECTS) gem_test.ctmp gem_test.rbtmp gem-cflags.tmp gem-ldflags.tmp gem-libs.tmp - -gem-clean-c-files : - -$(RM) $(GEM_PACKAGE) gem_srclib.c gem_srclib.o $(GEM_OBJECTS) gem_test.ctmp gem_test.rbtmp gem-cflags.tmp gem-ldflags.tmp gem-libs.tmp - -gem-clean-rb-files : - -$(RM) $(GEM_PACKAGE) gem_mrblib.o gem_mrblib.c gem_mrblib_header.ctmp gem_mrblib_init.ctmp gem_mrblib_irep.ctmp gem_mrblib.rbtmp - -$(RM) gem_test.ctmp gem_test.rbtmp gem-cflags.tmp gem-ldflags.tmp gem-libs.tmp - - -%.o : %.c - $(CC) -c $(CFLAGS) $(CPPFLAGS) $(GEM_CFLAGS_LIST) $< -o $@ - -.PHONY : clean -clean : gem-clean - @echo "Gem '$(GEM)' is clean" - -.PHONY : gem-flags -gem-flags : - @echo "$(MRUBY_CFLAGS) -I`pwd`/include" > gem-cflags.tmp - @echo "$(MRUBY_LDFLAGS)" > gem-ldflags.tmp - @echo "$(MRUBY_LIBS)" > gem-libs.tmp - diff --git a/mrbgems/build_tasks.rb b/mrbgems/build_tasks.rb deleted file mode 100644 index dabc25958..000000000 --- a/mrbgems/build_tasks.rb +++ /dev/null @@ -1,127 +0,0 @@ -MRBGEMS_PATH = File.dirname(__FILE__) - -GEM_INIT = "#{MRBGEMS_PATH}/gem_init" -GEM_MAKEFILE = "#{MRBGEMS_PATH}/g/Makefile" -GEM_MAKEFILE_LIST = "#{MRBGEMS_PATH}/g/MakefileGemList" -MAKEFILE_4_GEM = "#{MRUBY_ROOT}/mrbgems/Makefile4gem" - -def gem_make_flags - if ENV['OS'] == 'Windows_NT' - "#{MAKE_FLAGS rescue ''} MAKEFILE_4_GEM=\"#{MAKEFILE_4_GEM}\"" - else - "#{MAKE_FLAGS rescue ''} MAKEFILE_4_GEM='#{MAKEFILE_4_GEM}'" - end -end - -task :mrbgems_all => ["#{GEM_INIT}.a", :mrbgems_generate_gem_makefile_list] do - for_each_gem do |path, gemname| - sh "#{MAKE} -C #{path} #{gem_make_flags}" - end -end - -task :load_mrbgems_flags do - for_each_gem do |path, gemname| - sh "#{MAKE} gem-flags -C #{path} #{gem_make_flags}" - CFLAGS << File.read("#{path}/gem-cflags.tmp").chomp - LDFLAGS << File.read("#{path}/gem-ldflags.tmp").chomp - LIBS << File.read("#{path}/gem-libs.tmp").chomp - end -end - -task :mrbgems_clean do - if ENV['OS'] == 'Windows_NT' - sh "cd #{MRUBY_ROOT.gsub('/', '\\')}\\mrbgems && #{RM_F} *.c *.d *.a *.o" - sh "cd #{MRUBY_ROOT.gsub('/', '\\')}\\mrbgems\\g && #{RM_F} *.c *.d *.rbtmp *.ctmp *.o mrbtest" - else - sh "cd #{MRUBY_ROOT}/mrbgems && #{RM_F} *.c *.d *.a *.o" - sh "cd #{MRUBY_ROOT}/mrbgems/g && #{RM_F} *.c *.d *.rbtmp *.ctmp *.o mrbtest" - end - for_each_gem do |path, gemname| - sh "#{MAKE} gem-clean -C #{path} #{gem_make_flags}" - end -end - -task :mrbgems_prepare_test do - for_each_gem do |path, gemname, escaped_gemname| - sh "#{MAKE} gem-test -C #{path} #{gem_make_flags}" - end - open("#{MRUBY_ROOT}/mrbgems/g/mrbgemtest.ctmp", 'w') do |f| - for_each_gem do |path, gemname, escaped_gemname| - f.puts "void mrb_#{escaped_gemname}_gem_test_init(mrb_state *mrb);" - f.puts "extern const char gem_mrblib_irep_#{escaped_gemname}_test[];" - end - f.puts "void mrbgemtest_init(mrb_state* mrb) {" - for_each_gem do |path, gemname, escaped_gemname| - f.puts "mrb_#{escaped_gemname}_gem_test_init(mrb);" - end - for_each_gem do |path, gemname, escaped_gemname| - f.puts "mrb_load_irep(mrb, gem_mrblib_irep_#{escaped_gemname}_test);" - end - f.puts "}" - - end - sh "#{CAT} #{for_each_gem{|path, gemname| "#{path}/gem_test.ctmp "}} >> #{MRUBY_ROOT}/mrbgems/g/mrbgemtest.ctmp" -end - -file "#{GEM_INIT}.a" => ["#{GEM_INIT}.c", "#{GEM_INIT}.o"] do |t| - sh "#{AR} rs #{t.name} #{GEM_INIT}.o" -end - -rule ".o" => [".c"] do |t| - puts "Build the driver which initializes all gems" - sh "#{CC} #{CFLAGS.join(' ')} -I#{MRUBY_ROOT}/include -MMD -c #{t.source} -o #{t.name}" -end - -file "#{GEM_INIT}.c" do |t| - puts "Generate Gem driver: #{t.name}" - open(t.name, 'w') do |f| - f.puts <<__EOF__ -/* - * This file contains a list of all - * initializing methods which are - * necessary to bootstrap all gems. - * - * IMPORTANT: - * This file was generated! - * All manual changes will get lost. - */ - -#include "mruby.h" - -#{for_each_gem{|path, gemname, escaped_gemname| "void GENERATED_TMP_mrb_%s_gem_init(mrb_state*);" % [escaped_gemname]}} - -void -mrb_init_mrbgems(mrb_state *mrb) { -#{for_each_gem{|path, gemname, escaped_gemname| " GENERATED_TMP_mrb_%s_gem_init(mrb);" % [escaped_gemname]}} -} -__EOF__ - end -end - -def for_each_gem(&block) - IO.readlines(ACTIVE_GEMS).map { |line| - path = line.chomp - if not File.exist?(path) - path2 = File.join MRUBY_ROOT, 'mrbgems', 'g', path - path = path2 if File.exist? path2 - end - gemname = File.basename(path) - escaped_gemname = gemname.gsub(/-/, '_') - block.call(path, gemname, escaped_gemname) - }.join('') -end - -task :mrbgems_generate_gem_makefile_list do - open(GEM_MAKEFILE_LIST, 'w') do |f| - f.puts <<__EOF__ -GEM_LIST := #{for_each_gem{|path, gemname| "#{path}/mrb-#{gemname}-gem.a "}} - -GEM_ARCHIVE_FILES := #{MRUBY_ROOT}/mrbgems/gem_init.a -GEM_ARCHIVE_FILES += $(GEM_LIST) - -GEM_CFLAGS_LIST := #{for_each_gem{|path, gemname| "#{File.read("#{path}/gem-cflags.tmp").chomp} "}} -GEM_LDFLAGS_LIST := #{for_each_gem{|path, gemname| "#{File.read("#{path}/gem-ldflags.tmp").chomp} "}} -GEM_LIBS_LIST := #{for_each_gem{|path, gemname| "#{File.read("#{path}/gem-libs.tmp").chomp} "}} -__EOF__ - end -end diff --git a/mrbgems/g/.gitignore b/mrbgems/g/.gitignore deleted file mode 100644 index f935021a8..000000000 --- a/mrbgems/g/.gitignore +++ /dev/null @@ -1 +0,0 @@ -!.gitignore diff --git a/mrbgems/generate_gem_mixlib.rb b/mrbgems/generate_gem_mixlib.rb deleted file mode 100644 index 39bc7b7f7..000000000 --- a/mrbgems/generate_gem_mixlib.rb +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env ruby - -gemname = ARGV.shift.gsub('-', '_') - -puts <<__EOF__ -void mrb_#{gemname}_gem_init(mrb_state*); - -void -GENERATED_TMP_mrb_#{gemname}_gem_init(mrb_state *mrb) -{ - mrb_#{gemname}_gem_init(mrb); - mrb_load_irep(mrb, gem_mrblib_irep_#{gemname}); - if (mrb->exc) { - mrb_p(mrb, mrb_obj_value(mrb->exc)); - exit(0); - } -} -__EOF__ diff --git a/mrbgems/generate_gem_mrblib.rb b/mrbgems/generate_gem_mrblib.rb deleted file mode 100644 index 6d610d826..000000000 --- a/mrbgems/generate_gem_mrblib.rb +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env ruby - -gemname = ARGV.shift.gsub('-', '_') - -puts <<__EOF__ -void -GENERATED_TMP_mrb_#{gemname}_gem_init(mrb_state *mrb) -{ - mrb_load_irep(mrb, gem_mrblib_irep_#{gemname}); - if (mrb->exc) { - mrb_p(mrb, mrb_obj_value(mrb->exc)); - exit(0); - } -} -__EOF__ diff --git a/mrbgems/generate_gem_mrblib_header.rb b/mrbgems/generate_gem_mrblib_header.rb deleted file mode 100644 index 74008a376..000000000 --- a/mrbgems/generate_gem_mrblib_header.rb +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env ruby - -puts <<__EOF__ -/* - * This file is loading the irep - * Ruby GEM code. - * - * IMPORTANT: - * This file was generated! - * All manual changes will get lost. - */ -#include "mruby.h" -#include "mruby/irep.h" -#include "mruby/dump.h" -#include "mruby/string.h" -#include "mruby/proc.h" - -__EOF__
\ No newline at end of file diff --git a/mrbgems/generate_gem_srclib.rb b/mrbgems/generate_gem_srclib.rb deleted file mode 100644 index 7a0d437eb..000000000 --- a/mrbgems/generate_gem_srclib.rb +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env ruby - -gemname = ARGV.shift.gsub('-', '_') - -puts <<__EOF__ -/* - * This file is loading the irep - * Ruby GEM code. - * - * IMPORTANT: - * This file was generated! - * All manual changes will get lost. - */ -#include "mruby.h" - -void mrb_#{gemname}_gem_init(mrb_state*); - -void -GENERATED_TMP_mrb_#{gemname}_gem_init(mrb_state *mrb) -{ - mrb_#{gemname}_gem_init(mrb); -} -__EOF__
\ No newline at end of file |
