From 4fca592e8c707c76e8afea2a0b5dd4d17e97cd8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=9C=E9=83=A8=E6=98=8C=E5=B9=B3?= Date: Tue, 5 May 2020 18:00:59 +0900 Subject: delete mk_builtin_binary.rb To generate what is necessary via generic_erb.rb instead. --- common.mk | 5 +++-- template/builtin_binary.inc.tmpl | 30 +++++++++++++++++++++++++++ tool/mk_builtin_binary.rb | 44 ---------------------------------------- 3 files changed, 33 insertions(+), 46 deletions(-) create mode 100644 template/builtin_binary.inc.tmpl delete mode 100644 tool/mk_builtin_binary.rb diff --git a/common.mk b/common.mk index 053b9b4f69..b428a4deff 100644 --- a/common.mk +++ b/common.mk @@ -1121,8 +1121,9 @@ preludes: {$(srcdir)}golf_prelude.c $(ECHO) making $@ $(Q) $(BASERUBY) $(tooldir)/mk_builtin_loader.rb $< -builtin_binary.inc: $(PREP) $(BUILTIN_RB_SRCS) $(tooldir)/mk_builtin_binary.rb - $(Q) $(MINIRUBY) $(tooldir)/mk_builtin_binary.rb --cross=$(CROSS_COMPILING) +builtin_binary.inc: $(PREP) $(BUILTIN_RB_SRCS) $(srcdir)/template/builtin_binary.inc.tmpl + $(Q) $(MINIRUBY) $(tooldir)/generic_erb.rb -c -o $@ \ + $(srcdir)/template/builtin_binary.inc.tmpl -- --cross=$(CROSS_COMPILING) $(BUILTIN_RB_INCS): $(top_srcdir)/tool/mk_builtin_loader.rb diff --git a/template/builtin_binary.inc.tmpl b/template/builtin_binary.inc.tmpl new file mode 100644 index 0000000000..eb0bded3d9 --- /dev/null +++ b/template/builtin_binary.inc.tmpl @@ -0,0 +1,30 @@ +// -*- c -*- +% ary = RubyVM.enum_for(:each_builtin).to_a +// DO NOT MODIFY THIS FILE DIRECTLY. +// auto-generated file by tool/generic_erb.rb +// with template/builtin_binary.inc.tmpl +% unless ARGV.include?('--corss=yes') +% ary.each{|feature, iseq| + +static const unsigned char <%= feature %>_bin[] = { +% iseq \ +% . to_binary \ +% . each_byte \ +% . map(&:ord) \ +% . map{ '0x%02x' % _1 } \ +% . each_slice(12) {|a| + <%= a.join(', ') %>, +% } +}; +% } + +static const struct builtin_binary builtin_binary[] = { +% ary.each{|feature, | + { <%= feature.dump %>, <%= feature %>_bin, sizeof(<%= feature %>_bin), }, +% } + { NULL, },<%# dummy entry %> +}; + +#define BUILTIN_BINARY_SIZE <%= ary.size %> +STATIC_ASSERT(n_builtin, numberof(builtin_binary) == BUILTIN_BINARY_SIZE + 1); +% end diff --git a/tool/mk_builtin_binary.rb b/tool/mk_builtin_binary.rb deleted file mode 100644 index 1b3fe50ac9..0000000000 --- a/tool/mk_builtin_binary.rb +++ /dev/null @@ -1,44 +0,0 @@ -# -# make builtin_binary.inc file. -# - -def dump_bin iseq - bin = iseq.to_binary - bin.each_byte.with_index{|b, index| - print "\n " if (index%20) == 0 - print " 0x#{'%02x' % b.ord}," - } - print "\n" -end - -$stdout = open('builtin_binary.inc', 'wb') - -puts <