2013-01-06 5 views
6

ifの代わりにAS_IFを使用することを推奨しますが、m4_ifは言及していません。 AS_IFm4_ifよりも優先されるべきですか?autoconf:ifとm4_ifには常にAS_IFを使用する必要がありますか?

マニュアルの"Limitations of Builtins"セクションには、可搬性のためにAS_IFを使用すると記載されていますが、AC_REQUIRE descriptionはそれを使用して必要なマクロを展開すると言います。

私はいつもAS_IFを使用する必要がありますか?答えは「はい」と思われますが、もう一度ifm4_ifが他のマクロで使用されています。いつAS_IFを使用しないのは大丈夫ですか?

答えて

2

if/AS_IFm4_ifの基本的な違いがわからないため、私はこれについて混乱しました。通常のifAS_IFは、ユーザーがスクリプトを実行したときに評価されます。つまり、configureです。逆に、m4_ifは、マクロ展開中に条件付きで評価されます。つまり、autoreconfです。

if/AS_IFは、スクリプトのフローに影響します。 m4_ifはスクリプトの内容に影響します。

これは明らかですが、最初はそれを得られませんでした。うまくいけば、これは他の誰かを助けるでしょう

+0

あなた自身の答えBTWを受け入れることができます。 –

+1

これは 'if'と' AS_IF'をいつ使うべきかを言いません。 –

+0

私はコンセンサスがいつも 'if'よりも' AS_IF'を使うことが望ましいと思います。 – tprk77

2

AS_IFのもう1つの利点は、展開時に、ブランチ内のマクロで必要とされるマクロがテスト前に展開されることです。

the manualを参照してください。

関連する問題