Namazu-devel-ja(旧)


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

perl モジュール検出ルーチン



configure.in での nkf, kakasi, chasen の各 perl モジュール検出ルー
チンですが、元々のコマンドがあるかないかを先に検出する方がいいんじゃ
ないでしょうか。「module_$cmd は入ってるけど $cmd がない(見えない)、
でも動く」というケースもそりゃいろいろ考えられますが(とくに nkf)、
やっぱり先にチェックする方がいいようにおもいます。


AC_PATH_PROG(NKF,nkf, no)
if test "$NKF" != "no"; then
  AC_MSG_CHECKING(for NKF perl module)
  if $PERL -e "use lib '$PMDIR'; use NKF;" >/dev/null 2>&1; then
      NKF=module_nkf
      AC_MSG_RESULT(yes)
  else
      AC_MSG_RESULT(no)
  fi
fi

AC_PATH_PROG(KAKASI,kakasi, no)
if test $KAKASI != "no"; then
  AC_MSG_CHECKING(for Text::Kakasi perl module)
  if $PERL -e "use lib '$PMDIR'; use Text::Kakasi;" >/dev/null 2>&1; then
      KAKASI=module_kakasi
      AC_MSG_RESULT(yes)
  else
      AC_MSG_RESULT(no)
  fi
fi

AC_PATH_PROG(CHASEN,chasen, no)
if test $CHASEN != "no"; then
  AC_MSG_CHECKING(for Text::ChaSen perl module)
  if $PERL -e "use lib '$PMDIR'; use Text::ChaSen;" >/dev/null 2>&1; then
      CHASEN=module_chasen
      AC_MSG_RESULT(yes)
  else
      AC_MSG_RESULT(no)
  fi
fi



それと、mknmz 実行時のいちばん最初で util::islang("ja") が true だっ
たら nkf, kakasi, chasen の存在とバージョン(あるいはオプション)の
確認をしてみてはどうでしょうか。mknmz 実行時の「no: command not
found」とか、その他の意味不明なエラーを避けるためには必要だとおも
います。

というか、たとえば filter/excel.pl なんかのフィルターの status() 
とかで util::checkcmd() 使って xlHtml や doccat の存在をチェックし
てるのに、mknmz 本体でやってないのはちょっと不親切ではないかな、と。

もちろんパッチを出そうとおもいましたが、mknmz.in は僕にはすでにデ
カくなりすぎていてどこをいじるのが適切か判断がつきませんでしたので
とりあえずコメントだけ。_o_
--
馬場  肇 ( Hajime BABA )            E-mail: baba@xxxxxxxxxxxxxxxxxxxxxx
京都大学理学部宇宙物理学教室 博士後期課程
--