mirror of
https://github.com/Genymobile/scrcpy.git
synced 2025-09-24 02:08:34 +00:00
Add cross-compilation scripts for Windows
Build the Windows binary from mingw on Linux, using the official prebuilt binaries for ffmpeg, SDL2 and adb. MSYS2 and all its packaged dll are not necessary anymore.
This commit is contained in:
parent
7d68316f45
commit
106b87a4d2
8 changed files with 296 additions and 71 deletions
4
prebuilt-deps/.gitignore
vendored
Normal file
4
prebuilt-deps/.gitignore
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
*
|
||||
!/.gitignore
|
||||
!/Makefile
|
||||
!/prepare-dep
|
40
prebuilt-deps/Makefile
Normal file
40
prebuilt-deps/Makefile
Normal file
|
@ -0,0 +1,40 @@
|
|||
.PHONY: prepare-win32 prepare-win64 \
|
||||
prepare-ffmpeg-shared-win32 \
|
||||
prepare-ffmpeg-dev-win32 \
|
||||
prepare-ffmpeg-shared-win64 \
|
||||
prepare-ffmpeg-dev-win64 \
|
||||
prepare-sdl2 \
|
||||
prepare-adb
|
||||
|
||||
prepare-win32: prepare-sdl2 prepare-ffmpeg-shared-win32 prepare-ffmpeg-dev-win32 prepare-adb
|
||||
prepare-win64: prepare-sdl2 prepare-ffmpeg-shared-win64 prepare-ffmpeg-dev-win64 prepare-adb
|
||||
|
||||
prepare-ffmpeg-shared-win32:
|
||||
@./prepare-dep https://ffmpeg.zeranoe.com/builds/win32/shared/ffmpeg-4.0-win32-shared.zip \
|
||||
530c92df0ca14c35901b4b681847d62da3c50a0cc9b7ced37b04968f6b5c243d \
|
||||
ffmpeg-4.0-win32-shared
|
||||
|
||||
prepare-ffmpeg-dev-win32:
|
||||
@./prepare-dep https://ffmpeg.zeranoe.com/builds/win32/dev/ffmpeg-4.0-win32-dev.zip \
|
||||
e2f5200b5e73c4d0abb9b89c4ffc0438f92a0aadc54c81cf57e18c81a9f11c6b \
|
||||
ffmpeg-4.0-win32-dev
|
||||
|
||||
prepare-ffmpeg-shared-win64:
|
||||
@./prepare-dep https://ffmpeg.zeranoe.com/builds/win64/shared/ffmpeg-4.0-win64-shared.zip \
|
||||
8fe2d344463dbefc2db4239a4203a55ed0324faceaae57276a40c4fabda84c37 \
|
||||
ffmpeg-4.0-win64-shared
|
||||
|
||||
prepare-ffmpeg-dev-win64:
|
||||
@./prepare-dep https://ffmpeg.zeranoe.com/builds/win64/dev/ffmpeg-4.0-win64-dev.zip \
|
||||
facced738eabfc53fa92834dea8b24426f64db61298688fed480145945be07fa \
|
||||
ffmpeg-4.0-win64-dev
|
||||
|
||||
prepare-sdl2:
|
||||
@./prepare-dep https://libsdl.org/release/SDL2-devel-2.0.8-mingw.tar.gz \
|
||||
ffff7305d634aff5e1df5b7bb935435c3a02c8b03ad94a1a2be9169a558a7961 \
|
||||
SDL2-2.0.8
|
||||
|
||||
prepare-adb:
|
||||
@./prepare-dep https://dl.google.com/android/repository/platform-tools_r27.0.1-windows.zip \
|
||||
880662adfb0d6911ff250b9e13930ae1a4110fc36d5866afd4f8f56d935f7939 \
|
||||
platform-tools
|
58
prebuilt-deps/prepare-dep
Executable file
58
prebuilt-deps/prepare-dep
Executable file
|
@ -0,0 +1,58 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
url="$1"
|
||||
sum="$2"
|
||||
dir="$3"
|
||||
|
||||
checksum() {
|
||||
local file="$1"
|
||||
local sum="$2"
|
||||
echo "$file: verifying checksum..."
|
||||
echo "$sum $file" | sha256sum -c
|
||||
}
|
||||
|
||||
get_file() {
|
||||
local url="$1"
|
||||
local file="$2"
|
||||
local sum="$3"
|
||||
if [[ -f "$file" ]]
|
||||
then
|
||||
echo "$file: found"
|
||||
else
|
||||
echo "$file: not found, downloading..."
|
||||
wget "$url" -O "$file"
|
||||
fi
|
||||
checksum "$file" "$sum"
|
||||
}
|
||||
|
||||
extract() {
|
||||
local file="$1"
|
||||
echo "Extracting $file..."
|
||||
if [[ "$file" == *.zip ]]
|
||||
then
|
||||
unzip -q "$file"
|
||||
elif [[ "$file" == *.tar.gz ]]
|
||||
then
|
||||
tar xf "$file"
|
||||
else
|
||||
echo "Unsupported file: $file"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
get_dep() {
|
||||
local url="$1"
|
||||
local sum="$2"
|
||||
local dir="$3"
|
||||
local file="${url##*/}"
|
||||
if [[ -d "$dir" ]]
|
||||
then
|
||||
echo "$dir: found"
|
||||
else
|
||||
echo "$dir: not found"
|
||||
get_file "$url" "$file" "$sum"
|
||||
extract "$file"
|
||||
fi
|
||||
}
|
||||
|
||||
get_dep "$1" "$2" "$3"
|
Loading…
Add table
Add a link
Reference in a new issue