From: WATANABE Hirofumi Date: 2004-09-13T15:01:14+09:00 Subject: [ruby-dev:24258] Re: ripper committed わたなべです。 Minero Aoki writes: > 以下のプラットフォームで make test, test/ripper/test_*.rb が > 通ることを確認しました。 > > * i686-linux, gcc2, gmake > * sparc-solaris2.9, gcc3, gmake > * alphaev6-osf5.1b, ccc, make > * alphaev6-osf5.1b, gcc3, gmake > * i386-mswin32, vc6, nmake 残念ながらborland makeではだめでした。 今日初めて気づいたんですが、困ったことにborland makeではパイ プが使えないようです。 D:\pub\ruby\bcc>type m all: @echo foo | hoge D:\pub\ruby\bcc>make -f m MAKE Version 5.2 Copyright (c) 1987, 2000 Borland foo | hoge というわけで、list-parse-event-ids.rbとgenerate-eventids1.rb の処理はひとつにまとめるか、>tmpして とりあえず次のように "./" を付けて回避したのですが、 > 正しい方法だとどうするのがよいでしょうか。 > > ripper.o: ./ripper.c lex.c eventids1.c eventids2.c > $(CC) $(CFLAGS) $(CPPFLAGS) -c ./ripper.c lib/mkmf.rbのほうで対処してみました。 Index: ext/ripper/depend =================================================================== RCS file: /var/cvs/src/ruby/ext/ripper/depend,v retrieving revision 1.2 diff -U1 -r1.2 depend --- ext/ripper/depend 13 Sep 2004 00:30:47 -0000 1.2 +++ ext/ripper/depend 13 Sep 2004 05:59:14 -0000 @@ -1,4 +1,4 @@ # Do not remove "./"; nmake requires this. -ripper.o: ./ripper.c lex.c eventids1.c eventids2.c - $(CC) $(CFLAGS) $(CPPFLAGS) -c ./ripper.c +ripper.o: ripper.c lex.c eventids1.c eventids2.c + $(CC) $(CFLAGS) $(CPPFLAGS) -c ripper.c @@ -11,6 +11,5 @@ eventids1.c: $(hdrdir)/parse.y $(srcdir)/tools/list-parse-event-ids.rb $(srcdir)/tools/generate-eventids1.rb - $(RUBY) $(srcdir)/tools/list-parse-event-ids.rb $(hdrdir)/parse.y | $(RUBY) $(srcdir)/tools/generate-eventids1.rb > $@ - -lex.c: - cp $(hdrdir)/lex.c . || cp $(srcdir)/lex.c . + $(RUBY) $(srcdir)/tools/list-parse-event-ids.rb $(hdrdir)/parse.y > tmp + $(RUBY) $(srcdir)/tools/generate-eventids1.rb < tmp > $@ + $(RM) tmp @@ -27,9 +26,2 @@ $(RUBY) tools/list-scan-event-ids.rb -a eventids2.c > $@ - -test: ripper.so test/*.* - $(RUBY) test/check-event-arity.rb $(hdrdir)/parse.y - sh test/check-event-coverage.sh - $(RUBY) test/check-scanner-event-coverage.rb - $(RUBY) test/validate.rb > /dev/null - @echo OK Index: lib/mkmf.rb =================================================================== RCS file: /var/cvs/src/ruby/lib/mkmf.rb,v retrieving revision 1.195 diff -U1 -r1.195 mkmf.rb --- lib/mkmf.rb 20 Aug 2004 21:41:31 -0000 1.195 +++ lib/mkmf.rb 13 Sep 2004 05:59:14 -0000 @@ -998,3 +998,3 @@ line.gsub!(/\.o\b/, ".#{$OBJEXT}") - line.gsub!(/(\s)([^\s\/]+\.[ch])/, '\1{$(srcdir)}\2') if $nmake + line.gsub!(/(\s)([^\s\/]+\.[ch])/, '\1{.;$(VPATH::=;)}\2') if $nmake and /^[^\t]/ =~ line line.gsub!(/\$\(hdrdir\)\/config.h/, $config_h) if $config_h