head	1.59;
access;
symbols
	REL9_0_0:1.57.4.2
	REL9_1_ALPHA1:1.59
	REL9_0_RC1:1.57.4.2
	REL9_0_BETA4:1.57.4.2
	REL9_0_STABLE:1.57.0.4
	REL9_0_BETA3:1.57
	REL9_0_BETA2:1.57
	REL7_4_29:1.14.2.2
	REL8_0_25:1.23.4.4
	REL8_1_21:1.26.2.1
	REL8_2_17:1.29.2.1
	REL8_3_11:1.45.2.4
	REL8_4_4:1.52
	REL9_0_BETA1:1.57
	REL9_0_ALPHA5_BRANCH:1.57.0.2
	REL9_0_ALPHA5:1.57
	REL7_4_28:1.14.2.2
	REL8_0_24:1.23.4.4
	REL8_1_20:1.26.2.1
	REL8_2_16:1.29.2.1
	REL8_3_10:1.45.2.4
	REL8_4_3:1.52
	REL9_0_ALPHA4:1.56
	REL9_0_ALPHA4_BRANCH:1.56.0.2
	REL8_5_ALPHA3:1.54
	REL8_5_ALPHA3_BRANCH:1.54.0.6
	REL7_4_27:1.14.2.2
	REL8_0_23:1.23.4.4
	REL8_1_19:1.26.2.1
	REL8_2_15:1.29.2.1
	REL8_3_9:1.45.2.4
	REL8_4_2:1.52
	REL8_5_ALPHA2:1.54
	REL8_5_ALPHA2_BRANCH:1.54.0.4
	REL7_4_26:1.14.2.2
	REL8_0_22:1.23.4.4
	REL8_1_18:1.26.2.1
	REL8_2_14:1.29.2.1
	REL8_3_8:1.45.2.4
	REL8_4_1:1.52
	REL8_5_ALPHA1:1.54
	REL8_5_ALPHA1_BRANCH:1.54.0.2
	REL8_4_STABLE:1.52.0.2
	REL8_4_0:1.52
	REL8_4_RC2:1.52
	REL8_4_RC1:1.52
	REL8_4_BETA2:1.52
	REL8_4_BETA1:1.51
	REL7_4_25:1.14.2.2
	REL8_0_21:1.23.4.4
	REL8_1_17:1.26.2.1
	REL8_2_13:1.29.2.1
	REL8_3_7:1.45.2.4
	REL7_4_24:1.14.2.2
	REL8_0_20:1.23.4.4
	REL8_1_16:1.26.2.1
	REL8_2_12:1.29.2.1
	REL8_3_6:1.45.2.4
	REL7_4_23:1.14.2.2
	REL8_0_19:1.23.4.4
	REL8_1_15:1.26.2.1
	REL8_2_11:1.29.2.1
	REL8_3_5:1.45.2.4
	REL7_4_22:1.14.2.2
	REL8_0_18:1.23.4.4
	REL8_1_14:1.26.2.1
	REL8_2_10:1.29.2.1
	REL8_3_4:1.45.2.4
	REL7_4_21:1.14.2.2
	REL8_0_17:1.23.4.4
	REL8_1_13:1.26.2.1
	REL8_2_9:1.29.2.1
	REL8_3_3:1.45.2.2
	REL7_4_20:1.14.2.2
	REL8_0_16:1.23.4.4
	REL8_1_12:1.26.2.1
	REL8_2_8:1.29.2.1
	REL8_3_2:1.45.2.2
	REL8_2_7:1.29.2.1
	REL8_3_1:1.45.2.2
	REL8_3_STABLE:1.45.0.2
	REL8_3_0:1.44
	REL8_3_RC2:1.44
	REL7_3_21:1.9.4.1
	REL7_4_19:1.14.2.2
	REL8_0_15:1.23.4.4
	REL8_1_11:1.26.2.1
	REL8_2_6:1.29.2.1
	REL8_3_RC1:1.44
	REL8_3_BETA4:1.43
	REL8_3_BETA3:1.41
	REL8_3_BETA2:1.41
	REL8_3_BETA1:1.41
	REL7_3_20:1.9.4.1
	REL7_4_18:1.14.2.2
	REL8_0_14:1.23.4.4
	REL8_1_10:1.26.2.1
	REL8_2_5:1.29.2.1
	REL7_3_19:1.9.4.1
	REL7_4_17:1.14.2.2
	REL8_0_13:1.23.4.4
	REL8_1_9:1.26.2.1
	REL8_2_4:1.29.2.1
	REL8_0_12:1.23.4.4
	REL8_1_8:1.26.2.1
	REL8_2_3:1.29.2.1
	REL7_3_18:1.9.4.1
	REL7_4_16:1.14.2.2
	REL8_0_11:1.23.4.3
	REL8_1_7:1.26
	REL8_2_2:1.29
	REL8_0_10:1.23.4.3
	REL8_1_6:1.26
	REL8_2_1:1.29
	REL7_4_15:1.14.2.2
	REL7_3_17:1.9.4.1
	REL8_2_STABLE:1.29.0.2
	REL8_2_0:1.29
	REL8_2_RC1:1.29
	REL8_2_BETA3:1.29
	REL8_2_BETA2:1.29
	REL8_1_5:1.26
	REL8_0_9:1.23.4.3
	REL7_4_14:1.14.2.2
	REL7_3_16:1.9.4.1
	REL8_2_BETA1:1.29
	REL7_3_15:1.9.4.1
	REL7_4_13:1.14.2.2
	REL8_0_8:1.23.4.3
	REL8_1_4:1.26
	REL7_3_14:1.9.4.1
	REL7_4_12:1.14.2.2
	REL8_0_7:1.23.4.3
	REL8_1_3:1.26
	REL7_3_13:1.9.4.1
	REL7_4_11:1.14.2.2
	REL8_0_6:1.23.4.3
	REL8_1_2:1.26
	REL7_3_12:1.9.4.1
	REL7_4_10:1.14.2.2
	REL8_0_5:1.23.4.3
	REL8_1_1:1.26
	REL8_1_STABLE:1.26.0.2
	REL8_1_0:1.26
	REL8_1_0RC1:1.26
	REL8_1_0BETA4:1.26
	REL8_1_0BETA3:1.26
	REL7_3_11:1.9.4.1
	REL7_4_9:1.14.2.2
	REL8_0_4:1.23.4.3
	REL8_1_0BETA2:1.26
	REL8_1_0BETA1:1.26
	REL7_2_8:1.9
	REL7_3_10:1.9.4.1
	REL7_4_8:1.14.2.2
	REL8_0_3:1.23
	REL8_0_2:1.23
	REL7_2_7:1.9
	REL7_3_9:1.9.4.1
	REL7_4_7:1.14.2.2
	REL8_0_1:1.23
	REL8_0_STABLE:1.23.0.4
	REL8_0_0:1.23.0.2
	REL8_0_0RC5:1.23
	REL8_0_0RC4:1.23
	REL8_0_0RC3:1.23
	REL8_0_0RC2:1.18
	REL8_0_0RC1:1.18
	REL8_0_0BETA5:1.18
	REL8_0_0BETA4:1.18
	REL7_4_6:1.14.2.2
	REL7_3_8:1.9.4.1
	REL7_2_6:1.9
	REL8_0_0BETA3:1.17
	REL8_0_0BETA2:1.17
	REL7_2_5:1.9
	REL7_4_5:1.14.2.2
	REL7_3_7:1.9.4.1
	REL7_4_4:1.14.2.2
	REL8_0_0BETA1:1.17
	REL7_4_3:1.14.2.2
	REL7_4_2:1.14.2.2
	REL7_3_6:1.9.4.1
	REL7_4_1:1.14.2.2
	REL7_3_5:1.9.4.1
	REL7_4:1.14.2.2
	REL7_4_RC2:1.14.2.1
	REL7_4_STABLE:1.14.0.2
	REL7_4_RC1:1.14
	REL7_4_BETA5:1.14
	REL7_4_BETA4:1.14
	REL7_4_BETA3:1.11
	REL7_4_BETA2:1.11
	WIN32_DEV:1.11.0.2
	REL7_4_BETA1:1.11
	REL7_3_4:1.9.4.1
	REL7_3_2:1.9.4.1
	REL7_2_4:1.9
	REL7_3_STABLE:1.9.0.4
	REL7_2_3:1.9
	REL7_2_STABLE:1.9.0.2
	REL7_2:1.9
	REL7_2_RC2:1.9
	REL7_2_RC1:1.9
	REL7_2_BETA5:1.9
	REL7_2_BETA4:1.9
	REL7_2_BETA3:1.8
	REL7_2_BETA2:1.7
	REL7_2_BETA1:1.7
	REL7_1_2:1.5
	REL7_1_STABLE:1.5.0.2
	REL7_1_BETA:1.4
	REL7_1_BETA3:1.5
	REL7_1_BETA2:1.5
	REL7_1:1.5
	REL7_0_PATCHES:1.3.0.2
	REL7_0:1.3
	REL6_5_PATCHES:1.1.0.2
	REL6_5:1.1;
locks; strict;
comment	@# @;


1.59
date	2010.07.29.19.34.40;	author petere;	state Exp;
branches;
next	1.58;

1.58
date	2010.07.27.19.01.16;	author petere;	state Exp;
branches;
next	1.57;

1.57
date	2010.03.17.17.12.31;	author petere;	state Exp;
branches
	1.57.4.1;
next	1.56;

1.56
date	2010.02.03.17.25.05;	author momjian;	state Exp;
branches;
next	1.55;

1.55
date	2010.01.12.20.13.32;	author mha;	state Exp;
branches;
next	1.54;

1.54
date	2009.07.23.17.06.48;	author adunstan;	state Exp;
branches;
next	1.53;

1.53
date	2009.07.13.01.51.56;	author tgl;	state Exp;
branches;
next	1.52;

1.52
date	2009.04.27.16.27.35;	author momjian;	state Exp;
branches;
next	1.51;

1.51
date	2009.01.09.13.37.18;	author petere;	state Exp;
branches;
next	1.50;

1.50
date	2008.11.21.16.46.19;	author petere;	state Exp;
branches;
next	1.49;

