namazu-ml(avocado)


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

Re: configure (Re: Namazu v1.3.0.2 released!)



清水@住友林業です。

Fri, 29 Jan 1999 23:57:17 +0900 に、
Satoru Takabayashi <ccsatoru@xxxxxxxxxxxxxxxxxx> さんは書きました ;

> えっと、 configure.in をうまく調整することで UNIX, Win32, OS/2 の
> 違いを吸収することはできないでしょうか? Makefile.W32, Makefile.OS2 
> を広瀬さん、清水さんにいつも作り直してもらうのも効率が悪いので…。

そもそもバイナリパッケージがあるので、Makefile.OS2 そのものを高林
さんの配布アーカイブに入れてもらわなくてもいいような気もしますが、
まぁ、現状の Makefile.OS2 でやっている

・mknmz 等の Perl scripts を OS/2 から呼び出す手順を簡易化のための
  コマンド(mknmz.cmd など)までも make all 一発で作成する

をスパっとやめてしまえば、問題ないと思います。

上記の点は、私のバイナリファイルをそのまま使ってもらえれば解決しま
すし、自力で make しようとする人にとっては大した手間でもなさそうな
ので、ドキュメントに詳細手順を書けば済むでしょう。

で、私は Autoconf の使い方というか configure.in の書き方に疎いので、
そちらの具体的書法はよくわかりません。しかし、autoconf を利用して作
成される Makefile が、最低限以下のようになっていれば、そのままで
make all は通るようになります。

--

OS/2 用の namazu.exe と namazu.cgi.exe を make するための Makefile
(autoconf で作成されたもの)に対する希望。

1. Makefile の先頭に行を追加(1箇所)

  SHELL		= sh.exe

2. 行内容の修正(2箇所)

 (現状) LDFLAGS = -lm
 (修正) LDFLAGS = -Zexe -lm


 (現状) 
    namazu.cgi: namazu
	cp namazu namazu.cgi

 (修正) 
    namazu.cgi: namazu
	cp namazu.exe namazu.cgi.exe
	cp namazu namazu.cgi

3. 行の削除(1箇所)

    namazu.exe: namazu
	cp namazu namazu.exe


# emx では、LDFLAGS の -Zexe オプションによって、作成されるバイナリ
# 名を namazu.exe にしてくれます。同時に namazu も作成されますが、
# サイズは 0 になります。これは make のためだけに存在させる。

--

以上が、configure 時に何らかのオプションを与えることで Makefile に
反映されれば、make all で namazu.exe namazu.cgi.exe が作成できます。

これらもドキュメントで指示しておけば済む訳でもありますが、絶対必須
なものだけは、やはり Automatic Configure しておきたいです。

autoconf でなくても、Makefile.in の中に ifdef 〜 else 〜 end で記述
しておいても可能だと思います。どちらがいいのか良くわかりませんが...


さらに、OS/2 および Win32 での make install や make clean まで考慮
すると、

  TARGET  = mknmz wdnmz rvnmz clnmz vfnmz mailutime gcnmz \
		  namazu namazu.cgi

を

  TARGET  = mknmz wdnmz rvnmz clnmz vfnmz mailutime gcnmz \
		namazu $(NAMAZU_BIN) namazu.cgi $(NAMAZU_CGI_EXE)

としたり、install あるいは install_cgi のブロック中にある namazu と
namazu.cgi を TARGET と同様に修正した上で、configure 時にオプション
を渡すことで以下の行を有効にする、といったことも考えられます。

  NAMAZU_EXE  = namazu.exe
  NAMAZU_CGI_EXE  = namazu.cgi.exe


ご考慮願えれば幸いです。

ではでは。

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