From 3b51da05ef42ecf59b78a6c29664d3e555bc57da Mon Sep 17 00:00:00 2001
From: Maksym Mamontov <madf@madf.info>
Date: Tue, 26 May 2020 18:15:15 +0300
Subject: [PATCH] Allow user-defined 'ar' and 'ranlib'.

---
 projects/libs/build         | 30 ++++++++++++++++++++++++++++++
 projects/rlm_stg/build      | 32 ++++++++++++++++++++++++++++++++
 projects/rscriptd/build     | 30 ++++++++++++++++++++++++++++++
 projects/sgauth/build       | 30 ++++++++++++++++++++++++++++++
 projects/sgauthstress/build | 30 ++++++++++++++++++++++++++++++
 projects/sgconf/build       | 30 ++++++++++++++++++++++++++++++
 projects/sgconf_xml/build   | 30 ++++++++++++++++++++++++++++++
 projects/sgconv/build       | 30 ++++++++++++++++++++++++++++++
 projects/stargazer/build    | 30 ++++++++++++++++++++++++++++++
 stglibs/Makefile.in         |  6 +++---
 10 files changed, 275 insertions(+), 3 deletions(-)

diff --git a/projects/libs/build b/projects/libs/build
index 53e3b533..61664a59 100755
--- a/projects/libs/build
+++ b/projects/libs/build
@@ -122,6 +122,16 @@ then
     CXX=g++
 fi
 
+if [ -z "$AR" ]
+then
+    AR=ar
+fi
+
+if [ -z "$RANLIB" ]
+then
+    RANLIB=ranlib
+fi
+
 printf "Checking CC... "
 $CC --version > /dev/null 2> /dev/null
 if [ $? != 0 ]
@@ -140,6 +150,24 @@ then
     exit;
 fi
 printf "found\n"
+printf "Checking AR... "
+$AR --version > /dev/null 2> /dev/null
+if [ $? != 0 ]
+then
+    printf "FAIL!\n"
+    printf "$AR not found\n"
+    exit;
+fi
+printf "found\n"
+printf "Checking RANLIB... "
+$RANLIB --version > /dev/null 2> /dev/null
+if [ $? != 0 ]
+then
+    printf "FAIL!\n"
+    printf "$RANLIB not found\n"
+    exit;
+fi
+printf "found\n"
 
 printf "Checking endianess... "
 printf "int main() { int probe = 0x00000001; return *(char *)&probe; }\n" > build_check.c
@@ -271,6 +299,8 @@ done
 printf "\n" >> $CONFFILE
 printf "CC=$CC\n" >> $CONFFILE
 printf "CXX=$CXX\n" >> $CONFFILE
+printf "AR=$AR\n" >> $CONFFILE
+printf "RANLIB=$RANLIB\n" >> $CONFFILE
 printf "CXXFLAGS=$CXXFLAGS\n" >> $CONFFILE
 printf "CFLAGS=$CFLAGS\n" >> $CONFFILE
 printf "LDFLAGS=$LDFLAGS\n" >> $CONFFILE
diff --git a/projects/rlm_stg/build b/projects/rlm_stg/build
index 179d5261..4fe02d2f 100755
--- a/projects/rlm_stg/build
+++ b/projects/rlm_stg/build
@@ -94,6 +94,16 @@ then
     CXX=g++
 fi
 
+if [ -z "$AR" ]
+then
+    AR=ar
+fi
+
+if [ -z "$RANLIB" ]
+then
+    RANLIB=ranlib
+fi
+
 printf "Checking CC... "
 $CC --version > /dev/null 2> /dev/null
 if [ $? != 0 ]
@@ -112,6 +122,24 @@ then
     exit;
 fi
 printf "found\n"
