#
# Copyright 2006-2010.  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.8 on Linux and
Perl 5.10.0 on Windows. No advanced Perl features are present,
so this package should work with older versions of Perl - but it
has not been tested against anything before Perl 5.8.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.

Visual Studio 2008 Note:
When using Visual Studio 2008 and ActivePerl, building vix-perl may
result in the following linking error:
"error unresolved external symbol __forceCRTManifestCUR"
Upgrading Visual Studio 2008 to Service Pack 1 resolves the issue.

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.

