summaryrefslogtreecommitdiffhomepage
path: root/mrbgems
diff options
context:
space:
mode:
Diffstat (limited to 'mrbgems')
-rw-r--r--mrbgems/GEMS.active0
-rw-r--r--mrbgems/Makefile4gem138
-rw-r--r--mrbgems/build_tasks.rb127
-rw-r--r--mrbgems/g/.gitignore1
-rw-r--r--mrbgems/generate_gem_mixlib.rb18
-rw-r--r--mrbgems/generate_gem_mrblib.rb15
-rw-r--r--mrbgems/generate_gem_mrblib_header.rb18
-rw-r--r--mrbgems/generate_gem_srclib.rb23
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