autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: autoconf in pure MSVC environment?


From: Lars J. Aas
Subject: Re: autoconf in pure MSVC environment?
Date: Tue, 7 Sep 2004 11:27:22 +0200
User-agent: Mutt/1.5.6i

Alexandre Duret-Lutz <address@hidden> wrote:
: On Mon, Sep 06, 2004 at 09:15:15PM -0700, Brandon J. Van Every wrote:
: > How do I set up autoconf on Windows *without* any Cygwin or Mingw
: > compilers or header files?  I only want a native MSVC environment, with
: > typical mainstream Windows SDKs.  I don't want any UNIX environment at
: > all, except what autoconf itself must have to run.  i.e. a shell, get m4
: > working.
: 
: I seem to recall Lars J. Aas worked on a set of shell script wrappers
: to masquerade MSVC as a Unix compiler, so it can be used with MSVC.

*Zzzzz* what, what? Hmm? Hey, that's me.. :)

Yes, we have done a lot of weird stuff with Autoconf on Windows for our
Coin-related projects (www.coin3d.org).

First we created a Bourne shell wrapper for cl.exe/link.exe that would
accept gcc-like compiler arguments.  We later rewrote it to C++, and
a couple of people have also successfully used this wrapper with the
Intel compiler in Cygwin.  Unfortunately, we don't have the final link
command down, so we always make custom link rules for our libs and
executables with Automake (custom rules in Makefile.am).  We have also
intended to have bcc.exe (Borland) supported through a similar wrapper,
but never got around to it, and the number of requests for this might
be <1 per year - but it surfaces once in a long while.

The sh->C++ rewrite was a considerable speedup, but still the users of
this system complained about it being slow.  It *is* slow.  Disabling
dependency tracking so you don't get the depcomp wrapper invoked all the
time helps a great deal too, but still - make under Cygwin is terribly
slow compared to building MSVC++ projects.

Our next brainchild was therefore a new "compiler wrapper" that didn't
compile the project, but instead created a Visual Studio project from its
invokations during the Cygwin make process.  You can now just run
"./configure --enable-msvcdsp && make" and wait for the dsp to be created
and then do all your work from the MSVC++ IDE.  Our Win32-users have
never been happier, except that they still have to install some Unix
environment to get the dsp generated in the first place.
We did it this way because autogenerating the dsp project from the
Automake setup causes the project build setup to always come from one
source and always be in sync, and the Visual Studio projects are
automatically configured the way you run configure, conditional sources
and all...

This setup we are very happy with.  The only thing is that I should have
loved to do a sh->C++ rewrite on this as well, and update the wrapper to
actually understand the dsp format so it could read in the project,
manipulate it and save it again instead of working in "clean, stupid,
append mode" as I like to call it.

: (Note you don't need a working autoconf to run ./configure.)

No, you need just a very basic Cygwin installation.
The shell, text-utils, bin-utils, sh-utils, sed, or a similar list.

  Lars J




reply via email to

[Prev in Thread] Current Thread [Next in Thread]