aboutsummaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorThomas Munro <tmunro@postgresql.org>2024-11-27 22:34:11 +1300
committerThomas Munro <tmunro@postgresql.org>2024-11-27 23:13:45 +1300
commit1758d42446161f5dfae9b14791c5640239b86faa (patch)
treeaf974a289cd49f4bea8fcc97aae4a3a31581a251 /doc/src
parentf1da075d9a0373c08af32e31dcbf0809ae4aec2f (diff)
downloadpostgresql-1758d42446161f5dfae9b14791c5640239b86faa.tar.gz
postgresql-1758d42446161f5dfae9b14791c5640239b86faa.zip
Require ucrt if using MinGW.
Historically we tolerated the absence of various C runtime library features for the benefit of the MinGW tool chain, because it used ancient msvcrt.dll for a long period of time. It now uses ucrt by default (like Windows 10+, Visual Studio 2015+), and that's the only configuration we're testing. In practice, we effectively required ucrt already in PostgreSQL 17, when commit 8d9a9f03 required _create_locale etc, first available in msvcr120.dll (Visual Studio 2013, the last of the pre-ucrt series of runtimes), and for MinGW users that practically meant ucrt because it was difficult or impossible to use msvcr120.dll. That may even not have been the first such case, but old MinGW configurations had already dropped off our testing radar so we weren't paying much attention. This commit formalizes the requirement. It also removes a couple of obsolete comments that discussed msvcrt.dll limitations, and some tests of !defined(_MSC_VER) to imply msvcrt.dll. There are many more anachronisms, but it'll take some time to figure out how to remove them all. APIs affected relate to locales, UTF-8, threads, large files and more. Thanks to Peter Eisentraut for the documentation change. It's not really necessary to talk about ucrt explicitly in such a short section, since it's the default for MinGW-w64 and MSYS2. It's enough to prune references and broken links to much older tools. Reviewed-by: Peter Eisentraut <peter@eisentraut.org> Discussion: https://postgr.es/m/d9e7731c-ca1b-477c-9298-fa51e135574a%40eisentraut.org
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/installation.sgml60
1 files changed, 5 insertions, 55 deletions
diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml
index 5621606f59a..ebdb5b3bc2d 100644
--- a/doc/src/sgml/installation.sgml
+++ b/doc/src/sgml/installation.sgml
@@ -3582,33 +3582,9 @@ xcrun --show-sdk-path
<para>
PostgreSQL for Windows can be built using MinGW, a Unix-like build
- environment for Microsoft operating systems.
- The MinGW build procedure uses the normal build system described in
- this chapter.
- </para>
-
- <para>
- MinGW, the Unix-like build tools, and MSYS, a collection
- of Unix tools required to run shell scripts
- like <command>configure</command>, can be downloaded
- from <ulink url="http://www.mingw.org/"></ulink>. Neither is
- required to run the resulting binaries; they are needed only for
- creating the binaries.
- </para>
-
- <para>
- To build 64 bit binaries using MinGW, install the 64 bit tool set
- from <ulink url="https://mingw-w64.org/"></ulink>, put its bin
- directory in the <envar>PATH</envar>, and run
- <command>configure</command> with the
- <command>--host=x86_64-w64-mingw32</command> option.
- </para>
-
- <para>
- After you have everything installed, it is suggested that you
- run <application>psql</application>
- under <command>CMD.EXE</command>, as the MSYS console has
- buffering issues.
+ environment for Windows. It is recommended to use the <ulink
+ url="https://www.msys2.org/">MSYS2</ulink> environment for this and also
+ to install any prerequisite packages.
</para>
<sect3 id="mingw-crash-dumps">
@@ -3838,35 +3814,9 @@ make: *** [postgres] Error 1
<productname>Bison</productname> and <productname>Flex</productname> are
required. Only <productname>Bison</productname> versions 2.3 and later
will work. <productname>Flex</productname> must be version 2.5.35 or later.
+ Binaries can be downloaded from <ulink
+ url="https://github.com/lexxmark/winflexbison"></ulink>.
</para>
-
- <para>
- Both <productname>Bison</productname> and <productname>Flex</productname>
- are included in the <productname>msys</productname> tool suite, available
- from <ulink url="http://www.mingw.org/wiki/MSYS"></ulink> as part of the
- <productname>MinGW</productname> compiler suite.
- </para>
-
- <para>
- You will need to add the directory containing
- <filename>flex.exe</filename> and <filename>bison.exe</filename> to the
- PATH environment variable. In the case of MinGW, the directory is the
- <filename>\msys\1.0\bin</filename> subdirectory of your MinGW
- installation directory.
- </para>
-
- <note>
- <para>
- The Bison distribution from GnuWin32 appears to have a bug that
- causes Bison to malfunction when installed in a directory with
- spaces in the name, such as the default location on English
- installations <filename>C:\Program Files\GnuWin32</filename>.
- Consider installing into <filename>C:\GnuWin32</filename> or use the
- NTFS short name path to GnuWin32 in your PATH environment setting
- (e.g., <filename>C:\PROGRA~1\GnuWin32</filename>).
- </para>
- </note>
-
</listitem>
</varlistentry>
</variablelist>