Meta: Clean up the BuildFuzzers script and use the Host_Tools preset

This commit is contained in:
Undefine 2026-04-22 10:14:24 +02:00 committed by Shannon Booth
parent 60edabad0b
commit d58ac35e0b

View file

@ -2,8 +2,8 @@
set -e
SCRIPT_PATH="$(dirname "${0}")"
cd "${SCRIPT_PATH}"
LADYBIRD_SOURCE_DIR="$(dirname "${0}")"/../..
cd "${LADYBIRD_SOURCE_DIR}"
die() {
>&2 echo "die: $*"
@ -25,18 +25,15 @@ fi
# FIXME: Replace these CMake invocations with a CMake superbuild?
echo "Building Lagom Tools..."
. "../Utils/find_compiler.sh"
. "Meta/Utils/find_compiler.sh"
pick_host_compiler --clang-only
cmake -S ../.. -GNinja --preset=Distribution -B Build/tools \
-DLAGOM_TOOLS_ONLY=ON \
-DINSTALL_LAGOM_TOOLS=ON \
cmake -S "$LADYBIRD_SOURCE_DIR" -GNinja --preset=Host_Tools \
-B "$LADYBIRD_SOURCE_DIR"/Build/host-tools-build \
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
-DCMAKE_INSTALL_PREFIX=Build/tool-install \
-DCMAKE_C_COMPILER="${CC}" \
-DCMAKE_CXX_COMPILER="${CXX}" \
-Dpackage=LagomTools
ninja -C Build/tools install
-DCMAKE_CXX_COMPILER="${CXX}"
ninja -C "$LADYBIRD_SOURCE_DIR"/Build/host-tools-build install
# Restore flags for oss-fuzz
export CFLAGS="${CFLAGS_SAVE}"
@ -47,7 +44,7 @@ echo "Building Lagom Fuzzers..."
if [ "$#" -gt "0" ] && [ "--oss-fuzz" = "$1" ] ; then
echo "Building for oss-fuzz configuration..."
cmake -S ../.. -GNinja -B Build/fuzzers \
cmake -S "$LADYBIRD_SOURCE_DIR" -GNinja -B "$LADYBIRD_SOURCE_DIR"/Build/fuzzers \
-DBUILD_SHARED_LIBS=OFF \
-DENABLE_FUZZERS_OSSFUZZ=ON \
-DFUZZER_DICTIONARY_DIRECTORY="$OUT" \
@ -55,21 +52,20 @@ if [ "$#" -gt "0" ] && [ "--oss-fuzz" = "$1" ] ; then
-DCMAKE_CXX_COMPILER="${CXX}" \
-DCMAKE_CXX_FLAGS="$CXXFLAGS -DOSS_FUZZ=ON" \
-DLINKER_FLAGS="$LIB_FUZZING_ENGINE" \
-DCMAKE_PREFIX_PATH=Build/tool-install
ninja -C Build/fuzzers
cp Build/fuzzers/bin/Fuzz* "$OUT"/
-DLagomTools_DIR="$LADYBIRD_SOURCE_DIR"/Build/host-tools/share/LagomTools
ninja -C "$LADYBIRD_SOURCE_DIR"/Build/fuzzers
cp "$LADYBIRD_SOURCE_DIR"/Build/fuzzers/bin/Fuzz* "$OUT"/
elif [ "$#" -gt "0" ] && [ "--standalone" = "$1" ] ; then
echo "Building for standalone fuzz configuration..."
cmake -S ../.. -GNinja -B Build/lagom-fuzzers-standalone \
cmake -S "$LADYBIRD_SOURCE_DIR" -GNinja -B "$LADYBIRD_SOURCE_DIR"/Build/lagom-fuzzers-standalone \
-DENABLE_FUZZERS=ON \
-DCMAKE_PREFIX_PATH=Build/tool-install
ninja -C Build/lagom-fuzzers-standalone
-DLagomTools_DIR="$LADYBIRD_SOURCE_DIR"/Build/host-tools/share/LagomTools
ninja -C "$LADYBIRD_SOURCE_DIR"/Build/lagom-fuzzers-standalone
else
echo "Building for local fuzz configuration..."
cmake -S ../.. -GNinja --preset Fuzzers -B Build/lagom-fuzzers \
-DCMAKE_PREFIX_PATH=Build/tool-install \
cmake -S "$LADYBIRD_SOURCE_DIR" -GNinja --preset Fuzzers -B "$LADYBIRD_SOURCE_DIR"/Build/lagom-fuzzers \
-DLagomTools_DIR="$LADYBIRD_SOURCE_DIR"/Build/host-tools/share/LagomTools \
-DCMAKE_C_COMPILER="${CC}" \
-DCMAKE_CXX_COMPILER="${CXX}" \
-DCMAKE_OSX_SYSROOT=macosx
ninja -C Build/lagom-fuzzers
-DCMAKE_CXX_COMPILER="${CXX}"
ninja -C "$LADYBIRD_SOURCE_DIR"/Build/lagom-fuzzers
fi