1.49
date	2008.07.29.15.23.44;	author mha;	state Exp;
branches;
next	1.48;

1.48
date	2008.07.29.15.17.27;	author mha;	state Exp;
branches;
next	1.47;

1.47
date	2008.03.14.17.28.23;	author alvherre;	state Exp;
branches;
next	1.46;

1.46
date	2008.02.28.12.17.59;	author mha;	state Exp;
branches;
next	1.45;

1.45
date	2008.02.06.15.13.25;	author mha;	state Exp;
branches
	1.45.2.1;
next	1.44;

1.44
date	2007.12.19.12.29.36;	author mha;	state Exp;
branches;
next	1.43;

1.43
date	2007.12.02.22.33.20;	author tgl;	state Exp;
branches;
next	1.42;

1.42
date	2007.11.28.15.42.31;	author petere;	state Exp;
branches;
next	1.41;

1.41
date	2007.08.03.10.47.10;	author mha;	state Exp;
branches;
next	1.40;

1.40
date	2007.04.18.13.50.08;	author mha;	state Exp;
branches;
next	1.39;

1.39
date	2007.04.18.10.14.06;	author mha;	state Exp;
branches;
next	1.38;

1.38
date	2007.03.29.15.30.52;	author mha;	state Exp;
branches;
next	1.37;

1.37
date	2007.03.24.22.16.49;	author mha;	state Exp;
branches;
next	1.36;

1.36
date	2007.03.23.09.57.55;	author mha;	state Exp;
branches;
next	1.35;

1.35
date	2007.03.21.19.22.52;	author mha;	state Exp;
branches;
next	1.34;

1.34
date	2007.03.17.17.11.41;	author mha;	state Exp;
branches;
next	1.33;

1.33
date	2007.03.17.14.30.00;	author mha;	state Exp;
branches;
next	1.32;

1.32
date	2007.03.14.00.15.26;	author tgl;	state Exp;
branches;
next	1.31;

1.31
date	2007.03.13.16.03.35;	author mha;	state Exp;
branches;
next	1.30;

1.30
date	2007.02.02.16.10.08;	author neilc;	state Exp;
branches;
next	1.29;

1.29
date	2006.09.16.00.30.14;	author momjian;	state Exp;
branches
	1.29.2.1;
next	1.28;

1.28
date	2006.03.10.19.10.48;	author momjian;	state Exp;
branches;
next	1.27;

1.27
date	2006.02.12.06.11.50;	author momjian;	state Exp;
branches;
next	1.26;

1.26
date	2005.05.13.15.21.59;	author tgl;	state Exp;
branches
	1.26.2.1;
next	1.25;

1.25
date	2005.05.11.16.02.12;	author momjian;	state Exp;
branches;
next	1.24;

1.24
date	2005.05.11.15.10.20;	author momjian;	state Exp;
branches;
next	1.23;

1.23
date	2004.12.27.20.13.47;	author tgl;	state Exp;
branches
	1.23.4.1;
next	1.22;

1.22
date	2004.12.26.23.06.56;	author tgl;	state Exp;
branches;
next	1.21;

1.21
date	2004.12.24.19.20.18;	author momjian;	state Exp;
branches;
next	1.20;

1.20
date	2004.12.24.18.37.26;	author momjian;	state Exp;
branches;
next	1.19;

1.19
date	2004.12.24.18.32.50;	author momjian;	state Exp;
branches;
next	1.18;

1.18
date	2004.09.27.19.43.17;	author momjian;	state Exp;
branches;
next	1.17;

1.17
date	2003.11.29.19.51.37;	author pgsql;	state Exp;
branches;
next	1.16;

1.16
date	2003.11.12.22.47.47;	author petere;	state Exp;
branches;
next	1.15;

1.15
date	2003.11.04.09.55.38;	author petere;	state Exp;
branches;
next	1.14;

1.14
date	2003.09.30.01.26.29;	author tgl;	state Exp;
branches
	1.14.2.1;
next	1.13;

1.13
date	2003.09.29.18.21.33;	author momjian;	state Exp;
branches;
next	1.12;

1.12
date	2003.09.29.18.18.35;	author momjian;	state Exp;
branches;
next	1.11;

1.11
date	2003.03.24.14.32.50;	author petere;	state Exp;
branches;
next	1.10;

1.10
date	2002.11.11.20.14.03;	author petere;	state Exp;
branches;
next	1.9;

1.9
date	2001.11.28.20.49.10;	author petere;	state Exp;
branches
	1.9.4.1;
next	1.8;

1.8
date	2001.11.19.03.58.23;	author tgl;	state Exp;
branches;
next	1.7;

1.7
date	2001.09.09.23.52.12;	author petere;	state Exp;
branches;
next	1.6;

1.6
date	2001.05.12.22.51.35;	author petere;	state Exp;
branches;
next	1.5;

1.5
date	2000.12.21.22.30.39;	author petere;	state Exp;
branches;
next	1.4;

1.4
date	2000.09.29.20.21.34;	author petere;	state Exp;
branches;
next	1.3;

1.3
date	2000.03.31.03.27.40;	author thomas;	state Exp;
branches;
next	1.2;

1.2
date	2000.02.10.15.47.58;	author momjian;	state Exp;
branches;
next	1.1;

1.1
date	99.01.07.02.59.45;	author thomas;	state Exp;
branches;
next	;

1.9.4.1
date	2002.11.06.23.30.39;	author petere;	state Exp;
branches;
next	;

1.14.2.1
date	2003.11.04.09.45.29;	author petere;	state Exp;
branches;
next	1.14.2.2;

1.14.2.2
date	2003.11.12.20.05.14;	author petere;	state Exp;
branches;
next	;

1.23.4.1
date	2005.05.11.15.10.56;	author momjian;	state Exp;
branches;
next	1.23.4.2;

1.23.4.2
date	2005.05.11.16.02.59;	author momjian;	state Exp;
branches;
next	1.23.4.3;

1.23.4.3
date	2005.05.13.16.47.03;	author tgl;	state Exp;
branches;
next	1.23.4.4;

1.23.4.4
date	2007.02.02.16.10.18;	author neilc;	state Exp;
branches;
next	;

1.26.2.1
date	2007.02.02.16.10.13;	author neilc;	state Exp;
branches;
next	;

1.29.2.1
date	2007.02.02.16.10.10;	author neilc;	state Exp;
branches;
next	;

1.45.2.1
date	2008.02.28.12.18.03;	author mha;	state Exp;
branches;
next	1.45.2.2;

1.45.2.2
date	2008.03.14.17.28.24;	author alvherre;	state Exp;
branches;
next	1.45.2.3;

1.45.2.3
date	2008.07.29.15.17.29;	author mha;	state Exp;
branches;
next	1.45.2.4;

1.45.2.4
date	2008.07.29.15.23.46;	author mha;	state Exp;
branches;
next	;

1.57.4.1
date	2010.07.27.19.01.04;	author petere;	state Exp;
branches;
next	1.57.4.2;

1.57.4.2
date	2010.07.29.19.34.36;	author petere;	state Exp;
branches;
next	;


desc
@@


1.59
log
@Fix indentation of verbatim block elements

Block elements with verbatim formatting (literallayout, programlisting,
screen, synopsis) should be aligned at column 0 independent of the surrounding
SGML, because whitespace is significant, and indenting them creates erratic
whitespace in the output.  The CSS stylesheets already take care of indenting
the output.

Assorted markup improvements to go along with it.
@
text
@<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.58 2010/07/27 19:01:16 petere Exp $ -->

<chapter id="install-win32">
 <title>Installation from Source Code on <productname>Windows</productname></title>

 <indexterm>
  <primary>installation</primary>
  <secondary>on Windows</secondary>
 </indexterm>

 <para>
  It is recommended that most users download the binary distribution for 
  Windows, available as a one-click installer package
  from the <productname>PostgreSQL</productname> website. Building from source
  is only intended for people developing <productname>PostgreSQL</productname>
  or extensions.
 </para>

 <para>
  There are several different ways of building PostgreSQL on
  <productname>Windows</productname>. The simplest way to build with
  Microsoft tools is to install a modern version of the
  <productname>Microsoft Platform SDK</productname> and use use the included
  compiler. It is also possible to build with the full
  <productname>Microsoft Visual C++ 2005 or 2008</productname>. In some cases
  that requires the installation of the <productname>Platform SDK</productname>
  in addition to the compiler.
 </para>

 <para>
  It is also possible to build PostgreSQL using the GNU compiler tools
  provided by <productname>MinGW</productname>, or using
  <productname>Cygwin</productname> for older versions of
  <productname>Windows</productname>.
 </para>

 <para>
  Finally, the client access library
  (<application>libpq</application>) can be built using
  <productname>Visual C++ 7.1</productname> or 
  <productname>Borland C++</productname> for compatibility with statically
  linked applications built using these tools.
 </para>

 <para>
  Building using <productname>MinGW</productname> or
  <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
  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
  binaries are built using <productname>Visual Studio</productname>.
 </para>

 <sect1 id="install-win32-full">
  <title>Building with <productname>Visual C++</productname> or the
  <productname>Platform SDK</productname></title>

 <para>
  PostgreSQL can be built using the Visual C++ compiler suite from Microsoft.
  These compilers can be either from <productname>Visual Studio</productname>,
  <productname>Visual Studio Express</productname> or recent versions of the
  <productname>Platform SDK</productname>. If you do not already have a
  <productname>Visual Studio</productname> environment set up, the easiest
  way us to use the compilers in the <productname>Platform SDK</productname>,
  which is a free download from Microsoft.
 </para>

 <para>
  PostgreSQL supports the compilers from
  <productname>Visual Studio 2005</productname> and
  <productname>Visual Studio 2008</productname>. When using the Platform SDK
  only, or when building for 64-bit Windows, only
  <productname>Visual Studio 2008</productname> is supported.
 </para>

 <para>
  The tools for building using <productname>Visual C++</productname>,
  are in the <filename>src/tools/msvc</filename> directory. When building,
  make sure there are no tools from <productname>MinGW</productname> or
  <productname>Cygwin</productname> present in your system PATH. Also, make
  sure you have all the required Visual C++ tools available in the PATH. In
  <productname>Visual Studio</productname>, start the
  <application>Visual Studio Command Prompt</application>. In the
  <productname>Platform SDK</productname>, start the
  <application>CMD shell</application> listed under the SDK on the Start Menu.
  If you wish to build a 64-bit version, you must use the 64-bit version of
  the command, and vice versa.
  All commands should be run from the <filename>src\tools\msvc</filename>
  directory.
 </para>

 <para>
  Before you build, you may need to edit the file <filename>config.pl</filename>
  to reflect any configuration options you want to change, or the paths to
  any third party libraries to use. The complete configuration is determined
  by first reading and parsing the file <filename>config_default.pl</filename>,
  and then apply any changes from <filename>config.pl</filename>. For example,
  to specify the location of your <productname>Python</productname> installation,
  put the following in <filename>config.pl</filename>:
