diff --git a/README b/README index facdb744..43009fcc 100644 --- a/README +++ b/README @@ -38,10 +38,13 @@ For building on Windows: `make -f Makefile.mgw' while in the `windows' subdirectory to build all the PuTTY binaries. - You'll probably need quite a recent version of the w32api package. - Note that by default the multiple monitor and HTML Help support are - excluded from the Cygwin build, since at the time of writing Cygwin - doesn't include the necessary headers. + MinGW and friends can lag behind other toolchains in their support + for the Windows API. Compile-time levers are provided to exclude + some features; the defaults are set appropriately for the + 'mingw-w64' cross-compiler provided with Ubuntu 14.04. If you are + using an older toolchain, you may need to exclude more features; + alternatively, you may find that upgrading to a recent version of + the 'w32api' package helps. - windows/Makefile.lcc is for lcc-win32. Type `make -f Makefile.lcc' while in the `windows' subdirectory. (You will diff --git a/Recipe b/Recipe index f6de905e..f846c23b 100644 --- a/Recipe +++ b/Recipe @@ -60,20 +60,14 @@ # full-screen mode (configurable to work on Alt-Enter) will # not behave usefully in a multi-monitor environment. # -# Note that this definition is always enabled in the Cygwin -# build, since at the time of writing this is -# known not to be available in Cygwin. -# # - COMPAT=/DNO_HTMLHELP (Windows only) # Disables PuTTY's use of , which is not available # with some development environments. The resulting binary # will only look for an old-style WinHelp file (.HLP/.CNT), and # will ignore any .CHM file. # -# Note that this definition is always enabled in the Cygwin -# build, since at the time of writing this is -# known not to be available in Cygwin (although you can use -# the htmlhelp.h supplied with HTML Help Workshop). +# If you don't have this header, you may be able to use the copy +# supplied with HTML Help Workshop. # # - RCFL=/DNO_MANIFESTS (Windows only) # Disables inclusion of XML application manifests in the PuTTY @@ -101,8 +95,7 @@ # # - COMPAT=/DNO_SECUREZEROMEMORY (Windows only) # Disables PuTTY's use of SecureZeroMemory(), which is missing -# from some environments' header files. This is enabled by -# default in the Cygwin Makefile. +# from some environments' header files. # # - XFLAGS=/DTELNET_DEFAULT # Causes PuTTY to default to the Telnet protocol (in the absence diff --git a/mkfiles.pl b/mkfiles.pl index 749cc236..166ee132 100755 --- a/mkfiles.pl +++ b/mkfiles.pl @@ -455,6 +455,7 @@ if (defined $makefiles{'cygwin'}) { "# You can define this path to point at your tools if you need to\n". "# TOOLPATH = c:\\cygwin\\bin\\ # or similar, if you're running Windows\n". "# TOOLPATH = /pkg/mingw32msvc/i386-mingw32msvc/bin/\n". + "# TOOLPATH = i686-w64-mingw32-\n". "CC = \$(TOOLPATH)gcc\n". "RC = \$(TOOLPATH)windres\n". "# Uncomment the following two lines to compile under Winelib\n". @@ -463,11 +464,11 @@ if (defined $makefiles{'cygwin'}) { "# You may also need to tell windres where to find include files:\n". "# RCINC = --include-dir c:\\cygwin\\include\\\n". "\n". - &splitline("CFLAGS = -mno-cygwin -Wall -O2 -D_WINDOWS -DDEBUG -DWIN32S_COMPAT". - " -D_NO_OLDNAMES -DNO_MULTIMON -DNO_HTMLHELP -DNO_SECUREZEROMEMORY " . + &splitline("CFLAGS = -Wall -O2 -D_WINDOWS -DDEBUG -DWIN32S_COMPAT". + " -D_NO_OLDNAMES " . (join " ", map {"-I$dirpfx$_"} @srcdirs)) . "\n". - "LDFLAGS = -mno-cygwin -s\n". + "LDFLAGS = -s\n". &splitline("RCFLAGS = \$(RCINC) --define WIN32=1 --define _WIN32=1 ". "--define WINVER=0x0400 ".(join " ", map {"-I$dirpfx$_"} @srcdirs))."\n". "\n".