./configure script outputs checking if and checking whether on execution

how the two results are different for checking conditions?

  • autoconf will by default create a configure script that says checking whether.... If a script says checking if ... then that's probably the developer's own words (there are 5 checking if when compiling bash for example, all from custom test macros). Are you referring to a specific project's configure script? – Kusalananda Apr 27 at 6:50
  • no, i see this very often in ./configure script outputs of many common project (when compiling their source) – guest Apr 27 at 6:59
  • oh, so it is a good identification (hint) for custom macros (as introduced by the developer - and not by autoconf - as it would always choose the whether keyword for checking any kinds of conditions, instead of the 'custom' if keyword)? – guest Apr 27 at 7:00
  • i initially thought whether may refer exclusively to boolean conditions (with two possible conditional values - true or false), and if is used for any other checks. – guest Apr 27 at 7:06

The configure script will most often use the wording checking whether because this is the default wording in the default autoconf macros.

If a project's configure script says checking if, then this means the same thing and is probably produced by a custom test macro that the developers have written themselves (or borrowed).

As an example, when configuring bash 5.0.7 on my machine, I get 44 checking whether and only 5 checking if. The checking if mostly come from custom test macros.

checking if the linker (/usr/bin/ld) is GNU ld... yes
checking if dup2 fails to clear the close-on-exec flag... no
checking if opendir() opens non-directories... no
checking if getcwd() will dynamically allocate memory with 0 size... yes
checking if signal handlers must be reinstalled when invoked... no

(the first one here is actually not a macro specific to bash, but it's still from the project's aclocal.m4 file)

In a project I'm maintaining for work, in which we mostly use default test macros and macros from the Autoconf Archive, there are no checking if at all, but 65 outputs of the other kind.

At the end of the day, there is no effective difference between the two, just as there is no real difference between them in spoken English.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.