In message <[EMAIL PROTECTED]>
          "John W. Eaton" <[EMAIL PROTECTED]> wrote:

> What is the right way to use autoconf to determine the compiler and
> system characteristics for tools that are written in C and must be run
> as part of a larger build that is cross compiled?
> 
> For example, Octave has some programs that are written in C++ that are
> compiled and run during the build process to generate some
> documentation.  Thse programs should not be compiled by the cross
> compiler tools, but by the normal build system tools so they will run
> on the build system (they are not needed on the host system).  This is
> a simple case because the programs are also simple, and don't rely on
> any OS-specific features.
> 
> In a more general case, I suppose you would also need to check
> features for the two systems (host and build) separately, and try to
> keep track of the results separately.
> 
> If necessary, I could put these tools in a separate directory with an
> independent configure script, but then what is the correct way to tell
> configure that it should ignore any setting of host and not set up for
> cross compiling?

This is the approach that I have taken:

AC_MSG_NOTICE([configuring the tools for *native* builds])
cd tools && \
./configure --build=$build_alias --host=$build_alias --target=$host_alias


There were no options I needed to pass down to the subdirectory, so this is a
gigantic hack - but it works enough for what I needed to do.  The key is to
base --host and --target on the build and host aliases respectively.

You could pass all the configure scripts parameters as long as you put those
in front of the explicit --build --host and --target parameters so that these
ones take precedence.

Another approach I have seen is software relying on a separate environment
variable to indicate the native C compiler to use.  Various names are used
for this CC_FOR_BUILD or BUILD_CC.

-- 
Stewart Brodie, Senior Software Engineer
Pace Micro Technology PLC
Cambridge, CB5 8PB, United Kingdom
http://www.pace.co.uk


Reply via email to