meson: generate pkg-config -uninstalled pc files
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Wed, 4 Jan 2017 15:20:54 +0000 (16:20 +0100)
committerThibault Saunier <thibault.saunier@osg.samsung.com>
Thu, 5 Jan 2017 12:42:29 +0000 (09:42 -0300)
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

pkgconfig/Makefile.am
pkgconfig/gstreamer-rtsp-server-uninstalled.pc.in
pkgconfig/meson.build

index c45755e..cf36182 100644 (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)
index 9efea8f..6c9afd6 100644 (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
index c4b7179..f10d572 100644 (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
+)