]> git.ipfire.org Git - thirdparty/public-inbox.git/commitdiff
xap_helper_cxx: accept leading spaces from pkg-config
authorEric Wong <e@80x24.org>
Wed, 15 Nov 2023 08:24:22 +0000 (08:24 +0000)
committerEric Wong <e@80x24.org>
Wed, 15 Nov 2023 08:25:14 +0000 (08:25 +0000)
Eric Wong <e@80x24.org> 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

index 1250c9640213b0fe5beadf756ead6c4e351602a9..9e8195464f128ba5fa241fc5d15714342da6dd55 100644 (file)
@@ -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]);