+printf "Checking AR... "
+$AR --version > /dev/null 2> /dev/null
+if [ $? != 0 ]
+then
+    printf "FAIL!\n"
+    printf "$AR not found\n"
+    exit;
+fi
+printf "found\n"
+printf "Checking RANLIB... "
+$RANLIB --version > /dev/null 2> /dev/null
+if [ $? != 0 ]
+then
+    printf "FAIL!\n"
+    printf "$RANLIB not found\n"
+    exit;
+fi
+printf "found\n"
 
 printf "Checking endianess... "
 printf "int main() { int probe = 0x00000001; return *(char *)&probe; }\n" > build_check.c
@@ -165,6 +193,10 @@ do
     printf "$lib " >> $CONFFILE
 done
 printf "\n" >> $CONFFILE
+printf "CC=$CC\n" >> $CONFFILE
+printf "CXX=$CXX\n" >> $CONFFILE
+printf "AR=$AR\n" >> $CONFFILE
+printf "RANLIB=$RANLIB\n" >> $CONFFILE
 printf "CXXFLAGS=$CXXFLAGS\n" >> $CONFFILE
 printf "CFLAGS=$CFLAGS\n" >> $CONFFILE
 printf "LDFLAGS=$LDFLAGS\n" >> $CONFFILE
diff --git a/projects/rscriptd/build b/projects/rscriptd/build
index 8c12e527..227b1bca 100755
--- a/projects/rscriptd/build
+++ b/projects/rscriptd/build
@@ -112,6 +112,16 @@ then
     CXX=g++
 fi
 
+if [ -z "$AR" ]
+then
+    AR=ar
+fi
+
+if [ -z "$RANLIB" ]
+then
+    RANLIB=ranlib
+fi
+
 printf "Checking CC... "
 $CC --version > /dev/null 2> /dev/null
 if [ $? != 0 ]
@@ -130,6 +140,24 @@ then
     exit;
 fi
 printf "found\n"
+printf "Checking AR... "
+$AR --version > /dev/null 2> /dev/null
+if [ $? != 0 ]
+then
+    printf "FAIL!\n"
+    printf "$AR not found\n"
+    exit;
+fi
+printf "found\n"
+printf "Checking RANLIB... "
+$RANLIB --version > /dev/null 2> /dev/null
+if [ $? != 0 ]
+then
+    printf "FAIL!\n"
+    printf "$RANLIB not found\n"
+    exit;
+fi
+printf "found\n"
 
 printf "Checking endianess... "
 printf "int main() { int probe = 0x00000001; return *(char *)&probe; }\n" > build_check.c
@@ -188,6 +216,8 @@ printf "\n" >> $CONFFILE
 printf "LIB_THREAD=$LIB_THREAD\n" >> $CONFFILE
 printf "CC=$CC\n" >> $CONFFILE
 printf "CXX=$CXX\n" >> $CONFFILE
+printf "AR=$AR\n" >> $CONFFILE
+printf "RANLIB=$RANLIB\n" >> $CONFFILE
 printf "CXXFLAGS=$CXXFLAGS\n" >> $CONFFILE
 printf "CFLAGS=$CFLAGS\n" >> $CONFFILE
 printf "LDFLAGS=$LDFLAGS\n" >> $CONFFILE
diff --git a/projects/sgauth/build b/projects/sgauth/build
index 3e5833fc..1c153d6b 100755
--- a/projects/sgauth/build
+++ b/projects/sgauth/build
@@ -114,6 +114,16 @@ then
     CXX=g++
 fi
 
+if [ -z "$AR" ]
+then
+    AR=ar
+fi
+
+if [ -z "$RANLIB" ]
+then
+    RANLIB=ranlib
+fi
+
 printf "Checking CC... "
 $CC --version > /dev/null 2> /dev/null
 if [ $? != 0 ]
@@ -132,6 +142,24 @@ then
     exit;
 fi
 printf "found\n"
