Received: from malur.postgresql.org ([2a02:16a8:dc51::56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1flIZ4-0003HX-G5 for pgsql-hackers@arkaria.postgresql.org; Thu, 02 Aug 2018 18:43:10 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1flIZ2-0007UT-6s for pgsql-hackers@arkaria.postgresql.org; Thu, 02 Aug 2018 18:43:08 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1flIYY-0005FJ-JX for pgsql-hackers@lists.postgresql.org; Thu, 02 Aug 2018 18:42:38 +0000 Received: from lungold.riddles.org.uk ([82.68.208.19]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1flIYV-0004pc-1e for pgsql-hackers@postgresql.org; Thu, 02 Aug 2018 18:42:37 +0000 Received: from [192.168.127.1] (port=31876 helo=caithnard.riddles.org.uk) by lungold.riddles.org.uk with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.88 (FreeBSD)) (envelope-from ) id 1flIYS-0004aN-E9; Thu, 02 Aug 2018 18:42:32 +0000 Received: from [127.0.0.1] (port=30655 helo=caithnard.riddles.org.uk) by caithnard.riddles.org.uk with esmtp (Exim 4.89 (FreeBSD)) (envelope-from ) id 1flIYR-000AQB-OF; Thu, 02 Aug 2018 18:42:31 +0000 From: Andrew Gierth To: Andres Freund Cc: Tom Lane , Robert Haas , Peter Geoghegan , PostgreSQL Hackers Subject: Re: Should contrib modules install .h files? In-Reply-To: <20180802182144.6qrkfct47u3s2w7t@alap3.anarazel.de> (Andres Freund's message of "Thu, 2 Aug 2018 11:21:44 -0700") Message-ID: <871sbgaa18.fsf@news-spur.riddles.org.uk> References: <87o9enb4h7.fsf@news-spur.riddles.org.uk> <20180731201700.zfscje7clxiljvjl@alap3.anarazel.de> <11978.1533073999@sss.pgh.pa.us> <1836.1533221640@sss.pgh.pa.us> <87lg9oaghh.fsf@news-spur.riddles.org.uk> <25706.1533229991@sss.pgh.pa.us> <87a7q4adnk.fsf@news-spur.riddles.org.uk> <87600sabb2.fsf@news-spur.riddles.org.uk> <20180802182144.6qrkfct47u3s2w7t@alap3.anarazel.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (berkeley-unix) Date: Thu, 02 Aug 2018 19:42:31 +0100 MIME-Version: 1.0 Content-Type: text/plain List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk >>>>> "Andres" == Andres Freund writes: Tom> There's also a question of whether we need to change anything in Tom> contrib/ so that it plays by whatever rules we set. There's an Tom> expectation that contrib modules should be buildable with PGXS, Tom> so they need to follow the rules. Andrew> ... that at least all of the *_plperl transform modules in Andrew> contrib/ fail to build with USE_PGXS already (i.e. for as long Andrew> as they have ever existed), because they rely on Andrew> plperl_helpers.h which is never installed anywhere, and trying Andrew> to get it via $(top_srcdir) obviously can't work in PGXS. Andrew> Haven't tried the python ones yet. >> And none of the plpython transforms can even parse their makefiles >> with USE_PGXS, let alone build, because they have an "include" >> directive pointing into src/pl/plpython. Andres> FWIW, I'd be perfectly on board with just burying this policy. Andres> Designating one contrib module (or something in Andres> src/test/examples or such) as a PGXS example, and always Andres> building it with pgxs seems like it'd do a much better job than Andres> the current policy. I suggest that modules that actually _can't_ build with PGXS should have the PGXS logic removed from their makefiles (perhaps replaced with an error). But for the rest, it's a convenience to be able to build single modules using USE_PGXS without having to configure the whole source tree. -- Andrew (irc:RhodiumToad)