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.

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

View file

@ -10,7 +10,11 @@ all-local: $(pcfiles) $(pcfiles_uninstalled)
%-@GST_API_VERSION@.pc: %.pc
cp $< $@
%-@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|[@]rtspserverlibdir[@]|$(abs_top_builddir)/gst/rtsp-server/.libs|" \
$< > $@.tmp && mv $@.tmp $@
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = $(pcfiles)

View file

@ -1,7 +1,7 @@
# the standard variables don't make sense for an uninstalled copy
prefix=
exec_prefix=
libdir=@abs_top_builddir@/gst/rtsp-server/.libs
libdir=@rtspserverlibdir@
includedir=@abs_top_builddir@
Name: gst-rtsp-server

View file

@ -7,11 +7,21 @@ pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
pkgconf.set('GST_API_VERSION', api_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('rtspserverlibdir', join_paths(meson.build_root(), gst_rtsp_server.outdir()))
pkg_install_dir = '@0@/pkgconfig'.format(get_option('libdir'))
# FIXME: -uninstalled.pc files (if still needed?)
configure_file(input : 'gstreamer-rtsp-server.pc.in',
output : 'gstreamer-rtsp-server-1.0.pc',
configuration : pkgconf,
install_dir : pkg_install_dir,
)
configure_file(input : 'gstreamer-rtsp-server-uninstalled.pc.in',
output : 'gstreamer-rtsp-server-1.0-uninstalled.pc',
configuration : pkgconf,
install_dir : pkg_install_dir
)