From c137c32f4f4c5266f71f6606e58f3497e94af8b4 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Wed, 15 Nov 2023 08:24:22 +0000 Subject: xap_helper_cxx: accept leading spaces from pkg-config 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(-) (limited to 'lib/PublicInbox') 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]); -- cgit v1.2.3-24-ge0c7