To build abuild and use it in a Windows environment for make-based builds, certain pieces of the Cygwin environment are required. [6] Note that abuild is able to build with and be built by Visual C++ on Windows. It uses Cygwin only for its development tools. Cygwin is not required to run executables built by abuild in a Windows environment, including abuild itself. However, Cygwin is required to supply make and perl to abuild. The following parts of Cygwin are required:
autoconf |
automake |
make |
rebase |
diffutils |
Perl is required, but appears to be installed by default in recent Cygwin installations.
Note that rebaseall (from the rebase package) may need to be run
in order for fork
to work from perl with
certain modules. (Although abuild itself doesn't call
fork
from perl,
qtest, which is used for abuild's
test suite, does.)
Other modules may also be desirable. In particular,
libxml2
from the Text
section is required in order to run certain parts of abuild's
test suite, though the test suite will just issue a warning and
skip those tests without failing if it can't find
xmllint.
If you intend to use autoconf from Windows and you have Rational
Rose installed, you may need to create
/usr/bin/hostinfo
(inside of the Cygwin
environment) as
#!/bin/false
so that ./configure's running of hostinfo doesn't run hostinfo from Rational Rose.
In order to use Visual C++ with abuild, you must have your environment set up to invoke Visual C++ command line tools. This can be achieved by running the shortcut supplied with Visual Studio, or you can create a batch file on your own. The following batch file would enable you to run abuild from a Cygwin environment with the environment set up for running Visual C++ from Visual Studio 7.1 (.NET 2003):
@echo off call "%VS71COMNTOOLS%"\vsvars32.bat C:\cygwin\cygwin.bat
Adjust as needed if your Cygwin is installed other than in
C:\cygwin
or you have a different version of
Visual C++ installed.
In order to use qtest with abuild under Windows, the Cygwin version of Perl must be the first perl in your path.