岩月と申します。


Yukihiro Matsumoto wrote:

> むむむ、この configure の差分はどうしたら良いでしょうね。
> configureは configure.in から自動生成されるのですが、この
> configureにはconfigure.inの差分以上の差異が含まれていますね。
> たぶん、X68000対応のautoconfで生成したからだと思うのですが、
> これをどうしたものだか。

はい、autoconf 2.13 を Human68k に移植したものを使っています。
この autoconf を使わないといろいろと不都合がありますので使って
いますが、configure の差分自体には深い意味はありませんでした。

従来でも Human68k 上でコンパイルするにはあらかじめ autoconf 
しなければなりませんでしたから、今回の configure の差分は無かった
ことにしてください。失礼しました。


>   fopen(fname, "rt")
> 
> ってのには違和感があります。fmodeを使おうかなあ。

テキストモードでオープンしていただければ、手法はお任せいたします。

私が使っているライブラリでは fopen すると基本的にバイナリモードで
ファイルを開いてしまうのです。それによって rbconfig.rb 作成時に
ちょっとした不都合がありましたので、変更させていただきました。


> SIGHUPについて。「私が使っているライブラリでは SIGHUP と
> SIGSTOP が同値」ということですが、これはX68000全般に有効な事
> 実ですか?それともUNIX互換ライブラリのようなものが複数あって
> たまたまお使いのもので一致している(他のものもあって、そちら
> では成立してないかもしれない)と言うことですか?

ライブラリの都合による仕様です。signal.h には

#define SIGHUP     SIGSTOP /* only for compilation */
#define SIGQUIT    SIGSTOP /* only for compilation */

とありまして、SIGHUP や SIGQUIT 自体を直接サポートしているもの
では無いようです。

私の知る限りでは、Human68k の C 言語のライブラリには大まかに
二つありまして、SHARP 純正ライブラリ(と、その派生物)と、
フリーソフトウェアの libc (と、その派生物)です。

私は後者を使っていまして、こちらの方が UNIX 向けのソフトウェア
との相性が良いのですが、このライブラリを使う限りは上記の仕様の
影響を受けることになります。

この件に関しましては一度ライブラリのサポートの人と相談したいと
思いますので、一旦保留していただけませんでしょうか。


> gettimeofday()についても。現時点ではX68000では
> gettimeofday(2) がなく、その他のプラットフォームでは必ずある
> ことを期待しているのですが、これをどうしたら良いでしょうね。
> 
>   * 現状を基本的に踏襲。X68000でgettimeofdayが*ある*場合にだ
>     け新規に対応する(パッチのまま)
> 
>   * x68.cのgettimeofday()をmissing/gettimeofday.cとして独立
>     させ、AC_REPLACE_FUNCSでチェック。
> 
>   * その他

先ほどのライブラリ libc では最近 gettimeofday を標準装備(?)する
ようになりまして、せっかくだからそちらを使おうと思いパッチを
当てました。

私としましては、最初の「現状を基本的に踏襲」もしくは、

  * x68.c の gettimeofday() を x68/gettimeofday として独立させ、
    AC_CHECK_FUNCS でチェック

が良いのではないかと考えています。後者は既に select() をチェック
するのに使われている手法です。これなら Human68k に依存した形に
なりますので他の OS 等に影響を与えないのではないでしょうか。


以上です。なんだか今回はまつもとさんを悩ませてしまったようで
申し訳ありませんでした。では失礼しました。

--------
IWATSUKI Hiroyuki <don / na.rim.or.jp>