[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[freewnn:00054] Re: malloc define (Re: configure for HP-UX and OpenBSD)



永江です。

From: Tatsuo Furukawa <frkwtto@osk3.3web.ne.jp>
Subject: [freewnn:00052] Re: malloc define (Re: configure for HP-UX and OpenBSD)
Date: Thu, 12 Aug 1999 01:53:18 +0900

> 矢吹さん> 現在の configure で ANSI C 準拠のヘッダがあるかどうかチェッ
> 矢吹さん> クしてるので(autoconf のマクロだと AC_HEADER_STDC)、その結果
> 矢吹さん> 定義される STDC_HEADERS で判定するというのはどうでしょうか?
> 矢吹さん> STDC_HEADERS が 1 に定義されていれば、stdlib.h で宣言されて
> 矢吹さん> いるはずなので、ソースコードでは malloc() の宣言は行なわない
> 矢吹さん> と。
> 
> ここまでする必要はないと思いますがいかがでしょう?
> 
> もし、古いCコンパイラしかないような OS に対応しなければならない場合は、
> それ専用のヘッダファイルを読み込むようにしておくという逃げ道を用意して
> おくということで。

私はぜひ autoconf での対応に移行したいと思っています。
かつて OS ごとに定義ファイルがたくさんあるソフトがあって
(MH のことですけど)、
新しい OS に対応させるのにえらい目にあったことがあります。

> 私としてはできるだけ標準にのっとったソースコードにしたいです。非標準な 
> OS のためにソースコードをややこしくすることはしたくない。でも頭に 
> #include 文がいっぱいつくぐらいなら許してやってもいいかな。
> 
> 例えば bcopy() じゃなくて memcpy() を使うという風に。んで、memcpy() の
> ない OS があったら、その OS 専用のヘッダファイルに memcpy を bcopy に 
> #define するような記述を埋め込んでおく。

基本を ANSI 準拠にするのは大賛成です。
しかし OS ごとにヘッダファイルを用意するのは反対です。
下手をすると OS のヴァージョンごとにヘッダファイルが必要になります。
今の configure.in にある OS ごとの条件判断も消えてほしい箇所です。
最初は手間がかかるかもしれませんが、
長い目で見ると autoconf での対応が(開発側から見ても)
より良い対応だと思います。

考えだけ述べても説得力がないでしょうから、
個人的にでも autoconf 対応作業をやってみようと思っています。
私の技術力で、どこまでできるかわかりませんけど。
どちらがいいかは、コードを見て判断していただくということで。

---- Do the Right Thing. ----
 永江   英武     mailto:nagae@tk.airnet.ne.jp
Nagae Hidetake   http://www.tk.airnet.ne.jp/nagae/