<programlisting>
$config->{python} = 'c:\python26';
</programlisting>
  You only need to specify those parameters that are different from what's in
  <filename>config_default.pl</filename>.
 </para>

 <para>
  If you need to set any other environment variables, create a file called
  <filename>buildenv.pl</filename> and put the required commands there. For
  example, to add the path for bison when it's not in the PATH, create a file
  containing:
<programlisting>
$ENV{PATH}=$ENV{PATH} . ';c:\some\where\bison\bin';
</programlisting>
 </para>

 <sect2>
  <title>Requirements</title>
  <para>
   The following additional products are required to build
   <productname>PostgreSQL</productname>. Use the
   <filename>config.pl</filename> file to specify which directories the libraries
   are available in.

   <variablelist>
    <varlistentry>
     <term><productname>Microsoft Platform SDK</productname></term>
     <listitem><para>
      It is recommended that you upgrade to the latest available version
      of the <productname>Microsoft Platform SDK</productname>, available
      for download from <ulink url="http://www.microsoft.com/downloads/"></>.
     </para>
     <para>
      You must always include the
      <application>Windows Headers and Libraries</application> part of the SDK.
      If you install the <productname>Platform SDK</productname>
      including the <application>Visual C++ Compilers</application>,
      you don't need <productname>Visual Studio</productname> to build.
     </para></listitem>
    </varlistentry>

    <varlistentry>
     <term><productname>ActiveState Perl</productname></term>
     <listitem><para>
      ActiveState Perl is required to run the build generation scripts. MinGW
      or Cygwin Perl will not work. It must also be present in the PATH.
      Binaries can be downloaded from
      <ulink url="http://www.activestate.com"></> (Note: version 5.8 is required,
      the free Standard Distribution is sufficient).
     </para></listitem>
    </varlistentry>

   </variablelist>
  </para>
  <para>
   The following additional products are not required to get started,
   but are required to build the complete package. Use the
   <filename>config.pl</filename> file to specify which directories the libraries
   are available in.

   <variablelist>
    <varlistentry>
     <term><productname>ActiveState TCL</productname></term>
     <listitem><para>
      Required for building <application>PL/TCL</application> (Note: version
      8.4 is required, the free Standard Distribution is sufficient).
     </para></listitem>
    </varlistentry>

    <varlistentry>
     <term><productname>Bison</productname> and
      <productname>Flex</productname></term>
     <listitem><para>
      Bison and Flex are required to build from CVS, 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 <ulink url="http://gnuwin32.sourceforge.net"></>.
      Flex can be downloaded from 
      <ulink url="http://www.postgresql.org/ftp/misc/winflex/"></>.
     </para></listitem>
    </varlistentry>

    <varlistentry>
     <term><productname>Diff</productname></term>
     <listitem><para>
      Diff is required to run the regression tests, and can be downloaded
      from <ulink url="http://gnuwin32.sourceforge.net"></>.
     </para></listitem>
    </varlistentry>

    <varlistentry>
     <term><productname>Gettext</productname></term>
     <listitem><para>
      Gettext is required to build with NLS support, and can be downloaded
      from <ulink url="http://gnuwin32.sourceforge.net"></>. Note that binaries,
      dependencies and developer files are all needed.
     </para></listitem>
    </varlistentry>

    <varlistentry>
     <term><productname>MIT Kerberos</productname></term>
     <listitem><para>
      Required for Kerberos authentication support. MIT Kerberos can be
      downloaded from 
      <ulink url="http://web.mit.edu/Kerberos/dist/index.html"></>.
     </para></listitem>
    </varlistentry>

    <varlistentry>
     <term><productname>libxml2</productname> and
      <productname>libxslt</productname></term>
     <listitem><para>
      Required for XML support. Binaries can be downloaded from
      <ulink url="http://zlatkovic.com/pub/libxml"></> or source from
      <ulink url="http://xmlsoft.org"></>. Note that libxml2 requires iconv,
      which is available from the same download location.
     </para></listitem>
    </varlistentry>

    <varlistentry>
     <term><productname>openssl</productname></term>
     <listitem><para>
      Required for SSL support. Binaries can be downloaded from
      <ulink url="http://www.slproweb.com/products/Win32OpenSSL.html"></>
      or source from <ulink url="http://www.openssl.org"></>.
     </para></listitem>
    </varlistentry>

    <varlistentry>
     <term><productname>ossp-uuid</productname></term>
     <listitem><para>
      Required for UUID-OSSP support (contrib only). Source can be 
      downloaded from
      <ulink url="http://www.ossp.org/pkg/lib/uuid/"></>.
     </para></listitem>
    </varlistentry>

    <varlistentry>
     <term><productname>Python</productname></term>
     <listitem><para>
      Required for building <application>PL/Python</application>. Binaries can
      be downloaded from <ulink url="http://www.python.org"></>.
     </para></listitem>
    </varlistentry>

    <varlistentry>
     <term><productname>zlib</productname></term>
     <listitem><para>
      Required for compression support in <application>pg_dump</application>
      and <application>pg_restore</application>. Binaries can be downloaded
      from <ulink url="http://www.zlib.net"></>.
     </para></listitem>
    </varlistentry>

   </variablelist>
  </para>
 </sect2>

 <sect2>
  <title>Special considerations for 64-bit Windows</title>

  <para>
   PostgreSQL will only build for the x64 architecture on 64-bit Windows, there
   is no support for Itanium processors.
  </para>

  <para>
   Mixing 32- and 64-bit versions in the same build tree is not supported.
   The build system will automatically detect if it's running in a 32- or
   64-bit environment, and build PostgreSQL accordingly. For this reason, it
   is important to start the correct command prompt before building.
  </para>

  <para>
   To use a server-side third party library such as <productname>python</> or
   <productname>openssl</>, this library <emphasis>must</emphasis> also be
   64-bit. There is no support for loading a 32-bit library in a 64-bit
   server. Several of the third party libraries that PostgreSQL supports may
   only be available in 32-bit versions, in which case they cannot be used with
   64-bit PostgreSQL.
  </para>
 </sect2>

 <sect2>
  <title>Building</title>

  <para>
   To build all of PostgreSQL in release configuration (the default), run the
   command:
<screen>
<userinput>build</userinput>
</screen>
   To build all of PostgreSQL in debug configuration, run the command:
<screen>
<userinput>build DEBUG</userinput>
</screen>
   To build just a single project, for example psql, run the commands:
<screen>
<userinput>build psql</userinput>
<userinput>build DEBUG psql</userinput>
</screen>
   To change the default build configuration to debug, put the following
   in the <filename>buildenv.pl</filename> file:
<programlisting>
$ENV{CONFIG}="Debug";
</programlisting>
  </para>

  <para>
   It is also possible to build from inside the Visual Studio GUI. In this
   case, you need to run:
<screen>
<userinput>perl mkvcbuild.pl</userinput>
</screen>
   from the command prompt, and then open the generated
   <filename>pgsql.sln</filename> (in the root directory of the source tree)
   in Visual Studio.
  </para>
 </sect2>

 <sect2>
  <title>Cleaning and installing</title>

  <para>
   Most of the time, the automatic dependency tracking in Visual Studio will
   handle changed files. But if there have been large changes, you may need
   to clean the installation. To do this, simply run the
   <filename>clean.bat</filename> command, which will automatically clean out
   all generated files. You can also run it with the
   <parameter>dist</parameter> parameter, in which case it will behave like
   <userinput>make distclean</userinput> and remove the flex/bison output files
   as well.
  </para>

  <para>
   By default, all files are written into a subdirectory of the
   <filename>debug</filename> or <filename>release</filename> directories. To
   install these files using the standard layout, and also generate the files
   required to initialize and use the database, run the command:
<screen>
<userinput>install c:\destination\directory</userinput>
</screen>
  </para>
 </sect2>

 <sect2>
  <title>Running the regression tests</title>

  <para>
   To run the regression tests, make sure you have completed the build of all
   required parts first. Also, make sure that the DLLs required to load all
   parts of the system (such as the Perl and Python DLLs for the procedural
   languages) are present in the system path. If they are not, set it through
   the <filename>buildenv.pl</filename> file. To run the tests, run one of
   the following commands from the <filename>src\tools\msvc</filename>
   directory:
<screen>
<userinput>vcregress check</userinput>
<userinput>vcregress installcheck</userinput>
<userinput>vcregress plcheck</userinput>
<userinput>vcregress contribcheck</userinput>
</screen>

   To change the schedule used (default is parallel), append it to the
   command line like:
