meson: generate pkg-config -uninstalled pc files
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Wed, 4 Jan 2017 14:55:36 +0000 (15:55 +0100)
committerThibault Saunier <thibault.saunier@osg.samsung.com>
Thu, 5 Jan 2017 12:20:05 +0000 (09:20 -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/gst-editing-services-uninstalled.pc.in
pkgconfig/meson.build

index 2bb20e8..e15e41b 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|[@]geslibdir[@]|$(abs_top_builddir)/ges/.libs|" \
+               $< > $@.tmp && mv $@.tmp $@
 
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = $(pcfiles)
index 25fbe32..9cd1b61 100644 (file)
@@ -1,7 +1,7 @@
 # the standard variables don't make sense for an uninstalled copy
 prefix=
 exec_prefix=
-libdir=@abs_top_builddir@/ges/.libs
+libdir=@geslibdir@
 includedir=@abs_top_builddir@
 
 Name: gst-editing-services
index 24af540..a612b21 100644 (file)
@@ -7,6 +7,11 @@ pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
 pkgconf.set('GST_API_VERSION', apiversion)
 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('geslibdir', join_paths(meson.build_root(), libges.outdir()))
+
 pkg_install_dir = '@0@/pkgconfig'.format(get_option('libdir'))
 
 pkg_files = ['gst-editing-services']
@@ -18,5 +23,11 @@ foreach p : pkg_files
     output : outfile,
     configuration : pkgconf,
     install_dir : pkg_install_dir)
+
+  infile = p + '-uninstalled.pc.in'
+  outfile = p + '-1.0-uninstalled.pc'
+  configure_file(input : infile,
+    output : outfile,
+    configuration : pkgconf)
 endforeach