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 12:10:45 +01:00 committed by Thibault Saunier
parent c950d8b3cb
commit 4bb8e5c191
7 changed files with 29 additions and 6 deletions

View file

@ -31,7 +31,15 @@ cp_verbose_0 = @echo " CP $@";
%-@GST_API_VERSION@.pc: %.pc
$(cp_verbose_0)cp $< $@
%-@GST_API_VERSION@-uninstalled.pc: %-uninstalled.pc
$(cp_verbose_0)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|[@]gstlibdir[@]|$(abs_top_builddir)/gst/.libs|" \
-e "s|[@]checklibdir[@]|$(abs_top_builddir)/libs/gst/check/.libs|" \
-e "s|[@]baselibdir[@]|$(abs_top_builddir)/libs/gst/base/.libs|" \
-e "s|[@]netlibdir[@]|$(abs_top_builddir)/libs/gst/net/.libs|" \
-e "s|[@]controllerlibdir[@]|$(abs_top_builddir)/libs/gst/controller/.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@/libs/gst/base/.libs
libdir=@baselibdir@
includedir=
girdir=@abs_top_builddir@/libs/gst/base
typelibdir=@abs_top_builddir@/libs/gst/base

View file

@ -1,7 +1,7 @@
# the standard variables don't make sense for an uninstalled copy
prefix=
exec_prefix=
libdir=@abs_top_builddir@/libs/gst/check/.libs
libdir=@checklibdir@
includedir=
girdir=@abs_top_builddir@/libs/gst/check
typelibdir=@abs_top_builddir@/libs/gst/check

View file

@ -1,7 +1,7 @@
# the standard variables don't make sense for an uninstalled copy
prefix=
exec_prefix=
libdir=@abs_top_builddir@/libs/gst/controller/.libs
libdir=@controllerlibdir@
includedir=
girdir=@abs_top_builddir@/libs/gst/controller
typelibdir=@abs_top_builddir@/libs/gst/controller

View file

@ -1,7 +1,7 @@
# the standard variables don't make sense for an uninstalled copy
prefix=
exec_prefix=
libdir=@abs_top_builddir@/libs/gst/net/.libs
libdir=@netlibdir@
includedir=
girdir=@abs_top_builddir@/libs/gst/net
typelibdir=@abs_top_builddir@/libs/gst/net

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/.libs
libdir=@gstlibdir@
# includedir is builddir because it is used to find gstconfig.h in places
includedir=@abs_top_builddir@
toolsdir=@abs_top_builddir@/tools

View file

@ -7,6 +7,15 @@ 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('gstlibdir', join_paths(meson.build_root(), libgst.outdir()))
pkgconf.set('checklibdir', join_paths(meson.build_root(), gst_check.outdir()))
pkgconf.set('baselibdir', join_paths(meson.build_root(), gst_base.outdir()))
pkgconf.set('controllerlibdir', join_paths(meson.build_root(), gst_controller.outdir()))
pkgconf.set('netlibdir', join_paths(meson.build_root(), gst_net.outdir()))
pkg_install_dir = '@0@/pkgconfig'.format(get_option('libdir'))
pkg_files = ['gstreamer-base',
@ -23,4 +32,10 @@ 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