<screen>
<userinput>vcregress check serial</userinput>
</screen>

   For more information about the regression tests, see
   <xref linkend="regress">.
  </para>
 </sect2>

 <sect2>
  <title>Building the documentation</title>

  <para>
   Building the PostgreSQL documentation in HTML format requires several tools
   and files. Create a root directory for all these files, and store them
   in the subdirectories in the list below.
   <variablelist>
    <varlistentry>
     <term>OpenJade 1.3.1-2</term>
     <listitem><para>
      Download from
      <ulink url="http://sourceforge.net/projects/openjade/files/openjade/1.3.1/openjade-1_3_1-2-bin.zip/download"></>
      and uncompress in the subdirectory <filename>openjade-1.3.1</filename>.
     </para></listitem>
    </varlistentry>

    <varlistentry>
     <term>DocBook DTD 4.2</term>
     <listitem><para>
      Download from
      <ulink url="http://www.oasis-open.org/docbook/sgml/4.2/docbook-4.2.zip"></>
      and uncompress in the subdirectory <filename>docbook</filename>.
     </para></listitem>
    </varlistentry>

    <varlistentry>
     <term>DocBook DSSSL 1.79</term>
     <listitem><para>
      Download from
      <ulink url="http://sourceforge.net/projects/docbook/files/docbook-dsssl/1.79/docbook-dsssl-1.79.zip/download"></>
      and uncompress in the subdirectory
      <filename>docbook-dsssl-1.79</filename>.
     </para></listitem>
    </varlistentry>

    <varlistentry>
     <term>ISO character entities</term>
     <listitem><para>
      Download from
      <ulink url="http://www.oasis-open.org/cover/ISOEnts.zip"></> and
      uncompress in the subdirectory <filename>docbook</filename>.
     </para></listitem>
    </varlistentry>
   </variablelist>
   Edit the <filename>buildenv.pl</filename> file, and add a variable for the
   location of the root directory, for example:
<programlisting>
$ENV{DOCROOT}='c:\docbook';
</programlisting>
   To build the documentation, run the command
   <filename>builddoc.bat</filename>. Note that this will actually run the
   build twice, in order to generate the indexes. The generated HTML files
   will be in <filename>doc\src\sgml</filename>.
  </para>
 </sect2>

 </sect1>

 <sect1 id="install-win32-libpq">
  <title>Building <application>libpq</application> with
  <productname>Visual C++</productname> or
  <productname>Borland C++</productname></title>

 <para>
  Using <productname>Visual C++ 7.1-9.0</productname> or
  <productname>Borland C++</productname> to build libpq is only recommended
  if you need a version with different debug/release flags, or if you need a
  static library to link into an application. For normal use the
  <productname>MinGW</productname> or
  <productname>Visual Studio</productname> or
  <productname>Platform SDK</productname> method is recommended.
 </para>

 <para>
  To build the <application>libpq</application> client library using
  <productname>Visual Studio 7.1 or later</productname>, change into the
  <filename>src</filename> directory and type the command:
<screen>
<userinput>nmake /f win32.mak</userinput>
</screen>
 </para>
 <para>
 To build a 64-bit version of the <application>libpq</application>
 client library using <productname>Visual Studio 8.0 or
 later</productname>, change into the <filename>src</filename>
 directory and type in the command:
<screen>
<userinput>nmake /f win32.mak CPU=AMD64</userinput>
</screen>
 See the <filename>win32.mak</filename> file for further details
 about supported variables.
 </para>

 <para>
  To build the <application>libpq</application> client library using
  <productname>Borland C++</productname>, change into the
  <filename>src</filename> directory and type the command:
<screen>
<userinput>make -N -DCFG=Release /f bcc32.mak</userinput>
</screen>
 </para>

 <sect2>
 <title>Generated files</title>
 <para>
  The following files will be built:

  <variablelist>
   <varlistentry>
    <term><filename>interfaces\libpq\Release\libpq.dll</filename></term>
    <listitem>
     <para>
      The dynamically linkable frontend library
     </para>
    </listitem>
   </varlistentry>
  
   <varlistentry>
    <term><filename>interfaces\libpq\Release\libpqdll.lib</filename></term>
    <listitem>
     <para>
      Import library to link your programs to <filename>libpq.dll</filename>
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><filename>interfaces\libpq\Release\libpq.lib</filename></term>
    <listitem>
     <para>
      Static version of the frontend library
     </para>
    </listitem>
   </varlistentry>

  </variablelist>
 </para>

 <para>
  Normally you do not need to install any of the client files. You should
  place the <filename>libpq.dll</filename> file in the same directory
  as your applications executable file. Do not install
  <filename>libpq.dll</filename> into your <filename>Windows</>,
  <filename>System</> or <filename>System32</> directory unless
  absolutely necessary.
  If this file is installed using a setup program, then it should
  be installed with version checking using the
  <symbol>VERSIONINFO</symbol> resource included in the file, to
  ensure that a newer version of the library is not overwritten.
 </para>

 <para>
  If you are planning to do development using <application>libpq</application>
  on this machine, you will have to add the
  <filename>src\include</filename> and
  <filename>src\interfaces\libpq</filename> subdirectories of the source
  tree to the include path in your compiler's settings.
 </para>

 <para>
  To use the library, you must add the
  <filename>libpqdll.lib</filename> file to your project.  (In Visual
  C++, just right-click on the project and choose to add it.)
 </para>
 </sect2>
 </sect1>
</chapter>
@


1.58
log
@Spelling fixes
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.57 2010/03/17 17:12:31 petere Exp $ -->
d105 3
a107 3
  <screen>
   $config->{python} = 'c:\python26';
  </screen>
d117 3
a119 3
  <screen>
   $ENV{PATH}=$ENV{PATH} . ';c:\some\where\bison\bin';
  </screen>
d295 3
a297 5
   <screen>
    <userinput>
     build
    </userinput>
   </screen>
d299 3
a301 5
   <screen>
    <userinput>
     build DEBUG
    </userinput>
   </screen>
d303 4
a306 8
   <screen>
    <userinput>
     build psql
    </userinput>
    <userinput>
     build DEBUG psql
    </userinput>
   </screen>
d309 3
a311 5
   <screen>
    <userinput>
     $ENV{CONFIG}="Debug";
    </userinput>
   </screen>
d317 3
a319 5
   <screen>
    <userinput>
     perl mkvcbuild.pl
    </userinput>
   </screen>
d345 3
a347 5
   <screen>
    <userinput>
     install c:\destination\directory
    </userinput>
   </screen>
d362 6
a367 14
   <screen>
    <userinput>
     vcregress check
    </userinput>
    <userinput>
     vcregress installcheck
    </userinput>
    <userinput>
     vcregress plcheck
    </userinput>
    <userinput>
     vcregress contribcheck
    </userinput>
   </screen>
d371 3
a373 5
   <screen>
    <userinput>
     vcregress check serial
    </userinput>
   </screen>
d427 3
a429 3
   <screen>
    $ENV{DOCROOT}='c:\docbook';
   </screen>
@


1.57
log
@Update broken and permanently moved links
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.56 2010/02/03 17:25:05 momjian Exp $ -->
d22 1
a22 1
  Microsoft tools is to intall a modern version of the
@


1.57.4.1
log
@Spelling fixes
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.57 2010/03/17 17:12:31 petere Exp $ -->
d22 1
a22 1
  Microsoft tools is to install a modern version of the
@


1.57.4.2
log
@Fix indentation of verbatim block elements

Block elements with verbatim formatting (literallayout, programlisting,
screen, synopsis) should be aligned at column 0 independent of the surrounding
SGML, because whitespace is significant, and indenting them creates erratic
whitespace in the output.  The CSS stylesheets already take care of indenting
the output.

Assorted markup improvements to go along with it.
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.57.4.1 2010/07/27 19:01:04 petere Exp $ -->
d105 3
a107 3
<programlisting>
$config->{python} = 'c:\python26';
</programlisting>
d117 3
a119 3
<programlisting>
$ENV{PATH}=$ENV{PATH} . ';c:\some\where\bison\bin';
</programlisting>
d295 5
a299 3
<screen>
<userinput>build</userinput>
</screen>
d301 5
a305 3
<screen>
<userinput>build DEBUG</userinput>
</screen>
d307 8
a314 4
<screen>
<userinput>build psql</userinput>
<userinput>build DEBUG psql</userinput>
</screen>
d317 5
a321 3
<programlisting>
$ENV{CONFIG}="Debug";
</programlisting>
d327 5
a331 3
<screen>
<userinput>perl mkvcbuild.pl</userinput>
</screen>
d357 5
a361 3
<screen>
<userinput>install c:\destination\directory</userinput>
</screen>
d376 14
a389 6
<screen>
<userinput>vcregress check</userinput>
<userinput>vcregress installcheck</userinput>
<userinput>vcregress plcheck</userinput>
<userinput>vcregress contribcheck</userinput>
</screen>
d393 5
a397 3
<screen>
<userinput>vcregress check serial</userinput>
</screen>
d451 3
a453 3
<programlisting>
$ENV{DOCROOT}='c:\docbook';
</programlisting>
@


1.56
log
@Proofreading improvements for the Administration documentation book.
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.55 2010/01/12 20:13:32 mha Exp $ -->
d416 1
a416 1
      <ulink url="http://sourceforge.net/project/downloading.php?groupname=openjade&amp;filename=openjade-1_3_1-2-bin.zip"></>
d434 1
a434 1
      <ulink url="http://sourceforge.net/project/downloading.php?groupname=docbook&amp;filename=docbook-dsssl-1.79.zip"></>
@


1.55
log
@Update MSVC build instructions.

Updated to reflect building with Visual Studio 2008, with just the
Platform SDK, and for 64-bit Windows.
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.54 2009/07/23 17:06:48 adunstan Exp $ -->
d391 1
a391 1
   To change the schedule used (default is the parallel), append it to the
d547 4
a550 3
  <filename>libpq.dll</filename> into your Windows, System or System32
  directory unless absolutely necessary.
  If this file is installed using a setup program, it should
@


1.54
log
@Update location to download flex for building on Windows.
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.53 2009/07/13 01:51:56 tgl Exp $ -->
d13 1
a13 1
  Windows, available as a <productname>Windows Installer</productname> package
d21 18
a38 5
  <productname>Windows</productname>. The complete system can
  be built using <productname>MinGW</productname> or
  <productname>Visual C++ 2005</productname>. It can also be
  built for older versions of <productname>Windows</productname> using
  <productname>Cygwin</productname>. Finally, the client access library
d50 1
d54 3
a56 1
  <productname>Windows 98</productname>.
d60 12
a71 1
  <title>Building with <productname>Visual C++ 2005</productname></title>
d74 9
a82 1
  The tools for building using <productname>Visual C++ 2005</productname>,
d86 24
a109 4
  sure you have all the required Visual C++ tools available in the PATH,
  usually by starting a <application>Visual Studio Command Prompt</application>
  and running the commands from there. All commands should be run from the
  <filename>src\tools\msvc</filename> directory.
