@@ -97,20 +97,9 @@ See L</Usage Hints for Perl on Windows> below for general hints about this.
9797
9898You need a "make" program to build the sources. If you are using
9999Visual C++ or the Windows SDK tools, you can use nmake supplied with Visual C++
100- or Windows SDK. You may also use, for Visual C++ or Windows SDK, dmake or gmake
101- instead of nmake. dmake is open source software, but is not included with
102- Visual C++ or Windows SDK. Builds using gcc need dmake or gmake. nmake is not
103- supported for gcc builds. Parallel building is only supported with dmake and
104- gmake, not nmake. When using dmake it is recommended to use dmake 4.13 or newer
105- for parallel building. Older dmakes, in parallel mode, have very high CPU usage
106- and pound the disk/filing system with duplicate I/O calls in an aggressive
107- polling loop.
108-
109- A port of dmake for Windows is available from:
110-
111- L<https://metacpan.org/release/dmake>
112-
113- Fetch and install dmake somewhere on your path.
100+ or Windows SDK. You may also use gmake instead of nmake. Builds using gcc need
101+ gmake. nmake is not supported for gcc builds. Parallel building is only
102+ supported with gmake, not nmake.
114103
115104=item Command Shell
116105
@@ -321,7 +310,8 @@ MinGW64 (version 4.4.3 or later). It can be downloaded here:
321310L<http://www.mingw.org/>
322311L<http://www.mingw-w64.org/>
323312
324- You also need dmake or gmake. See L</"Make"> above on how to get it.
313+ You also need gmake. Usually it comes with MinGW but its executable may have
314+ a different name, such as mingw32-make.exe.
325315
326316Note that the MinGW build currently fails with version 6.3.0 or later.
327317
@@ -354,15 +344,14 @@ unlike GCC.
354344Make sure you are in the "win32" subdirectory under the perl toplevel.
355345This directory contains a "Makefile" that will work with
356346versions of nmake that come with Visual C++ or the Windows SDK, and
357- a GNU make "GNUmakefile" or dmake "makefile.mk" that will work for all
358- supported compilers. The defaults in the gmake and dmake makefile are
359- setup to build using MinGW/gcc.
347+ a GNU make "GNUmakefile" that will work for all supported compilers.
348+ The defaults in the gmake makefile are setup to build using MinGW/gcc.
360349
361350=item *
362351
363- Edit the GNUmakefile, makefile.mk (or Makefile, if you're using nmake)
364- and change the values of INST_DRV and INST_TOP. You can also enable
365- various build flags. These are explained in the makefiles.
352+ Edit the GNUmakefile (or Makefile, if you're using nmake) and change the values
353+ of INST_DRV and INST_TOP. You can also enable various build flags. These are
354+ explained in the makefiles.
366355
367356Note that it is generally not a good idea to try to build a perl with
368357INST_DRV and INST_TOP set to a path that already exists from a previous
@@ -378,7 +367,7 @@ F<lib> directories.
378367
379368If building with the cross-compiler provided by
380369mingw-w64.org you'll need to uncomment the line that sets
381- GCCCROSS in the makefile.mk . Do this only if it's the cross-compiler - ie
370+ GCCCROSS in the GNUmakefile . Do this only if it's the cross-compiler - ie
382371only if the bin folder doesn't contain a gcc.exe. (The cross-compiler
383372does not provide a gcc.exe, g++.exe, ar.exe, etc. Instead, all of these
384373executables are prefixed with 'x86_64-w64-mingw32-'.)
@@ -394,21 +383,18 @@ Be sure to read the instructions near the top of the makefiles carefully.
394383
395384=item *
396385
397- Type "dmake" (" gmake" for GNU make, or "nmake" if you are using that make).
386+ Type "gmake" ( or "nmake" if you are using that make).
398387
399388This should build everything. Specifically, it will create perl.exe,
400389perl533.dll at the perl toplevel, and various other extension dll's
401390under the lib\auto directory. If the build fails for any reason, make
402391sure you have done the previous steps correctly.
403392
404- To try dmake 's parallel mode, type "dmake -P2 ", where 2, is the maximum number
393+ To try gmake 's parallel mode, type "gmake -j2 ", where 2, is the maximum number
405394of parallel jobs you want to run. A number of things in the build process will
406395run in parallel, but there are serialization points where you will see just 1
407396CPU maxed out. This is normal.
408397
409- Similarly you can build in parallel with GNU make, type "gmake -j2" to
410- build with two parallel jobs, or higher for more.
411-
412398If you are advanced enough with building C code, here is a suggestion to speed
413399up building perl, and the later C<make test>. Try to keep your PATH environmental
414400variable with the least number of folders possible (remember to keep your C
@@ -420,7 +406,7 @@ is the most commonly launched program during the build and later testing.
420406
421407=head2 Testing Perl on Windows
422408
423- Type "dmake test" (or "gmake test", "nmake test"). This will run most
409+ Type "gmake test" (or "nmake test"). This will run most
424410of the tests from the testsuite (many tests will be skipped).
425411
426412There should be no test failures.
@@ -448,7 +434,7 @@ native "cmd.exe", or if you are building from a path that contains
448434spaces. So don't do that.
449435
450436If you are running the tests from a emacs shell window, you may see
451- failures in op/stat.t. Run "dmake test-notty" in that case.
437+ failures in op/stat.t. Run "gmake test-notty" in that case.
452438
453439Furthermore, you should make sure that during C<make test> you do not
454440have any GNU tool packages in your path: some toolkits like Unixutils
@@ -467,7 +453,7 @@ Please report any other failures as described under L</BUGS AND CAVEATS>.
467453
468454=head2 Installation of Perl on Windows
469455
470- Type "dmake install" (or " gmake install", "nmake install"). This will
456+ Type "gmake install" ( "nmake install"). This will
471457put the newly built perl and the libraries under whatever C<INST_TOP>
472458points to in the Makefile. It will also install the pod documentation
473459under C<$INST_TOP\$INST_VER\lib\pod> and HTML versions of the same
@@ -650,25 +636,13 @@ may not provide a testsuite (so "$MAKE test" may not do anything or
650636fail), but most serious ones do.
651637
652638It is important that you use a supported 'make' program, and
653- ensure Config.pm knows about it. If you don't have nmake, you can
654- either get dmake from the location mentioned earlier or get an
655- old version of nmake reportedly available from:
656-
657- L<http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN-US/nmake15.exe>
658-
659- Another option is to use the make written in Perl, available from
660- CPAN.
661-
662- L<https://www.cpan.org/modules/by-module/Make/>
663-
664- You may also use dmake or gmake. See L</"Make"> above on how to get it.
639+ ensure Config.pm knows about it.
665640
666641Note that MakeMaker actually emits makefiles with different syntax
667642depending on what 'make' it thinks you are using. Therefore, it is
668643important that one of the following values appears in Config.pm:
669644
670645 make='nmake' # MakeMaker emits nmake syntax
671- make='dmake' # MakeMaker emits dmake syntax
672646 any other value # MakeMaker emits generic make syntax
673647 (e.g GNU make, or Perl make)
674648
0 commit comments