about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2024-02-12 21:28:03 +0000
committerEric Wong <e@80x24.org>2024-02-14 07:25:54 +0000
commitb76dff9fbc78f1fcbe1da91d35171f09b937d506 (patch)
tree28cda3938690514d9c8e607454e9f48e26d0edec
parent785a0d6ac2ad4ebd1c7fd03ca06bc0bc4258f6c1 (diff)
downloadpublic-inbox-b76dff9fbc78f1fcbe1da91d35171f09b937d506.tar.gz
While fast build times from -O0 is critical to my sanity when
actively working on C++, the files installed via package
managers or `make install' aren't likely to change frequently.

In that case, expensive -O2 optimizations make sense since the
10-20s saved from a single large --join more than covers the
cost of waiting on g++ to optimize.
-rw-r--r--lib/PublicInbox/XapHelperCxx.pm1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/PublicInbox/XapHelperCxx.pm b/lib/PublicInbox/XapHelperCxx.pm
index 6bd165b8..eafe61a8 100644
--- a/lib/PublicInbox/XapHelperCxx.pm
+++ b/lib/PublicInbox/XapHelperCxx.pm
@@ -30,6 +30,7 @@ my $xflags = ($ENV{CXXFLAGS} // '-Wall -ggdb3 -pipe') . ' ' .
         ' -DXH_SPEC="'.join('',
                 map { s/=.*/:/; $_ } @PublicInbox::Search::XH_SPEC) . '" ' .
         ($ENV{LDFLAGS} // $ldflags);
+substr($xflags, 0, 0, '-O2 ') if !defined($ENV{CXXFLAGS}) && !-w __FILE__;
 my $xap_modversion;
 
 sub xap_cfg (@) {