| Marketplace
|
 |
|
6.4.1 Running Test Programs
Use the following macro if you need to test run-time behavior of the
system while configuring.
- Macro: AC_TRY_RUN (program, [action-if-true], [action-if-false], [action-if-cross-compiling])
-
program is the text of a C program, on which shell variable and
back quote substitutions are performed. If it 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; the exit status of the program is available in
the shell variable `$?'. This macro uses
CFLAGS or
CXXFLAGS, CPPFLAGS, LDFLAGS, and LIBS when
compiling.
If the C compiler being used does not produce executables that run on
the system where configure is being run, then the test program is
not run. If the optional shell commands action-if-cross-compiling
are given, they are run instead. Otherwise, configure prints
an error message and exits.
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 section 11. Manual Configuration). Alternatively, set up a test results cache file with
the correct values for the host system (see section 7.3 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.
|
 |