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

Add support for Meson build system used by Pulseaudio 15 #68

Merged
merged 2 commits into from
Nov 18, 2021

Conversation

matt335672
Copy link
Member

Fixes #58

Pulseaudio 15 uses the Meson build system rather than autotools for configuration. As a result, the pulseaudio config.h file is not located in $PULSE_DIR

There is no fixed location for config.h when Meson is used - it depends on how meson build is actually called.

In the course of investigating #58, the following was determined:-

  • For a Fedora 35 RPM build using rpmbuild / mock, config.h is in $PULSE_DIR/redhat-linux-build
  • For a basic invocation of meson build on the command line, config.h is in $PULSE_DIR/build
  • For Manjaro using PKGBUILD, config.h is in $PULSE_DIR/../build/

This PR implements the following logic:-

  • If PULSE_CONFIG_DIR is not defined, ./configure searches for config.h in $PULSE_DIR down a maximum 3 levels.
  • If PULSE_CONFIG_DIR is defined ./configure expects config.h to be in the directory $PULSE_CONFIG_DIR/

The search is adequate to support existing autotools functionality, F35 and a basic call to meson build. For these distros the build interface is the same.
If the search does not locate config.h (i.e. Manjaro/Arch and probably others), the location can be specified explicitly.

Additionally a warning is now generated if PULSE_DIR is defined but does not appear to be correct.

- config.h is now search for under PULSE_DIR
- Location of config.h can be specified explicitly with PULSE_CONFIG_DIR
- Extra warning if PULSE_DIR appears to be invalid
@matt335672
Copy link
Member Author

Added a second commit to support PA15/Meson in Ubuntu build scripts. Thanks to @mrmotallebi for pointing out that Ubuntu 21.10 uses PA 15.

Retested on Ubuntu versions 21.10 / 20.04 / 18.04 / 16.04.

@metalefty
Copy link
Member

@matt335672 I would like to make a new release when this is merged.

@matt335672 matt335672 merged commit 27f51ee into neutrinolabs:devel Nov 18, 2021
@matt335672 matt335672 deleted the pa15_support branch November 18, 2021 10:12
@matt335672
Copy link
Member Author

Just merged #69 to remove some tabs which crept into a script when I was editing it on a 2110 VM.

I've got nothing else to contribute for a new release. Comments have been positive so far.

@metalefty
Copy link
Member

Thanks!

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.

Building against Pulseaudio 15.0 Meson build system
2 participants