autoconf: 1998-12-28 Jeff Garzik <jgarzik@pobox.com>

https://github.com/libsdl-org/autoconf/commit/ecaa587bef7a0847b5c402bb38448cc30c6b798b

From ecaa587bef7a0847b5c402bb38448cc30c6b798b Mon Sep 17 00:00:00 2001
From: Ben Elliston <[EMAIL REDACTED]>
Date: Thu, 31 Dec 1998 20:10:51 +0000
Subject: [PATCH] 1998-12-28  Jeff Garzik  <jgarzik@pobox.com> 	*
 autoconf.texi: 	  (AC_SEARCH_LIBS, AC_CHECK_FILE, AC_CHECK_FILES, 
    AC_TRY_LINK_FUNC): Document. 	  (AC_CHECK_LIB): Indicate the absence
 of 		action-if-not-found will not kill default action. 	 
 (AC_SYS_INTERPRETER): Alphabetize with rest of section, 	
 s/ac_cv_sys_interpreter/interpval/ 	* acgeneral.m4: 	 
 (AC_TRY_LINK_FUNC): Fix arg transposition. 	  (AC_SEARCH_LIBS): Require
 autoconf 2.13, add other-libs arg, 		default action now similar to
 AC_CHECK_LIB, returns 		'searchval' shell var indicating which lib
 matched. 	  (AC_CHECK_FILES): Add underscore to HAVE_file define. 
 * acspecific.m4: 	  (AC_SYS_INTERPRETER): New shell var 'interpval'
 stores 		internal var ac_cv_sys_interpreter.

---
 ChangeLog                | 21 +++++++++++
 acgeneral.m4             | 31 ++++++++++++----
 acspecific.m4            |  1 +
 autoconf.texi            | 79 ++++++++++++++++++++++++++++++++++------
 doc/autoconf.texi        | 79 ++++++++++++++++++++++++++++++++++------
 lib/autoconf/general.m4  | 31 ++++++++++++----
 lib/autoconf/specific.m4 |  1 +
 7 files changed, 203 insertions(+), 40 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index a65fb247..ef9a12a2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,27 @@
 	* acspecific.m4 (AC_PROG_CXX_WORKS): Specify an explicit return
 	type for `main' to keep modern C++ compilers happy.
 
+1998-12-28  Jeff Garzik  <jgarzik@pobox.com>
+
+	* autoconf.texi:
+	  (AC_SEARCH_LIBS, AC_CHECK_FILE, AC_CHECK_FILES,
+	   AC_TRY_LINK_FUNC): Document.
+	  (AC_CHECK_LIB): Indicate the absence of
+	  	action-if-not-found will not kill default action.
+	  (AC_SYS_INTERPRETER): Alphabetize with rest of section,
+	  	s/ac_cv_sys_interpreter/interpval/
+
+	* acgeneral.m4:
+	  (AC_TRY_LINK_FUNC): Fix arg transposition.
+	  (AC_SEARCH_LIBS): Require autoconf 2.13, add other-libs arg,
+	  	default action now similar to AC_CHECK_LIB, returns
+		'searchval' shell var indicating which lib matched.
+	  (AC_CHECK_FILES): Add underscore to HAVE_file define.
+
+	* acspecific.m4:
+	  (AC_SYS_INTERPRETER): New shell var 'interpval' stores
+	  	internal var ac_cv_sys_interpreter.
+
 1998-12-27  Ben Elliston  <bje@cygnus.com>
 
 	* autoconf.texi (AC_PROG_INSTALL): Update.
diff --git a/acgeneral.m4 b/acgeneral.m4
index 6a69aa5b..b951a118 100644
--- a/acgeneral.m4
+++ b/acgeneral.m4
@@ -1534,7 +1534,7 @@ dnl ACTION-IF-NOT-FOUND.
 
 AC_DEFUN(AC_TRY_LINK_FUNC,
 AC_TRY_LINK(dnl
-ifelse([$2], [main], , dnl Avoid conflicting decl of main.
+ifelse([$1], [main], , dnl Avoid conflicting decl of main.
 [/* Override any gcc2 internal prototype to avoid an error.  */
 ]ifelse(AC_LANG, CPLUSPLUS, [#ifdef __cplusplus
 extern "C"
@@ -1549,26 +1549,41 @@ char $1();
 [$3]))
 
 
-dnl AC_SEARCH_LIBS(func, searchlibs, [action-if-found], [action-if-not-found])
+dnl AC_SEARCH_LIBS(FUNCTION, SEARCH-LIBS [, ACTION-IF-FOUND
+dnl		[, ACTION-IF-NOT-FOUND [, OTHER-LIBRARIES]]])
 dnl Search for a library defining FUNC, if it's not already available.
 
 AC_DEFUN(AC_SEARCH_LIBS,
-[AC_PREREQ([2.12])
+[AC_PREREQ([2.13])
 AC_CACHE_CHECK([for library containing $1], [ac_cv_search_$1],
 [ac_func_search_save_LIBS="$LIBS"
 ac_cv_search_$1="no"
 AC_TRY_LINK_FUNC([$1], [ac_cv_search_$1="none required"])
 test "$ac_cv_search_$1" = "no" && for i in $2; do
-LIBS="-l$i $ac_func_search_save_LIBS"
+LIBS="-l$i $5 $ac_func_search_save_LIBS"
 AC_TRY_LINK_FUNC([$1],
-[ac_cv_search_$1="-l$i"
+[ac_cv_search_$1="$i"
 break])
 done
 LIBS="$ac_func_search_save_LIBS"])
 if test "$ac_cv_search_$1" != "no"; then
-  test "$ac_cv_search_$1" = "none required" || LIBS="$ac_cv_search_$1 $LIBS"
-  $3
+  if test "$ac_cv_search_$1" = "none required"; then
+    searchval="NONE"
+    $3
+  else
+    searchval="$ac_cv_search_$1"
+    ifelse([$3], , 
+      [changequote(, )dnl
+      ac_tr_lib=HAVE_LIB`echo $ac_cv_search_$1 | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+           -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+      changequote([, ])dnl
+      AC_DEFINE_UNQUOTED($ac_tr_lib)
+      LIBS="-l$ac_cv_search_$1 $LIBS",
+      [$3])
+
+  fi
 else :
