Upgrade libusb (1.0.27) for Windows

Include the latest version of SDL in Windows releases.

Unfortunately, libusb stopped releasing binaries in the expected
directory structure (with the pkgconfig file), so recreate it manually.

Refs <https://github.com/libusb/libusb/issues/1468>
upgrade_libusb_1_0_27
Romain Vimont 3 months ago
parent 36189b90ea
commit b3491f9878

@ -6,11 +6,11 @@ cd "$DIR"
mkdir -p "$PREBUILT_DATA_DIR" mkdir -p "$PREBUILT_DATA_DIR"
cd "$PREBUILT_DATA_DIR" cd "$PREBUILT_DATA_DIR"
VERSION=1.0.26 VERSION=1.0.27
DEP_DIR="libusb-$VERSION" DEP_DIR="libusb-$VERSION"
FILENAME="libusb-$VERSION-binaries.7z" FILENAME="libusb-$VERSION.7z"
SHA256SUM=9c242696342dbde9cdc47239391f71833939bf9f7aa2bbb28cdaabe890465ec5 SHA256SUM=19835e290f46fab6bd8ce4be6ab7dc5209f1c04bad177065df485e51dc4118c8
if [[ -d "$DEP_DIR" ]] if [[ -d "$DEP_DIR" ]]
then then
@ -24,14 +24,37 @@ get_file "https://github.com/libusb/libusb/releases/download/v$VERSION/$FILENAME
mkdir "$DEP_DIR" mkdir "$DEP_DIR"
cd "$DEP_DIR" cd "$DEP_DIR"
7z x "../$FILENAME" \ mkdir tmp
"libusb-$VERSION-binaries/libusb-MinGW-Win32/" \ cd tmp
"libusb-$VERSION-binaries/libusb-MinGW-x64/" 7z x "../../$FILENAME" \
"include/" \
mv "libusb-$VERSION-binaries/libusb-MinGW-Win32" . "MinGW32/" \
mv "libusb-$VERSION-binaries/libusb-MinGW-x64" . "MinGW64/"
rm -rf "libusb-$VERSION-binaries" cd ..
# Rename the dll to get the same library name on all platforms for dir in MinGW32 MinGW64
mv libusb-MinGW-Win32/bin/msys-usb-1.0.dll libusb-MinGW-Win32/bin/libusb-1.0.dll do
mv libusb-MinGW-x64/bin/msys-usb-1.0.dll libusb-MinGW-x64/bin/libusb-1.0.dll mkdir -p "$dir"
cd "$dir"
mkdir -p include/libusb-1.0 bin lib
cp -r ../tmp/include/libusb.h include/libusb-1.0/
cp ../tmp/"$dir"/dll/libusb-1.0.dll bin/
cp ../tmp/"$dir"/static/libusb-1.0.dll.a lib/
mkdir lib/pkgconfig
cat > lib/pkgconfig/libusb-1.0.pc << "EOF"
prefix=/home/appveyor/$dir
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: libusb-1.0
Description: C API for USB device access from Linux, Mac OS X, Windows, OpenBSD/NetBSD and Solaris userspace
Version: 1.0.27
Libs: -L${libdir} -lusb-1.0
Libs.private:
Cflags: -I${includedir}/libusb-1.0
EOF
cd ..
done
rm -rf tmp

@ -73,7 +73,7 @@ build-win32: prepare-deps
mkdir -p "$(WIN32_BUILD_DIR)/local" mkdir -p "$(WIN32_BUILD_DIR)/local"
cp -r app/prebuilt-deps/data/ffmpeg-6.1-scrcpy-3/win32/. "$(WIN32_BUILD_DIR)/local/" cp -r app/prebuilt-deps/data/ffmpeg-6.1-scrcpy-3/win32/. "$(WIN32_BUILD_DIR)/local/"
cp -r app/prebuilt-deps/data/SDL2-2.28.5/i686-w64-mingw32/. "$(WIN32_BUILD_DIR)/local/" cp -r app/prebuilt-deps/data/SDL2-2.28.5/i686-w64-mingw32/. "$(WIN32_BUILD_DIR)/local/"
cp -r app/prebuilt-deps/data/libusb-1.0.26/libusb-MinGW-Win32/. "$(WIN32_BUILD_DIR)/local/" cp -r app/prebuilt-deps/data/libusb-1.0.27/MinGW32/. "$(WIN32_BUILD_DIR)/local/"
meson setup "$(WIN32_BUILD_DIR)" \ meson setup "$(WIN32_BUILD_DIR)" \
--pkg-config-path="$(WIN32_BUILD_DIR)/local/lib/pkgconfig" \ --pkg-config-path="$(WIN32_BUILD_DIR)/local/lib/pkgconfig" \
-Dc_args="-I$(PWD)/$(WIN32_BUILD_DIR)/local/include" \ -Dc_args="-I$(PWD)/$(WIN32_BUILD_DIR)/local/include" \
@ -89,7 +89,7 @@ build-win64: prepare-deps
mkdir -p "$(WIN64_BUILD_DIR)/local" mkdir -p "$(WIN64_BUILD_DIR)/local"
cp -r app/prebuilt-deps/data/ffmpeg-6.1-scrcpy-3/win64/. "$(WIN64_BUILD_DIR)/local/" cp -r app/prebuilt-deps/data/ffmpeg-6.1-scrcpy-3/win64/. "$(WIN64_BUILD_DIR)/local/"
cp -r app/prebuilt-deps/data/SDL2-2.28.5/x86_64-w64-mingw32/. "$(WIN64_BUILD_DIR)/local/" cp -r app/prebuilt-deps/data/SDL2-2.28.5/x86_64-w64-mingw32/. "$(WIN64_BUILD_DIR)/local/"
cp -r app/prebuilt-deps/data/libusb-1.0.26/libusb-MinGW-x64/. "$(WIN64_BUILD_DIR)/local/" cp -r app/prebuilt-deps/data/libusb-1.0.27/MinGW64/. "$(WIN64_BUILD_DIR)/local/"
meson setup "$(WIN64_BUILD_DIR)" \ meson setup "$(WIN64_BUILD_DIR)" \
--pkg-config-path="$(WIN64_BUILD_DIR)/local/lib/pkgconfig" \ --pkg-config-path="$(WIN64_BUILD_DIR)/local/lib/pkgconfig" \
-Dc_args="-I$(PWD)/$(WIN64_BUILD_DIR)/local/include" \ -Dc_args="-I$(PWD)/$(WIN64_BUILD_DIR)/local/include" \

Loading…
Cancel
Save