33 lines
675 B
Bash
Executable File
33 lines
675 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
if [ "$#" -lt 2 ]; then
|
|
echo "usage: $0 /path/to/c-ares /path/to/build-dir [output-binary]" >&2
|
|
exit 2
|
|
fi
|
|
|
|
srcdir=$1
|
|
builddir=$2
|
|
out=${3:-cares_tcp_uaf_calc_poc}
|
|
jobs=${JOBS:-4}
|
|
root=$(cd "$(dirname "$0")/.." && pwd)
|
|
|
|
cmake -S "$srcdir" -B "$builddir" \
|
|
-DCARES_SHARED=OFF \
|
|
-DCARES_STATIC=ON \
|
|
-DCARES_BUILD_TESTS=OFF \
|
|
-DCARES_BUILD_TOOLS=OFF \
|
|
-DCMAKE_BUILD_TYPE=Debug
|
|
|
|
cmake --build "$builddir" --target c-ares --parallel "$jobs"
|
|
|
|
gcc -static -g -O0 -Wall -Wextra \
|
|
-I"$srcdir/include" \
|
|
-I"$builddir" \
|
|
"$root/poc/cares_tcp_uaf_calc_poc.c" \
|
|
"$builddir/lib/libcares.a" \
|
|
-pthread \
|
|
-o "$out"
|
|
|
|
file "$out"
|