In some GNU/Linux distributions people started to compile 'ar'
binary with --enable-deterministic-archives (binutils project).
That, however, in combination with previous autotools long time
working default AR{_,}FLAGS=cru causes warnings on such
installations:
ar: `u' modifier ignored since `D' is the default (see `U')
The 'u' option (at least with GNU binutils) did small optimization
during repeated builds because it instructed 'ar' to not
open/close unchanged *.o files and to rather read their contents
from old archive file. However, its removal should not cause a
big performance hit for usual workflows.
Distributions started using --enable-deterministic-archives
knowing that it will disable the 'u', with the benefit of having
rather a bit more deterministic builds.
Also, to justify this change a bit more, keeping 'u' in ARFLAGS
could only result in many per-project changes to override
Automake's ARFLAGS default, just to silent such warnings.
* m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Set ARFLAGS='cr' if not
set already.
+2015-07-01 Pavel Raiskup <praiskup@redhat.com>
+
+ gnulib-common.m4: change the ARFLAGS default to 'cr'
+ In some GNU/Linux distributions people started to compile 'ar'
+ binary with --enable-deterministic-archives (binutils project).
+ That, however, in combination with previous autotools long time
+ working default AR{_,}FLAGS=cru causes warnings on such
+ installations:
+ ar: `u' modifier ignored since `D' is the default (see `U')
+ * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Set ARFLAGS='cr' if not
+ set already.
+
2015-07-01 Pavel Raiskup <praiskup@redhat.com>
selinux-h: avoid double free after *getfilecon()
dnl but prefer ${host}-ar over ar (useful for cross-compiling).
AC_CHECK_TOOL([AR], [ar], [ar])
if test -z "$ARFLAGS"; then
- ARFLAGS='cru'
+ ARFLAGS='cr'
fi
fi
else
if test -z "$ARFLAGS"; then
- ARFLAGS='cru'
+ ARFLAGS='cr'
fi
fi
AC_SUBST([AR])