devops: bundle vcruntime140_1.dll with Firefox builds (#10099)

We'll need to bake new Firefox build and roll onto it.

References #9974
This commit is contained in:
Andrey Lushnikov 2021-11-05 15:28:44 -07:00 committed by GitHub
parent fd2bbe0c1a
commit 975a00ab31
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 24 additions and 13 deletions

View file

@ -31,6 +31,7 @@ fi
trap "cd $(pwd -P)" EXIT
cd "$(dirname "$0")"
SCRIPT_FOLDER="$(pwd -P)"
source "${SCRIPT_FOLDER}/../utils.sh"
if [[ ! -z "${FF_CHECKOUT_PATH}" ]]; then
cd "${FF_CHECKOUT_PATH}"
@ -53,6 +54,10 @@ fi
# TODO(aslushnikov): this won't be needed with official builds.
if [[ "$(uname)" == "Linux" ]]; then
cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6 $OBJ_FOLDER/dist/firefox/libstdc++.so.6
elif [[ "$(uname)" == MINGW* ]]; then
# Bundle vcruntime14_1.dll - see https://github.com/microsoft/playwright/issues/9974
cd "$(printMSVCRedistDir)"
cp -t "${OBJ_FOLDER}/dist/firefox" vcruntime140_1.dll
fi
# tar resulting directory and cleanup TMP.

View file

@ -1,2 +1,2 @@
1303
Changed: lushnikov@chromium.org Fri Nov 5 07:27:32 HST 2021
1304
Changed: lushnikov@chromium.org Fri Nov 5 12:27:32 HST 2021

View file

@ -31,6 +31,7 @@ fi
trap "cd $(pwd -P)" EXIT
cd "$(dirname "$0")"
SCRIPT_FOLDER="$(pwd -P)"
source "${SCRIPT_FOLDER}/../utils.sh"
if [[ ! -z "${FF_CHECKOUT_PATH}" ]]; then
cd "${FF_CHECKOUT_PATH}"
@ -57,6 +58,10 @@ fi
# TODO(aslushnikov): this won't be needed with official builds.
if [[ "$(uname)" == "Linux" ]]; then
cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6 $OBJ_FOLDER/dist/firefox/libstdc++.so.6
elif [[ "$(uname)" == MINGW* ]]; then
# Bundle vcruntime14_1.dll - see https://github.com/microsoft/playwright/issues/9974
cd "$(printMSVCRedistDir)"
cp -t "${OBJ_FOLDER}/dist/firefox" vcruntime140_1.dll
fi
# tar resulting directory and cleanup TMP.

View file

@ -31,3 +31,14 @@ function selectXcodeVersionOrDie() {
export DEVELOPER_DIR="${XCODE_DIRECTORY}/Contents/Developer"
echo "-- using ${XCODE_DIRECTORY}"
}
# see https://docs.microsoft.com/en-us/visualstudio/install/tools-for-managing-visual-studio-instances?view=vs-2019
function printMSVCRedistDir() {
local dll_file=$("C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -latest -find '**\Redist\MSVC\*\x64\**\vcruntime140.dll')
local redist_dir=$(dirname "$dll_file")
if ! [[ -d $redist_dir ]]; then
echo "ERROR: cannot find MS VS C++ redistributable $redist_dir"
exit 1;
fi
echo "$redist_dir"
}

View file

@ -76,17 +76,6 @@ createZipForLinux() {
rm -rf "$tmpdir"
}
# see https://docs.microsoft.com/en-us/visualstudio/install/tools-for-managing-visual-studio-instances?view=vs-2019
printMSVCRedistDir() {
local dll_file=$("C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -latest -find '**\Redist\MSVC\*\x64\**\vcruntime140.dll')
local redist_dir=$(dirname "$dll_file")
if ! [[ -d $redist_dir ]]; then
echo "ERROR: cannot find MS VS C++ redistributable $redist_dir"
exit 1;
fi
echo "$redist_dir"
}
createZipForWindows() {
# create a TMP directory to copy all necessary files
local tmpdir="/tmp/webkit-deploy-$(date +%s)"
@ -142,5 +131,6 @@ createZipForMac() {
trap "cd $(pwd -P)" EXIT
cd "$(dirname "$0")"
SCRIPTS_DIR="$(pwd -P)"
source "${SCRIPTS_DIR}/../utils.sh"
main "$@"