Go to the first, previous, next, last section, table of contents.


Using the System Type

How do you use a canonical system type? Usually, you use it in one or more case statements in `configure.in' to select system-specific C files. Then link those files, which have names based on the system name, to generic names, such as `host.h' or `target.c'. The case statement patterns can use shell wildcards to group several cases together, like in this fragment:

case "$target" in
i386-*-mach* | i386-*-gnu*) obj_format=aout emulation=mach bfd_gas=yes ;;
i960-*-bout) obj_format=bout ;;
esac

Macro: AC_LINK_FILES (source..., dest...)
Make AC_OUTPUT link each of the existing files source to the corresponding link name dest. Makes a symbolic link if possible, otherwise a hard link. The dest and source names should be relative to the top level source or build directory. This macro may be called multiple times.

For example, this call:

AC_LINK_FILES(config/${machine}.h config/${obj_format}.h, host.h object.h)

creates in the current directory `host.h', which is a link to `srcdir/config/${machine}.h', and `object.h', which is a link to `srcdir/config/${obj_format}.h'.

You can also use the host system type to find cross-compilation tools. See section Generic Program and File Checks, for information about the AC_CHECK_TOOL macro which does that.


Go to the first, previous, next, last section, table of contents.