Re: Should contrib modules install .h files?
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: Andrew Gierth <andrew@tao11.riddles.org.uk>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Peter Eisentraut <peter.eisentraut@2ndquadrant.com>, pgsql-hackers@postgresql.org
Date: 2018-07-02T15:19:02Z
Lists: pgsql-hackers
On 2018-07-02 16:11:07 +0100, Andrew Gierth wrote: > >>>>> "Tom" == Tom Lane <tgl@sss.pgh.pa.us> writes: > > >> A slight snag in trying to use a subdir for each module is that > >> there is not in fact anywhere in the existing makefiles that uses or > >> assigns such a name. Indeed some contrib subdirs install multiple > >> modules. > > Tom> So, given that we have to add something to the module makefiles > Tom> anyway, we could also add a macro specifying the subdirectory name > Tom> to use. (Although in practice this should always be equal to the > Tom> contrib/ subdirectory name, so maybe we could extract it on that > Tom> basis?) > > Using the subdir name may work for in-tree contrib/ builds but it's not > so good for PGXS, which should not be making assumptions about the build > directory name. > > How about this: it's most likely that modules that install include files > will also be using MODULE_big, so use that as the default name; if a > makefile that uses only MODULES also wants to install include files, > have it define MODULE_NAME (or some such variable) itself. For LLVM bitcode generation I made it so MODULE_big uses that as the directory name, whereas MODULES just iterates over the components. Now for the bitcode there was less need to make it selective, so it's a bit easier. We could just define that HEADERS_$component is referenced for each component in MODULES or something like that? Greetings, Andres Freund
Commits
-
Fix out-of-tree build for transform modules.
- f1ca5a654d5d 11.0 landed
- 60f6756f9225 12.0 landed
-
Provide for contrib and pgxs modules to install include files.
- df163230b92b 12.0 landed
- d06eebce5fa4 11.0 landed