From 58e396709d1e1cd70138cd136e2ba12262352ebb Mon Sep 17 00:00:00 2001
From: Marcin Wojtas <mw@semihalf.com>
Date: Fri, 12 Mar 2021 00:42:34 +0000
Subject: [PATCH] Use PKG_CONFIG

---
 configure | 62 +++++++++++++++++++++++++++----------------------------
 1 file changed, 31 insertions(+), 31 deletions(-)

diff --git a/configure b/configure
index aeb01db..5f7cdf3 100755
--- a/configure
+++ b/configure
@@ -664,7 +664,7 @@ LIBZ
 INSTALL_GZIP
 EGREP
 GREP
-PKGCONFIG
+PKG_CONFIG
 INSTALL
 SED
 RMDIR
@@ -3576,12 +3576,12 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PKGCONFIG+:} false; then :
+if ${ac_cv_path_PKG_CONFIG+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  case $PKGCONFIG in
+  case $PKG_CONFIG in
   [\\/]* | ?:[\\/]*)
-  ac_cv_path_PKGCONFIG="$PKGCONFIG" # Let the user override the test with a path.
+  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
   ;;
   *)
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -3591,7 +3591,7 @@ do
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
+    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -3602,10 +3602,10 @@ IFS=$as_save_IFS
   ;;
 esac
 fi
-PKGCONFIG=$ac_cv_path_PKGCONFIG
-if test -n "$PKGCONFIG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKGCONFIG" >&5
-$as_echo "$PKGCONFIG" >&6; }
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+if test -n "$PKG_CONFIG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
+$as_echo "$PKG_CONFIG" >&6; }
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
@@ -3613,18 +3613,18 @@ fi
 
 
 fi
-if test -z "$ac_cv_path_PKGCONFIG"; then
-  ac_pt_PKGCONFIG=$PKGCONFIG
+if test -z "$ac_cv_path_PKG_CONFIG"; then
+  ac_pt_PKG_CONFIG=$PKG_CONFIG
   # Extract the first word of "pkg-config", so it can be a program name with args.
 set dummy pkg-config; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_ac_pt_PKGCONFIG+:} false; then :
+if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  case $ac_pt_PKGCONFIG in
+  case $ac_pt_PKG_CONFIG in
   [\\/]* | ?:[\\/]*)
-  ac_cv_path_ac_pt_PKGCONFIG="$ac_pt_PKGCONFIG" # Let the user override the test with a path.
+  ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
   ;;
   *)
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -3634,7 +3634,7 @@ do
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_ac_pt_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
+    ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -3645,17 +3645,17 @@ IFS=$as_save_IFS
   ;;
 esac
 fi
-ac_pt_PKGCONFIG=$ac_cv_path_ac_pt_PKGCONFIG
-if test -n "$ac_pt_PKGCONFIG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKGCONFIG" >&5
-$as_echo "$ac_pt_PKGCONFIG" >&6; }
+ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+if test -n "$ac_pt_PKG_CONFIG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
+$as_echo "$ac_pt_PKG_CONFIG" >&6; }
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
 
-  if test "x$ac_pt_PKGCONFIG" = x; then
-    PKGCONFIG=""
+  if test "x$ac_pt_PKG_CONFIG" = x; then
+    PKG_CONFIG=""
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
@@ -3663,10 +3663,10 @@ yes:)
 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
-    PKGCONFIG=$ac_pt_PKGCONFIG
+    PKG_CONFIG=$ac_pt_PKG_CONFIG
   fi
 else
-  PKGCONFIG="$ac_cv_path_PKGCONFIG"
+  PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
 fi
 
 
@@ -6368,7 +6368,7 @@ fi
 	fi
     fi
 
-        if test $have_ssl = 0 -a "x$enable_gnutls" != "xno" -a "x$PKGCONFIG" != x; then
+        if test $have_ssl = 0 -a "x$enable_gnutls" != "xno" -a "x$PKG_CONFIG" != x; then
     	if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}libgnutls-config", so it can be a program name with args.
 set dummy ${ac_tool_prefix}libgnutls-config; ac_word=$2
@@ -6467,10 +6467,10 @@ else
   LIBGNUTLSCONFIG="$ac_cv_path_LIBGNUTLSCONFIG"
 fi
 
-	if $PKGCONFIG --exists gnutls; then
+	if $PKG_CONFIG --exists gnutls; then
 	    have_ssl=1
-	    SSLLIBS=`$PKGCONFIG --libs gnutls`
-	    SSLFLAGS=`$PKGCONFIG --cflags gnutls`
+	    SSLLIBS=`$PKG_CONFIG --libs gnutls`
+	    SSLFLAGS=`$PKG_CONFIG --cflags gnutls`
 	    $as_echo "#define HAVE_SSL 1" >>confdefs.h
 
 	    $as_echo "#define HAVE_GNUTLS 1" >>confdefs.h
@@ -6821,14 +6821,14 @@ IPPFIND_BIN=""
 IPPFIND_HTML=""
 IPPFIND_MAN=""
 
-if test "x$PKGCONFIG" != x -a x$enable_avahi != xno -a x$host_os_name != xdarwin; then
+if test "x$PKG_CONFIG" != x -a x$enable_avahi != xno -a x$host_os_name != xdarwin; then
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Avahi" >&5
 $as_echo_n "checking for Avahi... " >&6; }
-	if $PKGCONFIG --exists avahi-client; then
+	if $PKG_CONFIG --exists avahi-client; then
 		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-		CFLAGS="$CFLAGS `$PKGCONFIG --cflags avahi-client`"
-		DNSSDLIBS="`$PKGCONFIG --libs avahi-client`"
+		CFLAGS="$CFLAGS `$PKG_CONFIG --cflags avahi-client`"
+		DNSSDLIBS="`$PKG_CONFIG --libs avahi-client`"
 		IPPFIND_BIN="ippfind"
 		IPPFIND_HTML="ippfind.html"
 		IPPFIND_MAN="ippfind.1"
-- 
2.31.0.rc2.261.g7f71774620-goog