a112 2
  Before you build, edit the file <filename>config.pl</filename> to reflect the
  configuration options you want set, including the paths to libraries used.
d125 2
a126 4
   PostgreSQL will build using either the professional versions (any edition)
   or the free Express edition of
   <productname>Visual Studio 2005</productname>. The following additional products
   are required to build the complete package. Use the
d132 16
d158 9
a205 9
     <term><productname>Microsoft Platform SDK</productname></term>
     <listitem><para>
      It is recommended that you upgrade to the latest available version
      of the <productname>Microsoft Platform SDK</productname>, available
      for download from <ulink url="http://www.microsoft.com/downloads/"></>.
     </para></listitem>
    </varlistentry>

    <varlistentry>
d265 25
d359 1
a359 1
     perl install.pl c:\destination\directory
d469 1
a469 1
  Using <productname>Visual C++ 7.1-8.0</productname> or
d474 2
a475 1
  <productname>Visual Studio 2005</productname> version is recommended.
@


1.53
log
@Advance the minimum required version of "flex" from 2.5.4 to 2.5.31, and
update documentation accordingly.  This is required in order to have support
for a reentrant scanner.  I'm committing this bit separately in order to have
an easy reference if we later decide to make the minimum something different
(like 2.5.33).
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.52 2009/04/27 16:27:35 momjian Exp $ -->
d106 3
a108 2
      Bison and Flex can be
      downloaded from <ulink url="http://gnuwin32.sourceforge.net"></>.
@


1.52
log
@Proofreading adjustments for first two parts of documentation (Tutorial
and SQL).
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.51 2009/01/09 13:37:18 petere Exp $ -->
d105 2
a106 1
      2.2 and later will work. Bison and Flex can be
@


1.51
log
@Change chapter titles thus:

III. Server Administration
15. Installation from Source Code
16. Installation from Source Code on Windows
17. Server Setup and Operation

to give users of binary installations a better idea where to start reading.

suggested by Nikolay Samokhvalov
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.50 2008/11/21 16:46:19 petere Exp $ -->
d386 1
a386 1
  <filename>src</filename> directory and type the command
d395 1
a395 1
 directory and type in the command
d406 1
a406 1
  <filename>src</filename> directory and type the command
@


1.50
log
@Include the platform "FAQs" into the installation instructions.
I weeded out some really old information along the way.
FAQ_AIX needs separate consideration and will be dealt with later.
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.49 2008/07/29 15:23:44 mha Exp $ -->
d4 1
a4 1
 <title>Installation on <productname>Windows</productname></title>
@


1.49
log
@Cleanup reference to config.pl so it makes sense not only in
SGML source but in the actual web/pdf viewer...
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.48 2008/07/29 15:17:27 mha Exp $ -->
d35 3
a37 3
  <xref linkend="installation"> and the FAQs in
  <filename>doc/FAQ_MINGW</filename> and <filename>do/FAQ_CYGWIN</filename>.
  Note that <productname>Cygwin</productname> is not recommended, and should
@


1.48
log
@Document which versions of ActivePerl and ActiveTcl are required
for building on MSVC, and that the free distribution is enough
(no need for the enterprise version).

Per gripe from Martin Zaun.
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.47 2008/03/14 17:28:23 alvherre Exp $ -->
d76 1
a76 1
   <filename>config.pl</filename> to specify which directories the libraries
@


1.47
log
@Fix duplicate word, per Guillaume Lelarge.
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.46 2008/02/28 12:17:59 mha Exp $ -->
d86 2
a87 1
      <ulink url="http://www.activestate.com"></>.
d94 2
a95 1
      Required for building <application>PL/TCL</application>.
@


1.46
log
@Support for building contrib/uuid-ossp with MSVC.

Original patch from Hiroshi Saito, modified by me.
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.45 2008/02/06 15:13:25 mha Exp $ -->
d250 1
a250 1
   all generated files. You can also run it with with the
@


1.45
log
@Fix very broken clean.bat for msvc install. The way we used subroutines
in .bat simply did not work, and it called them in the wrong order,
some several times, and some not at all. So this unrolls all subroutine
calls.

This should fix the issues with clean deleting the wrong files reported
by Dave Page.

While at it, add the "clean dist" option to act like "make distclean",
and no longer remove the flex/bison output files by default. This shuold
fix the problem reported by Pavel Golub in bug #3909.
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.44 2007/12/19 12:29:36 mha Exp $ -->
d164 9
@


1.45.2.1
log
@Support for building contrib/uuid-ossp with MSVC.

Original patch from Hiroshi Saito, modified by me.
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.45 2008/02/06 15:13:25 mha Exp $ -->
a163 9
     <term><productname>ossp-uuid</productname></term>
     <listitem><para>
      Required for UUID-OSSP support (contrib only). Source can be 
      downloaded from
      <ulink url="http://www.ossp.org/pkg/lib/uuid/"></>.
     </para></listitem>
    </varlistentry>

    <varlistentry>
@


1.45.2.2
log
@Fix duplicate word, per Guillaume Lelarge.
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.45.2.1 2008/02/28 12:18:03 mha Exp $ -->
d250 1
a250 1
   all generated files. You can also run it with the
@


1.45.2.3
log
@Document which versions of ActivePerl and ActiveTcl are required
for building on MSVC, and that the free distribution is enough
(no need for the enterprise version).

Per gripe from Martin Zaun.
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.45.2.2 2008/03/14 17:28:24 alvherre Exp $ -->
d86 1
a86 2
      <ulink url="http://www.activestate.com"></> (Note: version 5.8 is required,
      the free Standard Distribution is sufficient).
d93 1
a93 2
      Required for building <application>PL/TCL</application> (Note: version
      8.4 is required, the free Standard Distribution is sufficient).
@


1.45.2.4
log
@Cleanup reference to config.pl so it makes sense not only in
SGML source but in the actual web/pdf viewer...
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.45.2.3 2008/07/29 15:17:29 mha Exp $ -->
d76 1
a76 1
   <filename>config.pl</filename> file to specify which directories the libraries
@


1.44
log
@Make all msvc build scripts use buildenv.pl, not buildenv.bat.

Andrew Dunstan
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.43 2007/12/02 22:33:20 tgl Exp $ -->
d241 4
a244 1
   all generated files.
@


1.43
log
@Ensure that all <sect1> and <refentry> tags have IDs.  This is needed
to ensure that the resulting webpages have predictable URLs, instead of
ever-changing numeric IDs.  The new contrib docs were the biggest
offender, but some old stuff had the problem too.  Also, rename a couple
of new contrib sgml files for consistency's sake.
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.42 2007/11/28 15:42:31 petere Exp $ -->
d61 1
a61 1
  <filename>buildenv.bat</filename> and put the required commands there. For
d65 1
a65 2
   @@ECHO OFF
   SET PATH=%PATH%;c:\some\where\bison\bin
d211 1
a211 1
   in the <filename>buildenv.bat</filename> file:
d214 1
a214 1
     set CONFIG=Debug
d265 1
a265 1
   the <filename>buildenv.bat</filename> file. To run the tests, run one of
d341 1
a341 1
   Edit the <filename>buildenv.bat</filename> file, and add a variable for the
d344 1
a344 2
    @@ECHO OFF
    SET DOCROOT=c:\docbook
@


1.42
log
@spell checker run
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.41 2007/08/03 10:47:10 mha Exp $ -->
d43 1
a43 1
 <sect1>
d357 1
a357 1
 <sect1>
@


1.41
log
@Update supported standalone VC++ version to 7.1+ only, and fix
some bad data leftover in win32.mak.

Per request from Hiroshi Saito.
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.40 2007/04/18 13:50:08 mha Exp $ -->
d85 1
a85 1
      or Cygwin perl will not work. It must also be present in the PATH.
d212 1
a212 1
   in the buildenv.bat file:
d264 2
a265 2
   parts of the system (such as the perl and python DLLs for the procedural
   languages) are present in the system PATH. If they are not, set it through
d285 1
a285 1
   commandline like:
d324 1
a324 1
     <term>DocBook DSSL 1.79</term>
@


1.40
log
@Enable building of 64-bit libpq using visual studio 8 and the
win32.mak file.
Enable building with kerberos support using the win32.mak file.

Hiroshi Saito + me
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.39 2007/04/18 10:14:06 mha Exp $ -->
d27 1
a27 1
  <productname>Visual C++ 6.0</productname> or 
d363 1
a363 1
  Using <productname>Visual C++ 6.0-8.0</productname> or
d373 1
a373 1
  <productname>Visual Studio 6.0 or later</productname>, change into the
@


1.39
log
@Change default build to release, to be consistent with unix build.
Make it possible to set the default from builenv.bat.

Per request from Dave Page
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.38 2007/03/29 15:30:52 mha Exp $ -->
d363 1
a363 1
  Using <productname>Visual Studio 6.0</productname> or
d373 1
a373 1
  <productname>Visual Studio 6.0</productname>, change into the
d379 11
@


1.38
log
@Make ECPG regression tests use native threading instead of pthreads, now that
 ecpglib supports it.
Change configure (patch from Bruce) and msvc build system to no longer require
 pthreads on win32, since all parts of postgresql can be thread-safe using the
 native platform functions.
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.37 2007/03/24 22:16:49 mha Exp $ -->
d189 1
a189 1
   To build all of PostgreSQL in debug configuration (the default), run the
d196 1
a196 1
   To build all of PostgreSQL in release configuration, run the command:
d199 1
a199 1
     build RELEASE
d208 8
a215 1
     build RELEASE psql
@


1.37
log
@Support for installing NLS files, and update support to use gettext
from gnuwin32.
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.36 2007/03/23 09:57:55 mha Exp $ -->
a164 9
     <term><productname>pthreads</productname></term>
     <listitem><para>
      Required for building the <application>ECPG</application> libraries.
      Binaries can be downloaded from
      <ulink url="ftp://sources.redhat.com/pub/pthreads-win32"></>.
     </para></listitem>
    </varlistentry>

    <varlistentry>
@


1.36
log
@Support for running contribcheck on msvc
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.35 2007/03/21 19:22:52 mha Exp $ -->
d118 9
@


1.35
log
@Add documentation about vcregress.
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.34 2007/03/17 17:11:41 mha Exp $ -->
d272 3
@


