Commit aaa654733568518f76c06f0da496f1a923a11cb0

Authored by Jay Berkenbilt
1 parent 293203ac

Build all fuzzers with FUTURE=ON and FUTURE=OFF

build-scripts/build-fuzzer
... ... @@ -8,8 +8,10 @@ sudo apt-get -y install build-essential cmake zlib1g-dev libjpeg-dev
8 8 ./fuzz/oss-fuzz-build
9 9 ls -l out/qpdf_fuzzer
10 10 ls -l out/
11   -if ldd out/qpdf_fuzzer | grep -E 'libjpeg|libz|libqpdf'; then
12   - echo 1>&2 "*** Fuzzers linked dynamically with some dependent libraries."
13   - ldd out/qpdf_fuzzer
14   - exit 2
15   -fi
  11 +for fuzzer in qpdf_fuzzer future_qpdf_fuzzer; do
  12 + if ldd out/$fuzzer | grep -E 'libjpeg|libz|libqpdf'; then
  13 + echo 1>&2 "*** Fuzzers linked dynamically with some dependent libraries."
  14 + ldd out/$fuzzer
  15 + exit 2
  16 + fi
  17 +done
... ...
fuzz/oss-fuzz-build
... ... @@ -21,9 +21,18 @@ if [[ $GITHUB_FORK != "" ]]; then
21 21 fi
22 22 fi
23 23  
24   -env CMAKE_PREFIX_PATH=$WORK LDFLAGS="-L$WORK/lib -lpthread" \
25   - cmake -S . -B build \
26   - -DOSS_FUZZ=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Debug \
27   - -DUSE_IMPLICIT_CRYPTO=OFF -DREQUIRE_CRYPTO_NATIVE=ON
28   -cmake --build build -j$(nproc) --target fuzzers
29   -cmake --install build --component fuzz
  24 +for future in ON OFF; do
  25 + rm -rf build
  26 + env CMAKE_PREFIX_PATH=$WORK LDFLAGS="-L$WORK/lib -lpthread" \
  27 + cmake -S . -B build \
  28 + -DOSS_FUZZ=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Debug \
  29 + -DUSE_IMPLICIT_CRYPTO=OFF -DREQUIRE_CRYPTO_NATIVE=ON \
  30 + -DFUTURE=$future
  31 + cmake --build build -j$(nproc) --target fuzzers
  32 + cmake --install build --component fuzz
  33 + if [[ $future == ON ]]; then
  34 + pushd $OUT
  35 + for i in *; do mv $i future_$i; done
  36 + popd
  37 + fi
  38 +done
... ...