Node:Generic Functions, Previous:Particular Functions, Up:Library Functions
These macros are used to find functions not covered by the "particular"
test macros.  If the functions might be in libraries other than the
default C library, first call AC_CHECK_LIB for those libraries. 
If you need to check the behavior of a function as well as find out
whether it is present, you have to write your own test for
it (see Writing Tests).
| AC_CHECK_FUNC (function, [action-if-found], [action-if-not-found]) | Macro | 
| If C function function is available, run shell commands
action-if-found, otherwise action-if-not-found.  If you just
want to define a symbol if the function is available, consider using AC_CHECK_FUNCSinstead.  This macro checks for functions with C
linkage even whenAC_LANG(C++)has been called, since C is more
standardized than C++.  (see Language Choice, for more information
about selecting the language for checks.) | 
| AC_CHECK_FUNCS (function..., [action-if-found], [action-if-not-found]) | Macro | 
| For each function in the whitespace-separated argument list,
define HAVE_function(in all capitals) if it is available. 
If action-if-found is given, it is additional shell code to
execute when one of the functions is found.  You can give it a value ofbreakto break out of the loop on the first match.  If
action-if-not-found is given, it is executed when one of the
functions is not found. | 
Autoconf follows a philosophy that was formed over the years by those who have struggled for portability: isolate the portability issues in specific files, and then program as if you were in a POSIX environment. Some functions may be missing or unfixable, and your package must be ready to replace them.
Use the first three of the following macros to specify a function to be
replaced, and the last one (AC_REPLACE_FUNCS) to check for and
replace the function if needed.
| AC_LIBOBJ (function) | Macro | 
| Specify that function.cmust be included in the executables
to replace a missing or broken implementation of function.Technically, it adds  | 
| AC_LIBSOURCE (file) | Macro | 
| Specify that file might be needed to compile the project.  If you
need to know what files might be needed by a configure.ac, you
should traceAC_LIBSOURCE.  file must be a literal.This macro is called automatically from  AC_LIBSOURCE(foo.c) AC_LIBSOURCE(bar.c) AC_LIBOBJ($foo_or_bar) There is usually a way to avoid this, however, and you are encouraged to
simply call  Note that this macro replaces the obsolete  | 
| AC_LIBSOURCES (files) | Macro | 
| Like AC_LIBSOURCE, but accepts one or more files in a
comma-separated M4 list.  Thus, the above example might be rewritten:AC_LIBSOURCES([foo.c, bar.c]) AC_LIBOBJ($foo_or_bar) | 
| AC_REPLACE_FUNCS (function...) | Macro | 
| Like AC_CHECK_FUNCS, but usesAC_LIBOBJ(function)as
action-if-not-found.  You can declare your replacement function by
enclosing the prototype in#if !HAVE_function.  If the
system has the function, it probably declares it in a header file you
should be including, so you shouldn't redeclare it lest your declaration
conflict. |