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 1oGFoq-0005CS-CB for pgsql-hackers@arkaria.postgresql.org; Tue, 26 Jul 2022 08:21:32 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1oGFop-00079U-4s for pgsql-hackers@arkaria.postgresql.org; Tue, 26 Jul 2022 08:21:31 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oGFon-00079L-WE for pgsql-hackers@lists.postgresql.org; Tue, 26 Jul 2022 08:21:30 +0000 Received: from out2-smtp.messagingengine.com ([66.111.4.26]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oGFol-0003q3-6Y for pgsql-hackers@postgresql.org; Tue, 26 Jul 2022 08:21:28 +0000 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 9829C5C0198; Tue, 26 Jul 2022 04:21:26 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Tue, 26 Jul 2022 04:21:26 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:reply-to:sender :subject:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm3; t=1658823686; x=1658910086; bh=/ oxpDLIcxqTN2JWUFRhZS9sQD4OwSwfbyEImtM1XLDg=; b=2qASWCDCJxvFsZ7QF VkAeAGPDG+uWqlE+JjE/xJkwOGcdJpJmHQH2A3WrYoTq9wrB3LM7gPiHvDSelM+q asWUMq3mOXhPgt31+IOgum/t8FZIRmp3WNpoO8rQNBkJ9yd4YCIoDRaDeHan+Ws2 MxpCj7lg6kHEU75Vm3jEEShqevKO0ahh4RLlqcs3dC35JpM5G8ZL3hSPMimRKsY5 kJsimSxY3k3DuEPKNDTOvwr1/61IXU2fbgneBi5OSq67GUSfPgXb3TuZstmZoHzp cEwVUrcEE6VkUf56xSQXdNcVxRiv8iVnYrvcH+s4Kx3KFypY6XnRNFkP93hdEoPQ 00u/g== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrvddutddgtdefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepfffhvfevuffkgggtugfgjgesmhekreertddtjeenucfhrhhomheptehlvhgr rhhoucfjvghrrhgvrhgruceorghlvhhhvghrrhgvsegrlhhvhhdrnhhoqdhiphdrohhrgh eqnecuggftrfgrthhtvghrnhepudelkeekgfdttdettdekgfduvdeiffelteegjeeihfet heekveeftedtuddvhfeunecuffhomhgrihhnpegvnhhtvghrphhrihhsvggusgdrtghomh enucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegrlhhv hhgvrhhrvgesrghlvhhhrdhnohdqihhprdhorhhg X-ME-Proxy: Feedback-ID: ia2694551:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 26 Jul 2022 04:21:25 -0400 (EDT) Received: by perhan.alvh.no-ip.org (Postfix, from userid 1000) id C2EE4369; Tue, 26 Jul 2022 10:21:24 +0200 (CEST) Date: Tue, 26 Jul 2022 10:21:24 +0200 From: Alvaro Herrera To: Tom Lane Cc: Andrew Dunstan , Justin Pryzby , pgsql-hackers@postgresql.org, Andres Freund Subject: Re: make -C libpq check fails obscurely if tap tests are disabled Message-ID: <20220726082124.gomuatemlw5bopcm@alvherre.pgsql> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="n47qhqqmaugkfka2" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20220725103339.ue67nagsx2h57rba@alvherre.pgsql> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --n47qhqqmaugkfka2 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit Ah, I found what the actual problem is: we have sprinkled a few dependencies on "...-recurse" throught the tree, but the patch I posted yesterday changes the manufactured target as "-recursive", as it was prior to 1bd201214965; so essentially these manually added dependencies all became silent no-ops. With this version I keep the target name as -recurse, and at least the ecpg<->libpq problem is no more AFAICT. -- Álvaro Herrera 48°01'N 7°57'E — https://www.EnterpriseDB.com/ --n47qhqqmaugkfka2 Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="v2-0001-Try-to-undo-1bd201214965.patch" From 90a874bdf0e6f56d9c4ac1370d1765285db57e6b Mon Sep 17 00:00:00 2001 From: Alvaro Herrera Date: Mon, 25 Jul 2022 12:26:49 +0200 Subject: [PATCH v2] Try to undo 1bd201214965 --- src/Makefile.global.in | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/Makefile.global.in b/src/Makefile.global.in index 14fdd4ef7b..26ecfb2087 100644 --- a/src/Makefile.global.in +++ b/src/Makefile.global.in @@ -882,19 +882,14 @@ endif # using $(eval). It will set up a target so that it recurses into a # given subdirectory. For the tree-wide all/install/check/installcheck cases, # ensure we do our one-time tasks before recursing (see targets above). -# Note that to avoid a nasty bug in make 3.80, -# this function was written to not use any complicated constructs (like -# multiple targets on a line) and also not contain any lines that expand -# to more than about 200 bytes. This is why we make it apply to just one -# subdirectory at a time, rather than to a list of subdirectories. # $1: target name, e.g., all # $2: subdir name # $3: target to run in subdir, usually same as $1 define _create_recursive_target -.PHONY: $(1)-$(2)-recurse -$(1): $(1)-$(2)-recurse -$(1)-$(2)-recurse: $(if $(filter all install check installcheck, $(3)), submake-generated-headers) $(if $(filter check, $(3)), temp-install) - $$(MAKE) -C $(2) $(3) +.PHONY: $(patsubst %,$(1)-%-recurse,$(2)) +$(1): $(patsubst %,$(1)-%-recurse,$(2)) +$(2:%=$(1)-%-recurse): + $$(MAKE) -C $$(patsubst $(1)-%-recurse,%,$$@) $(3) endef # Note that the use of $$ on the last line above is important; we want # $(MAKE) to be evaluated when the rule is run, not when the $(eval) is run @@ -905,7 +900,7 @@ endef # $1: targets to make recursive (defaults to list of standard targets) # $2: list of subdirs (defaults to SUBDIRS variable) # $3: target to run in subdir (defaults to current element of $1) -recurse = $(foreach target,$(if $1,$1,$(standard_targets)),$(foreach subdir,$(if $2,$2,$(SUBDIRS)),$(eval $(call _create_recursive_target,$(target),$(subdir),$(if $3,$3,$(target)))))) +recurse = $(foreach target,$(if $1,$1,$(standard_targets)),$(eval $(call _create_recursive_target,$(target),$(if $2,$2,$(SUBDIRS)),$(if $3,$3,$(target))))) # If a makefile's list of SUBDIRS varies depending on configuration, then # any subdirectories excluded from SUBDIRS should instead be added to -- 2.30.2 --n47qhqqmaugkfka2--