mirror of
https://github.com/Genymobile/scrcpy.git
synced 2025-04-22 04:25:01 +00:00
Merge 370974f173
into bd1deffa70
This commit is contained in:
commit
0ce605db06
6 changed files with 179 additions and 5 deletions
|
@ -145,13 +145,21 @@ else
|
|||
prebuilt_libusb_root = meson.get_cross_property('prebuilt_libusb_root')
|
||||
libusb_bin_dir = meson.current_source_dir() + '/prebuilt-deps/data/' + prebuilt_libusb
|
||||
libusb_include_dir = 'prebuilt-deps/data/' + prebuilt_libusb_root + '/include'
|
||||
|
||||
libusb = declare_dependency(
|
||||
dependencies: [
|
||||
cc.find_library('msys-usb-1.0', dirs: libusb_bin_dir),
|
||||
if host_machine.cpu_family() == 'x86'
|
||||
libusb = declare_dependency(
|
||||
dependencies: [
|
||||
cc.find_library('msys-usb-1.0', dirs: libusb_bin_dir),
|
||||
],
|
||||
include_directories: include_directories(libusb_include_dir)
|
||||
)
|
||||
)
|
||||
elif host_machine.cpu_family() == 'aarch64'
|
||||
libusb = declare_dependency(
|
||||
dependencies: [
|
||||
cc.find_library('libusb-1.0', dirs: libusb_bin_dir),
|
||||
],
|
||||
include_directories: include_directories(libusb_include_dir)
|
||||
)
|
||||
endif
|
||||
|
||||
dependencies = [
|
||||
ffmpeg,
|
||||
|
|
36
app/prebuilt-deps/prepare-ffmpeg-win-arm64.sh
Executable file
36
app/prebuilt-deps/prepare-ffmpeg-win-arm64.sh
Executable file
|
@ -0,0 +1,36 @@
|
|||
#!/usr/bin/env bash
|
||||
set -e
|
||||
DIR=$(dirname ${BASH_SOURCE[0]})
|
||||
cd "$DIR"
|
||||
. common
|
||||
mkdir -p "$PREBUILT_DATA_DIR"
|
||||
cd "$PREBUILT_DATA_DIR"
|
||||
|
||||
DEP_DIR=ffmpeg-aarch64-4.3.1
|
||||
|
||||
FILENAME=ffmpeg-4.3.1-windows-aarch64.7z
|
||||
SHA256SUM=8dd5ed9692f36c2f012a64903b8b2baec6581973d0d4dad872d1a476bcf5018b
|
||||
|
||||
if [[ -d "$DEP_DIR" ]]
|
||||
then
|
||||
echo "$DEP_DIR" found
|
||||
exit 0
|
||||
fi
|
||||
|
||||
get_file "https://github.com/ZIXT233/FFmpeg-windows-aarch64-mingw/releases/download/n4.3.1/$FILENAME" \
|
||||
"$FILENAME" "$SHA256SUM"
|
||||
|
||||
mkdir "$DEP_DIR"
|
||||
cd "$DEP_DIR"
|
||||
|
||||
ZIP_PREFIX=ffmpeg-4.3.1-windows-aarch64
|
||||
7z x "../$FILENAME" \
|
||||
"$ZIP_PREFIX"/bin/avutil-56.dll \
|
||||
"$ZIP_PREFIX"/bin/avcodec-58.dll \
|
||||
"$ZIP_PREFIX"/bin/avformat-58.dll \
|
||||
"$ZIP_PREFIX"/bin/swresample-3.dll \
|
||||
"$ZIP_PREFIX"/bin/swscale-5.dll \
|
||||
"$ZIP_PREFIX"/include
|
||||
|
||||
mv "$ZIP_PREFIX"/* .
|
||||
rmdir "$ZIP_PREFIX"
|
32
app/prebuilt-deps/prepare-libusb-win-arm64.sh
Executable file
32
app/prebuilt-deps/prepare-libusb-win-arm64.sh
Executable file
|
@ -0,0 +1,32 @@
|
|||
#!/usr/bin/env bash
|
||||
set -e
|
||||
DIR=$(dirname ${BASH_SOURCE[0]})
|
||||
cd "$DIR"
|
||||
. common
|
||||
mkdir -p "$PREBUILT_DATA_DIR"
|
||||
cd "$PREBUILT_DATA_DIR"
|
||||
|
||||
DEP_DIR=libusb-1.0.26
|
||||
|
||||
FILENAME=libusb-windows-aarch64-mingw.7z
|
||||
SHA256SUM=4c83624edc89f95c3500fda3f982f038e7ce996979a8cca0e2e0133d3ef9ef64
|
||||
|
||||
if [[ -d "$DEP_DIR" ]]
|
||||
then
|
||||
echo "$DEP_DIR" found
|
||||
exit 0
|
||||
fi
|
||||
|
||||
get_file "https://github.com/ZIXT233/libusb-windows-aarch64-mingw/releases/download/v1.0.26/$FILENAME" "$FILENAME" "$SHA256SUM"
|
||||
|
||||
mkdir "$DEP_DIR"
|
||||
cd "$DEP_DIR"
|
||||
|
||||
# include/ is the same in all folders of the archive
|
||||
7z x "../$FILENAME" \
|
||||
libusb-windows-aarch64-mingw/bin/libusb-1.0.dll \
|
||||
libusb-windows-aarch64-mingw/include/
|
||||
|
||||
mv libusb-windows-aarch64-mingw/bin MinGW-aarch64
|
||||
mv libusb-windows-aarch64-mingw/include .
|
||||
rm -rf libusb-windows-aarch64-mingw
|
30
app/prebuilt-deps/prepare-sdl-win-arm64.sh
Executable file
30
app/prebuilt-deps/prepare-sdl-win-arm64.sh
Executable file
|
@ -0,0 +1,30 @@
|
|||
#!/usr/bin/env bash
|
||||
set -e
|
||||
DIR=$(dirname ${BASH_SOURCE[0]})
|
||||
cd "$DIR"
|
||||
. common
|
||||
mkdir -p "$PREBUILT_DATA_DIR"
|
||||
cd "$PREBUILT_DATA_DIR"
|
||||
|
||||
DEP_DIR=SDL2-2.0.22
|
||||
|
||||
FILENAME=SDL-windows-aarch64-mingw.7z
|
||||
SHA256SUM=96a1bd6a0246419ab1e1ae510ba79dfbbfc94c2681f039426a632ffbd4d4b603
|
||||
|
||||
if [[ -d "$DEP_DIR" ]]
|
||||
then
|
||||
echo "$DEP_DIR" found
|
||||
exit 0
|
||||
fi
|
||||
|
||||
get_file "https://github.com/ZIXT233/SDL-windows-aarch64-mingw/releases/download/release-2.0.22/$FILENAME" "$FILENAME" "$SHA256SUM"
|
||||
|
||||
mkdir "$DEP_DIR"
|
||||
cd "$DEP_DIR"
|
||||
|
||||
7z x "../$FILENAME" \
|
||||
SDL-windows-aarch64-mingw/bin/SDL2.dll \
|
||||
SDL-windows-aarch64-mingw/include/ \
|
||||
SDL-windows-aarch64-mingw/lib/
|
||||
|
||||
mv SDL-windows-aarch64-mingw aarch64-w64-mingw32
|
25
cross_win_arm64.txt
Normal file
25
cross_win_arm64.txt
Normal file
|
@ -0,0 +1,25 @@
|
|||
# apt install mingw-w64 mingw-w64-tools
|
||||
|
||||
[binaries]
|
||||
name = 'mingw'
|
||||
c = 'aarch64-w64-mingw32-gcc'
|
||||
cpp = 'aarch64-w64-mingw32-g++'
|
||||
ar = 'aarch64-w64-mingw32-ar'
|
||||
strip = 'aarch64-w64-mingw32-strip'
|
||||
pkgconfig = 'aarch64-w64-mingw32-pkg-config'
|
||||
windres = 'aarch64-w64-mingw32-windres'
|
||||
|
||||
[host_machine]
|
||||
system = 'windows'
|
||||
cpu_family = 'aarch64'
|
||||
cpu = 'aarch64'
|
||||
endian = 'little'
|
||||
|
||||
[properties]
|
||||
ffmpeg_avcodec = 'avcodec-58'
|
||||
ffmpeg_avformat = 'avformat-58'
|
||||
ffmpeg_avutil = 'avutil-56'
|
||||
prebuilt_ffmpeg = 'ffmpeg-aarch64-4.3.1'
|
||||
prebuilt_sdl2 = 'SDL2-2.0.22/aarch64-w64-mingw32'
|
||||
prebuilt_libusb_root = 'libusb-1.0.26'
|
||||
prebuilt_libusb = 'libusb-1.0.26/MinGW-aarch64'
|
43
release.mk
43
release.mk
|
@ -23,14 +23,17 @@ TEST_BUILD_DIR := build-test
|
|||
SERVER_BUILD_DIR := build-server
|
||||
WIN32_BUILD_DIR := build-win32
|
||||
WIN64_BUILD_DIR := build-win64
|
||||
WIN_ARM64_BUILD_DIR := build-win-arm64
|
||||
|
||||
DIST := dist
|
||||
WIN32_TARGET_DIR := scrcpy-win32
|
||||
WIN64_TARGET_DIR := scrcpy-win64
|
||||
WIN_ARM64_TARGET_DIR := scrcpy-win-arm64
|
||||
|
||||
VERSION := $(shell git describe --tags --always)
|
||||
WIN32_TARGET := $(WIN32_TARGET_DIR)-$(VERSION).zip
|
||||
WIN64_TARGET := $(WIN64_TARGET_DIR)-$(VERSION).zip
|
||||
WIN_ARM64_TARGET := $(WIN_ARM64_TARGET_DIR)-$(VERSION).zip
|
||||
|
||||
RELEASE_DIR := release-$(VERSION)
|
||||
|
||||
|
@ -74,6 +77,12 @@ prepare-deps-win64:
|
|||
@app/prebuilt-deps/prepare-ffmpeg-win64.sh
|
||||
@app/prebuilt-deps/prepare-libusb.sh
|
||||
|
||||
prepare-deps-win-arm64:
|
||||
@app/prebuilt-deps/prepare-adb.sh
|
||||
@app/prebuilt-deps/prepare-sdl-win-arm64.sh
|
||||
@app/prebuilt-deps/prepare-ffmpeg-win-arm64.sh
|
||||
@app/prebuilt-deps/prepare-libusb-win-arm64.sh
|
||||
|
||||
build-win32: prepare-deps-win32
|
||||
[ -d "$(WIN32_BUILD_DIR)" ] || ( mkdir "$(WIN32_BUILD_DIR)" && \
|
||||
meson "$(WIN32_BUILD_DIR)" \
|
||||
|
@ -92,6 +101,17 @@ build-win64: prepare-deps-win64
|
|||
-Dportable=true )
|
||||
ninja -C "$(WIN64_BUILD_DIR)"
|
||||
|
||||
|
||||
build-win-arm64: prepare-deps-win-arm64
|
||||
[ -d "$(WIN_ARM64_BUILD_DIR)" ] || ( mkdir "$(WIN_ARM64_BUILD_DIR)" && \
|
||||
meson "$(WIN_ARM64_BUILD_DIR)" \
|
||||
--cross-file cross_win_arm64.txt \
|
||||
--buildtype release --strip -Db_lto=true \
|
||||
-Dcompile_server=false \
|
||||
-Dportable=true )
|
||||
sed -i 's/-Wl,--allow-shlib-undefined//g' "$(WIN_ARM64_BUILD_DIR)/build.ninja"
|
||||
ninja -C "$(WIN_ARM64_BUILD_DIR)"
|
||||
|
||||
dist-win32: build-server build-win32
|
||||
mkdir -p "$(DIST)/$(WIN32_TARGET_DIR)"
|
||||
cp "$(SERVER_BUILD_DIR)"/server/scrcpy-server "$(DIST)/$(WIN32_TARGET_DIR)/"
|
||||
|
@ -130,6 +150,25 @@ dist-win64: build-server build-win64
|
|||
cp app/prebuilt-deps/data/SDL2-2.0.22/x86_64-w64-mingw32/bin/SDL2.dll "$(DIST)/$(WIN64_TARGET_DIR)/"
|
||||
cp app/prebuilt-deps/data/libusb-1.0.26/MinGW-x64/msys-usb-1.0.dll "$(DIST)/$(WIN64_TARGET_DIR)/"
|
||||
|
||||
dist-win-arm64: build-server build-win-arm64
|
||||
mkdir -p "$(DIST)/$(WIN_ARM64_TARGET_DIR)"
|
||||
cp "$(SERVER_BUILD_DIR)"/server/scrcpy-server "$(DIST)/$(WIN_ARM64_TARGET_DIR)/"
|
||||
cp "$(WIN_ARM64_BUILD_DIR)"/app/scrcpy.exe "$(DIST)/$(WIN_ARM64_TARGET_DIR)/"
|
||||
cp app/data/scrcpy-console.bat "$(DIST)/$(WIN_ARM64_TARGET_DIR)"
|
||||
cp app/data/scrcpy-noconsole.vbs "$(DIST)/$(WIN_ARM64_TARGET_DIR)"
|
||||
cp app/data/icon.png "$(DIST)/$(WIN_ARM64_TARGET_DIR)"
|
||||
cp app/data/open_a_terminal_here.bat "$(DIST)/$(WIN_ARM64_TARGET_DIR)"
|
||||
cp app/prebuilt-deps/data/ffmpeg-aarch64-4.3.1/bin/avutil-56.dll "$(DIST)/$(WIN_ARM64_TARGET_DIR)/"
|
||||
cp app/prebuilt-deps/data/ffmpeg-aarch64-4.3.1/bin/avcodec-58.dll "$(DIST)/$(WIN_ARM64_TARGET_DIR)/"
|
||||
cp app/prebuilt-deps/data/ffmpeg-aarch64-4.3.1/bin/avformat-58.dll "$(DIST)/$(WIN_ARM64_TARGET_DIR)/"
|
||||
cp app/prebuilt-deps/data/ffmpeg-aarch64-4.3.1/bin/swresample-3.dll "$(DIST)/$(WIN_ARM64_TARGET_DIR)/"
|
||||
cp app/prebuilt-deps/data/ffmpeg-aarch64-4.3.1/bin/swscale-5.dll "$(DIST)/$(WIN_ARM64_TARGET_DIR)/"
|
||||
cp app/prebuilt-deps/data/platform-tools-33.0.1/adb.exe "$(DIST)/$(WIN_ARM64_TARGET_DIR)/"
|
||||
cp app/prebuilt-deps/data/platform-tools-33.0.1/AdbWinApi.dll "$(DIST)/$(WIN_ARM64_TARGET_DIR)/"
|
||||
cp app/prebuilt-deps/data/platform-tools-33.0.1/AdbWinUsbApi.dll "$(DIST)/$(WIN_ARM64_TARGET_DIR)/"
|
||||
cp app/prebuilt-deps/data/SDL2-2.0.22/aarch64-w64-mingw32/bin/SDL2.dll "$(DIST)/$(WIN_ARM64_TARGET_DIR)/"
|
||||
cp app/prebuilt-deps/data/libusb-1.0.26/MinGW-aarch64/libusb-1.0.dll "$(DIST)/$(WIN_ARM64_TARGET_DIR)/"
|
||||
|
||||
zip-win32: dist-win32
|
||||
cd "$(DIST)/$(WIN32_TARGET_DIR)"; \
|
||||
zip -r "../$(WIN32_TARGET)" .
|
||||
|
@ -137,3 +176,7 @@ zip-win32: dist-win32
|
|||
zip-win64: dist-win64
|
||||
cd "$(DIST)/$(WIN64_TARGET_DIR)"; \
|
||||
zip -r "../$(WIN64_TARGET)" .
|
||||
|
||||
zip-win-arm64: dist-win-arm64
|
||||
cd "$(DIST)/$(WIN_ARM64_TARGET_DIR)"; \
|
||||
zip -r "../$(WIN_ARM64_TARGET)" .
|
||||
|
|
Loading…
Add table
Reference in a new issue