summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2008-05-31 08:06:05 +0000
committerEli Zaretskii <eliz@gnu.org>2008-05-31 08:06:05 +0000
commited4a06e6deb9a2857a68ba6aaeb939773240f495 (patch)
treee4a4610df19a867399d711593a7e12a055565baf
parentb50116c4ae2359118e996420fd590614f3a3d7c6 (diff)
downloadgunmake-ed4a06e6deb9a2857a68ba6aaeb939773240f495.tar.gz
Remove obsolete text about non-support for -jN without Unixy shell.
Remove obsolete text about not supplying Visual Studio project files (we do supply them). Modify text to prefer GCC builds to MSC builds.
-rw-r--r--README.W32.template73
1 files changed, 37 insertions, 36 deletions
diff --git a/README.W32.template b/README.W32.template
index ef68d61..6175dde 100644
--- a/README.W32.template
+++ b/README.W32.template
@@ -1,10 +1,10 @@
This version of GNU make has been tested on Microsoft Windows 2000/XP/2003.
It has also been used on Windows 95/98/NT, and on OS/2.
-It builds natively with MSVC 2.x, 4.x, 5.x, 6.x, and 2003 as well as
-.NET 7.x and .NET 2003.
+It builds with the MinGW port of GCC (tested with GCC 3.4.2).
-It builds with the MinGW port of GCC 3.x (tested with GCC 3.4.2).
+It also builds with MSVC 2.x, 4.x, 5.x, 6.x, and 2003 as well as
+with .NET 7.x and .NET 2003.
The Windows 32-bit port of GNU make is maintained jointly by various
people. It was originally made by Rob Tulloh.
@@ -27,7 +27,8 @@ Using make_msvc_net2003.vcproj
------------------------------
2. Open make_msvc_net2003.vcproj in MSVS71 or MSVC71 or any compatible IDE,
- then build this project as usual.
+ then build this project as usual. There's also a solution file for
+ Studio 2003.
Building with (MinGW-)GCC using build_w32.bat
@@ -68,10 +69,12 @@ Building with (MSVC++-)cl using build_w32.bat or NMakefile
GNU make on Windows 32-bit platforms:
This version of make is ported natively to Windows32 platforms
- (Windows NT 3.51, Windows NT 4.0, Windows 95, and Windows 98). It
- does not rely on any 3rd party software or add-on packages for
- building. The only thing needed is a version of Visual C++,
- which is the predominant compiler used on Windows32 platforms.
+ (Windows NT 3.51, Windows NT 4.0, Windows 2000, Windows XP,
+ Windows 95, and Windows 98). It does not rely on any 3rd party
+ software or add-on packages for building. The only thing
+ needed is a Windows compiler. Two compilers supported
+ officially are the MinGW port of GNU GCC, and the various
+ versions of the Microsoft C compiler.
Do not confuse this port of GNU make with other Windows32 projects
which provide a GNU make binary. These are separate projects
@@ -79,11 +82,11 @@ GNU make on Windows 32-bit platforms:
GNU make and sh.exe:
- This port prefers you have a working sh.exe somewhere on your
- system. If you don't have sh.exe, the port falls back to
- MSDOS mode for launching programs (via a batch file).
- The MSDOS mode style execution has not been tested that
- carefully though (The author uses GNU bash as sh.exe).
+ This port prefers if you have a working sh.exe somewhere on
+ your system. If you don't have sh.exe, the port falls back to
+ MSDOS mode for launching programs (via a batch file). The
+ MSDOS mode style execution has not been tested that carefully
+ though (The author uses GNU bash as sh.exe).
There are very few true ports of Bourne shell for NT right now.
There is a version of GNU bash available from Cygnus "Cygwin"
@@ -108,9 +111,25 @@ GNU make and brain-dead shells (BATCH_MODE_ONLY_SHELL):
A native Windows32 system with no Bourne shell will also run
in batch mode. All command lines will be put into batch files
- and executed via $(COMSPEC) (%COMSPEC%). Note that parallel
- builds (-j) require a working Bourne shell; they will not work
- with COM.
+ and executed via $(COMSPEC) (%COMSPEC%). However, parallel
+ builds ARE supported with Windows shells (cmd.exe and
+ command.com). See the next section about some peculiarities
+ of parallel builds on Windows.
+
+Support for parallel builds
+
+ Parallel builds (-jN) are supported in this port, with 2
+ limitations:
+
+ - The number of concurrent processes has a hard limit of 64,
+ due to the way this port implements waiting for its
+ subprocesses;
+
+ - The job server method (available when Make runs on Posix
+ platforms) is not supported, which means you must pass an
+ explicit -jN switch to sub-Make's in a recursive Makefile.
+ If a sub-Make does not receive an explicit -jN switch, it
+ will default to -j1, i.e. no parallelism in sub-Make's.
GNU make and Cygnus GNU Windows32 tools:
@@ -171,29 +190,11 @@ GNU make test suite:
on Windows NT). All tests pass in an environment that includes
sh.exe. Tests were performed on both Windows NT and Windows 95.
-Building GNU make on Windows NT and Windows 95/98 with Microsoft Visual C:
-
- I did not provide a Visual C project file with this port as
- the project file would not be considered freely distributable
- (or so I think). It is easy enough to create one, though, if
- you know how to use Visual C.
-
- I build the program statically to avoid problems locating DLL's
- on machines that may not have MSVC runtime installed. If you
- prefer, you can change make to build with shared libraries by
- changing /MT to /MD in the NMakefile (or in build_w32.bat).
-
- The program has not been built for non-Intel architectures (yet).
-
- I have not tried to build with any other compilers than MSVC. I
- have heard that this is possible though so don't be afraid to
- notify me of your successes!
-
Pathnames and white space:
Unlike Unix, Windows 95/NT systems encourage pathnames which
contain white space (e.g. C:\Program Files\). These sorts of
- pathnames are legal under Unix too, but are never encouraged.
+ pathnames are valid on Unix too, but are never encouraged.
There is at least one place in make (VPATH/vpath handling) where
paths containing white space will simply not work. There may be
others too. I chose to not try and port make in such a way so
@@ -272,7 +273,7 @@ Bug reports:
-------------------------------------------------------------------------------
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2006, 2007 Free Software Foundation, Inc.
+2006, 2007, 2008 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify it under the