Commit ac3a9afd authored by Michael Paquier's avatar Michael Paquier

Add PG_CFLAGS, PG_CXXFLAGS, and PG_LDFLAGS variables to PGXS

Add PG_CFLAGS, PG_CXXFLAGS, and PG_LDFLAGS variables to pgxs.mk which
will be appended or prepended to the corresponding make variables.
Notably, there was previously no way to pass custom CXXFLAGS to third
party extension module builds, COPT and PROFILE supporting only CFLAGS
and LDFLAGS.

Backpatch all the way down to ease integration with existing
extensions.

Author: Christoph Berg
Reviewed-by: Andres Freund, Tom Lane, Michael Paquier
Discussion: https://postgr.es/m/20181113104005.GA32154@msg.credativ.de
Backpatch-through: 9.4
parent 0b8bdb3c
...@@ -1353,7 +1353,34 @@ include $(PGXS) ...@@ -1353,7 +1353,34 @@ include $(PGXS)
<term><varname>PG_CPPFLAGS</varname></term> <term><varname>PG_CPPFLAGS</varname></term>
<listitem> <listitem>
<para> <para>
will be added to <varname>CPPFLAGS</varname> will be prepended to <varname>CPPFLAGS</varname>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>PG_CFLAGS</varname></term>
<listitem>
<para>
will be appended to <varname>CFLAGS</varname>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>PG_CXXFLAGS</varname></term>
<listitem>
<para>
will be appended to <varname>CXXFLAGS</varname>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>PG_LDFLAGS</varname></term>
<listitem>
<para>
will be prepended to <varname>LDFLAGS</varname>
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
......
...@@ -52,7 +52,10 @@ ...@@ -52,7 +52,10 @@
# NO_INSTALLCHECK -- don't define an installcheck target, useful e.g. if # NO_INSTALLCHECK -- don't define an installcheck target, useful e.g. if
# tests require special configuration, or don't use pg_regress # tests require special configuration, or don't use pg_regress
# EXTRA_CLEAN -- extra files to remove in 'make clean' # EXTRA_CLEAN -- extra files to remove in 'make clean'
# PG_CPPFLAGS -- will be added to CPPFLAGS # PG_CPPFLAGS -- will be prepended to CPPFLAGS
# PG_CFLAGS -- will be appended to CFLAGS
# PG_CXXFLAGS -- will be appended to CXXFLAGS
# PG_LDFLAGS -- will be prepended to LDFLAGS
# PG_LIBS -- will be added to PROGRAM link line # PG_LIBS -- will be added to PROGRAM link line
# PG_LIBS_INTERNAL -- same, for references to libraries within build tree # PG_LIBS_INTERNAL -- same, for references to libraries within build tree
# SHLIB_LINK -- will be added to MODULE_big link line # SHLIB_LINK -- will be added to MODULE_big link line
...@@ -119,6 +122,15 @@ endif ...@@ -119,6 +122,15 @@ endif
ifdef PG_CPPFLAGS ifdef PG_CPPFLAGS
override CPPFLAGS := $(PG_CPPFLAGS) $(CPPFLAGS) override CPPFLAGS := $(PG_CPPFLAGS) $(CPPFLAGS)
endif endif
ifdef PG_CFLAGS
override CFLAGS := $(CFLAGS) $(PG_CFLAGS)
endif
ifdef PG_CXXFLAGS
override CXXFLAGS := $(CXXFLAGS) $(PG_CXXFLAGS)
endif
ifdef PG_LDFLAGS
override LDFLAGS := $(PG_LDFLAGS) $(LDFLAGS)
endif
# logic for HEADERS_* stuff # logic for HEADERS_* stuff
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment