This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
SQL::Translator triggered a subtle piece of wrongness, whereby it
[perl5.git] / README.win32
index 25ebadd..710266f 100644 (file)
@@ -52,9 +52,9 @@ The Borland C++ and Microsoft Visual C++ compilers are also now being given
 away free.  The Borland compiler is available as "Borland C++ Compiler Free
 Command Line Tools" and is the same compiler that ships with the full
 "Borland C++ Builder" product.  The Microsoft compiler is available as
-"Visual C++ Toolkit 2003" or "Visual C++ 2005 Express Edition" (and also as
-part of the ".NET Framework SDK") and is the same compiler that ships with
-"Visual C++ .NET 2003 Professional" or "Visual C++ 2005 Professional"
+"Visual C++ Toolkit 2003" or "Visual C++ 2005/2008 Express Edition" (and also
+as part of the ".NET Framework SDK") and is the same compiler that ships with
+"Visual C++ .NET 2003 Professional" or "Visual C++ 2005/2008 Professional"
 respectively.
 
 This port can also be built on the Intel IA64 using:
@@ -135,6 +135,35 @@ and edit win32/config.vc to change "make=nmake" into "make=dmake".  The
 latter step is only essential if you want to use dmake as your default
 make for building extensions using MakeMaker.
 
+=item Microsoft Visual C++ 2008 Express Edition Beta 2
+
+This free version of Visual C++ 2008 Professional contains the same compiler
+and linker that ship with the full version, and also contains everything
+necessary to build Perl, rather than requiring a separate download of the
+Platform SDK like previous versions did.
+
+The Beta 2 package is currently available from 
+
+http://msdn2.microsoft.com/en-us/express/future/default.aspx
+http://msdn2.microsoft.com/en-gb/express/future/default.aspx
+
+The final release version will probably be found by searching in the Download
+Center at http://www.microsoft.com/downloads/search.aspx?displaylang=en in due
+course.
+
+Install Visual C++ 2008, then setup your environment using
+
+       C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat
+
+(assuming the default installation location was chosen).
+
+Perl should now build using the win32/Makefile.  You will need to edit that
+file to set
+
+       CCTYPE = MSVC90FREE
+
+first.
+
 =item Microsoft Visual C++ 2005 Express Edition
 
 This free version of Visual C++ 2005 Professional contains the same compiler
@@ -161,14 +190,21 @@ NT probably won't work.
 Install Visual C++ 2005 first, then the Platform SDK.  Setup your environment
 as follows (assuming default installation locations were chosen):
 
-       SET PATH=%SystemRoot%\system32;%SystemRoot%;C:\Program Files\Microsoft Visual Studio 8\Common7\IDE;C:\Program Files\Microsoft Visual Studio 8\VC\BIN;C:\Program Files\Microsoft Visual Studio 8\Common7\Tools;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\bin;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;C:\Program Files\Microsoft Visual Studio 8\VC\VCPackages;C:\Program Files\Microsoft Platform SDK\Bin
+       SET PlatformSDKDir=C:\Program Files\Microsoft Platform SDK
+
+       SET PATH=%SystemRoot%\system32;%SystemRoot%;C:\Program Files\Microsoft Visual Studio 8\Common7\IDE;C:\Program Files\Microsoft Visual Studio 8\VC\BIN;C:\Program Files\Microsoft Visual Studio 8\Common7\Tools;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\bin;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;C:\Program Files\Microsoft Visual Studio 8\VC\VCPackages;%PlatformSDKDir%\Bin
 
-       SET INCLUDE=C:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE;C:\Program Files\Microsoft Platform SDK\include
+       SET INCLUDE=C:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE;%PlatformSDKDir%\include
 
-       SET LIB=C:\Program Files\Microsoft Visual Studio 8\VC\LIB;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\lib;C:\Program Files\Microsoft Platform SDK\lib
+       SET LIB=C:\Program Files\Microsoft Visual Studio 8\VC\LIB;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\lib;%PlatformSDKDir%\lib
 
        SET LIBPATH=C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
 