+  searchval=
   $4
 fi])
 
@@ -1905,7 +1920,7 @@ AC_DEFUN(AC_CHECK_FILES,
 do
 AC_CHECK_FILE($ac_file,
 [changequote(, )dnl
-  ac_tr_file=HAVE`echo $ac_file | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+  ac_tr_file=HAVE_`echo $ac_file | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
 changequote([, ])dnl
   AC_DEFINE_UNQUOTED($ac_tr_file) $2], $3)dnl
 done
diff --git a/acspecific.m4 b/acspecific.m4
index 0b9aab74..5c6f1c9e 100644
--- a/acspecific.m4
+++ b/acspecific.m4
@@ -2225,6 +2225,7 @@ else
    ac_cv_sys_interpreter=no
 fi
 rm -f conftest])
+interpval="$ac_cv_sys_interpreter"
 ])
 
 define(AC_HAVE_POUNDBANG,
diff --git a/autoconf.texi b/autoconf.texi
index 5152a0f1..e4e62cd2 100644
--- a/autoconf.texi
+++ b/autoconf.texi
@@ -1828,11 +1828,10 @@ name of the library; e.g., to check for @samp{-lmp}, use @samp{mp} as
 the @var{library} argument.
 
 @var{action-if-found} is a list of shell commands to run if the link
-with the library succeeds; @var{action-if-not-found} is a list of shell
-commands to run if the link fails.  If @var{action-if-found} and
-@var{action-if-not-found} are not specified, the default action is to
-add @samp{-l@var{library}} to @code{LIBS} and define
-@samp{HAVE_LIB@var{library}} (in all capitals).
+with the library succeeds; @var{action-if-not-found} is a list of
+shell commands to run if the link fails.  If @var{action-if-found} is
+not specified, the default action will add @samp{-l@var{library}} to
+@code{LIBS} and define @samp{HAVE_LIB@var{library}} (in all capitals).
 
 If linking with @var{library} results in unresolved symbols, which would
 be resolved by linking with additional libraries, give those libraries
@@ -1852,6 +1851,30 @@ all of those cases, the compiler is passed @samp{-lfoo}.  However,
 This macro is considered obsolete.
 @end defmac
 
+@defmac AC_SEARCH_LIBS (@var{function}, @var{search-libs} @r{[}, @var{action-if-found} @r{[}, @var{action-if-not-found} @r{[}, @var{other-libraries}@r{]]]})
+@maindex SEARCH_LIBS
+Search for a library defining @var{function}, if it's not already
+available.  This equates to calling @code{AC_TRY_LINK_FUNC} first
+with no libraries, then for each library listed in @var{search-libs}.
+
+@var{action-if-found} is a list of shell commands to run if any
+link with a library succeeds; @var{action-if-not-found} is a list of
+shell commands to run if the link fails.  If @var{action-if-found}
+is not specified, the default action will add a matching
+value from @var{search-libs} if any to @code{LIBS}, and define
+@samp{HAVE_LIB@var{library}} (in all capitals).  Additionally, if
+the link succeeds, shell variable @code{searchval} will contain the
+matching library, or the string @code{NONE} if linking succeeded
+without a library.
+
+If linking with @var{library} results in unresolved symbols, which would
+be resolved by linking with additional libraries, give those libraries
+as the @var{other-libraries} argument, separated by spaces: @samp{-lXt
+-lX11}.  Otherwise this macro will fail to detect that @var{function} is
+present, because linking the test program will always fail with
+unresolved symbols.
+@end defmac
+
 @node Library Functions, Header Files, Libraries, Existing Tests
 @section Library Functions
 
@@ -2743,13 +2766,26 @@ libraries.
 
 The following macros check for operating system services or capabilities.
 
-@defmac AC_SYS_INTERPRETER
-@maindex SYS_INTERPRETER
-Check whether the system supports starting scripts with a line of the
-form @samp{#! /bin/csh} to select the interpreter to use for the script.
-After running this macro, shell code in @code{configure.in} can check
-the variable @code{ac_cv_sys_interpreter}; it will be set to @samp{yes}
-if the system supports @samp{#!}, @samp{no} if not.
+
+@defmac AC_CHECK_FILE (@var{file}, @r{[}, @var{action-if-found} @r{[}, @var{action-if-not-found}@r{]]})
+@maindex CHECK_FILE
+Checks for the existence of @var{file} in the native file system.
+This macro will generate a fatal error if cross-compiling.
+
+If the file is found and readable, run shell commands
+@var{action-if-found}, otherwise run @var{action-if-not-found}.
+@end defmac
+
+@defmac AC_CHECK_FILES (@var{files}, @r{[}, @var{action-if-found} @r{[}, @var{action-if-not-found}@r{]]})
+@maindex CHECK_FILES
+Checks for the existence of @var{files} in the native file system.
+This is equivalent to running @code{AC_CHECK_FILE} for each file
+in @var{files}.  This macro will generate a fatal error if
+cross-compiling.
+
+For each readable file found, run shell commands @var{action-if-found}
+and define @samp{HAVE_@var{file}} (in all capitals), otherwise run
+@var{action-if-not-found}.
 @end defmac
 
 @defmac AC_PATH_X
@@ -2793,6 +2829,15 @@ found to the output variable @code{X_PRE_LIBS}.
 @c @code{LIBS} temporarily, like this:
 @end defmac
 
+@defmac AC_SYS_INTERPRETER
+@maindex SYS_INTERPRETER
+Check whether the system supports starting scripts with a line of the
+form @samp{#! /bin/csh} to select the interpreter to use for the script.
+After running this macro, shell code in @code{configure.in} can check
+the variable @code{ac_cv_sys_interpreter}; it will be set to @samp{yes}
+if the system supports @samp{#!}, @samp{no} if not.
+@end defmac
+
 @defmac AC_SYS_LONG_FILE_NAMES
 @maindex SYS_LONG_FILE_NAMES
 @cvindex HAVE_LONG_FILE_NAMES
@@ -3051,6 +3096,16 @@ If the file compiles and links successfully, run shell commands
 @var{action-if-found}, otherwise run @var{action-if-not-found}.
 @end defmac
 
+@defmac AC_TRY_LINK_FUNC (@var{function}, @r{[}@var{action-if-found} @r{[}, @var{action-if-not-found}@r{]]})
+@maindex TRY_LINK_FUNC
+Depending on the current language (@pxref{Language Choice}), create a
+test program to see whether a program whose body consists of
+a prototype of and a call to @var{function} can be compiled and linked.
+
+If the file compiles and links successfully, run shell commands
+@var{action-if-found}, otherwise run @var{action-if-not-found}.
+@end defmac
+
 @defmac AC_COMPILE_CHECK (@var{echo-text}, @var{includes}, @var{function-body}, @var{action-if-found} @r{[}, @var{action-if-not-found}@r{]})
 @maindex COMPILE_CHECK
 This is an obsolete version of @code{AC_TRY_LINK}, with the addition
diff --git a/doc/autoconf.texi b/doc/autoconf.texi
index 5152a0f1..e4e62cd2 100644
--- a/doc/autoconf.texi
+++ b/doc/autoconf.texi
@@ -1828,11 +1828,10 @@ name of the library; e.g., to check for @samp{-lmp}, use @samp{mp} as
 the @var{library} argument.
 
 @var{action-if-found} is a list of shell commands to run if the link
-with the library succeeds; @var{action-if-not-found} is a list of shell
-commands to run if the link fails.  If @var{action-if-found} and
-@var{action-if-not-found} are not specified, the default action is to
-add @samp{-l@var{library}} to @code{LIBS} and define
-@samp{HAVE_LIB@var{library}} (in all capitals).
+with the library succeeds; @var{action-if-not-found} is a list of
+shell commands to run if the link fails.  If @var{action-if-found} is
+not specified, the default action will add @samp{-l@var{library}} to
+@code{LIBS} and define @samp{HAVE_LIB@var{library}} (in all capitals).
 
 If linking with @var{library} results in unresolved symbols, which would
 be resolved by linking with additional libraries, give those libraries
@@ -1852,6 +1851,30 @@ all of those cases, the compiler is passed @samp{-lfoo}.  However,
 This macro is considered obsolete.
 @end defmac
 
+@defmac AC_SEARCH_LIBS (@var{function}, @var{search-libs} @r{[}, @var{action-if-found} @r{[}, @var{action-if-not-found} @r{[}, @var{other-libraries}@r{]]]})
+@maindex SEARCH_LIBS
+Search for a library defining @var{function}, if it's not already
+available.  This equates to calling @code{AC_TRY_LINK_FUNC} first
+with no libraries, then for each library listed in @var{search-libs}.
+
+@var{action-if-found} is a list of shell commands to run if any
+link with a library succeeds; @var{action-if-not-found} is a list of
+shell commands to run if the link fails.  If @var{action-if-found}
+is not specified, the default action will add a matching
+value from @var{search-libs} if any to @code{LIBS}, and define
+@samp{HAVE_LIB@var{library}} (in all capitals).  Additionally, if
+the link succeeds, shell variable @code{searchval} will contain the
+matching library, or the string @code{NONE} if linking succeeded
+without a library.
+
+If linking with @var{library} results in unresolved symbols, which would
+be resolved by linking with additional libraries, give those libraries
+as the @var{other-libraries} argument, separated by spaces: @samp{-lXt
+-lX11}.  Otherwise this macro will fail to detect that @var{function} is
+present, because linking the test program will always fail with
+unresolved symbols.
+@end defmac
+
 @node Library Functions, Header Files, Libraries, Existing Tests
 @section Library Functions
 
@@ -2743,13 +2766,26 @@ libraries.
 
 The following macros check for operating system services or capabilities.
 
-@defmac AC_SYS_INTERPRETER
-@maindex SYS_INTERPRETER
-Check whether the system supports starting scripts with a line of the
-form @samp{#! /bin/csh} to select the interpreter to use for the script.
-After running this macro, shell code in @code{configure.in} can check
-the variable @code{ac_cv_sys_interpreter}; it will be set to @samp{yes}
-if the system supports @samp{#!}, @samp{no} if not.
+
+@defmac AC_CHECK_FILE (@var{file}, @r{[}, @var{action-if-found} @r{[}, @var{action-if-not-found}@r{]]})
+@maindex CHECK_FILE
+Checks for the existence of @var{file} in the native file system.
+This macro will generate a fatal error if cross-compiling.
+
+If the file is found and readable, run shell commands
+@var{action-if-found}, otherwise run @var{action-if-not-found}.
+@end defmac
+
+@defmac AC_CHECK_FILES (@var{files}, @r{[}, @var{action-if-found} @r{[}, @var{action-if-not-found}@r{]]})
+@maindex CHECK_FILES
+Checks for the existence of @var{files} in the native file system.
+This is equivalent to running @code{AC_CHECK_FILE} for each file
+in @var{files}.  This macro will generate a fatal error if
+cross-compiling.
+
+For each readable file found, run shell commands @var{action-if-found}
+and define @samp{HAVE_@var{file}} (in all capitals), otherwise run
+@var{action-if-not-found}.
 @end defmac
 
 @defmac AC_PATH_X
@@ -2793,6 +2829,15 @@ found to the output variable @code{X_PRE_LIBS}.
 @c @code{LIBS} temporarily, like this:
 @end defmac
 
+@defmac AC_SYS_INTERPRETER
+@maindex SYS_INTERPRETER
+Check whether the system supports starting scripts with a line of the
+form @samp{#! /bin/csh} to select the interpreter to use for the script.
+After running this macro, shell code in @code{configure.in} can check
+the variable @code{ac_cv_sys_interpreter}; it will be set to @samp{yes}
+if the system supports @samp{#!}, @samp{no} if not.
+@end defmac
+
 @defmac AC_SYS_LONG_FILE_NAMES
 @maindex SYS_LONG_FILE_NAMES
 @cvindex HAVE_LONG_FILE_NAMES
@@ -3051,6 +3096,16 @@ If the file compiles and links successfully, run shell commands
 @var{action-if-found}, otherwise run @var{action-if-not-found}.
 @end defmac
 
+@defmac AC_TRY_LINK_FUNC (@var{function}, @r{[}@var{action-if-found} @r{[}, @var{action-if-not-found}@r{]]})
+@maindex TRY_LINK_FUNC
+Depending on the current language (@pxref{Language Choice}), create a
+test program to see whether a program whose body consists of
+a prototype of and a call to @var{function} can be compiled and linked.
+
+If the file compiles and links successfully, run shell commands
+@var{action-if-found}, otherwise run @var{action-if-not-found}.
+@end defmac
+
 @defmac AC_COMPILE_CHECK (@var{echo-text}, @var{includes}, @var{function-body}, @var{action-if-found} @r{[}, @var{action-if-not-found}@r{]})
 @maindex COMPILE_CHECK
 This is an obsolete version of @code{AC_TRY_LINK}, with the addition
diff --git a/lib/autoconf/general.m4 b/lib/autoconf/general.m4
index 6a69aa5b..b951a118 100644
--- a/lib/autoconf/general.m4
+++ b/lib/autoconf/general.m4
@@ -1534,7 +1534,7 @@ dnl ACTION-IF-NOT-FOUND.
 
 AC_DEFUN(AC_TRY_LINK_FUNC,
 AC_TRY_LINK(dnl
-ifelse([$2], [main], , dnl Avoid conflicting decl of main.
+ifelse([$1], [main], , dnl Avoid conflicting decl of main.
 [/* Override any gcc2 internal prototype to avoid an error.  */
 ]ifelse(AC_LANG, CPLUSPLUS, [#ifdef __cplusplus
 extern "C"
@@ -1549,26 +1549,41 @@ char $1();
 [$3]))
 
 
-dnl AC_SEARCH_LIBS(func, searchlibs, [action-if-found], [action-if-not-found])
+dnl AC_SEARCH_LIBS(FUNCTION, SEARCH-LIBS [, ACTION-IF-FOUND
+dnl		[, ACTION-IF-NOT-FOUND [, OTHER-LIBRARIES]]])
 dnl Search for a library defining FUNC, if it's not already available.
 
 AC_DEFUN(AC_SEARCH_LIBS,
-[AC_PREREQ([2.12])
+[AC_PREREQ([2.13])
 AC_CACHE_CHECK([for library containing $1], [ac_cv_search_$1],
 [ac_func_search_save_LIBS="$LIBS"
 ac_cv_search_$1="no"
 AC_TRY_LINK_FUNC([$1], [ac_cv_search_$1="none required"])
 test "$ac_cv_search_$1" = "no" && for i in $2; do
-LIBS="-l$i $ac_func_search_save_LIBS"
+LIBS="-l$i $5 $ac_func_search_save_LIBS"
 AC_TRY_LINK_FUNC([$1],
-[ac_cv_search_$1="-l$i"
+[ac_cv_search_$1="$i"
 break])
 done
 LIBS="$ac_func_search_save_LIBS"])
 if test "$ac_cv_search_$1" != "no"; then
-  test "$ac_cv_search_$1" = "none required" || LIBS="$ac_cv_search_$1 $LIBS"
-  $3
+  if test "$ac_cv_search_$1" = "none required"; then
+    searchval="NONE"
+    $3
+  else
+    searchval="$ac_cv_search_$1"
+    ifelse([$3], , 
+      [changequote(, )dnl
+      ac_tr_lib=HAVE_LIB`echo $ac_cv_search_$1 | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+           -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+      changequote([, ])dnl
+      AC_DEFINE_UNQUOTED($ac_tr_lib)
+      LIBS="-l$ac_cv_search_$1 $LIBS",
+      [$3])
+
+  fi
 else :
+  searchval=
   $4
 fi])
 
@@ -1905,7 +1920,7 @@ AC_DEFUN(AC_CHECK_FILES,
 do
 AC_CHECK_FILE($ac_file,
 [changequote(, )dnl
-  ac_tr_file=HAVE`echo $ac_file | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+  ac_tr_file=HAVE_`echo $ac_file | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
 changequote([, ])dnl
   AC_DEFINE_UNQUOTED($ac_tr_file) $2], $3)dnl
 done
diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4
index 0b9aab74..5c6f1c9e 100644
--- a/lib/autoconf/specific.m4
+++ b/lib/autoconf/specific.m4
@@ -2225,6 +2225,7 @@ else
    ac_cv_sys_interpreter=no
 fi
 rm -f conftest])
+interpval="$ac_cv_sys_interpreter"
 ])
 
 define(AC_HAVE_POUNDBANG,