Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build all dependencies for Windows releases #4713

Merged
merged 1 commit into from Mar 2, 2024
Merged

Build all dependencies for Windows releases #4713

merged 1 commit into from Mar 2, 2024

Conversation

rom1v
Copy link
Collaborator

@rom1v rom1v commented Mar 1, 2024

Remove the mechanism to download (and link against) pre-built dependencies, and add a new mechanism to download the dependencies sources and build them.

Executing ./release.sh builds everything.

Here are 32-bit and 64-bit Windows binaries for the current dev branch:

Please test that it works correctly on your Windows.

app/deps/libusb.sh Outdated Show resolved Hide resolved
app/deps/libusb.sh Outdated Show resolved Hide resolved
@yume-chan
Copy link
Contributor

Upgrading libusb to 1.0.27 should fix #3654

@rom1v
Copy link
Collaborator Author

rom1v commented Mar 2, 2024

I changed the directory structure for something more consistent:

work/sources/ : downloaded tarballs and extracted folders
                    ffmpeg-6.1.1.tar.xz
                    ffmpeg-6.1.1/
                    libusb-1.0.27.tar.gz
                    libusb-1.0.27/
                    ...
work/build/   : build dirs for each dependency/version/architecture
                    ffmpeg-6.1.1/win32/
                    ffmpeg-6.1.1/win64/
                    libusb-1.0.27/win32/
                    libusb-1.0.27/win64/
                    ...
work/install/ : install dirs for each architexture
                    win32/bin/
                    win32/include/
                    win32/lib/
                    win32/share/
                    win64/bin/
                    win64/include/
                    win64/lib/
                    win64/share/

That way, a simple rm -rf app/deps/work removes everything.

@vuisme
Copy link

vuisme commented Mar 2, 2024

hi, are you planning to develop a build for windows arm64? I can still use the 64bit version but the transmission is quite delayed

@rom1v
Copy link
Collaborator Author

rom1v commented Mar 2, 2024

hi, are you planning to develop a build for windows arm64?

Probably not for now. Maybe later when CI is enabled to build all the versions.

The project has 3 build dependencies:
 - SDL
 - FFmpeg
 - libusb

For Windows, the release script downloaded pre-built build dependencies
(either from upstream, or from the scrcpy-deps repository).

Instead, download the source releases and build locally. This offers
more flexibility.

The official adb release is still downloaded and included as is in the
release archive (it is not a build dependency).

Also upgrade FFmpeg to 6.1.1 and libusb to 1.0.27.

PR #4713 <#4713>
@rom1v rom1v merged commit 8d87b91 into dev Mar 2, 2024
rom1v added a commit that referenced this pull request Mar 30, 2024
Legitimate or not, we should not use sources that do not match the
repository.

Refs <libusb/libusb#1468 (comment)>
Refs <https://news.ycombinator.com/item?id=39866309>
Refs #4713 <#4713>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants