あ伊藤です.

In article <199810280806.RAA25695 / picachu.netlab.co.jp>,
	Yukihiro Matsumoto <ruby-list / netlab.co.jp> writes:

> |> あ,ptyも標準配布にしても良いですか?
> |
> |ありがたいですが,今のところインストールに人手を要するので
> |(pty.c を直接書きかえる),その辺をちょっと改良してみたいと
> |思います.それからでいいですか?
> 
> はい.待ちます.

ということなのですが,人手でヘッダファイルを選択するかわりに,
extconf.rb の中でシステムを判別してヘッダファイルを切りかえよう
と思っています.システムの判別には uname を使おうと思います.
こんな感じで.

-------------------------------------------------------
require 'mkmf'

uname = `uname -a`.chop.split
config_h = nil
case uname[0]
when 'SunOS'
  if uname[2][0] == ?5 then 
    config_h = "configs/solaris2.h"
  else
    config_h = "configs/sun.h"
  end
when 'HP-UX'
  config_h = "configs/hpux.h"
   (以下続く)
end

unless config_h.nil? then
  system "cp #{config_h} config.h"
  create_makefile('pty')
end
-------------------------------------------------------

それで問題なのですが,各OSで uname の返す値がわかりません.
ご存知の方は教えてください.

  OS                 uname          header file
  ----------------------------------------------
  SunOS 4.x          SunOS          sun.h
  Solaris 2.x        SunOS          solaris2.h
  HP-UX              HP-UX          hpux.h
  Linux              Linux          linux.h
  OSF/1              OSF1           osf1.h
  Ultrix             ULTRIX         ultrix.h
  AIX                ???            aix3_1.h
  AIX/370            ???            aix370.h    # これは不要か
  BSD/OS             ???            bsdi.h
  386BSD             ???            386bsd.h
  FreeBSD            ???            freebsd.h
  NetBSD             ???            netbsd.h
  IRIX               ???            irix.h
  Luna               ???            luna.h      # まだ必要?
  MIPS               ???            mips.h      # これは不要か
  EWS4800            ???            nwcews.h
  NeXT               ???            next.h
  NEWS-OS 6.x        ???            sony.h
  NEWS-OS 3.3        ???            sony33.h    # 不要?
  DOMAIN/IX          ???            domainix.h  # 不要だろう

# こうして並べると歴史を感じるなあ.AIX/370 とか DOMAIN/IX なんて
# 知ってる人はいるのだろうか.
--
aito