blob: 68108a16fc3cec7d0f1dbb6b5f8f90af04f6bec5 [file] [log] [blame]
From 9ce4e2e190cd382407eb3029b7127e378a7c9627 Mon Sep 17 00:00:00 2001
From: Adrian Ratiu <adrian.ratiu@collabora.com>
Date: Mon, 17 Jan 2022 10:49:58 +0200
Subject: [PATCH] configure: fix AR/RANLIB/NM detection
Taken from zlib-devel ML:
https://madler.net/pipermail/zlib-devel_madler.net/2022-January/003322.html
Bug: https://bugs.gentoo.org/831628
Scenarios where ${CROSS_PREFIX}ar & co are set but not desired
are possible, for example in ChromiumOS we use the GNU binutils
tools & GCC to build glibc but LLVM/Clang is used for the rest
of the system.
This allows $AR/$RANLIB/$NM to override default CROSS_PREFIX
tools so they can be set to llvm-ar/ranlib/nm.
Suggested-by: Manoj Gupta <manojgupta@chromium.org>
Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com>
---
configure | 38 ++++++++++++++++++++++----------------
1 file changed, 22 insertions(+), 16 deletions(-)
diff --git a/configure b/configure
index e974d1f..180cf09 100755
--- a/configure
+++ b/configure
@@ -46,25 +46,31 @@ VER2=`sed -n -e '/VERSION "/s/.*"\([0-9]*\\.[0-9]*\)\\..*/\1/p' < ${SRCDIR}zlib.
VER1=`sed -n -e '/VERSION "/s/.*"\([0-9]*\)\\..*/\1/p' < ${SRCDIR}zlib.h`
# establish commands for library building
-if "${CROSS_PREFIX}ar" --version >/dev/null 2>/dev/null || test $? -lt 126; then
- AR=${AR-"${CROSS_PREFIX}ar"}
- test -n "${CROSS_PREFIX}" && echo Using ${AR} | tee -a configure.log
-else
- AR=${AR-"ar"}
- test -n "${CROSS_PREFIX}" && echo Using ${AR} | tee -a configure.log
+if [ -z "AR" ] ; then
+ if "${CROSS_PREFIX}ar" --version >/dev/null 2>/dev/null || test $? -lt 126; then
+ AR=${AR-"${CROSS_PREFIX}ar"}
+ test -n "${CROSS_PREFIX}" && echo Using ${AR} | tee -a configure.log
+ else
+ AR="ar"
+ test -n "${CROSS_PREFIX}" && echo Using ${AR} | tee -a configure.log
+ fi
fi
ARFLAGS=${ARFLAGS-"rc"}
-if "${CROSS_PREFIX}ranlib" --version >/dev/null 2>/dev/null || test $? -lt 126; then
- RANLIB=${RANLIB-"${CROSS_PREFIX}ranlib"}
- test -n "${CROSS_PREFIX}" && echo Using ${RANLIB} | tee -a configure.log
-else
- RANLIB=${RANLIB-"ranlib"}
+if [ -z "RANLIB" ] ; then
+ if "${CROSS_PREFIX}ranlib" --version >/dev/null 2>/dev/null || test $? -lt 126; then
+ RANLIB=${RANLIB-"${CROSS_PREFIX}ranlib"}
+ test -n "${CROSS_PREFIX}" && echo Using ${RANLIB} | tee -a configure.log
+ else
+ RANLIB="ranlib"
+ fi
fi
-if "${CROSS_PREFIX}nm" --version >/dev/null 2>/dev/null || test $? -lt 126; then
- NM=${NM-"${CROSS_PREFIX}nm"}
- test -n "${CROSS_PREFIX}" && echo Using ${NM} | tee -a configure.log
-else
- NM=${NM-"nm"}
+if [ -z "$NM" ] ; then
+ if "${CROSS_PREFIX}nm" --version >/dev/null 2>/dev/null || test $? -lt 126; then
+ NM=${"${CROSS_PREFIX}nm"}
+ test -n "${CROSS_PREFIX}" && echo Using ${NM} | tee -a configure.log
+ else
+ NM="nm"
+ fi
fi
# set defaults before processing command line options
--
2.34.1