On 2023-01-10 4:25 AM, Richard Palethorpe wrote:
AC_PROG_CC
-# <= autoconf 2.61 doesn't have AC_PROG_AR, but 2.63 has it. Not sure about
-# 2.62.
+# autoconf >= v2.72a
This reads like we need the def for autoconf => v2.72a. How about
You're right. I probably thought this is defined since v2.72a,
thus not needed.
Please don't use 'v2.72a' in any commentary or tests. That version
doesn't exist yet and may never exist; if it does, it will be a
short-lived beta test release of v2.72 that we don't want people to
depend on.
(Autoconf uses a very old version numbering convention in which beta
tests for release X.Y are labeled X.Ya, X.Yb, X.Yc, etc.)
Officially, AC_PROG_AR will be available as of version 2.72, and that's
what you should reference in commentary.
> Also it looks like that redefinition is not a problem thus
> not wrapping with m4_ifndef([AC_PROG_AR].
Autoconf will let you do that, but it's bad practice. What if version
2.73 makes AC_PROG_AR expand to something other than
AC_CHECK_TOOL(AR, ar, :) ? You'd be overwriting whatever bug fix that was.
I suggest something like
# AC_PROG_AR was added in autoconf 2.72.
m4_ifndef([AC_PROG_AR],
[AC_DEFUN([AC_PROG_AR], [AC_CHECK_TOOL(AR, ar, :)])])
> NOTE: missing 'ar' don't fail configure (isn't the check useless
> then?)
We don't know what you need `ar` for; it might not be appropriate to
fail the build if it's missing. You can do
AC_PROG_AR
AS_IF([test x$AR = x:],
[AC_MSG_FAILURE([no usable "ar" program detected])])
if you want to fail the build.
zw