summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2022-01-19 05:11:17 -0500
committerMike Frysinger <vapier@gentoo.org>2022-01-24 22:09:17 -0500
commit6d0dde1f10685b91a5c412edf0c8e08f66e2c912 (patch)
tree3e6f195c4e5c62e9544b8c0d0697b2e74af5e2f2
parentcd995fe624f2efe9fa2ba0e8c8a89fa0f57d32bb (diff)
downloadautomake-6d0dde1f10685b91a5c412edf0c8e08f66e2c912.tar.gz
tests: add _AR override coverage
There were no tests for per-target _AR settings, so add some. * t/ar_override.sh: New test. * t/list-of-tests.mk: Add ar_override.sh.
-rw-r--r--t/ar_override.sh50
-rw-r--r--t/list-of-tests.mk1
2 files changed, 51 insertions, 0 deletions
diff --git a/t/ar_override.sh b/t/ar_override.sh
new file mode 100644
index 000000000..4f4024989
--- /dev/null
+++ b/t/ar_override.sh
@@ -0,0 +1,50 @@
+#! /bin/sh
+# Copyright (C) 2009-2022 Free Software Foundation, Inc.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+# Test to make sure _AR variables are detected and used as documented.
+
+. test-init.sh
+
+cat >> configure.ac << 'END'
+AC_PROG_CC
+AM_PROG_AR
+AC_PROG_RANLIB
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+EXTRA_LIBRARIES = libfoo.a libbar.a
+libfoo_a_SOURCES = foo.c
+libfoo_a_AR = $(AR)
+libbar_a_SOURCES = bar.c
+END
+
+$ACLOCAL
+$AUTOMAKE -a
+
+# We should use libfoo_a_AR not AR ARFLAGS.
+grep '.\$(libfoo_a_AR) *libfoo.a' Makefile.in
+grep '.\$(AR).*libfoo.a' Makefile.in && exit 1
+grep '.\$(ARFLAGS).*libfoo.a' Makefile.in && exit 1
+grep '^ *libfoo_a_AR *=.*\$(ARFLAGS)' Makefile.in && exit 1
+
+# We should use default AR ARFLAGS.
+grep '^ *libbar_a_AR *=.*\$(ARFLAGS)' Makefile.in
+
+# Silent make rules should use AM_V_AR.
+grep '.\$(AM_V_AR)\$(libbar_a_AR)' Makefile.in
+
+exit 0
diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk
index 305d8f063..57723b6be 100644
--- a/t/list-of-tests.mk
+++ b/t/list-of-tests.mk
@@ -160,6 +160,7 @@ t/ar2.sh \
t/ar3.sh \
t/ar4.sh \
t/ar5.sh \
+t/ar_override.sh \
t/asm.sh \
t/asm2.sh \
t/asm3.sh \