Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qEwzG-0003Au-VN for pgsql-hackers@arkaria.postgresql.org; Thu, 29 Jun 2023 19:07:26 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1qEwzF-0003lb-SD for pgsql-hackers@arkaria.postgresql.org; Thu, 29 Jun 2023 19:07:25 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qEwzF-0003lR-Ip for pgsql-hackers@lists.postgresql.org; Thu, 29 Jun 2023 19:07:25 +0000 Received: from mail-oa1-x33.google.com ([2001:4860:4864:20::33]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1qEwzC-001DqF-Hz for pgsql-hackers@postgresql.org; Thu, 29 Jun 2023 19:07:25 +0000 Received: by mail-oa1-x33.google.com with SMTP id 586e51a60fabf-1b055511f8bso664928fac.1 for ; Thu, 29 Jun 2023 12:07:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=neon-tech.20221208.gappssmtp.com; s=20221208; t=1688065641; x=1690657641; h=in-reply-to:references:to:subject:cc:from:message-id:date :content-transfer-encoding:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=p+9eK7kbv6JygcoP6FwMmRgqWG9auRAgp5AQ4kzwIJU=; b=BAkciVwv8qiFSIUsWVa5wb/sOjj/esMPztOVQ9GStbmQ6bAngFJGGLyEryWnlYTKvT Q01jCnXdFGwv8WV6qg8ZaXjnmKa9bxQWWEkf7TDgvZUR5ps1H3rpCkFaFwxQeMzXuSsZ 7jPr0ZUGQefOEtfrjwJBW7oyTYfovpZx/zmeADpgpzzCFsZGFb1C6j2Bz7tkLnAhihqK rPs4JEeWbnfdBbTXEC6x2XVj8fmkP2WwaOKpkWXNs1hV3ElOoImUBc7k6u+a7hsZbEw2 bWHiMmgZNwN2ZiLmJTA8jukhkmbdKTUFYkyj1FHNOxmkGuwW+W4bNgvoQ+j6FjxYKV0O bF4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688065641; x=1690657641; h=in-reply-to:references:to:subject:cc:from:message-id:date :content-transfer-encoding:mime-version:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=p+9eK7kbv6JygcoP6FwMmRgqWG9auRAgp5AQ4kzwIJU=; b=StQIvOcYPFJZcyiTttn7RLtHXYQaBaTAKNIDJ15cwMIZdgfiN2XMKtFuoewP2nGSIw VK2I9H1iQJMQRr+vg4+4e5CLxMOLal77fYfdRd0aaZkjAo1Ahff7+gL5xwibimChA7RI GrCZ838Wjx9a+ZA6ClWOGtk67skQkZq4/PK55L3QthoNTyLLajY5BZU6avBYeszPC9l3 uXXLrX45v1vMR5Pr9gd6vFRO8R6EkkQ9jOPT+/bslq3LV5cQhY3LM1gU+1Jyrnn7depD /goTCOetO/5dRdP1WpRZnWoBdHPmm8Cw44K371E4MadyAYV5Fz9XGB6g/O4e1ACh9N88 pCjA== X-Gm-Message-State: ABy/qLafni4EIakbvv97UH/bPIuXN/rjVa43l7C/2plRWWwgzZXQui62 AZN3L5wKLg6h0unfmYDDotew4w== X-Google-Smtp-Source: APBJJlEqGhOfmCzUfTOGucJYmko9YM1yuo0pDKpqR+rfudhcq1TBQsTtH9OLiDOB/4RG79O79UbqqA== X-Received: by 2002:a05:6870:ac08:b0:1b0:3a8c:a7f6 with SMTP id kw8-20020a056870ac0800b001b03a8ca7f6mr494900oab.3.1688065640953; Thu, 29 Jun 2023 12:07:20 -0700 (PDT) Received: from localhost ([2607:fb90:f280:130d:3996:e070:71ee:42fb]) by smtp.gmail.com with ESMTPSA id gv15-20020a056870aa0f00b001b08f19ec4asm1657021oab.53.2023.06.29.12.07.20 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 29 Jun 2023 12:07:20 -0700 (PDT) Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Thu, 29 Jun 2023 14:07:19 -0500 Message-Id: From: "Tristan Partin" Cc: Subject: Re: Meson build updates To: "Andres Freund" X-Mailer: aerc 0.15.2-74-gdfabb5232875 References: <20230609164135.77fjwqkqzdxfs3f5@awork3.anarazel.de> <20230609183603.o56z3ngtak6qhb3s@awork3.anarazel.de> <20230629190242.kgnimiizjbvmdfni@awork3.anarazel.de> In-Reply-To: <20230629190242.kgnimiizjbvmdfni@awork3.anarazel.de> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Thu Jun 29, 2023 at 2:02 PM CDT, Andres Freund wrote: > Hi, > > On 2023-06-13 14:56:36 -0500, Tristan Partin wrote: > > I was thinking today. When you initially wrote the build, did you try > > using the src/bin/meson.build file as the place where all the binaries > > were built? As you say, most of the src/bin/xxx/meson.build files are > > extrememly reptitive. > > > We had a similar-ish issue in my last project which I solved like: > >=20 > > https://github.com/hse-project/hse/blob/master/tools/meson.build#L20-L4= 05 > >=20 > > This is a pattern I used quite frequently in that project. One benefit > > of this approach is that the binaries all end up next to each other in > > the build tree which is eventually how they'll be laid out in the > > install destination. The other benefit is of course reducing reptitive > > code. > > I think the build directory and the source code directory not matching in > structure would have made it considerably harder sell for people to migra= te. > > I.e. I considered it, but due to meson's "no outputs outside of the curre= nt > directory" rule, it didn't (and sadly still doesn't) really seem viable. Yeah, I guess it is a matter if you like the layout being closer to the installation or the source tree at the expense of repetition. I am partial to the installation since it is less to type if you run a binary from the build directory and less repetition, but all good. Maybe something that could be reconsidered when autotools is dropped. I still think the overrides are important, at the very least for libpq, but I will defer to your aforementioned decision for now. --=20 Tristan Partin Neon (https://neon.tech)