]> granicus.if.org Git - postgresql/commitdiff
Update docs on building for Windows to accomodate current reality.
authorAndrew Dunstan <andrew@dunslane.net>
Mon, 31 Jan 2011 18:40:45 +0000 (13:40 -0500)
committerAndrew Dunstan <andrew@dunslane.net>
Mon, 31 Jan 2011 18:40:45 +0000 (13:40 -0500)
Document how to build 64 bit Windows binaries using the MinGW64 tool set.
Remove recommendation against using Mingw as a build platform.
Be more specific about when Cygwin is useful and when it's not,  in
particular note its usefulness for running psql, and
add a note about building on Cygwin in non-C locales.

Per recent discussions.

doc/src/sgml/install-windows.sgml
doc/src/sgml/installation.sgml

index ea86102c836cecbec54315ff7c468165cd705665..8681a7f683c6f68711b84a58bc302c34b13ee97d 100644 (file)
   <productname>Cygwin</productname> uses the normal build system, see
   <xref linkend="installation"> and the specific notes in
   <xref linkend="installation-notes-mingw"> and <xref linkend="installation-notes-cygwin">.
-  These builds cannot generate 64-bit binaries.
-  <productname>Cygwin</productname> is not recommended and should
-  only be used for older versions of <productname>Windows</productname> where
+  To produce native 64 bit binaries in these environments, use the tools from
+  <productname>Mingw64</productname>. These tools can also be used to
+  cross-compile for 32 bit and 64 bit <productname>Windows</productname> 
+  targets on other hosts, such as <productname>Linux</productname> and 
+  <productname>Darwin</productname>.
+  <productname>Cygwin</productname> is not recommended for running a
+  production server, and it should only be used for running on
+  older versions of <productname>Windows</productname> where
   the native build does not work, such as
-  <productname>Windows 98</productname>. <productname>MinGW</productname> is
-  only recommended if you are building other modules using it. The official
+  <productname>Windows 98</productname>. The official
   binaries are built using <productname>Visual Studio</productname>.
  </para>
 
+ <para>
+  Native builds of <application>psql</application> don't support command 
+  line editing. The <productname>Cygwin</productname> build does support
+  command line editing, so it should be used where psql is needed for
+  interactive use on  <productname>Windows</productname>.
+ </para>
+
  <sect1 id="install-windows-full">
   <title>Building with <productname>Visual C++</productname> or the
   <productname>Platform SDK</productname></title>
index 0258eecda43b0ad0e31e002e8882092f8aaf5a53..aa2c4a63025c73aab28d3c7ee6af55e541dc83bc 100644 (file)
@@ -2312,7 +2312,7 @@ createlang: language installation failed: ERROR:  could not load library "/opt/d
     PostgreSQL can be built using Cygwin, a Linux-like environment for
     Windows, but that method is inferior to the native Windows build
     <![%standalone-ignore[(see <xref linkend="install-windows">)]]> and
-    is no longer recommended.
+    running a server under Cygwin is no longer recommended.
    </para>
 
    <para>
@@ -2371,6 +2371,16 @@ createlang: language installation failed: ERROR:  could not load library "/opt/d
       </para>
      </listitem>
 
+     <listitem>
+      <para>
+        Building might fail on some systems where a locale other than
+        C is in use. To fix this, set the locale to C by doing
+        <command>export LANG=C.utf8</command> before building, and then
+        setting it back to the previous setting, after you have installed
+        PostgreSQL.
+      </para>
+     </listitem>
+
      <listitem>
       <para>
        The parallel regression tests (<literal>make check</literal>)
@@ -2580,6 +2590,14 @@ cc-1020 cc: ERROR File = pqcomm.c, Line = 427
     creating the binaries.
    </para>
 
+   <para>
+     To build 64 bit binaries using MinGW, install the 64 bit tool set
+     from <ulink url="http://www.mingw64.org/"></ulink>, put its bin
+     directory in the <envar>PATH</envar>, and run 
+     <command>configure</command> with the  
+     <command>--host=x86_64-w64-mingw</command> option.
+   </para>
+
    <para>
     After you have everything installed, it is suggested that you
     run <application>psql</application>