#
# Copyright 2006.  VMware, Inc.  The use of this code is subject to 
# your agreement to the terms of an applicable VMware license.
#
VixPerl

INSTALLATION

The generic process for installing this module is the following:

$ tar xvf vix-perl.tar
$ cd vix-perl
$ perl Makefile.PL
$ make
$ make install

The above procedure works for Linux, assuming your perl installation
is correct.  Most distributions have all tools installed and correctly
configured by default.  Note that Vix needs to be installed already.

For Windows, you will need a perl installation, a way to uncompress 
tar archives (most zip programs will do so) and a C build environment.  
Most likely, your build environment is an install of Visual Studio - 
if you have another build environment (e.g. cygwin, or independently 
downloaded build tools), your build process will be different.

If you are using Visual Studio, start a Visual Studio build shell 
(Visual Studio installs a small script that starts a shell with 
all appropriate environment variables defined) and follow this 
procedure:

> (decompress vix-perl.tar)
> perl Makefile.PL
> nmake
> nmake install

Because this module is distributed as source, you can specify your
own arguments at any of these steps (e.g. optimization or debugging 
flags, override install directories).

There are several other ways to build; see the perl document 
perlmodinstall for more ideas.
http://perldoc.perl.org/perlmodinstall.html


Perl Version Note:
This package has been tested against perl 5.8.1 on Linux, 5.6.1, 5.8.0
and 5.10.0 on Windows.  No advanced perl features are present, so
this package should work with older versions of perl - but has not
been tested at all against anything before 5.6.0.

--------------

Visual Studio 2005 Note
When using Visual Studio 2005 and ActivePerl 5.8, perl.exe may complain
about MSVCR80.dll not being found.  This is due to ActivePerl using an older version of the MSVCR library.

A workaround is to install a manifest file to get perl to find the library.
Here are the contents of a perl.exe.manifest (located in the same place
as perl.exe) that made it work:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity version="5.8.0.802" processorArchitecture="x86" name="+perl" type="win32"/>
  <description>ActivePerl</description>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50727.42" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b" language="*"/>
    </dependentAssembly>
  </dependency>
</assembly>

Note that the 'version' values in the two assemlyIdentity fields may need
to be changed to match the actual versions of the perl.exe and MSVCR80.dll.

See http://www.perlmonks.org/?displaytype=print;node_id=510773;replies=1
for more details.

TROUBLESHOOTING
---------------
On Windows, if the 'perl Makefile.PL' stage gives warnings about missing
libraries, be sure that step is done from the Visual Studio build shell,
or the perl bindings will fail to link.

