The autoconf manual suggest using AS_IF instead of if, but it doesn’t mention m4_if. Should AS_IF also be preferred over m4_if?
The “Limitations of Builtins” section of the manual says to use AS_IF for it’s portability, but the AC_REQUIRE description says to use it to expand required macros.
Should I always use AS_IF? The answer seems to be yes, but then again I see if and m4_if being used in other macros. When is it ok not to use AS_IF?
I was confused about this because I didn’t realize the fundamental difference between
if/AS_IFandm4_if. The normalifandAS_IFhave their conditionals evaluated when the user runs the script, i.e.configure. Conversely,m4_ifhas its conditional evaluated during macro expansion, i.e.autoreconf.if/AS_IFaffects the flow of the script.m4_ifaffects the contents of the script.This seems obvious now, but I didn’t get it at first. Hopefully this helps someone else.