namazu-dev(ring)


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

Re: KAKASI-2.3.1 released



清水@住友林業です。emx gcc のドキュメントに当たってみたところ、
[namazu-dev 730] と [namazu-dev 733] には妄言が多かったので、おわび
して、以下のように訂正させていただきます。

Sun, 31 Oct 1999 01:54:50 +0900 に、
Ryuji Abe <raeva@xxxxxxxxxxxx> さんは書きました ;

> libtoolのweb page (http://www.gnu.org/software/libtool/libtool.html)
> には、対応プラットフォームにOS/2 using EMX (*-*-os2*)がありましたが。
> #当然GNU binutilsを使っていますよね?それで何故ライブラリのsuffixが
> #.libでなければいけないのかなあ...

最終的な目標の一つに、OS/2 で動く Perl Module の作成があるため、
OS/2 用の Perl 5 の Binary Distribution が LINK386 にて作成されて
いることを考慮しないといけません。

で、LINK386 で作成されたプログラムから呼び出される dll は、LINK386
で作成されないとアカンので、ライブラリの suffix を .lib にしておく
必要があります。(LINK386 の仕様)

同様に、ライブラリは OS/2 Presentation Manager の固有の形式である、
OMF 形式になっている必要があります。(LINK386 の仕様)


 -- ここまでは [namazu-dev 733] と同様ですが、以下が異なります --


ところが、emx gcc のユーティリティに、a.out 形式 → OMF 形式の変換
ツールもありました。これを用いると

  hoge.a → hoge.exe / hoge.lib
  hoge.o → hoge.obj
  hoge   → hoge.exe

といった変換ができます。これを使えば、個々のソースファイルから hoge.a 
を作成するまでの間、特に OMF 形式を意識しなくても済むので(ふつうの 
UNIX とほぼ同様の手順で済む)、

 % gunzip -c kakasi-2.3.1.tar.gz | tar xvf -
 % cd ./kakasi-2.3.1
 % sh autoconf
 % sh configure
 % make
 % make install

と標準的な手順でもって kakasi.exe 等を Install した後で、

 % cd /usr/local/lib
 % emxomf  kakasi.a

とすれば、OMF 形式の kakasi.lib が作成されます。

というわけで、短期的には、

・最後の手動操作を文書に明記しておけばよい

わけですが、長期的には

・GNU libtool の OS/2 版の機能として、 link 時に

    ar cru  .libs/hogehoge.a (object files)
    ar.exe  s  .libs/hogehoge.a

  とやっているところを

    ar cru  .libs/hogehoge.a
    ar.exe  s  .libs/hogehoge.a
    emxomf  .libs/hogehoge.a

  にしてもらえれば、同時に hogehoge.lib が作成されて便利です。
  話をもって行く先を検討します(誰が Maintainer なんやろ?)。


ではでは。
 

--
  住友林業株式会社  情報システム部   清水 和佳
 
  TEL: +81-3-5322-6672  FAX: +81-3-5322-6658  Niftyserve: XLW01034
  e-mail: <kshimz@xxxxxxxxx>