+printf "Checking AR... "
+$AR --version > /dev/null 2> /dev/null
+if [ $? != 0 ]
+then
+    printf "FAIL!\n"
+    printf "$AR not found\n"
+    exit;
+fi
+printf "found\n"
+printf "Checking RANLIB... "
+$RANLIB --version > /dev/null 2> /dev/null
+if [ $? != 0 ]
+then
+    printf "FAIL!\n"
+    printf "$RANLIB not found\n"
+    exit;
+fi
+printf "found\n"
 
 printf "Checking endianess... "
 printf "int main() { int probe = 0x00000001; return *(char *)&probe; }\n" > build_check.c
@@ -190,6 +218,8 @@ printf "\n" >> $CONFFILE
 printf "LIB_THREAD=$LIB_THREAD\n" >> $CONFFILE
 printf "CC=$CC\n" >> $CONFFILE
 printf "CXX=$CXX\n" >> $CONFFILE
+printf "AR=$AR\n" >> $CONFFILE
+printf "RANLIB=$RANLIB\n" >> $CONFFILE
 printf "CXXFLAGS=$CXXFLAGS\n" >> $CONFFILE
 printf "CFLAGS=$CFLAGS\n" >> $CONFFILE
 printf "LDFLAGS=$LDFLAGS\n" >> $CONFFILE
diff --git a/projects/sgauthstress/build b/projects/sgauthstress/build
index 125061d9..128e98ea 100755
--- a/projects/sgauthstress/build
+++ b/projects/sgauthstress/build
@@ -118,6 +118,16 @@ then
     CXX=g++
 fi
 
+if [ -z "$AR" ]
+then
+    AR=ar
+fi
+
+if [ -z "$RANLIB" ]
+then
+    RANLIB=ranlib
+fi
+
 printf "Checking CC... "
 $CC --version > /dev/null 2> /dev/null
 if [ $? != 0 ]
@@ -136,6 +146,24 @@ then
     exit;
 fi
 printf "found\n"
+printf "Checking AR... "
+$AR --version > /dev/null 2> /dev/null
+if [ $? != 0 ]
+then
+    printf "FAIL!\n"
+    printf "$AR not found\n"
+    exit;
+fi
+printf "found\n"
+printf "Checking RANLIB... "
+$RANLIB --version > /dev/null 2> /dev/null
+if [ $? != 0 ]
+then
+    printf "FAIL!\n"
+    printf "$RANLIB not found\n"
+    exit;
+fi
+printf "found\n"
 
 printf "Checking endianess... "
 printf "int main() { int probe = 0x00000001; return *(char *)&probe; }\n" > build_check.c
@@ -363,6 +391,8 @@ printf "\n" >> $CONFFILE
 printf "LIB_THREAD=$LIB_THREAD\n" >> $CONFFILE
 printf "CC=$CC\n" >> $CONFFILE
 printf "CXX=$CXX\n" >> $CONFFILE
+printf "AR=$AR\n" >> $CONFFILE
+printf "RANLIB=$RANLIB\n" >> $CONFFILE
 printf "CXXFLAGS=$CXXFLAGS\n" >> $CONFFILE
 printf "CFLAGS=$CFLAGS\n" >> $CONFFILE
 printf "LDFLAGS=$LDFLAGS\n" >> $CONFFILE
diff --git a/projects/sgconf/build b/projects/sgconf/build
index 559f53c5..50c9a117 100755
--- a/projects/sgconf/build
+++ b/projects/sgconf/build
@@ -111,6 +111,16 @@ then
     CXX=g++
 fi
 
+if [ -z "$AR" ]
+then
+    AR=ar
+fi
+
+if [ -z "$RANLIB" ]
+then
+    RANLIB=ranlib
+fi
+
 printf "Checking CC... "
 $CC --version > /dev/null 2> /dev/null
 if [ $? != 0 ]
@@ -129,6 +139,24 @@ then
     exit;
 fi
 printf "found\n"