+(The PlatformSDKDir might need to be set differently depending on which version
+you are using. Earlier versions installed into "C:\Program Files\Microsoft SDK",
+while the latest versions install into version-specific locations such as
+"C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2".)
+
 Perl should now build using the win32/Makefile.  You will need to edit that
 file to set
 
@@ -207,11 +243,18 @@ Install the Toolkit first, then the Platform SDK, then the .NET Framework SDK.
 Setup your environment as follows (assuming default installation locations
 were chosen):
 
-       SET PATH=%SystemRoot%\system32;%SystemRoot%;C:\Program Files\Microsoft Visual C++ Toolkit 2003\bin;C:\Program Files\Microsoft SDK\Bin;C:\Program Files\Microsoft.NET\SDK\v1.1\Bin
+       SET PlatformSDKDir=C:\Program Files\Microsoft Platform SDK
+
+       SET PATH=%SystemRoot%\system32;%SystemRoot%;C:\Program Files\Microsoft Visual C++ Toolkit 2003\bin;%PlatformSDKDir%\Bin;C:\Program Files\Microsoft.NET\SDK\v1.1\Bin
 
-       SET INCLUDE=C:\Program Files\Microsoft Visual C++ Toolkit 2003\include;C:\Program Files\Microsoft SDK\include;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include
+       SET INCLUDE=C:\Program Files\Microsoft Visual C++ Toolkit 2003\include;%PlatformSDKDir%\include;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include
 
-       SET LIB=C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib;C:\Program Files\Microsoft SDK\lib;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib
+       SET LIB=C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib;%PlatformSDKDir%\lib;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib
+
+(The PlatformSDKDir might need to be set differently depending on which version
+you are using. Earlier versions installed into "C:\Program Files\Microsoft SDK",
+while the latest versions install into version-specific locations such as
+"C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2".)
 
 Several required files will still be missing:
 
@@ -225,7 +268,7 @@ following:
 
        C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322
 
-Copy it from there to C:\Program Files\Microsoft SDK\Bin
+Copy it from there to %PlatformSDKDir%\Bin
 
 =item *
 
@@ -254,12 +297,12 @@ $Config{ar}.
 
 setargv.obj is required to build perlglob.exe (and perl.exe if the USE_SETARGV
 option is enabled).  The Platform SDK supplies this object file in source form
-in C:\Program Files\Microsoft SDK\src\crt.  Copy setargv.c, cruntime.h and
+in %PlatformSDKDir%\src\crt.  Copy setargv.c, cruntime.h and
 internal.h from there to some temporary location and build setargv.obj using
 
        cl.exe /c /I. /D_CRTBLD setargv.c
 
-Then copy setargv.obj to C:\Program Files\Microsoft SDK\lib
+Then copy setargv.obj to %PlatformSDKDir%\lib
 
 Alternatively, if you don't need perlglob.exe and don't need to enable the
 USE_SETARGV option then you can safely just remove all mention of $(GLOBEXE)
@@ -410,11 +453,6 @@ spaces.  So don't do that.
 If you are running the tests from a emacs shell window, you may see
 failures in op/stat.t.  Run "dmake test-notty" in that case.
 
-If you're using the Microsoft Visual C++ 2005 compiler (VC++ 8) then you'll
-find that F<ext/IO/t/io_sock.t> currently produces some warnings and then
-hangs.  You will need to kill the hung perl.exe process to allow the
-remainder of the test suite to complete.
-
 If you're using the Borland compiler, you may see a failure in op/taint.t
 arising from the inability to find the Borland Runtime DLLs on the system
 default path.  You will need to copy the DLLs reported by the messages
@@ -960,6 +998,6 @@ Win9x support was added in 5.6 (Benjamin Stuhl).
 
 Support for 64-bit Windows added in 5.8 (ActiveState Corp).
 
-Last updated: 28 November 2006
+Last updated: 29 August 2007
 
 =cut