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 1g5IxD-0001qL-72 for pgsql-hackers@arkaria.postgresql.org; Wed, 26 Sep 2018 23:10:47 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1g5IxB-0007tF-I6 for pgsql-hackers@arkaria.postgresql.org; Wed, 26 Sep 2018 23:10:45 +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 1g5IxB-0007t8-9w for pgsql-hackers@lists.postgresql.org; Wed, 26 Sep 2018 23:10:45 +0000 Received: from sss.pgh.pa.us ([66.207.139.130]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1g5Ix9-0007do-7k for pgsql-hackers@lists.postgresql.org; Wed, 26 Sep 2018 23:10:44 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.14.4/8.14.4) with ESMTP id w8QNAe1s013023 for ; Wed, 26 Sep 2018 19:10:40 -0400 From: Tom Lane To: pgsql-hackers@lists.postgresql.org Subject: Let's stop with the retail rebuilds of src/port/ files already MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <13021.1538003440.1@sss.pgh.pa.us> Date: Wed, 26 Sep 2018 19:10:40 -0400 Message-ID: <13022.1538003440@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk I'm getting tired of having to make fixes like ce4887bd0. I think we should rearrange things so that src/port/ and src/common/ compile all their files a third time using shared-library-friendly switches, put them into new .a files, and have libpq and the ecpg libraries just include those libraries instead of what they're doing now. This would result in compiling some of the port+common files uselessly, since they'd never actually get pulled in by any shared library. But I think we're approaching the point where we might have a net savings of build time anyway, due to not having to compile the same files multiple times in different subdirectories. And it'd sure be a savings of developer brain-cells and sanity. Maybe use the extension "_shlib" (vs "_srv") for these .o and .a files. Thoughts? regards, tom lane