From: Guillaume Desmottes Date: Wed, 4 Jan 2017 11:10:45 +0000 (+0100) Subject: meson: generate pkg-config -uninstalled pc files X-Git-Tag: 1.12.0~119 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4bb8e5c191335805fb6a3a7a0d53608f6c281dc3;p=platform%2Fupstream%2Fgstreamer.git 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 --- diff --git a/pkgconfig/Makefile.am b/pkgconfig/Makefile.am index 5da63ed8ae..78a1e6534e 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 f9a4e1f9e4..08759f1c3b 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 3aeaf77add..85c2903644 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 b7227e1c8e..97983e7530 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 d3b14592ee..5d390c2673 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 16c2a048f9..8f69dd501d 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 0c90d7469f..ff0083c6d8 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