Autoconf Archiveからマクロをダウンロードしましたが、使いたいです。このマクロを使用するには、configure.acファイルに何を入力する必要がありますか?
AC_CONFIG_MACRO_DIRをconfigure.ac
のマクロがあるディレクトリに追加することをお勧めします。
AC_CONFIG_MACRO_DIR([path/to/macros])
このファイルのどこかでマクロを呼び出す必要もあります。
Makefile.am
では、おそらくACLOCAL_AMFLAGSを設定する必要があります(automakeを使用している場合)。
ACLOCAL_AMFLAGS = -I path/to/macros
次に、autoreconf -fvi
を呼び出すと、設定が完了します。
まったく同じ質問があり、思ったより答えを見つけるのが大変でした。 AC_CONFIG_MACRO_DIR
が欲しかったように見えましたが、libtoolizeを使用していない場合は、現在AC_CONFIG_MACRO_DIR
は役に立たないようです。
Automakeを使用している場合、上記の答えは正しいと思います。
私はautomakeを使用していないので、私が見つけた唯一の方法は、m4_include
マクロを使用して各.m4ファイルを個別に取り込むことです。私はここでこのアプローチを見つけました:
http://www.flameeyes.eu/autotools-mythbuster/autoconf/macros.html
お役に立てれば。 (autoconfがどのくらいの期間使用されているかを考えると、.acファイルでディレクトリを指定するだけの組み込みの方法がないことに少し戸惑います。それは非常に一般的なユースケースのようです。ああ、そうですね。)
Idav1sのソリューション(絶対に正しい)の代わりに、aclocal
がマクロを見つける場所にマクロをインストールできます(_aclocal --print
_を使用してaclocal
が探している場所を確認します_.m4
_ファイルの場合)。それぞれのアプローチには長所と短所があります。 $(aclocal --print)
に_.m4
_ファイルをインストールすると、何もしなくてもすべてのプロジェクトでマクロを使用できます。主な欠点は、プロジェクトに取り組む各開発者がボックスにマクロをインストールする必要があり、各開発者がautotoolsを合理的に理解している必要があることです。
私にもこの問題があり、修正したばかりです。私の環境は次のとおりです:CentOS 6.4、M4 1.4.17、autoconf 2.69、libtool 2.4、automake 1.14
これが私が使用したステップです。
add m4 as AC_CONFIG_MACRO_DIR to your configure.ac
rm aclocal.m4 if it exists
mkdir m4 if it does not exist
# copy some dummy files into the folder
# or some versions of autoconf won't work
autoreconf -i --install
M4マクロを特定のディレクトリに保存し、-I
オプションを指定してautoreconf
を実行するだけでは不十分です。
autoreconf -i -I/path/to/your/m4/file
それとも、私はあなたを誤解していて、autoreconf
を実行している人がm4ファイルのダウンロードについて心配することなく、それを永続的に統合したいですか?