From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.2 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, T_SCC_BODY_TEXT_LINE shortcircuit=no autolearn=ham autolearn_force=no version=3.4.6 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 12DE41F406 for ; Wed, 15 Nov 2023 08:26:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=80x24.org; s=selector1; t=1700036793; bh=CMYmtDAOYiouRsEilyAIwqDwuqCJv3tSACc/3vFuAbA=; h=Date:From:To:Subject:References:In-Reply-To:From; b=tv19I/OH7ehzTNNuZ8igAvESue0wvLEKmz9+ND8MbHnyj88keLTomuk7vWoaMT3DL YyEFauUEtmCz6n+QtpO2/KFeRQT+kMK8jCC+yeOFs2e7ok2ScMLoBoDaxvIUaBIQ3t CzLt923q5lPlznPOarhymWzAaI2FvqTXjHdNw5Ug= Date: Wed, 15 Nov 2023 08:24:22 +0000 From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 4/3] xap_helper_cxx: accept leading spaces from pkg-config Message-ID: <20231115082422.M297222@dcvr> References: <20231115043239.1069219-1-e@80x24.org> <20231115043239.1069219-4-e@80x24.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20231115043239.1069219-4-e@80x24.org> List-Id: Eric Wong wrote: > Avoid mixing autodie use in different scopes since it's likely > to cause problems like it did in Gcf2. While none of these > fix known problems with test cases, it's likely worthwhile to > avoid it anyways to avoid future surprises. > lib/PublicInbox/XapHelperCxx.pm | 18 ++++++++---------- That XapHelperCxx change was totally necessary for running the C++ build on CentOS 7.x (but the test is auto-skipped on any build failure), as is this one: --------8<-------- Subject: [PATCH] xap_helper_cxx: accept leading spaces from pkg-config pkg-config 0.27.1 and xapian14-core-devel (1.4.24-1.el7) on CentOS 7.x will print a leading space when running `pkg-config --libs --cflags xapian-core'. This leading space creates an empty string when `split' with /\s+/ as a pattern. Instead, use the documented ' ' (SP) character to put split into "awk mode" which eats leading (and redundant) spaces and tabs. --- lib/PublicInbox/XapHelperCxx.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/PublicInbox/XapHelperCxx.pm b/lib/PublicInbox/XapHelperCxx.pm index 1250c964..9e819546 100644 --- a/lib/PublicInbox/XapHelperCxx.pm +++ b/lib/PublicInbox/XapHelperCxx.pm @@ -86,7 +86,7 @@ sub build () { # distributed packages. $^O eq 'netbsd' and $fl =~ s/(\A|[ \t])\-L([^ \t]+)([ \t]|\z)/ "$1-L$2 -Wl,-rpath=$2$3"/egsx; - my @xflags = split(/\s+/, "$fl $xflags"); + my @xflags = split(' ', "$fl $xflags"); # ' ' awk-mode eats leading WS my @cflags = grep(!/\A-(?:Wl|l|L)/, @xflags); run_die([$cxx, '-c', "$prog.cpp", @cflags]); run_die([$cxx, '-o', "$prog.tmp", "$prog.o", @xflags]);