diff --git a/build-scripts/build-fuzzer b/build-scripts/build-fuzzer index bcf2b451..09cd5fbb 100755 --- a/build-scripts/build-fuzzer +++ b/build-scripts/build-fuzzer @@ -8,8 +8,10 @@ sudo apt-get -y install build-essential cmake zlib1g-dev libjpeg-dev ./fuzz/oss-fuzz-build ls -l out/qpdf_fuzzer ls -l out/ -if ldd out/qpdf_fuzzer | grep -E 'libjpeg|libz|libqpdf'; then - echo 1>&2 "*** Fuzzers linked dynamically with some dependent libraries." - ldd out/qpdf_fuzzer - exit 2 -fi +for fuzzer in qpdf_fuzzer future_qpdf_fuzzer; do + if ldd out/$fuzzer | grep -E 'libjpeg|libz|libqpdf'; then + echo 1>&2 "*** Fuzzers linked dynamically with some dependent libraries." + ldd out/$fuzzer + exit 2 + fi +done diff --git a/fuzz/oss-fuzz-build b/fuzz/oss-fuzz-build index f1a252dc..3352ea16 100755 --- a/fuzz/oss-fuzz-build +++ b/fuzz/oss-fuzz-build @@ -21,9 +21,18 @@ if [[ $GITHUB_FORK != "" ]]; then fi fi -env CMAKE_PREFIX_PATH=$WORK LDFLAGS="-L$WORK/lib -lpthread" \ - cmake -S . -B build \ - -DOSS_FUZZ=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Debug \ - -DUSE_IMPLICIT_CRYPTO=OFF -DREQUIRE_CRYPTO_NATIVE=ON -cmake --build build -j$(nproc) --target fuzzers -cmake --install build --component fuzz +for future in ON OFF; do + rm -rf build + env CMAKE_PREFIX_PATH=$WORK LDFLAGS="-L$WORK/lib -lpthread" \ + cmake -S . -B build \ + -DOSS_FUZZ=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Debug \ + -DUSE_IMPLICIT_CRYPTO=OFF -DREQUIRE_CRYPTO_NATIVE=ON \ + -DFUTURE=$future + cmake --build build -j$(nproc) --target fuzzers + cmake --install build --component fuzz + if [[ $future == ON ]]; then + pushd $OUT + for i in *; do mv $i future_$i; done + popd + fi +done