Fall back on busybox awk

* lib/autoconf/programs.m4 (AC_PROG_AWK):
Fall back 'busybox awk' of none of the other awks work.
This commit is contained in:
Paul Eggert 2025-04-20 10:36:19 -07:00
parent 3d79cd9ff4
commit fa76d00401
3 changed files with 12 additions and 5 deletions

2
NEWS
View File

@ -28,6 +28,8 @@ GNU Autoconf NEWS - User visible changes.
The autom4te, autoscan and ifnames programs now recognize the two
preprocessor directives, which were introduced in C23 and C++23.
*** AC_PROG_AWK now also checks for busybox awk.
*** AC_USE_SYSTEM_EXTENSIONS now defines _COSMO_SOURCE for Cosmopolitan Libc.
** Notable bug fixes

View File

@ -4162,14 +4162,19 @@ otherwise to @samp{:} (do nothing).
@acindex{PROG_AWK}
@ovindex AWK
@caindex prog_AWK
Check for @code{gawk}, @code{mawk}, @code{nawk}, and @code{awk}, in that
Check for the commands @command{gawk}, @command{mawk},
@command{nawk}, @command{awk}, and @code{busybox awk}, in that
order, and set output variable @code{AWK} to the first one that is found.
It tries @code{gawk} first because that is reported to be the
Try @code{gawk} first because that is reported to be the
best implementation. The result can be overridden by setting the
variable @code{AWK} or the cache variable @code{ac_cv_prog_AWK}.
Using this macro is sufficient to avoid the pitfalls of traditional
@command{awk} (@pxref{awk, , Limitations of Usual Tools}).
Using this macro avoids some pitfalls of older systems that have both
traditional @command{awk} (@pxref{awk, , Limitations of Usual Tools})
and better alternatives like @command{gawk}.
It also can help port to stripped-down systems that have only
@code{busybox awk}, although these systems could well have problems
with other build components that use plain @command{awk}.
@end defmac
@defmac AC_PROG_GREP

View File

@ -357,7 +357,7 @@ AN_PROGRAM([gawk], [AC_PROG_AWK])
AN_PROGRAM([mawk], [AC_PROG_AWK])
AN_PROGRAM([nawk], [AC_PROG_AWK])
AC_DEFUN([AC_PROG_AWK],
[AC_CHECK_PROGS(AWK, gawk mawk nawk awk, )])
[AC_CHECK_PROGS([AWK], [gawk mawk nawk awk 'busybox awk'])])
# AC_PROG_EGREP