namazu-dev(ring)


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

Re: i18n (Re: gettext)



Satoru Takabayashi wrote:

> 試しに sh-utils-2.0 の aclocal.m4 をコピーして autoreconf &&
> rm config.cache && ./configure したところ、
> /usr/local/lib/libintl.a が存在するときに src/Makefile にき
> ちんと
> 
> LIBS = -lm -lintl
> 
> を設定してくれました (すばらしい)。

再度aclocalを実行すると消えてしまうでしょう。

aclocal.m4というのは例えばAM_GNU_GETTEXTのようにautoconfにない
m4マクロをautoconfでも読み込めるようにローカルにコピーされた
ものです。それで、

> 参考までに aclocal.m4 の差分をメイル末尾に添付しておきます。

ちょっと引用が長くなりますが、

> *** 151,167 ****
> 
>            if test "$gt_cv_func_gettext_libc" != "yes"; then
>              AC_CHECK_LIB(intl, bindtextdomain,
> !              [AC_CACHE_CHECK([for gettext in libintl],
> !                gt_cv_func_gettext_libintl,
> !                [AC_CHECK_LIB(intl, gettext,
> !                 gt_cv_func_gettext_libintl=yes,
> !                 gt_cv_func_gettext_libintl=no)],
> !                gt_cv_func_gettext_libintl=no)])
>            fi
> 
>            if test "$gt_cv_func_gettext_libc" = "yes" \
> !             || test "$gt_cv_func_gettext_libintl" = "yes"; then
> !             AC_DEFINE(HAVE_GETTEXT)
>               AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
>                 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
>               if test "$MSGFMT" != "no"; then
> --- 173,185 ----
> 
>            if test "$gt_cv_func_gettext_libc" != "yes"; then
>              AC_CHECK_LIB(intl, bindtextdomain,
> !              [AC_CHECK_LIB(intl, gettext)])
>            fi
> 
>            if test "$gt_cv_func_gettext_libc" = "yes" \
> !             || test "$ac_cv_lib_intl_gettext" = "yes"; then
> !             AC_DEFINE(HAVE_GETTEXT, 1,
> !         [Define to 1 if you have gettext and don't want to use GNU gettext.])
>               AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
>                 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
>               if test "$MSGFMT" != "no"; then
> ***************
> *** 261,266 ****
> --- 279,288 ----
>         DATADIRNAME=share
>         nls_cv_header_intl=intl/libintl.h
>         nls_cv_header_libgt=intl/libgettext.h
> +     fi
> +     if test -z "$nls_cv_header_intl"; then
> +       # Clean out junk possibly left behind by a previous configuration.
> +       rm -f intl/libintl.h
>       fi
>       AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl)
>       AC_OUTPUT_COMMANDS(

この部分はgettextのパッケージに含まれるgettext.m4に定義されている
内容なので、このパッチを基にgettext.m4を修正してやればOKです。
#それにしても、sh-utilsのmaintainerが使っているgettextのバージョンは
#いったい何だろう?

> p.s.
> 安部さんは automake 1.4a (CVSで取ってこれる最新版) を使って
> いますね。私もそうしようかな? (autocon/automake ともに最新版
> は CVS で取得済みです)

いや、automake-1.4です。


  A A
= . . =
   V
end
Ryuji Abe