On 2018-08-01 04:52:28 +0100, Andrew Gierth wrote: > >>>>> "Tom" == Tom Lane <t...@sss.pgh.pa.us> writes: > > >> If your extension is relying on pg11+, or you have checked the pg > >> version when constructing the makefile, you can just do: > >> PG_CPPFLAGS += -I$(includedir_server)/extension/hstore > >> and #include "hstore.h" will work. > > Tom> I remain of the opinion that it'd be smarter to do > > Tom> PG_CPPFLAGS += -I$(includedir_server)/extension > > Tom> then > > Tom> #include "hstore/hstore.h" > > Tom> This way requires fewer -I options and is far more robust against > Tom> header name conflicts. > > Sure, it works for the simple cases like hstore, but how does it handle > the case of a pgxs extension that installs more than one include file, > one of which includes another?
I might be momentarily daft (just was on a conference call for a while ;)), but why'd that be problematic? The header files can just specify the full path, and they'll find each other because of the aforementioned -I? Greetings, Andres Freund