+printf "Checking AR... "
+$AR --version > /dev/null 2> /dev/null
+if [ $? != 0 ]
+then
+    printf "FAIL!\n"
+    printf "$AR not found\n"
+    exit;
+fi
+printf "found\n"
+printf "Checking RANLIB... "
+$RANLIB --version > /dev/null 2> /dev/null
+if [ $? != 0 ]
+then
+    printf "FAIL!\n"
+    printf "$RANLIB not found\n"
+    exit;
+fi
+printf "found\n"
 
 printf "Checking endianess... "
 printf "int main() { int probe = 0x00000001; return *(char *)&probe; }\n" > build_check.c
@@ -207,6 +235,8 @@ printf "\n" >> $CONFFILE
 printf "LIB_THREAD=$LIB_THREAD\n" >> $CONFFILE
 printf "CC=$CC\n" >> $CONFFILE
 printf "CXX=$CXX\n" >> $CONFFILE
+printf "AR=$AR\n" >> $CONFFILE
+printf "RANLIB=$RANLIB\n" >> $CONFFILE
 printf "CXXFLAGS=$CXXFLAGS\n" >> $CONFFILE
 printf "CFLAGS=$CFLAGS\n" >> $CONFFILE
 printf "LDFLAGS=$LDFLAGS\n" >> $CONFFILE
diff --git a/projects/sgconf_xml/build b/projects/sgconf_xml/build
index eb782f9f..c0d17f8b 100755
--- a/projects/sgconf_xml/build
+++ b/projects/sgconf_xml/build
@@ -111,6 +111,16 @@ then
     CXX=g++
 fi
 
+if [ -z "$AR" ]
+then
+    AR=ar
+fi
+
+if [ -z "$RANLIB" ]
+then
+    RANLIB=ranlib
+fi
+
 printf "Checking CC... "
 $CC --version > /dev/null 2> /dev/null
 if [ $? != 0 ]
@@ -129,6 +139,24 @@ then
     exit;
 fi
 printf "found\n"
+printf "Checking AR... "
+$AR --version > /dev/null 2> /dev/null
+if [ $? != 0 ]
+then
+    printf "FAIL!\n"
+    printf "$AR not found\n"
+    exit;
+fi
+printf "found\n"
+printf "Checking RANLIB... "
+$RANLIB --version > /dev/null 2> /dev/null
+if [ $? != 0 ]
+then
+    printf "FAIL!\n"
+    printf "$RANLIB not found\n"
+    exit;
+fi
+printf "found\n"
 
 printf "Checking endianess... "
 printf "int main() { int probe = 0x00000001; return *(char *)&probe; }\n" > build_check.c
@@ -207,6 +235,8 @@ printf "\n" >> $CONFFILE
 printf "LIB_THREAD=$LIB_THREAD\n" >> $CONFFILE
 printf "CC=$CC\n" >> $CONFFILE
 printf "CXX=$CXX\n" >> $CONFFILE
+printf "AR=$AR\n" >> $CONFFILE
+printf "RANLIB=$RANLIB\n" >> $CONFFILE
 printf "CXXFLAGS=$CXXFLAGS\n" >> $CONFFILE
 printf "CFLAGS=$CFLAGS\n" >> $CONFFILE
 printf "LDFLAGS=$LDFLAGS\n" >> $CONFFILE
diff --git a/projects/sgconv/build b/projects/sgconv/build
index 3eb6e033..60705252 100755
--- a/projects/sgconv/build
+++ b/projects/sgconv/build
@@ -116,6 +116,16 @@ then
     CXX=g++
 fi
 
+if [ -z "$AR" ]
+then
+    AR=ar
+fi
+
+if [ -z "$RANLIB" ]
+then
+    RANLIB=ranlib
+fi
+
 printf "Checking CC... "
 $CC --version > /dev/null 2> /dev/null
 if [ $? != 0 ]
@@ -134,6 +144,24 @@ then
     exit;
 fi
 printf "found\n"