1.34
log
@msvc build actually needs Bison 2.2 or later, not 2.1. Or 1.875 as before.
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.33 2007/03/17 14:30:00 mha Exp $ -->
d252 36
@


1.33
log
@Add note that diff is required for regression tests.
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.32 2007/03/14 00:15:26 tgl Exp $ -->
d103 2
a104 2
      building from a release file. Note that Bison version 2.0 will not
      work, but both earlier and later versions do. Bison and Flex can be
@


1.32
log
@Fix broken markup, strange tab width.
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.31 2007/03/13 16:03:35 mha Exp $ -->
d110 8
@


1.31
log
@Rewrite win32 install documentation (it's not client only anymore, and it's
now complete). Update for the MSVC6/Borland support now being only libpq.
Move most of the information about full MSVC build from README file into
documentation.
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.30 2007/02/02 16:10:08 neilc Exp $ -->
d74 5
a78 5
	or the free Express edition of
	<productname>Visual Studio 2005</productname>. The following additional products
	are required to build the complete package. Use the
	<filename>config.pl</filename> to specify which directories the libraries
	are available in.
d84 5
a88 5
	   ActiveState Perl is required to run the build generation scripts. MinGW
		or Cygwin perl will not work. It must also be present in the PATH.
		Binaries can be downloaded from
		<ulink url="http://www.activestate.com"></>.
	  </para></listitem>
d92 1
a92 1
	  <term><productname>ActiveState TCL</productname></term>
d94 2
a95 2
	   Required for building <application>PL/TCL</application>.
	  </para></listitem>
d100 11
a110 1
	   <productname>Flex</productname></term>
d112 5
a116 15
	   Bison and Flex are required to build from CVS, but not required when
		building from a release file. Note that Bison version 2.0 will not
		work, but both earlier and later versions do. Bison and Flex can be
		downloaded from <ulink url="http://gnuwin32.sourceforge.net"></>.
	  </para></listitem>
    </varlistentry>

	 <varlistentry>
	  <term><productname>Microsoft Platform SDK</productname></term>
	  <listitem><para>
	   It is recommended that you upgrade to the latest available version
	   of the <productname>Microsoft Platform SDK</productname>, available
	   for download from <ulink url="http://www.microsoft.com/downloads/"></>.
	  </para></listitem>
    </varlistentry
d121 4
a124 4
	   Required for Kerberos authentication support. MIT Kerberos can be
		downloaded from 
		<ulink url="http://web.mit.edu/Kerberos/dist/index.html"></>.
	  </para></listitem>
d129 1
a129 1
	   <productname>libxslt</productname></term>
d132 4
a135 4
		<ulink url="http://zlatkovic.com/pub/libxml"></> or source from
		<ulink url="http://xmlsoft.org"></>. Note that libxml2 requires iconv,
		which is available from the same download location.
	  </para></listitem>
d143 2
a144 2
		or source from <ulink url="http://www.openssl.org"></>.
	  </para></listitem>
d151 3
a153 3
		Binaries can be downloaded from
		<ulink url="ftp://sources.redhat.com/pub/pthreads-win32"></>.
	  </para></listitem>
d160 2
a161 2
		be downloaded from <ulink url="http://www.python.org"></>.
	  </para></listitem>
d164 2
a165 2
	 <varlistentry>
	  <term><productname>zlib</productname></term>
d167 4
a170 4
	   Required for compression support in <application>pg_dump</application>
		and <application>pg_restore</application>. Binaries can be downloaded
		from <ulink url="http://www.zlib.net"></>.
	  </para></listitem>
d182 1
a182 1
	command:
d207 1
a207 1
	case, you need to run:
d214 2
a215 2
	<filename>pgsql.sln</filename> (in the root directory of the source tree)
	in Visual Studio.
d224 4
a227 4
	handle changed files. But if there have been large changes, you may need
	to clean the installation. To do this, simply run the
	<filename>clean.bat</filename> command, which will automatically clean out
	all generated files.
d232 3
a234 3
	<filename>debug</filename> or <filename>release</filename> directories. To
	install these files using the standard layout, and also generate the files
	required to initialize and use the database, run the command:
d248 2
a249 2
	and files. Create a root directory for all these files, and store them
	in the subdirectories in the list below.
d255 2
a256 2
		<ulink url="http://sourceforge.net/project/downloading.php?groupname=openjade&amp;filename=openjade-1_3_1-2-bin.zip"></>
		and uncompress in the subdirectory <filename>openjade-1.3.1</filename>.
d264 2
a265 2
		<ulink url="http://www.oasis-open.org/docbook/sgml/4.2/docbook-4.2.zip"></>
		and uncompress in the subdirectory <filename>docbook</filename>.
d275 1
a275 1
		<filename>docbook-dsssl-1.79</filename>.
d283 2
a284 2
		<ulink url="http://www.oasis-open.org/cover/ISOEnts.zip"></> and
		uncompress in the subdirectory <filename>docbook</filename>.
d289 1
a289 1
	location of the root directory, for example:
d295 3
a297 3
	<filename>builddoc.bat</filename>. Note that this will actually run the
	build twice, in order to generate the indexes. The generated HTML files
	will be in <filename>doc\src\sgml</filename>.
@


1.30
log
@Reword suggestion that libpq.dll be installed in WINNT\SYSTEM32 under
Windows. Per Magnus Hagander, this is not recommended.
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.29 2006/09/16 00:30:14 momjian Exp $ -->
d4 1
a4 1
 <title>Client-Only Installation on <productname>Windows</productname></title>
d12 56
a67 10
  Although a complete <productname>PostgreSQL</productname> installation
  for <productname>Windows</> can only be built using
  <productname>MinGW</productname> or
  <productname>Cygwin</productname>, the C client library
  (<application>libpq</application>) and the interactive terminal
  (<application>psql</application>) can be compiled using other Windows
  tool sets. Makefiles are included in the source distribution for
  <productname>Microsoft Visual C++</productname> and
  <productname>Borland C++</productname>. It should be possible to
  compile the libraries manually for other configurations.
d70 160
a229 1
 <tip>
d231 9
a239 3
   Using <productname>MinGW</productname> or
   <productname>Cygwin</productname> is preferred.  If using one of
   those tool sets, see <xref linkend="installation">.
d241 66
a306 1
 </tip>
d309 11
a319 2
  To build everything that you can on <productname>Windows</productname>
  using <productname>Microsoft Visual C++</productname>, change into the
a323 2
  This assumes that you have <productname>Visual C++</productname> in
  your path.
d327 3
a329 3
  To build everything using <productname>Borland
  C++</productname>, change into the <filename>src</filename> directory
  and type the command
d335 2
a367 22
   <varlistentry>
    <term><filename>bin\pg_config\Release\pg_config.exe</filename></term>
    <term><filename>bin\psql\Release\psql.exe</filename></term>
    <term><filename>bin\pg_dump\Release\pg_dump.exe</filename></term>
    <term><filename>bin\pg_dump\Release\pg_dumpall.exe</filename></term>
    <term><filename>bin\pg_dump\Release\pg_restore.exe</filename></term>
    <term><filename>bin\scripts\Release\clusterdb.exe</filename></term>
    <term><filename>bin\scripts\Release\createdb.exe</filename></term>
    <term><filename>bin\scripts\Release\createuser.exe</filename></term>
    <term><filename>bin\scripts\Release\createlang.exe</filename></term>
    <term><filename>bin\scripts\Release\dropdb.exe</filename></term>
    <term><filename>bin\scripts\Release\dropuser.exe</filename></term>
    <term><filename>bin\scripts\Release\droplang.exe</filename></term>
    <term><filename>bin\scripts\Release\vacuumdb.exe</filename></term>
    <term><filename>bin\scripts\Release\reindexdb.exe</filename></term>
    <listitem>
     <para>
     The <productname>PostgreSQL</productname> client applications and utilities.
     </para>
    </listitem>
   </varlistentry>

d374 4
a377 4
  as your applications .EXE-file. Only if this is for some reason not
  possible should you install it in the <filename>WINNT\SYSTEM32</filename>
  directory (or in <filename>WINDOWS\SYSTEM</filename> on a Windows 95/98/ME
  system).  If this file is installed using a setup program, it should
d384 1
a384 1
  If you plan to do development using <application>libpq</application>
d396 2
a397 15

 <para>
  Free development tools from <productname>Microsoft</productname>
  can be downloaded from
  <ulink url="http://msdn.microsoft.com/visualc/vctoolkit2003/"></>.
  You will also need <filename>MSVCRT.lib</> from the platform SDK from
  <ulink url="http://www.microsoft.com/msdownload/platformsdk/sdkupdate/"></>.
  You can also download the <application>.NET</> framework from
  <ulink url="http://msdn.microsoft.com/netframework/downloads/updates/default.aspx"></>.
  Once installed, the toolkit binaries must be in your path, and you might
  need to add a <literal>/lib:&lt;libpath&gt;</> to point to <filename>MSVCRT.lib</>.
  Free <productname>Borland C++</productname> compiler tools can be downloaded from
  <ulink url="http://www.borland.com/products/downloads/download_cbuilder.html#"></>,
  and require similar setup.
 </para>
@


