1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-28 23:42:10 +03:00

Document usage of COPT environment variable for adjusting configure flags.

Also add to the existing rather half-baked description of PROFILE,
which does exactly the same thing, but I think people use it differently.

Discussion: https://postgr.es/m/16461.1487361849@sss.pgh.pa.us
This commit is contained in:
Tom Lane
2017-02-17 16:11:02 -05:00
parent 4e8b2fd335
commit 365ee96d53
2 changed files with 33 additions and 0 deletions

View File

@ -1468,6 +1468,26 @@ su - postgres
</variablelist>
</para>
<para>
Sometimes it is useful to add compiler flags after-the-fact to the set
that were chosen by <filename>configure</>. An important example is
that <application>gcc</>'s <option>-Werror</> option cannot be included
in the <envar>CFLAGS</envar> passed to <filename>configure</>, because
it will break many of <filename>configure</>'s built-in tests. To add
such flags, include them in the <envar>COPT</envar> environment variable
while running <filename>make</>. The contents of <envar>COPT</envar>
are added to both the <envar>CFLAGS</envar> and <envar>LDFLAGS</envar>
options set up by <filename>configure</>. For example, you could do
<screen>
<userinput>make COPT='-Werror'</>
</screen>
or
<screen>
<userinput>export COPT='-Werror'</>
<userinput>make</>
</screen>
</para>
<note>
<para>
When developing code inside the server, it is recommended to
@ -1488,6 +1508,14 @@ su - postgres
<option>-O0</>. An easy way to do this is by passing an option
to <application>make</>: <command>make PROFILE=-O0 file.o</>.
</para>
<para>
The <envar>COPT</> and <envar>PROFILE</> environment variables are
actually handled identically by the <productname>PostgreSQL</>
makefiles. Which to use is a matter of preference, but a common habit
among developers is to use <envar>PROFILE</> for one-time flag
adjustments, while <envar>COPT</> might be kept set all the time.
</para>
</note>
</step>