meson: generate pkg-config -uninstalled pc files

Generating those files is useful for users building the GStreamer stack
using meson and having to link it to another project which is still
using the autotools.

Fixed the -uninstalled pc file libdir path while I was on it.

https://bugzilla.gnome.org/show_bug.cgi?id=776810
This commit is contained in:
Guillaume Desmottes 2017-01-04 17:40:59 +01:00 committed by Thibault Saunier
parent ca1f8a03e0
commit 7c613ec347
3 changed files with 16 additions and 2 deletions

View file

@ -10,7 +10,12 @@ all-local: $(pcfiles) $(pcfiles_uninstalled)
%-@GST_API_VERSION@.pc: %.pc %-@GST_API_VERSION@.pc: %.pc
cp $< $@ cp $< $@
%-@GST_API_VERSION@-uninstalled.pc: %-uninstalled.pc %-@GST_API_VERSION@-uninstalled.pc: %-uninstalled.pc
cp $< $@ ### the uninstalled libdir is depend of the build system used so set it here
### rather than hardcoding it in the file directly.
$(AM_V_GEN) sed \
-e "s|[@]validatelibdir[@]|$(abs_top_builddir)/gst/validate/.libs|" \
$< > $@.tmp && mv $@.tmp $@
pkgconfigdir = $(libdir)/pkgconfig pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = $(pcfiles) pkgconfig_DATA = $(pcfiles)

View file

@ -1,7 +1,7 @@
# the standard variables don't make sense for an uninstalled copy # the standard variables don't make sense for an uninstalled copy
prefix= prefix=
exec_prefix= exec_prefix=
libdir=@abs_top_builddir@/ges libdir=@validatelibdir@
includedir=@abs_top_builddir@ includedir=@abs_top_builddir@
Name: gst-validate Name: gst-validate

View file

@ -7,9 +7,18 @@ pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
pkgconf.set('GST_API_VERSION', apiversion) pkgconf.set('GST_API_VERSION', apiversion)
pkgconf.set('VERSION', gst_version) pkgconf.set('VERSION', gst_version)
# needed for generating -uninstalled.pc files
pkgconf.set('abs_top_builddir', join_paths(meson.current_build_dir(), '..'))
pkgconf.set('abs_top_srcdir', join_paths(meson.current_source_dir(), '..'))
pkgconf.set('validatelibdir', join_paths(meson.build_root(), gstvalidate.outdir()))
pkg_install_dir = '@0@/pkgconfig'.format(get_option('libdir')) pkg_install_dir = '@0@/pkgconfig'.format(get_option('libdir'))
configure_file(input : 'gst-validate.pc.in', configure_file(input : 'gst-validate.pc.in',
output : 'gst-validate-1.0.pc', output : 'gst-validate-1.0.pc',
configuration : pkgconf, configuration : pkgconf,
install_dir : pkg_install_dir) install_dir : pkg_install_dir)
configure_file(input : 'gst-validate-uninstalled.pc.in',
output : 'gst-validate-1.0-uninstalled.pc',
configuration : pkgconf)