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

CYGWIN: meson: support correct file extension for plugins. #75

Merged
merged 1 commit into from
Aug 29, 2023
Merged

CYGWIN: meson: support correct file extension for plugins. #75

merged 1 commit into from
Aug 29, 2023

Conversation

carlo-bramini
Copy link
Contributor

CYGWIN uses shared libraries with .dll extension like Windows.
This patch fixes meson.build for setting PLUGIN_SUFFIX to the correct value for this platform.

CYGWIN uses shared libraries with ".dll" extension like Windows.
This patch fixes meson.build for setting PLUGIN_SUFFIX to the correct value for this platform.
@radioactiveman
Copy link
Member

Hi @carlo-bramini,

Thanks for the contribution. Have you checked all the places where we use have_windows?
I am not familiar with Cygwin and wonder if it would not be better to use a check like below. Same applies for audacious-plugins.

have_windows = host_machine.system() in ['windows', 'cygwin']

@carlo-bramini
Copy link
Contributor Author

Hi @carlo-bramini,

Thanks for the contribution. Have you checked all the places where we use have_windows?

I checked other places with references to have_windows into audacious-media-player and, in my opinion, other changes are not strictly required.
Actually, I found that only this line:

if have_windows

could be changed to:

if have_windows or have_cygwin

This change will add the RC file to the build process, although it is not required since the window manager will use audacious.desktop instead. However, it could be added if someone wants to see the icon and the properties of the executable also from Windows Explorer.

I am not familiar with Cygwin and wonder if it would not be better to use a check like below. Same applies for audacious-plugins.

have_windows = host_machine.system() in ['windows', 'cygwin']

I think that it would be better to leave the two environment separated.
Audacious on CYGWIN runs as a POSIX executable and it provides a different experience for the user, with the same feeling that you get when you use Audacious on UNIX.

There could be an exception, since CYGWIN has also a dedicated W32API version that integrates with the POSIX layer.
So, it is technically possible to mix features of Windows APIs with NEWLIB in POSIX application.
For example, I did another patch for the plugins which allows to enable waveout driver also with CYGWIN together with other typical drivers for UNIX, which is my favourite output driver when testing this platform.

@radioactiveman radioactiveman merged commit e995c3c into audacious-media-player:master Aug 29, 2023
8 checks passed
@carlo-bramini carlo-bramini deleted the fix-cygwin-support branch August 30, 2023 08:49
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.

2 participants