Bug 1821117 [wpt PR 38888] - Expose desired{Execution|Render}Start in LoAF+ScriptTimi...
[gecko.git] / taskcluster / scripts / misc / build-winchecksec.sh
blobf13ef5b77b64f1ce02923fd14eb107231757eb6e
1 #!/bin/bash
2 set -e -v -x
4 mkdir -p $UPLOAD_DIR
6 cd $MOZ_FETCHES_DIR/winchecksec
8 SUFFIX=
10 case "$1" in
11 x86_64-pc-windows-msvc)
12 SUFFIX=.exe
13 export PATH="$MOZ_FETCHES_DIR/clang/bin:$PATH"
15 . $GECKO_PATH/taskcluster/scripts/misc/vs-setup.sh
17 # Patch pe-parse because clang-cl doesn't support /analyze.
18 patch -p1 <<'EOF'
19 --- a/pe-parse/cmake/compilation_flags.cmake
20 +++ b/pe-parse/cmake/compilation_flags.cmake
21 @@ -1,5 +1,5 @@
22 if (MSVC)
23 - list(APPEND DEFAULT_CXX_FLAGS /W4 /analyze)
24 + list(APPEND DEFAULT_CXX_FLAGS /W4)
26 if (CMAKE_BUILD_TYPE STREQUAL "Debug" OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
27 list(APPEND DEFAULT_CXX_FLAGS /Zi)
28 EOF
30 CMAKE_FLAGS='
31 -DCMAKE_CXX_COMPILER=clang-cl
32 -DCMAKE_C_COMPILER=clang-cl
33 -DCMAKE_LINKER=lld-link
34 -DCMAKE_C_FLAGS="-fuse-ld=lld -Xclang -ivfsoverlay -Xclang $MOZ_FETCHES_DIR/vs/overlay.yaml"
35 -DCMAKE_CXX_FLAGS="-fuse-ld=lld -EHsc -Xclang -ivfsoverlay -Xclang $MOZ_FETCHES_DIR/vs/overlay.yaml"
36 -DCMAKE_RC_COMPILER=llvm-rc
37 -DCMAKE_MT=llvm-mt
38 -DCMAKE_SYSTEM_NAME=Windows
39 -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded
42 esac
44 eval cmake \
45 -GNinja \
46 -DCMAKE_BUILD_TYPE=Release \
47 -DBUILD_SHARED_LIBS=Off \
48 $CMAKE_FLAGS
50 ninja -v
52 cd ..
53 tar -caf winchecksec.tar.zst winchecksec/winchecksec${SUFFIX}
54 cp winchecksec.tar.zst $UPLOAD_DIR/