私は元の質問を誤解していると思いますが、私の他の回答はそれ自体が間違っているので、別の回答を追加します。 AC_CHECK_*
内
CFLAGS_backup="${CFLAGS}"
LDFLAGS_backup="${LDFLAGS}"
CFLAGS="-I/path/to/an/additional/include/ ${CFLAGS}"
LDFLAGS="-L/path/to/the/lib/ ${LDFLAGS}"
AC_CHECK_HEADER(...)
AC_CHECK_LIB(...)
## reset CFLAGS and LDFLAGS
CFLAGS="${CFLAGS_backup}"
LDFLAGS="${LDFLAGS_backup}"
あなたは、通常の変数としてGETTEXT_CFLAGS
またはLIBINTL_LIBS
を設定し、使用するためにそれらをエクスポートしたい:AC_CHECK_HEADER
とAC_CHECK_LIBS
1でカスタムパスを使用するためには
は(一時的に)応じCFLAGS
とLDFLAGS
を設定する必要がありますそれぞれ、AC_SUBST([GETTEXT_CFLAGS])
およびAC_SUBST([LIBINTL_LIBS])
ごとにオートバイで。
残念ながら、configure.acのAM_CFLAGS
またはAM_LDFLAGS
にアクセスすることはできません。
今、あなたは便宜上
AM_CFLAGS = $(GETTEXT_CFLAGS) <other stuff>
AM_LDFLAGS = $(GETTEXT_LIBS) <other stuff>
を使用することができますMakefile.am
で、一般的に、あなたはどちらかAC_ARG_WITH
かAC_ARG_VAR
を経由して、だけでなく、ユーザにパラメータを公開したいので、彼らは一緒に--with-gettext
またはLIBINTL_LIBS=...
を使用することができますconfigureコマンドを実行します。
「autoconf」と表示されているのは、本当にm4だけです。これは、上記のマクロを自分でラップすることができます。ここでgettextについて話しているのを見ると、既にそのようなことがあります:、gettextize
を呼び出した後にconfigure.acで使用できるm4マクロ。
例を挙げることはできますか?通常、ユーザは、非標準ライブラリの場所に './configure CFLAGS = -I/path/to/gettext/include LDFLAGS = -L/path/to/gettext/lib'のようなものを使用します。 AC_CHECK_HEADERS'と 'AC_CHECK_LIB'マクロを正しく呼び出すことができます。たとえば、[この回答](https://stackoverflow.com/a/10210401/539810)を参照してください。 –
@ChronoKitsune私は、これを行うための環境変数を渡すことが最善の方法かもしれないと認識していますが、私は、非標準的なライブラリの場所をコードに追加する方法を期待していました。 – klmanion