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 E2BDD1F452 for ; Sun, 26 Nov 2023 02:11:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=80x24.org; s=selector1; t=1700964665; bh=3uP2wOA2wKGbIK0Tn3onDKDlFgAYS+YfI+eN+3y62HI=; h=From:To:Subject:Date:In-Reply-To:References:From; b=zFOd07iYYDU7f+xfSS0ykj3qTEIoIQjXuZ/h+0udRXf367uUWxgAMbbxdW3oUAgN/ 98Z8zBrTXtf6D82T+AHcfnTd/eBjxxl6SyAy54HKJKlZrEK1CctPGek2VxD3SFgtBN nmN4XZiqQsHB700d6mAmPmyrKf1bSYwCXqs+WI2A= From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 1/7] xap_helper_cxx: do not copy xap_helper.h source Date: Sun, 26 Nov 2023 02:10:59 +0000 Message-ID: <20231126021105.408573-2-e@80x24.org> In-Reply-To: <20231126021105.408573-1-e@80x24.org> References: <20231126021105.408573-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: No need to waste memory bandwidth when we can just rely on the preprocessor to load the header. --- lib/PublicInbox/XapHelperCxx.pm | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/lib/PublicInbox/XapHelperCxx.pm b/lib/PublicInbox/XapHelperCxx.pm index 9e819546..b1deb665 100644 --- a/lib/PublicInbox/XapHelperCxx.pm +++ b/lib/PublicInbox/XapHelperCxx.pm @@ -8,7 +8,7 @@ package PublicInbox::XapHelperCxx; use v5.12; use PublicInbox::Spawn qw(run_die run_qx which); -use PublicInbox::IO qw(read_all try_cat write_file); +use PublicInbox::IO qw(try_cat write_file); use PublicInbox::Search; use Fcntl qw(SEEK_SET); use Config; @@ -62,11 +62,7 @@ sub build () { my ($prog) = ($bin =~ m!/([^/]+)\z!); my $lk = PublicInbox::Lock->new("$dir/$prog.lock")->lock_for_scope; open my $fh, '>', "$dir/$prog.cpp"; - for (@srcs) { - say $fh qq(# line 1 "$_"); - open my $rfh, '<', $_; - print $fh read_all($rfh); - } + say $fh qq(# include "$_") for @srcs; print $fh PublicInbox::Search::generate_cxx(); print $fh PublicInbox::CodeSearch::generate_cxx(); close $fh; @@ -88,7 +84,7 @@ sub build () { "$1-L$2 -Wl,-rpath=$2$3"/egsx; 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, '-c', "$prog.cpp", '-I', $srcpfx, @cflags]); run_die([$cxx, '-o', "$prog.tmp", "$prog.o", @xflags]); unlink "$prog.cpp", "$prog.o"; write_file '>', 'XFLAGS.tmp', $xflags, "\n";