summaryrefslogtreecommitdiff
path: root/pkgconfig
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2017-01-04 12:10:45 +0100
committerThibault Saunier <thibault.saunier@osg.samsung.com>2017-01-05 09:18:16 -0300
commit4bb8e5c191335805fb6a3a7a0d53608f6c281dc3 (patch)
treecf3045150e4913d5f1d5580bf43316e0360a4ff1 /pkgconfig
parentc950d8b3cbe4c0e97c8055cf4ee2cae4d8e81b78 (diff)
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
Diffstat (limited to 'pkgconfig')
-rw-r--r--pkgconfig/Makefile.am10
-rw-r--r--pkgconfig/gstreamer-base-uninstalled.pc.in2
-rw-r--r--pkgconfig/gstreamer-check-uninstalled.pc.in2
-rw-r--r--pkgconfig/gstreamer-controller-uninstalled.pc.in2
-rw-r--r--pkgconfig/gstreamer-net-uninstalled.pc.in2
-rw-r--r--pkgconfig/gstreamer-uninstalled.pc.in2
-rw-r--r--pkgconfig/meson.build15
7 files changed, 29 insertions, 6 deletions
diff --git a/pkgconfig/Makefile.am b/pkgconfig/Makefile.am
index 5da63ed8a..78a1e6534 100644
--- a/pkgconfig/Makefile.am
+++ b/pkgconfig/Makefile.am
@@ -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)
diff --git a/pkgconfig/gstreamer-base-uninstalled.pc.in b/pkgconfig/gstreamer-base-uninstalled.pc.in
index f9a4e1f9e..08759f1c3 100644
--- a/pkgconfig/gstreamer-base-uninstalled.pc.in
+++ b/pkgconfig/gstreamer-base-uninstalled.pc.in
@@ -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
diff --git a/pkgconfig/gstreamer-check-uninstalled.pc.in b/pkgconfig/gstreamer-check-uninstalled.pc.in
index 3aeaf77ad..85c290364 100644
--- a/pkgconfig/gstreamer-check-uninstalled.pc.in
+++ b/pkgconfig/gstreamer-check-uninstalled.pc.in
@@ -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
diff --git a/pkgconfig/gstreamer-controller-uninstalled.pc.in b/pkgconfig/gstreamer-controller-uninstalled.pc.in
index b7227e1c8..97983e753 100644
--- a/pkgconfig/gstreamer-controller-uninstalled.pc.in
+++ b/pkgconfig/gstreamer-controller-uninstalled.pc.in
@@ -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
diff --git a/pkgconfig/gstreamer-net-uninstalled.pc.in b/pkgconfig/gstreamer-net-uninstalled.pc.in
index d3b14592e..5d390c267 100644
--- a/pkgconfig/gstreamer-net-uninstalled.pc.in
+++ b/pkgconfig/gstreamer-net-uninstalled.pc.in
@@ -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
diff --git a/pkgconfig/gstreamer-uninstalled.pc.in b/pkgconfig/gstreamer-uninstalled.pc.in
index 16c2a048f..8f69dd501 100644
--- a/pkgconfig/gstreamer-uninstalled.pc.in
+++ b/pkgconfig/gstreamer-uninstalled.pc.in
@@ -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
diff --git a/pkgconfig/meson.build b/pkgconfig/meson.build
index 0c90d7469..ff0083c6d 100644
--- a/pkgconfig/meson.build
+++ b/pkgconfig/meson.build
@@ -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