+printf "Checking AR... "
+$AR --version > /dev/null 2> /dev/null
+if [ $? != 0 ]
+then
+    printf "FAIL!\n"
+    printf "$AR not found\n"
+    exit;
+fi
+printf "found\n"
+printf "Checking RANLIB... "
+$RANLIB --version > /dev/null 2> /dev/null
+if [ $? != 0 ]
+then
+    printf "FAIL!\n"
+    printf "$RANLIB not found\n"
+    exit;
+fi
+printf "found\n"
 
 printf "Checking endianess... "
 printf "int main() { int probe = 0x00000001; return *(char *)&probe; }\n" > build_check.c
@@ -359,6 +387,8 @@ done
 printf "\n" >> $CONFFILE
 printf "CC=$CC\n" >> $CONFFILE
 printf "CXX=$CXX\n" >> $CONFFILE
+printf "AR=$AR\n" >> $CONFFILE
+printf "RANLIB=$RANLIB\n" >> $CONFFILE
 printf "CXXFLAGS=$CXXFLAGS\n" >> $CONFFILE
 printf "CFLAGS=$CFLAGS\n" >> $CONFFILE
 printf "LDFLAGS=$LDFLAGS\n" >> $CONFFILE
diff --git a/projects/stargazer/build b/projects/stargazer/build
index f54e5ffb..86246c3d 100755
--- a/projects/stargazer/build
+++ b/projects/stargazer/build
@@ -152,6 +152,16 @@ then
     CXX=g++
 fi
 
+if [ -z "$AR" ]
+then
+    AR=ar
+fi
+
+if [ -z "$RANLIB" ]
+then
+    RANLIB=ranlib
+fi
+
 printf "Checking CC... "
 $CC --version > /dev/null 2> /dev/null
 if [ $? != 0 ]
@@ -170,6 +180,24 @@ then
     exit;
 fi
 printf "found\n"
+printf "Checking AR... "
+$AR --version > /dev/null 2> /dev/null
+if [ $? != 0 ]
+then
+    printf "FAIL!\n"
+    printf "$AR not found\n"
+    exit;
+fi
+printf "found\n"
+printf "Checking RANLIB... "
+$RANLIB --version > /dev/null 2> /dev/null
+if [ $? != 0 ]
+then
+    printf "FAIL!\n"
+    printf "$RANLIB not found\n"
+    exit;
+fi
+printf "found\n"
 
 printf "Checking endianess... "
 printf "int main() { int probe = 0x00000001; return *(char *)&probe; }\n" > build_check.c
@@ -539,6 +567,8 @@ done
 printf "\n" >> $CONFFILE
 printf "CC=$CC\n" >> $CONFFILE
 printf "CXX=$CXX\n" >> $CONFFILE
+printf "AR=$AR\n" >> $CONFFILE
+printf "RANLIB=$RANLIB\n" >> $CONFFILE
 printf "CXXFLAGS=$CXXFLAGS\n" >> $CONFFILE
 printf "CFLAGS=$CFLAGS\n" >> $CONFFILE
 printf "LDFLAGS=$LDFLAGS\n" >> $CONFFILE
diff --git a/stglibs/Makefile.in b/stglibs/Makefile.in
index 11dfcfb1..a378f489 100644
--- a/stglibs/Makefile.in
+++ b/stglibs/Makefile.in
@@ -28,11 +28,11 @@ CFLAGS += -fPIC $(SEARCH_DIRS) $(DEFS)
 all: $(PROG)
 
 $(PROG): $(OBJS)
-	ar rc lib$(LIB_NAME).a $(OBJS)
-	ranlib lib$(LIB_NAME).a
+	$(AR) rc lib$(LIB_NAME).a $(OBJS)
+	$(RANLIB) lib$(LIB_NAME).a
 
 clean:
-	rm -f deps $(PROG) *.o *.a *.so tags *.*~ 
+	rm -f deps $(PROG) *.o *.a *.so tags *.*~
 
 install: $(PROG)
 ifeq ($(DEBUG), yes)
-- 
2.44.2