Previous: AM_XGETTEXT_OPTION, Up: autoconf macros [Contents][Index]
AM_ICONV
マクロは、Cライブラリー(またはiconv
ライブラリーに分離された)POSIX/XSI
iconv
関数が提供されているかテストするマクロです。もし見つかったときはam_cv_func_iconv
変数に‘yes’をセットし、autoconfが生成する設定ファイル(通常はconfig.hというファイル)のHAVE_ICONV
に1を定義し、iconv()
の2番目の引数の型が‘const
char **’または‘char
**’で定義さされているかにより、ICONV_CONST
に‘const’または空を定義し、Makefileの中で使用されるリンカーオプションの変数LIBICONV
およびLTLIBICONV
をセット(LIBICONV
はlibtoolなしのとき、LTLIBICONV
はlibtoolありのとき)、必要ならCPPFLAGS
のオプションに‘-I’を追加します。見つからなかったときは、LIBICONV
およびLTLIBICONV
に空をセットして、CPPFLAGS
を変更しません。
AM_ICONV
が対処する複雑さは、以下のようなものです:
iconv
のあるオペレーティングシステムとしては、たとえばglibcがあり、ライブラリーlibiconv
に分割されているシステムには、たとえばOSF/1、FreeBSDがあります。種類の如何にかかわらず、GNU
libiconv
がインストールされたオペレーティングシステムの場合、オペレーティングシステムのネイティブのiconv
のかわりに使用されます。
libiconv
がインストールされていて、検索パス(インクルードファイルの検索パス
CPPFLAGS
、ライブラリーの検索パスLDFLAGS
)にあるが、必要ない場合。
libiconv
は、いくつかのオペレーティングシステムのネイティブのiconv
にたいしてバイナリーの非互換があります(例:
FreeBSD)。適合していないiconv.hおよびlibiconv.soの使用は、プログラムのクラッシュを招きます。
libiconv
がインストールされていて、実行時ライブラリーの検索パスにあるが、必要ない場合。LD_LIBRARY_PATH
のような環境変数による設定を無視するために、このマクロは適切なランタイムのサーチパスオプションを、変数LIBICONV
に追加します。これはほとんどシステムで動作しますが、SCOのように共有ライブラリーに制限のあるいくつかのオペレーティングシステムではうまく動作しません。
gettext.m4が依存しているので、iconv.m4はGNU gettextの一部として配布されます。