From a266f7dd93bcac8d8543df46efa2968226ddc81f Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Tue, 1 Jan 2013 18:09:31 +0200 Subject: [PATCH] Winflex binary on FTP site doesn't work on 64-bit Windows, update docs. Plus some other minor clarifications to Windows build instructions. Craig Ringer, with minor editorialization by me. --- doc/src/sgml/install-windows.sgml | 67 ++++++++++++++++++++++--------- 1 file changed, 48 insertions(+), 19 deletions(-) diff --git a/doc/src/sgml/install-windows.sgml b/doc/src/sgml/install-windows.sgml index b6ea0abc40..452cf3195a 100644 --- a/doc/src/sgml/install-windows.sgml +++ b/doc/src/sgml/install-windows.sgml @@ -92,9 +92,10 @@ - The tools for building using Visual C++, - are in the src/tools/msvc directory. When building, - make sure there are no tools from MinGW or + The tools for building using Visual C++ or + Platform SDK are in the + src/tools/msvc directory. When building, make sure + there are no tools from MinGW or Cygwin present in your system PATH. Also, make sure you have all the required Visual C++ tools available in the PATH. In Visual Studio, start the @@ -103,10 +104,12 @@ the command, and vice versa. In the Microsoft Windows SDK, start the CMD shell listed under the SDK on the Start Menu. - In recent SDK versions you can change the targeted CPU architecture by using - the setenv command. - All commands should be run from the src\tools\msvc - directory. + In recent SDK versions you can change the targeted CPU architecture, build + type, and target OS by using the setenv command, e.g. + setenv /x86 /release /xp to target Windows XP or later + with a 32-bit release build. See /? for other options to + setenv. All commands should be run from the + src\tools\msvc directory. @@ -191,17 +194,32 @@ $ENV{PATH}=$ENV{PATH} . ';c:\some\where\bison\bin'; Bison and Flex - - Bison and Flex are required to build from Git, but not required when - building from a release file. Note that only Bison 1.875 or versions - 2.2 and later will work. Also, Flex version 2.5.31 or later is required. - Bison can be downloaded from . - Flex can be downloaded from - . - If you are using msysGit for accessing the - PostgreSQL Git repository you probably already - have recent versions of bison and flex in your Git - binary directory. + + + Bison and Flex are + required to build from Git, but not required when building from a release + file. Only Bison 1.875 or versions 2.2 and later + will work. Flex must be version 2.5.31 or later. + + + + Both Bison and Flex + are included in the msys tool suite, available + from as part of the + MinGW compiler suite. You can also get + msys as part of + msysGit from . + + + + You will need to add the directory containing + flex.exe and bison.exe to the + PATH environment variable in buildenv.pl unless + they are already in PATH. In the case of MinGW, the directory is the + \msys\1.0\bin subdirectory of your MinGW + installation directory. For msysGit, it's the bin + directory in your Git install directory. Do not add the MinGW compiler + tools themselves to PATH. @@ -210,7 +228,18 @@ $ENV{PATH}=$ENV{PATH} . ';c:\some\where\bison\bin'; causes Bison to malfunction when installed in a directory with spaces in the name, such as the default location on English installations C:\Program Files\GnuWin32. - Consider installing into C:\GnuWin32 instead. + Consider installing into C:\GnuWin32 or use the + NTFS shortname path to GnuWin32 in your PATH environment setting + (e.g. C:\PROGRA~1\GnuWin32). + + + + + + The obsolete "winflex" binaries distributed on the PostgreSQL FTP site + and referenced in older documentation will fail with "flex: fatal + internal error, exec failed" on 64-bit Windows hosts. Use flex from + msys instead.