Subject: [PATCH v2 0/2] fuzz: build fuzzers by default on Linux

From: Josh Steadmon <[email-masked]>
Date: Thu, 11 Apr 2024 11:14:23 -0700

Please note: this has been rebased onto the current 'master' [436d4e5b14
(The seventeenth batch, 2024-04-10)] in order to resolve a conflict with
the recently merged bt/fuzz-config-parse series.

Increase our protection against fuzzer bit-rot by making sure we can
link the fuzz test executables on Linux. Patch 1 is a small CI config
improvement to fix compiler feature detection. Patch 2 is the Makefile /
config.mak.uname change to add the executables to `make all` on Linux.

Changes in V2:
* Rebased onto master
* Fixed compiler mismatch issue when we override CC but not CXX
* Consolidated some of the fuzzer Makefile definitions in one location

Josh Steadmon (2):
  ci: also define CXX environment variable
  fuzz: link fuzz programs with `make all` on Linux

 .github/workflows/main.yml          | 12 +++++++
 Makefile                            | 51 +++++++++++++++++------------
 ci/run-build-and-minimal-fuzzers.sh |  2 +-
 config.mak.uname                    |  1 +
 4 files changed, 44 insertions(+), 22 deletions(-)

Range-diff against v1:
1:  75f98cbf98 ! 1:  e55b691272 ci: also define CXX environment variable
    @@ Commit message
         'detect-compiler' script only looks at CC. Fix the issue by always
         setting CXX to match CC in our CI config.
     
    -    We only plan on building fuzzers on Linux, so none of the other CI
    -    configs need a similar adjustment.
    +    We only plan on building fuzzers on Linux with the next patch, so for
    +    now, only adjust configuration for the Linux CI jobs.

2:  eef15e3d3d < -:  ---------- fuzz: link fuzz programs with `make all` on Linux
-:  ---------- > 2:  8846a7766a fuzz: link fuzz programs with `make all` on Linux

base-commit: 436d4e5b14df49870a897f64fe92c0ddc7017e4c
-- 
2.44.0.683.g7961c838ac-goog