1.29
log
@Remove emacs info from footer of SGML files.
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.28 2006/03/10 19:10:48 momjian Exp $ -->
d109 5
a113 4
  The only file that really needs to be installed is the
  <filename>libpq.dll</filename> library.  This file should in most
  cases be placed in the <filename>WINNT\SYSTEM32</filename> directory
  (or in <filename>WINDOWS\SYSTEM</filename> on a Windows 95/98/ME
@


1.29.2.1
log
@Reword suggestion that libpq.dll be installed in WINNT\SYSTEM32 under
Windows. Per Magnus Hagander, this is not recommended.
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.29 2006/09/16 00:30:14 momjian Exp $ -->
d109 4
a112 5
  Normally you do not need to install any of the client files. You should
  place the <filename>libpq.dll</filename> file in the same directory
  as your applications .EXE-file. Only if this is for some reason not
  possible should you install it in the <filename>WINNT\SYSTEM32</filename>
  directory (or in <filename>WINDOWS\SYSTEM</filename> on a Windows 95/98/ME
@


1.28
log
@Make $PostgreSQL CVS tags consistent for SGML files.
@
text
@d1 1
a1 1
<!-- $PostgreSQL: pgsql/doc/src/sgml/advanced.sgml,v 1.49 2005/04/09 03:52:43 momjian Exp $ -->
a147 17

<!-- Keep this comment at the end of the file
Local variables:
mode:sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"./reference.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:("/usr/lib/sgml/catalog")
sgml-local-ecat-files:nil
End:
-->
@


1.27
log
@Add MSVC support for utility commands and pg_dump.

Hiroshi Saito
@
text
@d1 1
a1 3
<!--
$PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.26 2005/05/13 15:21:59 tgl Exp $
-->
@


1.26
log
@Fix broken markup.
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.25 2005/05/11 16:02:12 momjian Exp $
d86 1
d88 12
d102 1
a102 1
      The <productname>PostgreSQL</productname> interactive terminal
d106 1
@


1.26.2.1
log
@Reword suggestion that libpq.dll be installed in WINNT\SYSTEM32 under
Windows. Per Magnus Hagander, this is not recommended.
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.26 2005/05/13 15:21:59 tgl Exp $
d97 4
a100 5
  Normally you do not need to install any of the client files. You should
  place the <filename>libpq.dll</filename> file in the same directory
  as your applications .EXE-file. Only if this is for some reason not
  possible should you install it in the <filename>WINNT\SYSTEM32</filename>
  directory (or in <filename>WINDOWS\SYSTEM</filename> on a Windows 95/98/ME
@


1.25
log
@Document where to download free Microsoft and Borland development tools.
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.24 2005/05/11 15:10:20 momjian Exp $
d134 1
@


1.24
log
@Document that bcc compiles now need the -N flag, backpatch to 8.0.X.
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.23 2004/12/27 20:13:47 tgl Exp $
d121 13
@


1.23
log
@Move info about psql console code page issues out of install-win32.sgml,
where it doesn't belong, and put it in the psql reference page.
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.22 2004/12/26 23:06:56 tgl Exp $
d50 1
a50 1
<userinput>make -DCFG=Release /f bcc32.mak</userinput>
@


1.23.4.1
log
@Document that bcc compiles now need the -N flag, backpatch to 8.0.X.
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.23 2004/12/27 20:13:47 tgl Exp $
d50 1
a50 1
<userinput>make -N -DCFG=Release /f bcc32.mak</userinput>
@


1.23.4.2
log
@Document where to download free Microsoft and Borland development tools.
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.23.4.1 2005/05/11 15:10:56 momjian Exp $
a120 13
 <para>
  Free development tools from <productname>Microsoft</productname>
  can be downloaded from
  <ulink url="http://msdn.microsoft.com/visualc/vctoolkit2003/"></>.
  You will also need <filename>MSVCRT.lib</> from the platform SDK from
  <ulink url="http://www.microsoft.com/msdownload/platformsdk/sdkupdate/"></>.
  You can also download the <application>.NET</> framework from
  <ulink url="http://msdn.microsoft.com/netframework/downloads/updates/default.aspx"></>.
  Once installed, the toolkit binaries must be in your path, and you might
  need to add a <literal>/lib:&lt;libpath&gt;</> to point to <filename>MSVCRT.lib</>.
  Free <productname>Borland C++</productname> compiler tools can be downloaded from
  <ulink url="http://www.borland.com/products/downloads/download_cbuilder.html#"></>,
  and require similar setup.
@


1.23.4.3
log
@Fix broken markup.
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.23.4.2 2005/05/11 16:02:59 momjian Exp $
a133 1
 </para>
@


1.23.4.4
log
@Reword suggestion that libpq.dll be installed in WINNT\SYSTEM32 under
Windows. Per Magnus Hagander, this is not recommended.
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.23.4.3 2005/05/13 16:47:03 tgl Exp $
d97 4
a100 5
  Normally you do not need to install any of the client files. You should
  place the <filename>libpq.dll</filename> file in the same directory
  as your applications .EXE-file. Only if this is for some reason not
  possible should you install it in the <filename>WINNT\SYSTEM32</filename>
  directory (or in <filename>WINDOWS\SYSTEM</filename> on a Windows 95/98/ME
@


1.22
log
@More minor updates and copy-editing.
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.21 2004/12/24 19:20:18 momjian Exp $
d46 1
a46 1
  To build everything using using <productname>Borland
d80 1
a80 1
      Static library version of the frontend library
a120 28
 <para>
  <application>psql</application> is compiled as a <quote>console
  application</>. As the Windows console windows use a different
  encoding than the rest of the system, you must take special care
  when using 8-bit characters within <application>psql</application>.
  If <application>psql</application> detects a problematic
  console code page, it will warn you at startup. To change the
  console code page, two things are necessary:

   <itemizedlist>
    <listitem>
     <para>
      Set the code page by entering <userinput>cmd.exe /c chcp
      1252</userinput>. (1252 is a code page that is appropriate for
      German; replace it with your value.) If you are using Cygwin,
      you can put this command in <filename>/etc/profile</filename>.
     </para>
    </listitem>

    <listitem>
     <para>
      Set the console font to <quote>Lucida Console</>, because the
      raster font does not work with the ANSI code page.
     </para>
    </listitem>
   </itemizedlist>
 </para>

@


1.21
log
@Improve Win32 install instructions.
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.20 2004/12/24 18:37:26 momjian Exp $
d14 3
a16 3
  Although <productname>PostgreSQL</productname> is written for
  Unix-like operating systems and can be built using
  <productname>MinGW</productname> and
d28 3
a30 4
   If you are using a Windows NT-based operating system or newer you can
   build and use all of <productname>PostgreSQL</productname> <quote>the
   Unix way</quote> if you install the <productname>MinGW</productname>
   toolkit first. In that case see <xref linkend="installation">.
d112 1
a112 1
  tree to the include path in your compilers settings.
d125 2
a126 2
  when using 8-bit characters at the <application>psql</application>
  prompt. When <application>psql</application> detects a problematic
d128 1
a128 1
  console code page, two things are neccessary:
@


1.20
log
@Back out Win32 changes until Tom is done.
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.18 2004/09/27 19:43:17 momjian Exp $
d6 1
a6 1
 <title>Installation on <productname>Windows</productname></title>
d15 3
a17 2
  Unix-like operating systems and compiles under
  <productname>MinGW</productname>, the C client library
@


1.19
log
@Adjust documention for Win32 installation options.
@
text
@d6 1
a6 1
 <title>Client-Only Installation on <productname>Windows</productname></title>
d15 2
a16 3
  Unix-like operating systems and can be built using
  <productname>MinGW</productname> and
  <productname>Cygwin</productname>, the C client library
@


1.18
log
@Update docs for Borland CC build.
@
text
@d2 1
a2 1
$PostgreSQL: pgsql-server/doc/src/sgml/install-win32.sgml,v 1.17 2003/11/29 19:51:37 pgsql Exp $
d6 1
a6 1
 <title>Installation on <productname>Windows</productname></title>
d15 3
a17 2
  Unix-like operating systems and compiles under
  <productname>MinGW</productname>, the C client library
@


1.17
log
@
$Header: -> $PostgreSQL Changes ...
@
text
@d2 1
a2 1
$PostgreSQL: /cvsroot/pgsql-server/doc/src/sgml/install-win32.sgml,v 1.16 2003/11/12 22:47:47 petere Exp $
d15 2
a16 1
  Unix-like operating systems, the C client library
d18 5
a22 5
  (<application>psql</application>) can be compiled natively under
  Windows.  The makefiles included in the source distribution are
  written for <productname>Microsoft Visual C++</productname> and will
  probably not work with other systems.  It should be possible to
  compile the libraries manually in other cases.
d27 4
a30 4
   If you are using Windows 98 or newer you can build and use all of
   <productname>PostgreSQL</productname> <quote>the Unix way</quote>
   if you install the <productname>Cygwin</productname> toolkit first.
   In that case see <xref linkend="installation">.
d35 2
a36 2
  To build everything that you can on
  <productname>Windows</productname>, change into the
d46 9
d108 5
a112 4
  If you plan to do development using <application>libpq</application> on this machine, you will
  have to add the <filename>src\include</filename> and
  <filename>src\interfaces\libpq</filename> subdirectories of the
  source tree to the include path in your compilers settings.
@


1.16
log
@Documentation cleanup
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql-server/doc/src/sgml/install-win32.sgml,v 1.15 2003/11/04 09:55:38 petere Exp $
@


1.15
log
@Random copy-editing.
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql-server/doc/src/sgml/install-win32.sgml,v 1.14 2003/09/30 01:26:29 tgl Exp $
d112 1
a112 1
  application</>. As the Win32 console windows use a different
@


1.14
log
@Use slightly less broken markup.
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql-server/doc/src/sgml/install-win32.sgml,v 1.13 2003/09/29 18:21:33 momjian Exp $
d112 6
a117 7
  application</>. As 
  the Win32 console windows use a different encoding than the rest of the
  system, you must take special care when using 8-bit characters (eg. German
  umlauts) at the <application>psql</application> prompt. When
  <application>psql</application> detects a problematic console codepage, it
  will warn you at startup. To change the console codepage, two things are
  neccessary:
d122 4
a125 3
      Set the codepage with <userinput>cmd.exe /c chcp 1252</userinput>
      (1252 is the German value, replace it with your value). If you are using
      cygwin, you can put this command in <filename>/etc/profile</filename>.
d131 2
a132 2
      Set the console font to <quote>Lucida Console</>, because the raster font
      does not work with the ANSI codepage.
@


1.14.2.1
log
@Random copy-editing.
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql-server/doc/src/sgml/install-win32.sgml,v 1.14 2003/09/30 01:26:29 tgl Exp $
d112 7
a118 6
  application</>. As the Win32 console windows use a different
  encoding than the rest of the system, you must take special care
  when using 8-bit characters at the <application>psql</application>
  prompt. When <application>psql</application> detects a problematic
  console code page, it will warn you at startup. To change the
  console code page, two things are neccessary:
d123 3
a125 4
      Set the code page by entering <userinput>cmd.exe /c chcp
      1252</userinput>. (1252 is a code page that is appropriate for
      German; replace it with your value.) If you are using Cygwin,
      you can put this command in <filename>/etc/profile</filename>.
d131 2
a132 2
      Set the console font to <quote>Lucida Console</>, because the
      raster font does not work with the ANSI code page.
@


1.14.2.2
log
@Documentation cleanup
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql-server/doc/src/sgml/install-win32.sgml,v 1.14.2.1 2003/11/04 09:45:29 petere Exp $
d112 1
a112 1
  application</>. As the Windows console windows use a different
@


1.13
log
@> >
> >  a) Write documentation how the win32 console needs to be set up so that
> >     psql can handle 8-bit characters.
> >     Where should it be added? The Section "Installation on Windows" in the
> >     Administrator's Guide seems natural to me.
> >
> >  b) Add code to psql that prints a warning on startup of psql when the
> >     console codepage differs from the windows codepage, something like
> >
> >     Warning: Console codepage (850) differs from windows codepage (1252)
> >              8-bit characters will not work correctly. See PostgreSQL
> >              documentation "Installation on Windows" for details.
>
Attached are two patches:

 - installdoc.patch contains an additional paragraph on the win32 console
   codepage for the chapter "Installation on Windows"
   Due to a lack of SGML-tools, I have only edited the text and not tested
   the SGML code - please check it before merging into the CVS branch.

 - psqlcodepage.patch adds the warning about a problematic codepage to psql.


Christoph Dalitz
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql-server/doc/src/sgml/install-win32.sgml,v 1.12 2003/09/29 18:18:35 momjian Exp $
d111 5
a115 4
  <application>psql</application> is compiled as a "console application". As
  the win32 console windows use a different encoding than the rest of the
  system, you must take special care when using 8-bit characaters (eg. german
  Umlauts) at the <application>psql</application> prompt. When
d120 1
a120 2
  <variablelist>
   <varlistentry>
d122 1
d124 3
a126 2
	  (1252 is the german value, replace it with your value). If you are using
	  cygwin, you can put this command in <filename>/etc/profile</filename>.
d128 1
a128 2
   </varlistentry>
   <varlistentry>
d130 4
a133 2
      Set the console font to "Lucida Console", because the raster font
	  does not work with the ANSI codepage.
d135 1
a135 3
   </varlistentry>
  </variablelist>

@


1.12
log
@This patch makes a few incremental improvements to geqo.sgml and
arch-dev.sgml

Neil Conway
@
text
@d2 1
a2 1
$Header$
d108 27
@


1.11
log
@Another big editing pass for consistent content and presentation.
@
text
@d1 4
@


1.10
log
@Merge documentation updates from 7.3 branch.
@
text
@d57 1
a57 1
      Import library to link your program to <filename>libpq.dll</filename>
d101 1
a101 1
  To use the libraries, you must add the
@


1.9
log
@proof-reading
@
text
@a8 8
 <abstract>
  <para>
   Build, installation, and use instructions for
   <productname>PostgreSQL</productname> client libraries on
   <productname>Windows</productname>
  </para>
 </abstract>

@


1.9.4.1
log
@Cleanup pass over Tutorial and Admin Guide
@
text
@d9 8
@


1.8
log
@A bunch of small doco updates motivated by scanning the comments on
the interactive docs.
@
text
@d111 1
a111 1
  C++, just right-click on the project and chose to add it.)
@


1.7
log
@Markup additions and spell check. (covers Admin Guide)
@
text
@d30 1
a30 1
   If you are using Windows NT/2000 you can build and use all of
@


1.6
log
@Add index.  Only some parts of the manual set have index entries so far...
@
text
@d25 1
a25 1
  compile the libaries manually in other cases.
d102 1
a102 1
  If you plan to do development using libpq on this machine, you will
@


1.5
log
@Updates
@
text
@d4 5
@


1.4
log
@Add `id' attributes to all `chapter' and `sect1' tags, to generate useful
names for the HTML files (e.g., not x4856.htm).
@
text
@d1 2
a2 2
 <chapter id="install-win32">
  <title>Installation on Win32</title>
d4 106
a109 95
  <abstract>
   <para>
    Build and installation instructions for <productname>Postgres</productname>
    v6.4 client libraries on Win32.
   </para>
  </abstract>

  <sect1 id="win32-install-build">
   <title>Building the libraries</title>

   <para>
    The makefiles included in <productname>Postgres</productname> are written
    for <productname>Microsoft Visual C++</productname>, and will probably
    not work with other systems. It should be possible to compile the libaries
    manually in other cases.
   </para>

   <para>
    To build the libraries, change directory into the <filename>src</filename>
    directory, and type the commands
    <programlisting>
copy include\config.h.win32 include\config.h
nmake /f win32.mak
    </programlisting>
    This assumes that you have <productname>Visual C++</productname> in your
    path.
   </para>

   <para>
    The following files will be built:

    <itemizedlist spacing="compact" mark="bullet">
     <listitem>
      <para>
       <filename>interfaces\libpq\Release\libpq.dll</filename>
       - The dynamically linkable frontend library
      </para>
     </listitem>

     <listitem>
      <para>
       <filename>interfaces\libpq\Release\libpqdll.lib</filename>
       - Import library to link your program to libpq.dll
      </para>
     </listitem>

     <listitem>
      <para>
       <filename>interfaces\libpq\Release\libpq.lib</filename> - Static library version of the frontend library
      </para>
     </listitem>

     <listitem>
      <para>
       <filename>bin\psql\Release\psql.exe</filename> - The <productname>Postgresql</productname> interactive SQL monitor
      </para>
     </listitem>

    </itemizedlist>
   </para>

  </sect1>

  <sect1 id="win32-install-install">
   <title>Installing the libraries</title>
   <para>
    The only part of the library to really be installed is the 
    <filename>libpq.dll</filename> library. This file should in most cases 
    be placed in the <filename>WINNT\SYSTEM32</filename> directory (or in
    <filename>WINDOWS\SYSTEM</filename> on a Windows 95/98 system). If this
    file is installed using a setup program, it should be installed with
    version checking using the VERSIONINFO resource included in the file,
    to ensure that a newer version of the library is not overwritten.
   </para>
   <para>
    If you plan to do development using libpq on this machine, you will have
    to add the <filename>src\include</filename> and 
    <filename>src\interfaces\libpq</filename> directories to the include
    path in your compilers settings.
   </para>
  </sect1>

  <sect1 id="win32-install-use">
   <title>Using the libraries</title>
   <para>
    To use the libraries, you must add the <filename>libpqdll.lib</filename>
    file to your project (in Visual C++, just right-click on the project and
    chose to add it).
   </para>
   <para>
    Once this is done, it should be possible to use the library just as you
    would on a Unix platform.
   </para>
  </sect1>
 </chapter>
@


1.3
log
@Minor markup changes. Refer to (".../catalog") in the emacs hints.
@
text
@d11 1
a11 1
  <sect1>
d67 1
a67 1
  <sect1>
d86 1
a86 1
  <sect1>
@


1.2
log
@You will need to copy "config.h.win32" to "config.h" in the include
directory.

I think this patch to the docs should be what is needed.

 Magnus Hagander
@
text
@d1 2
a2 2
<Chapter Id="install-win32">
<Title>Installation on Win32</Title>
d4 21
a24 21
<Abstract>
<Para>
Build and installation instructions for <ProductName>Postgres</ProductName>
v6.4 client libraries on Win32.
</Para>
</Abstract>

<Sect1>
<Title>Building the libraries</Title>

<Para>
The makefiles included in <ProductName>Postgres</ProductName> are written
for <ProductName>Microsoft Visual C++</ProductName>, and will probably
not work with other systems. It should be possible to compile the libaries
manually in other cases.
</Para>

<Para>
To build the libraries, change directory into the <filename>src</filename>
directory, and type the commands
<programlisting>
d27 72
a98 73
</programlisting>
This assumes that you have <ProductName>Visual C++</ProductName> in your
path.
</Para>

<Para>
The following files will be built:

<ItemizedList Mark="bullet" Spacing="compact">
<ListItem>
<Para>
<filename>interfaces\libpq\Release\libpq.dll</filename>
 - The dynamically linkable frontend library
</Para>
</ListItem>

<ListItem>
<Para>
<filename>interfaces\libpq\Release\libpqdll.lib</filename>
 - Import library to link your program to libpq.dll
</Para>
</ListItem>

<ListItem>
<Para>
<filename>interfaces\libpq\Release\libpq.lib</filename> - Static library version of the frontend library
</Para>
</ListItem>

<ListItem>
<Para>
<filename>bin\psql\Release\psql.exe</filename> - The <ProductName>Postgresql</ProductName> interactive SQL monitor
</Para>
</ListItem>

</ItemizedList>
</Para>

</Sect1>

<Sect1>
<Title>Installing the libraries</Title>
<Para>
The only part of the library to really be installed is the 
<filename>libpq.dll</filename> library. This file should in most cases 
be placed in the <filename>WINNT\SYSTEM32</filename> directory (or in
<filename>WINDOWS\SYSTEM</filename> on a Windows 95/98 system). If this
file is installed using a setup program, it should be installed with
version checking using the VERSIONINFO resource included in the file,
to ensure that a newer version of the library is not overwritten.
</Para>
<Para>
If you plan to do development using libpq on this machine, you will have
to add the <filename>src\include</filename> and 
<filename>src\interfaces\libpq</filename> directories to the include
path in your compilers settings.
</Para>
</Sect1>

<Sect1>
<Title>Using the libraries</Title>
<Para>
To use the libraries, you must add the <filename>libpqdll.lib</filename>
file to your project (in Visual C++, just right-click on the project and
chose to add it).
</Para>
<Para>
Once this is done, it should be possible to use the library just as you
would on a Unix platform.
</Para>
</Sect1>

</Chapter>
d102 1
a102 1
mode: sgml
d112 1
a112 1
sgml-local-catalogs:"/usr/lib/sgml/CATALOG"
@


1.1
log
@Include installation instructions for WIN32 client-side libraries.
From Magnus Hagander <mha@@sollentuna.net>.
@
text
@d23 1
a23 1
directory, and type the command
d25 1
@
