[#1320] [MethodIndex] Bug and question — keiju@... (Keiju ISHITSUKA)

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

32 messages 1998/01/23
[#1321] Re: [MethodIndex] Bug and question — matz@... (Yukihiro Matsumoto) 1998/01/23

まつもと ゆきひろです

[#1323] Re: [MethodIndex] Bug and question — keiju@... (Keiju ISHITSUKA) 1998/01/23

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

[#1332] Re: [MethodIndex] Bug and question — keiju@... (Keiju ISHITSUKA) 1998/01/27

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

[#1333] Re: [MethodIndex] Bug and question — matz@... (Yukihiro Matsumoto) 1998/01/27

まつもと ゆきひろです

[#1334] Re: [MethodIndex] Bug and question — keiju@... (石塚圭樹 ) 1998/01/27

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

[#1351] Re: [MethodIndex] Bug and question — keiju@... (石塚圭樹 ) 1998/01/29

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

[#1353] Re: [MethodIndex] Bug and question — matz@... (Yukihiro Matsumoto) 1998/01/29

まつもと ゆきひろです

[#1354] Re: [MethodIndex] Bug and question — keiju@... (石塚圭樹 ) 1998/01/29

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

[#1355] Re: [MethodIndex] Bug and question — matz@... (Yukihiro Matsumoto) 1998/01/30

まつもと ゆきひろです

[ruby-dev:1185] ruby on Macintosh

From: 藤本尚邦 / FUJIMOTO Hisakuni <hisa@...>
Date: 1998-01-02 18:42:04 UTC
List: ruby-dev #1185
  みなさまはじめまして。藤本と申します。1ヵ月くらい前にDBMのことで
ruby-listに数回メールしたものです。

  まつもとさんには年末にメールでお知らせしたのですが、MacOS上でruby
1.1b3をなんとか動作(eval.rb)させることが出来ました。

  これに関連してrubyのソースの中身のことやその他(ライセンスなど)のこと
について、このMLでわからないことなど質問などさせていただきたいと思いま
すのでよろしくお願いします。

  まだ動いたばかりで実験的な状態なのですが、eval.rbを動かしてちょこちょ
こっと試してみる限りはそこそこ動いています。まつもとさんにはソースがど
のように変更されているのか見ていただきたいですし、Macでrubyが動く様子
に興味のある方にはお見せしたいなぁと思うのですが、どうするのがよいので
しょうか? <ftp://ftp.netlab.co.jp/pub/incoming/> に置くとか、僕のWeb
ページに非公開で置いてこのMLでURLをお知らせするとか...

  以下、状況を説明します。

動作開発環境について

動作環境:   MacOS, PowerMacintosh
開発ツール: Metrowerks CodeWarrior PRO2 (CWPRO2), MW C/C++
            Bison (CW IDE用、たしかCWPRO2のCDに付属)
ライブラリ: CWGUSI_180 (CWPRO2のCDに付属)
            GUSIというのはUNIX系の関数をマックで使うためのライブラリです

ruby 1.1b3 ソースの変更箇所について

  とりあえず変更箇所は下に示す値を#ifや#ifdefを使って区別してあります。

    __MWERKS__   MW C/C++ に対応するため変更した箇所
    MACRUBY      MacOS に対応するために変更した箇所
    GUSIRUBY     GUSIライブラリに対応するため変更した箇所

  おおきな変更点の一つは、可変長引数を持つ関数の宣言、定義のところです。
rubyのソースで使われている書き方

  void func(fmt, va_alist)
    char* fmt;
    va_decl
  {
    ...

ではコンパイルを通せなかったので、マクロで細工してみたりしたのですがう
まくいきませんでした。それでコンパイルリンクを通すために、ruby.h,
itern.h(Internalの意ですよね?)にある関数の宣言に引数を明示し

  void func(char* fmt, ...);

定義を

  void func(char* fmt, ...)
  {
    va_list args;
    ...

というスタイルに変更(可変長引数を持つ関数のみ)しました。また、MW C/C++ 
の va_startが引数を2つとるため変更しました。あとはMW C/C++, MacOS,
GUISIに合わせて細かいところをあちこち変更しています。

  現在 dln.c をいじって外部拡張モジュール(とりあえずkconv)が動くように
しようとしているところで詰まってます。

..といった状況です。

#近くにMacでrubyが動く喜びをわかってくれる人がいないもので、ひとりで
#盛り上がってます(^^;

=============================================================
 藤本尚邦  FUJIMOTO Hisakuni                hisa@imasy.or.jp
=============================================================

In This Thread

Prev Next