postgres.git / summary / log / commit / refs

commit    12ff406f35b6da535f2011917b38c57e7f6a9540
Author:   Michael Paquier <michael@paquier.xyz>
Date:     Sun Feb 03 08:48:59 2019 +0000
First released in: 12.0, 9.4.21, 9.5.16, 9.6.12, 10.7, 11.2

    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


doc/src/sgml/extend.sgml | 29 ++++++++++++++++++++++++++++- src/makefiles/pgxs.mk | 14 +++++++++++++- 2 files changed, 41 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/extend.sgml b/doc/src/sgml/extend.sgml index 8ee3fa0766b..feb7a92c17f 100644 --- a/doc/src/sgml/extend.sgml +++ b/doc/src/sgml/extend.sgml @@ -1146,7 +1146,34 @@ include $(PGXS) <term><varname>PG_CPPFLAGS</varname></term> <listitem> <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> </listitem> </varlistentry> diff --git a/src/makefiles/pgxs.mk b/src/makefiles/pgxs.mk index 9a479fba6c3..d9c0e8c2cf9 100644 --- a/src/makefiles/pgxs.mk +++ b/src/makefiles/pgxs.mk @@ -41,7 +41,10 @@ # REGRESS -- list of regression test cases (without suffix) # REGRESS_OPTS -- additional switches to pass to pg_regress # 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_INTERNAL -- same, for references to libraries within build tree # SHLIB_LINK -- will be added to MODULE_big link line @@ -98,6 +101,15 @@ endif ifdef PG_CPPFLAGS override CPPFLAGS := $(PG_CPPFLAGS) $(CPPFLAGS) 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 all: $(PROGRAM) $(DATA_built) $(SCRIPTS_built) $(addsuffix $(DLSUFFIX), $(MODULES)) $(addsuffix .control, $(EXTENSION)) [parent: 6a2c9c633135]