From 212e90ce3a056aaf5915a11c061a80e893f8e2fd Mon Sep 17 00:00:00 2001 From: akr Date: Thu, 1 Jan 2009 06:08:41 +0000 Subject: [PATCH] * ext/socket/mkconstants.rb: add -o option. * ext/socket/depend: use mkconstants.rb with -o option. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21224 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ ext/socket/depend | 2 +- ext/socket/mkconstants.rb | 30 +++++++++++++++++++++++++++++- 3 files changed, 36 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 223f630c83..d4a580899c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Thu Jan 1 15:07:56 2009 Tanaka Akira + + * ext/socket/mkconstants.rb: add -o option. + + * ext/socket/depend: use mkconstants.rb with -o option. + Thu Jan 1 07:42:36 2009 Yukihiro Matsumoto * lib/singleton.rb: fix indentation of RDoc text. [ruby-core:21029] diff --git a/ext/socket/depend b/ext/socket/depend index 29bc2f3be3..0a9b8cacef 100644 --- a/ext/socket/depend +++ b/ext/socket/depend @@ -6,4 +6,4 @@ getaddrinfo.o: getaddrinfo.c $(arch_hdrdir)/ruby/config.h addrinfo.h sockport.h constants.h: $(srcdir)/mkconstants.rb @echo "generating constants.h" - @$(RUBY) $(srcdir)/mkconstants.rb > $@ + @$(RUBY) $(srcdir)/mkconstants.rb -o $@ diff --git a/ext/socket/mkconstants.rb b/ext/socket/mkconstants.rb index 589e3b2bb3..948eda8be1 100644 --- a/ext/socket/mkconstants.rb +++ b/ext/socket/mkconstants.rb @@ -1,4 +1,24 @@ -$out ||= $stdout +require 'optparse' + +opt = OptionParser.new + +opt.def_option('-h', 'help') { + puts opt + exit 0 +} + +opt_o = nil +opt.def_option('-o FILE', 'specify output file') {|filename| + opt_o = filename +} + +$out = '' +def $out.puts(str="") + str += "\n" if /\n\z/ !~ str + self << str +end + +opt.parse! # workaround for NetBSD, OpenBSD and etc. $out.puts("#define pseudo_AF_FTIP pseudo_AF_RTIP") @@ -23,6 +43,14 @@ DATA.each_line do |s| end end +if opt_o + File.open(opt_o, 'w') {|f| + f << $out + } +else + $stdout << $out +end + __END__ SOCK_STREAM