[#7785] rb2c — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

28 messages 1999/09/02

[#7845] [Q] irb and SizedQueue — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

14 messages 1999/09/15

[ruby-dev:7804] Re: rb2c

From: Masaki Fukushima <fukusima@...>
Date: 1999-09-03 08:39:41 UTC
List: ruby-dev #7804
福嶋です。

Kazuhiro HIWADA <hiwada@kuee.kyoto-u.ac.jp> wrote:
> 今 http://easter.kuee.kyoto-u.ac.jp/~hiwada/ruby/rb2c/ におきました。

動かしてみました。
yacc != bison な環境では extconf.rb を修正する必要がありました。
Config を利用して、こんな感じにするとどうでしょう。

--- rbparse/extconf.rb.orig	Fri Sep  3 17:11:27 1999
+++ rbparse/extconf.rb	Fri Sep  3 17:07:10 1999
@@ -4,8 +4,9 @@
 open("Makefile", "a") do |f|
   f.print <<EOS
 
+YACC=#{Config::CONFIG['YACC']}
 parse.c : parse.y
-	yacc --name-prefix=rbp_ $*.y
+	$(YACC) --name-prefix=rbp_ $*.y
 	mv y.tab.c parse.c
 
 EOS


あと、src/Makefile を生成するスクリプトを作ってみました。

require 'rbconfig'
include Config

libdir = CONFIG["libdir"]+"/ruby/"+CONFIG["MAJOR"]+"."+CONFIG["MINOR"]
archdir = libdir+"/"+CONFIG["arch"]

open('Makefile', 'w').write <<EOS
.SUFFIXES: .c .h .o .a

RUBYLIB = #{archdir}

CC = #{CONFIG['CC']}
CFLAGS = #{CONFIG['CFLAGS']} -I${RUBYLIB}
LDFLAGS = -L${RUBYLIB} -L.

librb2c.a : evalopt.o
	#{CONFIG['AR']} rcu librb2c.a $<

clean:
	-rm -f *.o *~ librb2c.a

EOS


---
福嶋正機

In This Thread