X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/8f5d02f0ba4fc4b2aaac2a4098691883b5e450ee..e3d2bd96751612e204e517c970eb34267b8ececa:/README.win32 diff --git a/README.win32 b/README.win32 index 97907a5..9e87709 100644 --- a/README.win32 +++ b/README.win32 @@ -64,10 +64,10 @@ that are also supported by perl's makefile. =back The Microsoft Visual C++ compilers are also now being given away free. They are -available as "Visual C++ Toolkit 2003" or "Visual C++ 2005-2017 Express [or +available as "Visual C++ Toolkit 2003" or "Visual C++ 2005-2019 Express [or Community, from 2017] Edition" (and also as part of the ".NET Framework SDK") and are the same compilers that ship with "Visual C++ .NET 2003 Professional" -or "Visual C++ 2005-2017 Professional" respectively. +or "Visual C++ 2005-2019 Professional" respectively. This port can also be built on IA64/AMD64 using: @@ -140,9 +140,9 @@ console already set up for your target architecture (x86-32 or x86-64 or IA64). With the newer compilers, you may also use the older batch files if you choose so. -=item Microsoft Visual C++ 2008-2017 Express/Community Edition +=item Microsoft Visual C++ 2008-2019 Express/Community Edition -These free versions of Visual C++ 2008-2017 Professional contain the same +These free versions of Visual C++ 2008-2019 Professional contain the same compilers and linkers that ship with the full versions, and also contain everything necessary to build Perl, rather than requiring a separate download of the Windows SDK like previous versions did. @@ -152,7 +152,7 @@ L. (Providing ex links to these packages has proven a pointless task because the links keep on changing so often.) -Install Visual C++ 2008-2017 Express/Community, then setup your environment +Install Visual C++ 2008-2019 Express/Community, then setup your environment using, e.g. C:\Program Files\Microsoft Visual Studio 12.0\Common7\Tools\vsvars32.bat @@ -160,7 +160,7 @@ using, e.g. (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 to one of MSVC90-MSVC141 first. +file to set CCTYPE to one of MSVC90-MSVC142 first. =item Microsoft Visual C++ 2005 Express Edition @@ -321,7 +321,7 @@ MinGW64 (version 4.4.3 or later). It can be downloaded here: L L -You also need dmake. See L above on how to get it. +You also need dmake or gmake. See L above on how to get it. Note that the MinGW build currently requires a MinGW runtime version earlier than 3.21 (check __MINGW32_MAJOR_VERSION and __MINGW32_MINOR_VERSION). @@ -334,7 +334,7 @@ or later, and with MinGW64 64-bit 6.3.0 or later. Experimental support for using Intel C++ Compiler has been added. Edit win32/Makefile and pick the correct CCTYPE for the Visual C that Intel C was installed into. Also uncomment __ICC to enable Intel C on Visual C support. -To set up the build enviroment, from the Start Menu run +To set up the build environment, from the Start Menu run IA-32 Visual Studio 20__ mode or Intel 64 Visual Studio 20__ mode as appropriate. Then run nmake as usually in that prompt box. @@ -355,14 +355,15 @@ unlike GCC. Make sure you are in the "win32" subdirectory under the perl toplevel. This directory contains a "Makefile" that will work with versions of nmake that come with Visual C++ or the Windows SDK, and -a dmake "makefile.mk" that will work for all supported compilers. The -defaults in the dmake makefile are setup to build using MinGW/gcc. +a GNU make "GNUmakefile" or dmake "makefile.mk" that will work for all +supported compilers. The defaults in the gmake and dmake makefile are +setup to build using MinGW/gcc. =item * -Edit the makefile.mk (or Makefile, if you're using nmake) and change -the values of INST_DRV and INST_TOP. You can also enable various -build flags. These are explained in the makefiles. +Edit the GNUmakefile, makefile.mk (or Makefile, if you're using nmake) +and change the values of INST_DRV and INST_TOP. You can also enable +various build flags. These are explained in the makefiles. Note that it is generally not a good idea to try to build a perl with INST_DRV and INST_TOP set to a path that already exists from a previous @@ -401,10 +402,10 @@ Be sure to read the instructions near the top of the makefiles carefully. =item * -Type "dmake" (or "nmake" if you are using that make). +Type "dmake" ("gmake" for GNU make, or "nmake" if you are using that make). This should build everything. Specifically, it will create perl.exe, -perl529.dll at the perl toplevel, and various other extension dll's +perl531.dll at the perl toplevel, and various other extension dll's under the lib\auto directory. If the build fails for any reason, make sure you have done the previous steps correctly. @@ -413,8 +414,11 @@ of parallel jobs you want to run. A number of things in the build process will run in parallel, but there are serialization points where you will see just 1 CPU maxed out. This is normal. +Similarly you can build in parallel with GNU make, type "gmake -j2" to +build with two parallel jobs, or higher for more. + If you are advanced enough with building C code, here is a suggestion to speed -up building perl, and the later C. Try to keep your PATH enviromental +up building perl, and the later C. Try to keep your PATH environmental variable with the least number of folders possible (remember to keep your C compiler's folders there). C or C depending on your OS version should be first folder in PATH, since "cmd.exe" @@ -424,8 +428,8 @@ is the most commonly launched program during the build and later testing. =head2 Testing Perl on Windows -Type "dmake test" (or "nmake test"). This will run most of the tests from -the testsuite (many tests will be skipped). +Type "dmake test" (or "gmake test", "nmake test"). This will run most +of the tests from the testsuite (many tests will be skipped). There should be no test failures. @@ -438,6 +442,11 @@ L and C functions then have a look at the CPAN distribution Win32::UTCFileTime. +If you build with Visual C++ 2015 or later then F +may crash (after all its tests have passed). This is due to a regression in the +Universal CRT introduced in the Windows 10 April 2018 Update, and will be fixed +in the May 2019 Update, as explained here: L. + If you build with certain versions (e.g. 4.8.1) of gcc from www.mingw.org then F may fail test 17 due to a known bug in those gcc builds: see L. @@ -455,15 +464,22 @@ include some tools (C for instance) which override the Windows ones and makes tests fail. Remove them from your path while testing to avoid these errors. +To see the output of specific failing tests run the harness from the t +directory: + + # assuming you're starting from the win32 directory + cd ..\win32 + .\perl harness + Please report any other failures as described under L. =head2 Installation of Perl on Windows -Type "dmake install" (or "nmake install"). This will put the newly -built perl and the libraries under whatever C points to in the -Makefile. It will also install the pod documentation under -C<$INST_TOP\$INST_VER\lib\pod> and HTML versions of the same under -C<$INST_TOP\$INST_VER\lib\pod\html>. +Type "dmake install" (or "gmake install", "nmake install"). This will +put the newly built perl and the libraries under whatever C +points to in the Makefile. It will also install the pod documentation +under C<$INST_TOP\$INST_VER\lib\pod> and HTML versions of the same +under C<$INST_TOP\$INST_VER\lib\pod\html>. To use the Perl you just installed you will need to add a new entry to your PATH environment variable: C<$INST_TOP\bin>, e.g. @@ -653,7 +669,7 @@ CPAN. L -You may also use dmake. See L above on how to get it. +You may also use dmake or gmake. See L above on how to get it. Note that MakeMaker actually emits makefiles with different syntax depending on what 'make' it thinks you are using. Therefore, it is @@ -961,6 +977,6 @@ Win9x support was added in 5.6 (Benjamin Stuhl). Support for 64-bit Windows added in 5.8 (ActiveState Corp). -Last updated: 23 May 2018 +Last updated: 30 April 2019 =cut