From ef94b82e4b9f89d543b005fcf8c7f184db87c4f9 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sun, 26 Nov 2023 02:11:02 +0000 Subject: xap_helper: allow PI_NO_CXX to disable C++ in more places This also reduces repetition in the setup code. --- lib/PublicInbox/XapClient.pm | 4 +--- lib/PublicInbox/XapHelperCxx.pm | 1 + 2 files changed, 2 insertions(+), 3 deletions(-) (limited to 'lib/PublicInbox') diff --git a/lib/PublicInbox/XapClient.pm b/lib/PublicInbox/XapClient.pm index 1f9ddccc..4dcbbe5d 100644 --- a/lib/PublicInbox/XapClient.pm +++ b/lib/PublicInbox/XapClient.pm @@ -28,12 +28,10 @@ sub mkreq { sub start_helper { my @argv = @_; socketpair(my $sock, my $in, AF_UNIX, SOCK_SEQPACKET, 0); - require PublicInbox::XapHelperCxx; my $cls = 'PublicInbox::XapHelperCxx'; my $env; - my $cmd = eval { PublicInbox::XapHelperCxx::cmd() }; + my $cmd = eval "require $cls; ${cls}::cmd()"; if ($@) { # fall back to Perl + XS|SWIG - require PublicInbox::XapHelper; $cls = 'PublicInbox::XapHelper'; # ensure the child process has the same @INC we do: $env = { PERL5LIB => join(':', @INC) }; diff --git a/lib/PublicInbox/XapHelperCxx.pm b/lib/PublicInbox/XapHelperCxx.pm index b1deb665..f421c7bc 100644 --- a/lib/PublicInbox/XapHelperCxx.pm +++ b/lib/PublicInbox/XapHelperCxx.pm @@ -110,6 +110,7 @@ sub check_build () { # returns spawn arg sub cmd { + die 'PI_NO_CXX set' if $ENV{PI_NO_CXX}; check_build(); my @cmd; if (my $v = $ENV{VALGRIND}) { -- cgit v1.2.3-24-ge0c7