Node:Test Programs, Next:Guidelines, Up:Run Time
Use the following macro if you need to test run-time behavior of the system while configuring.
AC_TRY_RUN (program, [action-if-true], [action-if-false], [action-if-cross-compiling]) | Macro |
If program compiles and links successfully and returns an exit
status of 0 when executed, run shell commands action-if-true.
Otherwise, run shell commands action-if-false.
This macro double quotes program, the text of a program in the
current language (see Language Choice), on which shell variable and
back quote substitutions are performed. This macro uses If the C compiler being used does not produce executables that run on
the system where In the action-if-false section, the exit status of the program is
available in the shell variable |
Try to provide a pessimistic default value to use when cross-compiling
makes run-time tests impossible. You do this by passing the optional
last argument to AC_TRY_RUN
. autoconf
prints a warning
message when creating configure
each time it encounters a call to
AC_TRY_RUN
with no action-if-cross-compiling argument
given. You may ignore the warning, though users will not be able to
configure your package for cross-compiling. A few of the macros
distributed with Autoconf produce this warning message.
To configure for cross-compiling you can also choose a value for those parameters based on the canonical system name (see Manual Configuration). Alternatively, set up a test results cache file with the correct values for the host system (see Caching Results).
To provide a default for calls of AC_TRY_RUN
that are embedded in
other macros, including a few of the ones that come with Autoconf, you
can call AC_PROG_CC
before running them. Then, if the shell
variable cross_compiling
is set to yes
, use an alternate
method to get the results instead of calling the macros.