Subject: Re: Compiling apps to Mingw32 with cygwin
From: "Robert Collins" <[email-masked]>
To: <[email-masked]>
Cc: <[email-masked]>
Date: Fri, 11 Jan 2002 08:43:41 +1100

----- Original Message -----
From: "Jon Leichter" <[email-masked]>

I hope I don't repeat anything from this thread, I've only been scanning
it lightly.

..
> obvious to me that unless you're building a project with a configure
script
> built by an up-to-date version of autoconf, none of what you have
suggested
> will work. Note that the approach I suggested will work in either
case, WITH
> THE POSSIBLE EXCEPTION (as you have stated) that one runs into trouble
> if --build and --target are not specified as well.

Autoconf 2.13 supports these options - so the configure script doesn't
need to be *that* up to date.

However, the script needs
AC_CANONICAL_BUILD
AC_CANONICAL_HOST
(and if the package generates platform specific output (ie it's an
assembler/compiler etc)
AC_CANONICAL_TARGET
in the configure.in. You may need to add the relevant macros and run
autoconf again.

As for --build, it is automatically detected as long as
AC_CANONICAL_BUILD is in the script. You may get a warning
==
configure: WARNING: If you wanted to set the --build type, don't
use --host.
    If a cross compiler is detected then cross compile mode will be
used.
==
This warning is safe IFF you have a cross compiler.

> This spawns another associated topic. What are the right values for
the
> triplets (in CURRENT autoconf)? If you're building MinGW binaries in a
> Cygwin-hosted environment, it seems to me that you should ONLY
> specify --target=i686-pc-mingw32 and let the other two switches
resolve

No. Specify --host. The meaning is clearly documented in the autoconf
documentation.
For clarity:
build - what OS the compilation is running on..
host  - what OS the binaries created should run on.
target - what OS the binaries created should target their output to.

> Note that I have tried to only use the --target switch in my projects,
> opposed to the --host switch. However, in OpenLDAP and the other
related
> projects, NONE of the configure scripts handle these switches
correctly. I
> found that using --host was the best solution for these projects.

--target being the wrong switch, I'm not surprised it didn't do what you
wanted :}.

Rob

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/