summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2023-09-05 01:26:32 +0530
committerNirbheek Chauhan <nirbheek@centricular.com>2023-09-05 01:50:51 +0530
commit0691ae20d8014c01ed5b0b0b057d2bd98478ff37 (patch)
treef1ef6b7261789442a90fc177cf92f5da8eb74f03
parentc9b0a675e403c8cce15b0d4966f9964fedce8b57 (diff)
meson: Fix generation of pkgconfig files
Too much information was specified manually. All this is deduced automatically if you specify the library as the first positional argument. Only absl_base needs to be in Requires: because absl_optional's header file is needed at build time. Also add a check in the CI for the pc files being usable.
-rw-r--r--.gitlab-ci.yml12
-rw-r--r--meson.build42
2 files changed, 26 insertions, 28 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f98e4ea..a7dda4d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -83,8 +83,12 @@ build-container-aarch64:
extends:
- .fdo.distribution-image@ubuntu
script:
- - meson setup --wrap-mode=nofallback builddir
+ - meson setup --wrap-mode=nofallback --prefix=/usr --libdir=lib builddir
- ninja -C builddir
+ - DESTDIR=$PWD/_install ninja install -C builddir
+ # Test that the pc files are usable
+ - PKG_CONFIG_PATH=$PWD/_install/usr/lib/pkgconfig pkg-config --cflags --libs webrtc-audio-processing-1
+ - PKG_CONFIG_PATH=$PWD/_install/usr/lib/pkgconfig pkg-config --cflags --libs webrtc-audio-coding-1
artifacts:
expire_in: '5 days'
when: 'always'
@@ -96,8 +100,12 @@ build-container-aarch64:
extends:
- .fdo.distribution-image@ubuntu
script:
- - meson setup --force-fallback-for=abseil-cpp builddir
+ - meson setup --force-fallback-for=abseil-cpp --prefix=/usr --libdir=lib builddir
- ninja -C builddir
+ - DESTDIR=$PWD/_install ninja install -C builddir
+ # Test that the pc files are usable
+ - PKG_CONFIG_LIBDIR=$PWD/_install/usr/lib/pkgconfig pkg-config --cflags --libs webrtc-audio-processing-1
+ - PKG_CONFIG_LIBDIR=$PWD/_install/usr/lib/pkgconfig pkg-config --cflags --libs webrtc-audio-coding-1
artifacts:
expire_in: '5 days'
when: 'always'
diff --git a/meson.build b/meson.build
index d15eee8..b07349c 100644
--- a/meson.build
+++ b/meson.build
@@ -19,12 +19,10 @@ minor_version = version_split[1]
apm_major_version = major_version
apm_minor_version = minor_version
-apm_version = apm_major_version + '.' + apm_minor_version
apm_project_name = 'webrtc-audio-processing-' + apm_major_version
ac_major_version = major_version
ac_minor_version = minor_version
-ac_version = ac_major_version + '.' + ac_minor_version
ac_project_name = 'webrtc-audio-coding-' + ac_major_version
include_subdir = apm_project_name
@@ -72,6 +70,9 @@ if absl_dep[0].type_name() == 'internal'
absl_subproj.get_variable('absl_types_headers'),
]
install_headers(headers, preserve_path: true)
+ pc_requires = []
+else
+ pc_requires = [absl_dep[0]]
endif
if ['darwin', 'ios'].contains(host_system)
@@ -176,21 +177,13 @@ subdir('webrtc')
pkgconfig = import('pkgconfig')
pkgconfig.generate(
- name: apm_project_name,
- description: 'WebRTC Audio Processing library',
- version: apm_major_version + '.' + apm_minor_version,
- filebase: apm_project_name,
- subdirs: include_subdir,
- extra_cflags: [
- '-DWEBRTC_LIBRARY_IMPL',
- ] + platform_cflags,
- libraries: [
- libwebrtc_audio_processing,
- ],
- requires: [
- # the audio processing header references absl's optional.h
- 'absl_base',
- ]
+ libwebrtc_audio_processing,
+ description: 'WebRTC Audio Processing library',
+ subdirs: include_subdir,
+ requires: pc_requires,
+ extra_cflags: [
+ '-DWEBRTC_LIBRARY_IMPL',
+ ] + platform_cflags,
)
audio_processing_dep = declare_dependency(
@@ -202,15 +195,12 @@ audio_processing_dep = declare_dependency(
meson.override_dependency(apm_project_name, audio_processing_dep)
pkgconfig.generate(
- name: ac_project_name,
- description: 'WebRTC Audio Coding library',
- version: ac_major_version + '.' + ac_minor_version,
- filebase: ac_project_name,
- subdirs: include_subdir,
- extra_cflags: [
- '-DWEBRTC_LIBRARY_IMPL',
- ] + platform_cflags,
- libraries: libwebrtc_audio_coding,
+ libwebrtc_audio_coding,
+ description: 'WebRTC Audio Coding library',
+ subdirs: include_subdir,
+ extra_cflags: [
+ '-DWEBRTC_LIBRARY_IMPL',
+ ] + platform_cflags,
)
audio_coding_dep = declare_dependency(