diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2021-01-22 18:58:25 -0500 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2021-01-22 18:58:45 -0500 |
commit | 29ba00598fe17ad2cc3aa26eccc2f88e408959e9 (patch) | |
tree | d2b87c6e7792129582f981d3811d9ba7ccdcf5cf | |
parent | 878cf600e36796e25a93c75d77c491a048047d27 (diff) | |
download | postgresql-29ba00598fe17ad2cc3aa26eccc2f88e408959e9.tar.gz postgresql-29ba00598fe17ad2cc3aa26eccc2f88e408959e9.zip |
Doc: improve directions for building on macOS.
In light of recent discussions, we should instruct people to
install Apple's command line tools; installing Xcode is secondary.
Also, fix sample command for finding out the default sysroot,
as we now know that the command originally recommended can give
a result that doesn't match your OS version.
Also document the workaround to use if you really don't want
configure to select a sysroot at all.
Discussion: https://postgr.es/m/20210119111625.20435-1-james.hilliard1@gmail.com
-rw-r--r-- | doc/src/sgml/installation.sgml | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml index 72cbf833939..eb5cabbc28a 100644 --- a/doc/src/sgml/installation.sgml +++ b/doc/src/sgml/installation.sgml @@ -2216,6 +2216,17 @@ make MAX_CONNECTIONS=5 check </indexterm> <para> + To build <productname>PostgreSQL</productname> from source + on <productname>macOS</productname>, you will need to install Apple's + command line developer tools, which can be done by issuing +<programlisting> +xcode-select --install +</programlisting> + (note that this will pop up a GUI dialog window for confirmation). + You may or may not wish to also install Xcode. + </para> + + <para> On recent <productname>macOS</productname> releases, it's necessary to embed the <quote>sysroot</quote> path in the include switches used to find some system header files. This results in the outputs of @@ -2231,7 +2242,7 @@ make PG_SYSROOT=<replaceable>/desired/path</replaceable> all </programlisting> To find out the appropriate path on your machine, run <programlisting> -xcodebuild -version -sdk macosx Path +xcrun --show-sdk-path </programlisting> Note that building an extension using a different sysroot version than was used to build the core server is not really recommended; in the @@ -2245,6 +2256,19 @@ xcodebuild -version -sdk macosx Path <programlisting> ./configure ... PG_SYSROOT=<replaceable>/desired/path</replaceable> </programlisting> + This would primarily be useful to cross-compile for some other + macOS version. There is no guarantee that the resulting executables + will run on the current host. + </para> + + <para> + To suppress the <option>-isysroot</option> options altogether, use +<programlisting> +./configure ... PG_SYSROOT=none +</programlisting> + (any nonexistent pathname will work). This might be useful if you wish + to build with a non-Apple compiler, but beware that that case is not + tested or supported by the PostgreSQL developers. </para> <para> |